Commit da9346ee2016249d24cc25c97eaeb51ee894bfce
1 parent
ee00775c
全选和排序问题
Showing
2 changed files
with
42 additions
and
16 deletions
src/views/standard/test/contrast.vue
| @@ -94,6 +94,7 @@ | @@ -94,6 +94,7 @@ | ||
| 94 | <el-table-column | 94 | <el-table-column |
| 95 | prop="rank" | 95 | prop="rank" |
| 96 | label="排名" | 96 | label="排名" |
| 97 | + sortable | ||
| 97 | align="center" | 98 | align="center" |
| 98 | ></el-table-column> | 99 | ></el-table-column> |
| 99 | <el-table-column | 100 | <el-table-column |
| @@ -104,7 +105,6 @@ | @@ -104,7 +105,6 @@ | ||
| 104 | <el-table-column | 105 | <el-table-column |
| 105 | prop="className" | 106 | prop="className" |
| 106 | label="班级" | 107 | label="班级" |
| 107 | - sortable | ||
| 108 | align="center" | 108 | align="center" |
| 109 | ></el-table-column> | 109 | ></el-table-column> |
| 110 | <el-table-column | 110 | <el-table-column |
| @@ -116,7 +116,6 @@ | @@ -116,7 +116,6 @@ | ||
| 116 | <el-table-column | 116 | <el-table-column |
| 117 | prop="levelName" | 117 | prop="levelName" |
| 118 | label="成绩等级" | 118 | label="成绩等级" |
| 119 | - sortable | ||
| 120 | align="center" | 119 | align="center" |
| 121 | ></el-table-column> | 120 | ></el-table-column> |
| 122 | </el-table> | 121 | </el-table> |
| @@ -389,7 +388,11 @@ export default { | @@ -389,7 +388,11 @@ export default { | ||
| 389 | this.title = data.title; | 388 | this.title = data.title; |
| 390 | this.subjectNames = data.subjectName; | 389 | this.subjectNames = data.subjectName; |
| 391 | this.tableData = data.classes || []; | 390 | this.tableData = data.classes || []; |
| 392 | - this.tableData2 = data.students || []; | 391 | + this.tableData2 = |
| 392 | + data.students.map((item) => { | ||
| 393 | + item.score = Number(item.score); | ||
| 394 | + return item; | ||
| 395 | + }) || []; | ||
| 393 | } else { | 396 | } else { |
| 394 | this.$message.error(info); | 397 | this.$message.error(info); |
| 395 | } | 398 | } |
| @@ -521,7 +524,7 @@ export default { | @@ -521,7 +524,7 @@ export default { | ||
| 521 | } | 524 | } |
| 522 | } | 525 | } |
| 523 | } | 526 | } |
| 524 | -.p1{ | ||
| 525 | - line-height:18px; | 527 | +.p1 { |
| 528 | + line-height: 18px; | ||
| 526 | } | 529 | } |
| 527 | </style> | 530 | </style> |
| 528 | \ No newline at end of file | 531 | \ No newline at end of file |
src/views/standard/test/index.vue
| @@ -32,6 +32,9 @@ | @@ -32,6 +32,9 @@ | ||
| 32 | multiple | 32 | multiple |
| 33 | collapse-tags | 33 | collapse-tags |
| 34 | > | 34 | > |
| 35 | + <el-checkbox v-model="classAll" @change="selectAll" class="select-all" | ||
| 36 | + >全选</el-checkbox | ||
| 37 | + > | ||
| 35 | <el-option | 38 | <el-option |
| 36 | :disabled=" | 39 | :disabled=" |
| 37 | query.classIds.length == 1 && query.classIds[0] == item.value | 40 | query.classIds.length == 1 && query.classIds[0] == item.value |
| @@ -525,12 +528,7 @@ | @@ -525,12 +528,7 @@ | ||
| 525 | </p> | 528 | </p> |
| 526 | </div> | 529 | </div> |
| 527 | <div v-show="query.classIds.length > 1" class="table-box"> | 530 | <div v-show="query.classIds.length > 1" class="table-box"> |
| 528 | - <el-empty | ||
| 529 | - :imag-size="48" | ||
| 530 | - v-if="!classTableLen && !loading" | ||
| 531 | - description="暂无数据" | ||
| 532 | - ></el-empty> | ||
| 533 | - <div class="head-box" v-if="classTableLen"> | 531 | + <div class="head-box"> |
| 534 | <div class="tit"> | 532 | <div class="tit"> |
| 535 | <p class="txt">已考试卷信息</p> | 533 | <p class="txt">已考试卷信息</p> |
| 536 | <p> | 534 | <p> |
| @@ -552,7 +550,12 @@ | @@ -552,7 +550,12 @@ | ||
| 552 | ></el-button> | 550 | ></el-button> |
| 553 | </el-input> | 551 | </el-input> |
| 554 | </div> | 552 | </div> |
| 555 | - <ul class="tab-ul"> | 553 | + <el-empty |
| 554 | + :imag-size="48" | ||
| 555 | + v-if="!classTableLen && !loading" | ||
| 556 | + description="暂无数据" | ||
| 557 | + ></el-empty> | ||
| 558 | + <ul class="tab-ul" v-if="classTableLen"> | ||
| 556 | <template v-for="(item, index) in classTable"> | 559 | <template v-for="(item, index) in classTable"> |
| 557 | <li class="tab-li"> | 560 | <li class="tab-li"> |
| 558 | <p class="tab-tit"> | 561 | <p class="tab-tit"> |
| @@ -681,6 +684,7 @@ export default { | @@ -681,6 +684,7 @@ export default { | ||
| 681 | total: 0, | 684 | total: 0, |
| 682 | multipleSelection: [], //选中的试卷ID | 685 | multipleSelection: [], //选中的试卷ID |
| 683 | classTable: [], //多班级数据 | 686 | classTable: [], //多班级数据 |
| 687 | + classAll: false, //搜索条件多班全选 | ||
| 684 | }; | 688 | }; |
| 685 | }, | 689 | }, |
| 686 | computed: { | 690 | computed: { |
| @@ -731,6 +735,17 @@ export default { | @@ -731,6 +735,17 @@ export default { | ||
| 731 | }); | 735 | }); |
| 732 | }, | 736 | }, |
| 733 | methods: { | 737 | methods: { |
| 738 | + //搜索条件多班全选 | ||
| 739 | + selectAll(val) { | ||
| 740 | + this.query.classIds = []; | ||
| 741 | + if (val) { | ||
| 742 | + this.classList.forEach((item) => { | ||
| 743 | + this.query.classIds.push(item.value); | ||
| 744 | + }); | ||
| 745 | + } else { | ||
| 746 | + this.query.classIds.push(this.classList[0].value); | ||
| 747 | + } | ||
| 748 | + }, | ||
| 734 | // 多班级选择同一试卷 | 749 | // 多班级选择同一试卷 |
| 735 | checkboxDisabled(obj) { | 750 | checkboxDisabled(obj) { |
| 736 | let id = this.multipleSelection[0] || ""; | 751 | let id = this.multipleSelection[0] || ""; |
| @@ -943,7 +958,12 @@ export default { | @@ -943,7 +958,12 @@ export default { | ||
| 943 | this._QueryData(); | 958 | this._QueryData(); |
| 944 | }, | 959 | }, |
| 945 | //切换班级 | 960 | //切换班级 |
| 946 | - async changeclass() { | 961 | + async changeclass(list) { |
| 962 | + if (list.length == this.classList.length) { | ||
| 963 | + this.classAll = true; | ||
| 964 | + } else { | ||
| 965 | + this.classAll = false; | ||
| 966 | + } | ||
| 947 | if (this.query.classIds.length == 0) { | 967 | if (this.query.classIds.length == 0) { |
| 948 | this.$message.warning("请至少选择一个班级!"); | 968 | this.$message.warning("请至少选择一个班级!"); |
| 949 | } | 969 | } |
| @@ -1078,11 +1098,11 @@ export default { | @@ -1078,11 +1098,11 @@ export default { | ||
| 1078 | if (!query.classId) { | 1098 | if (!query.classId) { |
| 1079 | //多班级 | 1099 | //多班级 |
| 1080 | this.classTable = []; | 1100 | this.classTable = []; |
| 1081 | - let classIds = [] | 1101 | + let classIds = []; |
| 1082 | let tableData = []; | 1102 | let tableData = []; |
| 1083 | data?.list?.map((item) => { | 1103 | data?.list?.map((item) => { |
| 1084 | - if(!classIds.includes(item.classId)){ | ||
| 1085 | - classIds.push(item.classId) | 1104 | + if (!classIds.includes(item.classId)) { |
| 1105 | + classIds.push(item.classId); | ||
| 1086 | } | 1106 | } |
| 1087 | let idx = classIds.indexOf(item.classId); | 1107 | let idx = classIds.indexOf(item.classId); |
| 1088 | if (tableData[idx]) { | 1108 | if (tableData[idx]) { |
| @@ -1377,4 +1397,7 @@ div::-webkit-scrollbar-thumb { | @@ -1377,4 +1397,7 @@ div::-webkit-scrollbar-thumb { | ||
| 1377 | background: transparent; | 1397 | background: transparent; |
| 1378 | } | 1398 | } |
| 1379 | } | 1399 | } |
| 1400 | +.select-all { | ||
| 1401 | + padding-left: 16px; | ||
| 1402 | +} | ||
| 1380 | </style> | 1403 | </style> |
| 1381 | \ No newline at end of file | 1404 | \ No newline at end of file |