diff --git a/src/views/basic/ask/analysis.vue b/src/views/basic/ask/analysis.vue index 493dbef..b77bf89 100644 --- a/src/views/basic/ask/analysis.vue +++ b/src/views/basic/ask/analysis.vue @@ -134,9 +134,9 @@ export default { this.$store.getters.info.showRole || this.$store.getters.info.permissions[0].role; this.types = Number(this.$route.query.types); - this.className = this.$route.query.className; + // this.className = this.$route.query.className; const queryData = JSON.parse(this.$route.query.params); - this.classId = queryData.classId; + this.classId = this.$route.query.classId; console.log(this.$route.query); this.subjectNames = this.$route.query.subjectNames.split(","); if (this.types == 1) { @@ -163,7 +163,8 @@ export default { this.status = this.$route.query.status ? this.$route.query.status : 0; this._QueryData(); this.types != 1 ? this._QueryDataQuestionRank() : ""; - this.types != 3 ? this.periodDetail() : ""; + // this.types != 3 ? this.periodDetail() : ""; + this.periodDetail(); }, methods: { print() { @@ -215,6 +216,7 @@ export default { periodIds: this.id, }); if (status == 0) { + this.className = data.className || ""; this.detail = { ...data }; this.detail.duration = this.detail.duration ? (this.detail.duration / 60).toFixed(2) diff --git a/src/views/basic/ask/components/detail.vue b/src/views/basic/ask/components/detail.vue index 6facd18..f191bb1 100644 --- a/src/views/basic/ask/components/detail.vue +++ b/src/views/basic/ask/components/detail.vue @@ -38,7 +38,7 @@ 已答总正确率:{{ detail.answerCorrectRate }}%
  • - 总参与度::{{ detail.participationRate }}% + 总参与度:{{ detail.participationRate }}%
  • diff --git a/src/views/basic/ask/list.vue b/src/views/basic/ask/list.vue index 8e7bafc..4ae69f8 100644 --- a/src/views/basic/ask/list.vue +++ b/src/views/basic/ask/list.vue @@ -174,6 +174,7 @@ export default { }, tableData: [], multipleSelection: [], + multipleSelectionObj: {}, page: 1, size: 20, total: 0, @@ -196,6 +197,14 @@ export default { this.init(); } }, + multipleSelection: { + handler: function (nVal) { + this.multipleSelectionObj[this.page] = this.tableData.filter((item) => + nVal.includes(item.id) + ); + }, + deep: true, + }, }, methods: { //初始化 @@ -225,19 +234,17 @@ export default { // 班主任教学班不能与行政班汇总 checkboxDisabled(obj) { if (this.role == "ROLE_BANZHUREN") { - let id = this.multipleSelection[0] || ""; - if (id) { - let classId; - for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData[i].id == id) { - classId = this.tableData[i].classId; - break; - } - } + let classId = + (this.multipleSelectionObj[1] && + this.multipleSelectionObj[1][0]?.classId) || + ""; + if (classId) { return obj.classId == classId ? false : true; } else { return false; } + } else { + return false; } }, //去详情 @@ -260,28 +267,51 @@ export default { return; } let subjectArr = []; - this.tableData.map((item) => { + let classId = ""; + let multipleData = []; + let multipleSelectionData = []; + Object.keys(this.multipleSelectionObj).map((keys) => { + multipleSelectionData = multipleSelectionData.concat( + this.multipleSelectionObj[keys] + ); + }); + multipleSelectionData.map((item) => { if (this.multipleSelection.includes(item.id)) { subjectArr.push(item.subjectName); + multipleData.push(item); + classId = item.classId; } }); subjectArr = [...new Set(subjectArr)]; - this.$router.push({ - path: "/askAnalysis", - query: { - id: JSON.stringify(this.multipleSelection), - types: - this.multipleSelection.length == 1 - ? 1 - : subjectArr.length == 1 - ? 2 - : 3, - subjectNames: subjectArr.join(","), - params: this.$route.query.params, - className: this.$route.query.className, - }, - }); + if (this.multipleSelection.length == 1) { + this.$router.push({ + path: "/askAnalysis", + query: { + id: JSON.stringify(this.multipleSelection), + types: 1, + subjectNames: subjectArr[0], + params: this.$route.query.params, + }, + }); + } else { + this.$router.push({ + path: "/askAnalysis", + query: { + id: JSON.stringify(this.multipleSelection), + types: + this.multipleSelection.length == 1 + ? 1 + : subjectArr.length == 1 + ? 2 + : 3, + subjectNames: subjectArr.join(","), + params: this.$route.query.params, + classId: classId, + }, + }); + } }, + //删除 async remove(obj) { const { data, status, info } = await this.$request.deletePaperReport({ diff --git a/src/views/basic/test/list.vue b/src/views/basic/test/list.vue index 25052a2..520f9d5 100644 --- a/src/views/basic/test/list.vue +++ b/src/views/basic/test/list.vue @@ -391,15 +391,11 @@ export default { checkboxDisabled(obj) { if (obj.examStartTime) { if (this.role == "ROLE_BANZHUREN") { - let id = this.multipleSelection[0] || ""; - if (id) { - let classId; - for (let i = 0; i < this.tableData.length; i++) { - if (this.tableData[i].id == id) { - classId = this.tableData[i].classId; - break; - } - } + let classId = + (this.multipleSelectionObj[1] && + this.multipleSelectionObj[1][0]?.classId) || + ""; + if (classId) { return obj.classId == classId ? false : true; } else { return false; @@ -493,6 +489,7 @@ export default { if (this.query.classId?.length > 1) { pageSize = 9999; } + this.tableData = []; const examReportList = this.role == "ROLE_PERSONAL" ? this.$request.pExamReportList