From c19bb5ac1b4013aa700c0a658f20375be9703ea3 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 08 七月 2024 18:45:47 +0800
Subject: [PATCH] feat:选择学生增加全选按钮

---
 src/views/exam/personalRandomTemplate/edit.vue |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/views/exam/personalRandomTemplate/edit.vue b/src/views/exam/personalRandomTemplate/edit.vue
index b559b0d..a2e4527 100644
--- a/src/views/exam/personalRandomTemplate/edit.vue
+++ b/src/views/exam/personalRandomTemplate/edit.vue
@@ -167,8 +167,9 @@
           <el-button type="primary" @click="selectStudent">鏌ヨ</el-button>
         </el-form-item>
       </el-form>
+      <el-button type="primary" @click="selectAllBoolean ? selectAll() : unselectAll()">{{ selectAllBoolean ? '鍏ㄩ��' : '鍙栨秷鍏ㄩ��' }}</el-button>
       <el-table ref="multipleTable" v-loading="student.listLoading" :data="tableData" border fit highlight-current-row
-        style="width: 100%" @selection-change="handleSelection" row-key="id" @select-all="selectAll">
+        style="width: 100%" @selection-change="handleSelection" row-key="id">
         <el-table-column type="selection" :reserve-selection="true"></el-table-column>
         <el-table-column prop="realName" label="瀛﹀憳" />
       </el-table>
@@ -198,6 +199,7 @@
 
   data() {
     return {
+      selectAllBoolean: true,
       tags: [],
       studentDialog: false,
       student: {
@@ -349,16 +351,24 @@
       })
     },
     handleSelection(val) {
-      console.log('val', val);
       this.student.multipleSelection = val;
     },
-    selectAll() {
+    selectAll () {
+      this.selectAllBoolean = false;
       let param = { ...this.student };
       param.pageSize = 999999;
       examPaperApi.selectStudent(param).then(res => {
         this.handleSelection(res.response.list);
+        res.response.list.forEach(item => {
+          this.$refs.multipleTable.toggleRowSelection(item, true);
+        })
+        this.getStudent();
       });
     },
+    unselectAll () {
+      this.selectAllBoolean = true;
+      this.$refs.multipleTable.clearSelection();
+    },
     confirmStudentSelect() {
       this.form.userIds = this.student.multipleSelection.map((item) => item.id);
       this.form.examineeList = this.student.multipleSelection.map((item) => {

--
Gitblit v1.8.0