From 8779375b26e23113ebfa5940e4e5dbe696980f53 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 07 一月 2025 18:46:29 +0800 Subject: [PATCH] 流程设计-任务配置-人员类型组件重构:todo角色组件分页回显问题 --- src/components/flow/User/MultUser.vue | 63 +++++++++++-------------------- 1 files changed, 22 insertions(+), 41 deletions(-) diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue index c4e18b7..8e1f059 100644 --- a/src/components/flow/User/MultUser.vue +++ b/src/components/flow/User/MultUser.vue @@ -6,6 +6,7 @@ width="65%" :destroy-on-close="true" :close-on-click-modal="false" + :modal-append-to-body="false" :modal="false" :before-close="close"> <el-row :gutter="20"> @@ -53,7 +54,7 @@ </el-form-item> </el-form> <el-table ref="dataTable" v-loading="loading" :row-key="getRowKey" :data="userList" @selection-change="handleUserSelect"> - <el-table-column type="selection" align="center" /> + <el-table-column type="selection" align="center" :reserve-selection="true"/> <el-table-column label="鐢ㄦ埛缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> <el-table-column label="鐧诲綍璐﹀彿" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" /> <el-table-column label="鐢ㄦ埛濮撳悕" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" /> @@ -96,7 +97,7 @@ }, // 鍥炴樉鏁版嵁浼犲�� selectUserList: { - type: Number, + type: Array, default: null, required: false }, @@ -104,9 +105,9 @@ }, data() { return { - innerSelected: [], + innerSelected: [], // 閫変腑 // 閬僵灞� - loading: true, + loading: false, // 閫変腑鏁扮粍 ids: [], // 鏄剧ず鎼滅储鏉′欢 @@ -148,7 +149,6 @@ { key: 5, label: `鐘舵�乣, visible: true }, { key: 6, label: `鍒涘缓鏃堕棿`, visible: true } ], - radioSelected: 0, // 鍗曢�夋浼犲�� }; }, watch: { @@ -156,46 +156,23 @@ deptName(val) { this.$refs.tree.filter(val); }, - selectUserList: { - deep: true, - handler(newVal) { - console.log(this.selectValues, "浼犲叆鐨勫�兼槸") - this.setChecked(newVal) - }, - }, - userList: { - deep: true, - handler(newVal) { - this.$nextTick(() => { - this.$refs.dataTable.clearSelection(); - this.innerSelected.forEach(check => { - newVal.forEach(item => { - if (check.userId === item.userId) { - this.$refs.dataTable.toggleRowSelection(item) - } - }) - }) - }); - }, - }, }, mounted() { - this.getList(); this.getDeptTree(); + this.getList(); }, methods: { + getRowKeys(row) { + return row.userId + }, setChecked(val) { + this.innerSelected = val this.$nextTick(() => { - this.$refs.dataTable.clearSelection(); - this.innerSelected = val val.forEach(check => { - this.userList.forEach(item => { - if (check.userId === item.userId) { - this.$refs.dataTable.toggleRowSelection(item) - } - }) + this.$refs.dataTable.toggleRowSelection(check, true) }) }); + }, /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { @@ -215,7 +192,7 @@ }, // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁 getRowKey (row) { - return row.id + return row.userId }, // 绛涢�夎妭鐐� filterNode(value, data) { @@ -229,11 +206,17 @@ }, // 浼犻�掗�変腑鍊� handleUserSelect(selectionList) { - console.log("閫変腑鍊�", selectionList) - this.innerSelected = selectionList + + console.log("鍘熷厛鍊�", this.innerSelected) + this.innerSelected = [...new Set(selectionList)] + console.log("閫変腑鍊�", this.innerSelected) }, getSelected() { this.$emit('submit', this.innerSelected); + + }, + close() { + this.$emit("close") }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -248,9 +231,7 @@ this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, - close() { - this.$emit("close") - }, + } }; </script> -- Gitblit v1.8.0