Blame view

src/views/standard/test/contrast.vue 15.1 KB
4295ede6   梁保满   即使测报表对比页面开发
1
2
3
4
  <template>
    <div ref="main" class="page-container">
      <back-box>
        <template slot="title">
ee00775c   梁保满   测试bug
5
          <span>多班_{{ subjectNames }}_{{ title }}_测练成绩对比分析</span>
4295ede6   梁保满   即使测报表对比页面开发
6
7
8
9
10
        </template>
      </back-box>
      <div class="page-content">
        <div class="content-header">
          <div class="tab-box">
d3ca55ac   梁保满   等级设置
11
12
            <span v-for="(item, index) in tabList" :key="item" class="tab-item" :class="type == index ? 'active' : ''"
              @click="setType(index)">{{ item }}</span>
4295ede6   梁保满   即使测报表对比页面开发
13
          </div>
d3ca55ac   梁保满   等级设置
14
          <el-button class="setMinScore" @click="openDia" round size="small">对比成绩等级设置</el-button>
4295ede6   梁保满   即使测报表对比页面开发
15
16
        </div>
        <div id="print-content" class="table-box" v-loading="loading">
d3ca55ac   梁保满   等级设置
17
18
19
          <el-table :max-height="tableMaxHeight" v-show="type == 0" :data="tableData" border style="width: 100%">
            <el-table-column type="index" label="序号" fixed align="center" width="60"></el-table-column>
            <el-table-column prop="className" label="班级" align="center" fixed></el-table-column>
e5f407d6   梁保满   测试问题
20
21
22
23
24
25
26
            <el-table-column label="测验人数/班级人数" align="center" width="84">
              <template slot-scope="scope">
                <p v-for="(item, index) in scope.row.count.split('/')">
                  {{ item }}{{ index == 0 ? "/" : "" }}
                </p>
              </template>
            </el-table-column>
d3ca55ac   梁保满   等级设置
27
28
29
30
31
32
33
            <el-table-column prop="percent" label="参与度" align="center"></el-table-column>
            <el-table-column prop="avg" label="班平均分" align="center"></el-table-column>
            <el-table-column prop="max" label="班最高分" sortable align="center"></el-table-column>
            <el-table-column prop="min" label="班最低分" sortable align="center"></el-table-column>
  
            <el-table-column v-for="(item, index) in defaultLevels.levels" :label="item[0] + '数(率)'"
              align="center"><template slot-scope="scoped">
ee00775c   梁保满   测试bug
34
35
                <p class="p1">{{ scoped.row.levels[index].people }}</p>
                <p class="p1">({{ scoped.row.levels[index].percent }})</p>
d3ca55ac   梁保满   等级设置
36
              </template></el-table-column>
4295ede6   梁保满   即使测报表对比页面开发
37
          </el-table>
d3ca55ac   梁保满   等级设置
38
39
40
41
42
43
          <el-table v-show="type == 1" :max-height="tableMaxHeight" :data="tableData2" border style="width: 100%">
            <el-table-column prop="rank" label="排名" sortable align="center"></el-table-column>
            <el-table-column prop="name" label="姓名" align="center"></el-table-column>
            <el-table-column prop="className" label="班级" align="center"></el-table-column>
            <el-table-column prop="score" label="总分" sortable align="center"></el-table-column>
            <el-table-column prop="levelName" label="成绩等级" align="center"></el-table-column>
4295ede6   梁保满   即使测报表对比页面开发
44
45
46
47
          </el-table>
        </div>
        <div class="down">
          <div>
d3ca55ac   梁保满   等级设置
48
49
50
51
            <el-button v-loading="exportLoading" @click="exportData" type="primary" plain round
              icon="fa fa-cloud-download">导出报表</el-button>
            <el-button v-if="!this.$store.getters.code" @click="print" type="primary" plain round
              icon="el-icon-printer">打印</el-button>
4295ede6   梁保满   即使测报表对比页面开发
52
53
54
          </div>
        </div>
  
d3ca55ac   梁保满   等级设置
55
        <el-dialog :close-on-click-modal="false" title="等级设置" :visible.sync="diaLogBox" width="800px" @closed="closeDia">
4295ede6   梁保满   即使测报表对比页面开发
56
57
58
          <el-form class="use-form">
            <el-form-item class="use-form-item-box">
              <el-form-item label="等级名称:" class="use-form-item">
d3ca55ac   梁保满   等级设置
59
                <el-select size="small" v-model="fromData.type" @change="changeType">
ca630320   梁保满   中天挑的问题
60
61
62
                  <el-option label="优良合格不合格" :value="0"></el-option>
                  <el-option label="ABCD" :value="1"></el-option>
                  <el-option label="自定义" :value="2"></el-option>
4295ede6   梁保满   即使测报表对比页面开发
63
64
65
                </el-select>
              </el-form-item>
              <el-form-item label="等级设置模式:" class="use-form-item">
ee00775c   梁保满   测试bug
66
67
68
                <el-select size="small" v-model="fromData.levelType">
                  <el-option label="按分数比例" :value="0"></el-option>
                  <el-option label="按已考人数比例" :value="1"></el-option>
4295ede6   梁保满   即使测报表对比页面开发
69
70
71
72
73
74
75
76
                </el-select>
              </el-form-item>
            </el-form-item>
            <el-form-item>
              <div class="dia-tab-box">
                <p class="dia-tab-tit">
                  <span class="item1">编号</span>
                  <span class="item2"><i>*</i>等级名称</span>
e5f407d6   梁保满   测试问题
77
78
79
                  <span class="item3"><i>*</i>等级最高</span>
                  <span class="item3"><i>*</i>等级最低</span>
                  <span class="item"></span>
4295ede6   梁保满   即使测报表对比页面开发
80
                </p>
d3ca55ac   梁保满   等级设置
81
                <div class="dia-tab-item" v-for="(item, index) in fromData.levels">
4295ede6   梁保满   即使测报表对比页面开发
82
83
                  <span class="item1">{{ index + 1 }}</span>
                  <p class="item2">
d3ca55ac   梁保满   等级设置
84
85
                    <el-input class="score-ipt" v-model="item[0]" :maxlength="12"
                      @keydown.native="keydownRange($event)"></el-input>
4295ede6   梁保满   即使测报表对比页面开发
86
                  </p>
e5f407d6   梁保满   测试问题
87
                  <p class="item3">
d3ca55ac   梁保满   等级设置
88
                    <el-input class="score-ipt" type="number" v-model="item[1]" :min="item[2]"
ca630320   梁保满   中天挑的问题
89
                      :max="index == 0 ? 100 : fromData.levels[index - 1][2]"
d3ca55ac   梁保满   等级设置
90
                      @keydown.native="keydownRange($event)"></el-input>
e5f407d6   梁保满   测试问题
91
92
                    %
                    <template v-if="fromData.levelType == 0">
f6fc4301   梁保满   等级调整
93
                      ({{ index != 0 ? "不含" : ""
ca630320   梁保满   中天挑的问题
94
                      }}{{
d3ca55ac   梁保满   等级设置
95
96
    Number(((item[1] / 100) * examPaperScore).toFixed(1))
  }}分)
e5f407d6   梁保满   测试问题
97
                    </template>
f6fc4301   梁保满   等级调整
98
                    <template v-else>{{ index != 0 ? "不含" : "" }}</template>
4295ede6   梁保满   即使测报表对比页面开发
99
                  </p>
e5f407d6   梁保满   测试问题
100
101
                  <p>~</p>
                  <p class="item3">
d3ca55ac   梁保满   等级设置
102
103
                    <el-input class="score-ipt" type="number" v-model="item[2]" :min="0" :max="item[1]"
                      @keydown.native="keydownRange($event)"></el-input>
e5f407d6   梁保满   测试问题
104
105
                    %
                    <template v-if="fromData.levelType == 0">
f6fc4301   梁保满   等级调整
106
                      ({{
e5f407d6   梁保满   测试问题
107
108
109
                        Number(((item[2] / 100) * examPaperScore).toFixed(1))
                      }}分)
                    </template>
4295ede6   梁保满   即使测报表对比页面开发
110
                  </p>
e5f407d6   梁保满   测试问题
111
                  <p class="item">
d3ca55ac   梁保满   等级设置
112
                    <el-link type="danger" :underline="false" @click="fromData.levels.splice(index, 1)">删除</el-link>
4295ede6   梁保满   即使测报表对比页面开发
113
114
115
116
                  </p>
                </div>
                <div class="add">
                  <p @click="fromData.levels.push(['', '', ''])">
d3ca55ac   梁保满   等级设置
117
                    <el-button size="mini" icon="el-icon-plus" circle type="primary"></el-button>添加一行
4295ede6   梁保满   即使测报表对比页面开发
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
                  </p>
                </div>
              </div>
            </el-form-item>
          </el-form>
  
          <div class="dialog-footer" slot="footer" align="center">
            <el-button type="danger" @click="savefrom">保存</el-button>
            <el-button @click="diaLogBox = false">取 消</el-button>
          </div>
        </el-dialog>
      </div>
    </div>
  </template>
  
  <script>
  import { downloadFile, tablePrint } from "@/utils";
  export default {
    data() {
      return {
        ids: "",
        title: "",
        subjectNames: "",
        tabList: ["班级对比情况", "学生成绩排名"],
        type: 0,
        loading: false,
ee00775c   梁保满   测试bug
144
        exportLoading: false,
4295ede6   梁保满   即使测报表对比页面开发
145
146
        diaLogBox: false,
        fromData: {
ca630320   梁保满   中天挑的问题
147
          type: 0,
4295ede6   梁保满   即使测报表对比页面开发
148
149
150
151
152
153
154
155
          levelType: 0,
          levels: [
            ["优秀", 100, 90],
            ["良好", 89.9, 70],
            ["合格", 69.9, 60],
            ["不合格", 59.9, 0],
          ],
        },
ee00775c   梁保满   测试bug
156
157
158
159
        defaultLevels: {
          levelType: 0,
          levels: [],
        },
4295ede6   梁保满   即使测报表对比页面开发
160
161
162
        tableMaxHeight: 600,
        tableData: [],
        tableData2: [],
e5f407d6   梁保满   测试问题
163
        examPaperScore: 100, //卷面最高分
4295ede6   梁保满   即使测报表对比页面开发
164
165
      };
    },
e5f407d6   梁保满   测试问题
166
    async created() {
4295ede6   梁保满   即使测报表对比页面开发
167
      this.ids = this.$route.query.ids;
d3ca55ac   梁保满   等级设置
168
      this.examPaperScore = Number(this.$route.query.examPaperScore || 100);
e5f407d6   梁保满   测试问题
169
      await this._QueryDefaultLevels();
d3ca55ac   梁保满   等级设置
170
      await this._QueryData();
4295ede6   梁保满   即使测报表对比页面开发
171
    },
ee00775c   梁保满   测试bug
172
173
174
    destroyed() {
      sessionStorage.setItem("levelFromData", "");
    },
4295ede6   梁保满   即使测报表对比页面开发
175
    methods: {
ee00775c   梁保满   测试bug
176
177
178
179
180
181
      // 禁止输入负数
      keydownRange(event) {
        if (event.key == "-" || event.key == "e") {
          event.returnValue = "";
        }
      },
4295ede6   梁保满   即使测报表对比页面开发
182
      print() {
ee00775c   梁保满   测试bug
183
184
185
186
        tablePrint(
          "print-content",
          `多班_${this.subjectNames}_${this.title}_测练成绩对比分析`
        );
4295ede6   梁保满   即使测报表对比页面开发
187
188
189
190
191
192
      },
      setType(type) {
        console.log(this.$refs.main.offsetHeight - 50);
        this.tableMaxHeight = this.$refs.main.offsetHeight;
        this.type = type;
      },
ca630320   梁保满   中天挑的问题
193
194
195
      openDia() {
        this.diaLogBox = true;
      },
4295ede6   梁保满   即使测报表对比页面开发
196
      closeDia() {
ee00775c   梁保满   测试bug
197
198
199
200
201
202
203
        let levelFromData = sessionStorage.getItem("levelFromData");
        if (levelFromData) {
          levelFromData = JSON.parse(levelFromData);
          this.fromData.type = levelFromData.type;
          this.fromData.levelType = levelFromData.levelType;
          this.fromData.levels = [...levelFromData.levels];
        } else {
ca630320   梁保满   中天挑的问题
204
          this.fromData.type = 0;
ee00775c   梁保满   测试bug
205
206
207
          this.fromData.levelType = this.defaultLevels.levelType;
          this.fromData.levels = [...this.defaultLevels.levels];
        }
4295ede6   梁保满   即使测报表对比页面开发
208
209
      },
      changeType(val) {
ca630320   梁保满   中天挑的问题
210
        if (val == this.defaultLevels.type) {
ee00775c   梁保满   测试bug
211
          this.fromData.levels = [...this.defaultLevels.levels];
4295ede6   梁保满   即使测报表对比页面开发
212
        } else {
ca630320   梁保满   中天挑的问题
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
          this.fromData.levels = this.fromData.levels.splice(0, 4);
          if (val == 0) {
            this.fromData.levels = this.fromData.levels.map((item, index) => {
              let arrTxt = ["优秀", "良好", "合格", "不合格"];
              return [arrTxt[index], item[1], item[2]];
            });
          } else if (val == 1) {
            this.fromData.levels = this.fromData.levels.map((item, index) => {
              let arrTxt = ["A", "B", "C", "D"];
              return [arrTxt[index], item[1], item[2]];
            });
          } else {
            this.fromData.levels = this.fromData.levels.map((item, index) => {
              return ["", item[1], item[2]];
            });
          }
4295ede6   梁保满   即使测报表对比页面开发
229
230
        }
      },
4295ede6   梁保满   即使测报表对比页面开发
231
      savefrom() {
4295ede6   梁保满   即使测报表对比页面开发
232
233
234
235
236
237
        for (let i = 0; i < this.fromData.levels.length; i++) {
          if (this.fromData.levels[i].includes("")) {
            this.$message.warning("请补全编号" + (i + 1) + "设置信息!");
            return;
          }
        }
31436559   梁保满   多班级样式问题,成绩登记设置问题
238
239
        if (this.fromData.levels.length == 0) {
          this.$message.warning("请添加等级设置!");
e5f407d6   梁保满   测试问题
240
241
242
243
244
245
246
247
248
          return;
        }
        let nums = [];
        let ERR_OK = false;
        this.fromData.levels.map((item) => {
          nums.push(Number(item[1]));
          nums.push(Number(item[2]));
        });
        for (let i = 0; i < nums.length; i++) {
ca630320   梁保满   中天挑的问题
249
          if (nums[i + 1] && nums[i + 1] > nums[i]) {
e5f407d6   梁保满   测试问题
250
251
252
253
            ERR_OK = true;
            this.$message.warning("高等级比例不能低于低等级比例!请检查");
            break;
          }
31436559   梁保满   多班级样式问题,成绩登记设置问题
254
        }
e5f407d6   梁保满   测试问题
255
        if (ERR_OK) return;
31436559   梁保满   多班级样式问题,成绩登记设置问题
256
257
        this.tableData = [];
        this.tableData2 = [];
ca630320   梁保满   中天挑的问题
258
        this.defaultLevels.type = this.fromData.type;
ee00775c   梁保满   测试bug
259
260
261
262
        this.defaultLevels.levelType = this.fromData.levelType;
        this.defaultLevels.levels = [...this.fromData.levels];
        sessionStorage.setItem("levelFromData", JSON.stringify(this.fromData));
        this.diaLogBox = false;
4295ede6   梁保满   即使测报表对比页面开发
263
264
265
266
267
268
        this._QueryData({
          levelType: this.fromData.levelType,
          levels: this.fromData.levels,
        });
      },
  
ee00775c   梁保满   测试bug
269
270
271
272
      async _QueryDefaultLevels() {
        const { data, info, status } = await this.$request.defaultLevels();
        if (status === 0) {
          this.defaultLevels = { ...data } || {
ee00775c   梁保满   测试bug
273
274
275
276
277
278
279
280
            levelType: 0,
            levels: [
              ["优秀", 100, 90],
              ["良好", 89.9, 70],
              ["合格", 69.9, 60],
              ["不合格", 59.9, 0],
            ],
          };
f6fc4301   梁保满   等级调整
281
          this.defaultLevels.type = 0
ee00775c   梁保满   测试bug
282
283
          this.fromData.levelType = this.defaultLevels.levelType;
          this.fromData.levels = [...this.defaultLevels.levels];
ca630320   梁保满   中天挑的问题
284
285
286
287
          sessionStorage.setItem(
            "levelFromData",
            JSON.stringify(this.defaultLevels)
          );
ee00775c   梁保满   测试bug
288
289
290
291
        } else {
          this.$message.error(info);
        }
      },
d3ca55ac   梁保满   等级设置
292
      async _QueryData() {
4295ede6   梁保满   即使测报表对比页面开发
293
        let query = {};
d3ca55ac   梁保满   等级设置
294
295
296
297
298
299
300
        let paramObj = JSON.parse(JSON.stringify(this.fromData))
        if (paramObj.levelType == 0) {
          paramObj.levels = paramObj.levels.map((item) => {
            item[1] = ((item[1] / 100) * this.examPaperScore).toFixed(1);
            item[2] = ((item[2] / 100) * this.examPaperScore).toFixed(1);
            return item;
          });
4295ede6   梁保满   即使测报表对比页面开发
301
        }
d3ca55ac   梁保满   等级设置
302
        query = { ...paramObj };
4295ede6   梁保满   即使测报表对比页面开发
303
304
305
306
        const { data, info, status } = await this.$request.examMultiClassReport({
          examIds: this.ids,
          ...query,
        });
ee00775c   梁保满   测试bug
307
308
        if (status === 0) {
          this.title = data.title;
e5f407d6   梁保满   测试问题
309
          this.examPaperScore = data.examPaperScore || 100;
ee00775c   梁保满   测试bug
310
311
          this.subjectNames = data.subjectName;
          this.tableData = data.classes || [];
da9346ee   梁保满   全选和排序问题
312
313
314
315
316
          this.tableData2 =
            data.students.map((item) => {
              item.score = Number(item.score);
              return item;
            }) || [];
4295ede6   梁保满   即使测报表对比页面开发
317
318
319
320
321
322
323
324
325
        } else {
          this.$message.error(info);
        }
      },
  
      //导出
      async exportData() {
        if (this.exportLoading == true) return;
        this.exportLoading = true;
0074e60a   梁保满   导出报表参数设置
326
327
328
        let params = { ...this.fromData };
        if (params.levelType == 0) {
          params.levels = params.levels.map((item) => {
0074e60a   梁保满   导出报表参数设置
329
330
331
332
333
            item[1] = ((item[1] / 100) * this.examPaperScore).toFixed(1);
            item[2] = ((item[2] / 100) * this.examPaperScore).toFixed(1);
            return item;
          });
        }
4295ede6   梁保满   即使测报表对比页面开发
334
        const data = await this.$request.exportExamMultiReport({
ee00775c   梁保满   测试bug
335
          examIds: this.ids,
0074e60a   梁保满   导出报表参数设置
336
337
          levels: params.levels,
          levelType: params.levelType,
4295ede6   梁保满   即使测报表对比页面开发
338
339
340
341
342
343
        });
        this.exportLoading = false;
        if (data) {
          let blob = new Blob([data], {
            type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
          });
ee00775c   梁保满   测试bug
344
345
346
347
          downloadFile(
            `多班_${this.subjectNames}_${this.title}_测练成绩对比分析`,
            blob
          );
4295ede6   梁保满   即使测报表对比页面开发
348
349
350
351
352
353
354
355
356
357
358
359
        } else {
          this.$message.error("下载失败");
        }
      },
    },
  };
  </script>
  
  <style lang="scss" scoped>
  .page-container {
    position: relative;
    height: 100%;
d3ca55ac   梁保满   等级设置
360
  
4295ede6   梁保满   即使测报表对比页面开发
361
362
363
    .table-box {
      min-height: 100%;
    }
d3ca55ac   梁保满   等级设置
364
  
4295ede6   梁保满   即使测报表对比页面开发
365
366
367
    &.active {
      overflow: hidden;
    }
d3ca55ac   梁保满   等级设置
368
  
4295ede6   梁保满   即使测报表对比页面开发
369
370
371
    .content-header {
      width: 100%;
      position: relative;
d3ca55ac   梁保满   等级设置
372
  
4295ede6   梁保满   即使测报表对比页面开发
373
374
375
      .setMinScore {
        position: absolute;
        bottom: 0;
0074e60a   梁保满   导出报表参数设置
376
        right: 0;
4295ede6   梁保满   即使测报表对比页面开发
377
378
      }
    }
d3ca55ac   梁保满   等级设置
379
  
4295ede6   梁保满   即使测报表对比页面开发
380
381
382
383
    .page-content {
      padding: 20px 20px 0;
    }
  }
d3ca55ac   梁保满   等级设置
384
  
4295ede6   梁保满   即使测报表对比页面开发
385
  .tab-box {
0074e60a   梁保满   导出报表参数设置
386
    width: 400px;
4295ede6   梁保满   即使测报表对比页面开发
387
388
389
390
391
    margin: 0 auto 12px;
    background: #f8f8f8;
    border-radius: 20px;
    display: flex;
    user-select: none;
d3ca55ac   梁保满   等级设置
392
  
4295ede6   梁保满   即使测报表对比页面开发
393
394
395
396
397
398
399
400
401
402
403
    .tab-item {
      flex: 1;
      height: 40px;
      line-height: 40px;
      text-align: center;
      font-size: 16px;
      color: #666;
      font-weight: 500;
      background: transparent;
      border-radius: 20px;
      cursor: pointer;
d3ca55ac   梁保满   等级设置
404
  
4295ede6   梁保满   即使测报表对比页面开发
405
406
407
408
409
410
      &.active {
        background: #667ffd;
        color: #fff;
      }
    }
  }
d3ca55ac   梁保满   等级设置
411
  
4295ede6   梁保满   即使测报表对比页面开发
412
413
414
415
416
417
  .down {
    padding-top: 20px;
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
d3ca55ac   梁保满   等级设置
418
  
4295ede6   梁保满   即使测报表对比页面开发
419
420
  .use-form {
    padding: 0 12px;
d3ca55ac   梁保满   等级设置
421
  
4295ede6   梁保满   即使测报表对比页面开发
422
423
424
425
    .use-form-item-box {
      :deep(.el-form-item__content) {
        display: flex;
      }
d3ca55ac   梁保满   等级设置
426
  
4295ede6   梁保满   即使测报表对比页面开发
427
428
429
430
431
432
      .use-form-item {
        width: 40%;
        margin-right: 20px;
      }
    }
  }
d3ca55ac   梁保满   等级设置
433
  
4295ede6   梁保满   即使测报表对比页面开发
434
  .dia-tab-box {
d3ca55ac   梁保满   等级设置
435
  
4295ede6   梁保满   即使测报表对比页面开发
436
437
438
    .dia-tab-tit,
    .dia-tab-item {
      margin-bottom: 10px;
d3ca55ac   梁保满   等级设置
439
  
4295ede6   梁保满   即使测报表对比页面开发
440
441
442
443
      i {
        color: #f30;
        padding-right: 5px;
      }
d3ca55ac   梁保满   等级设置
444
  
4295ede6   梁保满   即使测报表对比页面开发
445
      display: flex;
d3ca55ac   梁保满   等级设置
446
  
e5f407d6   梁保满   测试问题
447
448
449
      .item {
        width: 40px;
      }
d3ca55ac   梁保满   等级设置
450
  
4295ede6   梁保满   即使测报表对比页面开发
451
452
      .item1 {
        padding-left: 10px;
e5f407d6   梁保满   测试问题
453
        width: 10%;
4295ede6   梁保满   即使测报表对比页面开发
454
      }
d3ca55ac   梁保满   等级设置
455
  
4295ede6   梁保满   即使测报表对比页面开发
456
      .item2 {
e5f407d6   梁保满   测试问题
457
458
        width: 18%;
      }
d3ca55ac   梁保满   等级设置
459
  
e5f407d6   梁保满   测试问题
460
461
      .item3 {
        padding-left: 12px;
4295ede6   梁保满   即使测报表对比页面开发
462
463
        flex: 1;
      }
d3ca55ac   梁保满   等级设置
464
  
4295ede6   梁保满   即使测报表对比页面开发
465
466
467
468
      .score-ipt {
        width: 100px;
      }
    }
d3ca55ac   梁保满   等级设置
469
  
4295ede6   梁保满   即使测报表对比页面开发
470
471
472
    .dia-tab-tit {
      background: rgba(243, 243, 243, 1);
    }
d3ca55ac   梁保满   等级设置
473
  
4295ede6   梁保满   即使测报表对比页面开发
474
475
476
477
    .add {
      display: flex;
      justify-content: center;
      margin: 0 auto;
d3ca55ac   梁保满   等级设置
478
  
4295ede6   梁保满   即使测报表对比页面开发
479
480
481
      p {
        cursor: pointer;
      }
d3ca55ac   梁保满   等级设置
482
  
4295ede6   梁保满   即使测报表对比页面开发
483
484
485
486
487
      .el-button {
        margin-right: 6px;
      }
    }
  }
d3ca55ac   梁保满   等级设置
488
  
da9346ee   梁保满   全选和排序问题
489
490
  .p1 {
    line-height: 18px;
ee00775c   梁保满   测试bug
491
  }
4295ede6   梁保满   即使测报表对比页面开发
492
  </style>