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