e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
1
2 
 | 
  <template>
    <div>
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
3
4
5 
 | 
      <el-dialog
        :close-on-click-modal="false"
        :visible.sync="diaShow"
 
 | 
f45b3c05
 
  LH_PC
 
云平台新UI界面
 | 
6 
 | 
        width="360px" :append-to-body="true"
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
7
8 
 | 
        :show-close="false"
      >
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
9 
 | 
        <i class="el-icon-close" @click="closeDia"></i>
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
10
11 
 | 
        <div v-show="exportType == 1">
          <div class="down-item">
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
12 
 | 
            <p class="tit">是否将学生表现{{ type }}一起导出</p>
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
13
14
15
16
17
18
19
20
21 
 | 
            <el-radio-group v-model="downType" @change="changeDownType">
              <el-radio :label="1">不导出</el-radio>
              <el-radio :label="2">导出</el-radio>
            </el-radio-group>
          </div>
          <div class="down-item" v-show="downType == 2">
            <p class="tit">选择要导出的学生</p>
            <el-radio-group v-model="exportType">
              <el-radio :label="1">导出全部</el-radio>
 
 | 
e43b294b
 
  梁保满
 
导出逻辑
 | 
22 
 | 
              <el-radio :label="2">导出指定学生</el-radio>
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
23
24
25
26
27 
 | 
            </el-radio-group>
          </div>
        </div>
        <ul v-show="exportType == 2">
          <p class="export-tit">选择学生</p>
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
28 
 | 
          <el-table
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
29 
 | 
            ref="multipleTable"
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
30
31
32
33 
 | 
            :data="exportStudent"
            @selection-change="handleSelectionChange"
            :max-height="300"
          >
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
34 
 | 
            <el-table-column type="selection"></el-table-column>
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
35
36
37
38
39 
 | 
            <el-table-column
              prop="studentName"
              label="姓名"
              align="center"
            ></el-table-column>
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
40 
 | 
            <el-table-column label="班名" align="center">
 
 | 
049db2b2
 
  梁保满
 
接口联调
 | 
41 
 | 
              <template slot-scope="scoped">
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
42
43
44
45
46
47
48
49
50
51
52
53 
 | 
                <span
                  v-if="
                    scoped.row.classRank ||
                    scoped.row.rank ||
                    scoped.row['classRank多科汇总']
                  "
                  >{{
                    scoped.row.classRank ||
                    scoped.row.rank ||
                    scoped.row["classRank多科汇总"]
                  }}</span
                >
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
54 
 | 
                <span v-else>{{
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
55
56 
 | 
                  (scoped.row.examList && scoped.row.examList[0].classRank) ||
                  (scoped.row.datalist && scoped.row.datalist[0].classRank)
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
57 
 | 
                }}</span>
 
 | 
049db2b2
 
  梁保满
 
接口联调
 | 
58 
 | 
              </template>
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
59 
 | 
            </el-table-column>
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
60
61
62
63
64
65
66
67 
 | 
            <el-table-column :label="this.lastLabel" align="center"
              ><template slot-scope="scoped">
                <span v-if="!isNaN(scoped.row.correctRate)"
                  >{{ scoped.row.correctRate }}%</span
                >
                <span v-else-if="!isNaN(scoped.row.scoringRate)">
                  {{ scoped.row.scoringRate }}%
                </span>
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
68
69
70 
 | 
                <span v-else-if="scoped.row['score多科汇总']">
                  {{ Number(scoped.row["score多科汇总"]) }}
                </span>
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
71 
 | 
                <span v-else>{{
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
72 
 | 
                  Number(scoped.row.examList && scoped.row.examList[0].score)
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
73
74
75 
 | 
                }}</span>
              </template></el-table-column
            >
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
76
77
78 
 | 
          </el-table>
        </ul>
        <div class="dialog-footer" slot="footer">
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
79
80
81
82
83
84
85
86
87
88
89
90
91
92 
 | 
          <el-button
            v-show="exportType == 2"
            size="small"
            type="primary"
            round
            @click="exportData(10)"
            >导出前十</el-button
          >
          <el-button size="small" type="primary" round @click="exportData(0)"
            >确 定</el-button
          >
          <el-button size="small" type="danger" round @click="cancel"
            >取 消</el-button
          >
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
93
94
95
96
97
98
99
100 
 | 
        </div>
      </el-dialog>
    </div>
  </template>
  <script>
  export default {
    name: "exportDia",
    props: {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
101
102
103
104 
 | 
      type: {
        type: String,
        default: "折线图",
      },
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
105 
 | 
      diaShow: Boolean,
 
 | 
7812e986
 
  梁保满
 
班主任查看报表添加额外信息
 | 
106
107
108 
 | 
      exportStudent: Array,
      lastLabel: {
        type: String,
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
109
110 
 | 
        default: "总正确率",
      },
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
111
112
113
114
115
116 
 | 
    },
    data() {
      return {
        downType: 1,
        exportType: 1,
        multipleSelection: [],
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
117 
 | 
      };
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
118
119 
 | 
    },
    watch: {
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
120
121
122 
 | 
      diaShow: {
        handler: function (nVal) {
          if (nVal) {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
123 
 | 
            this.downType = 1;
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
124
125 
 | 
            this.exportType = 1;
            this.multipleSelection = [];
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
126
127 
 | 
          }
        },
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
128
129 
 | 
        immediate: true,
      },
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
130
131 
 | 
    },
    methods: {
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
132
133
134 
 | 
      cancelSelection() {
        this.$refs.multipleTable.clearSelection();
      },
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
135 
 | 
      changeDownType() {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
136 
 | 
        this.exportType = 1;
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
137
138 
 | 
      },
      handleSelectionChange(val) {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
139 
 | 
        this.multipleSelection = val;
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
140
141 
 | 
      },
      exportData(length) {
 
 | 
4611ba8f
 
  梁保满
 
下载报表学生数据问题
 | 
142 
 | 
        let studentIds = null;
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
143 
 | 
        if (length) {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
144
145
146 
 | 
          studentIds = this.exportStudent.slice(0, 10).map((item) => {
            return item.studentId;
          });
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
147 
 | 
        } else {
 
 | 
4611ba8f
 
  梁保满
 
下载报表学生数据问题
 | 
148
149
150
151
152
153
154
155 
 | 
          if (this.exportType == 1) {
            studentIds = [];
          } else {
            studentIds = this.multipleSelection.map((item) => {
              return item.studentId;
            });
            studentIds.length == 0 ? (studentIds = null) : "";
          }
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
156 
 | 
        }
 
 | 
4611ba8f
 
  梁保满
 
下载报表学生数据问题
 | 
157 
 | 
        this.$emit("exportData", this.downType == 1 ? null : studentIds);
 
 | 
696f2d42
 
  梁保满
 
fix:报表导出问题
 | 
158 
 | 
        this.cancelSelection();
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
159
160
161 
 | 
      },
      cancel() {
        if (this.exportType == 2) {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
162 
 | 
          this.exportType = 1;
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
163 
 | 
        } else {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
164 
 | 
          this.$emit("cancel");
 
 | 
e17ec739
 
  梁保满
 
随堂问,即时测导出爆表修改
 | 
165 
 | 
        }
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
166
167 
 | 
      },
      closeDia() {
 
 | 
b0cd2598
 
  梁保满
 
fix:测试问题
 | 
168
169
170
171
172 
 | 
        this.$emit("cancel");
        this.exportType = 1;
      },
    },
  };
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
173
174
175
176
177
178
179
180
181
182
183
184 
 | 
  </script>
  <style lang="scss" scoped>
  .el-dialog__wrapper {
    :deep(.el-icon-close) {
      position: absolute;
      right: 2px;
      top: 5px;
      font-size: 18px;
      padding: 5px;
      cursor: pointer;
    }
  }
 
 | 
049db2b2
 
  梁保满
 
接口联调
 | 
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210 
 | 
  
  :deep(.el-dialog) {
    .el-dialog__body {
      padding: 0 20px 10px;
    }
  
    .down-item {
      font-size: 15px;
      margin-bottom: 10px;
  
      .tit {
        line-height: 18px;
        padding: 10px 0;
      }
    }
  
    .export-tit {
      text-align: center;
      font-size: 16px;
      padding-bottom: 10px;
    }
  }
  
  .dialog-footer {
    text-align: center;
  }
 
 | 
22095aba
 
  梁保满
 
接口联调
 | 
211 
 | 
  </style>
 
 |