From e87846bfc7e467836d958632b15a22a901eb51d2 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 09 一月 2025 15:33:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/flow/User/MultUser.vue | 90 ++++++++++++++++---------------------------- 1 files changed, 33 insertions(+), 57 deletions(-) diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue index c4e18b7..00406bb 100644 --- a/src/components/flow/User/MultUser.vue +++ b/src/components/flow/User/MultUser.vue @@ -1,11 +1,12 @@ <template> <div> <el-dialog - :title="`閫夋嫨杞姙鎺ユ敹浜哄憳`" + :title="title" :visible.sync="show" 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"> @@ -38,11 +39,12 @@ <!--鐢ㄦ埛鏁版嵁--> <el-col :span="18" :xs="24"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> - <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName"> + <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName"> <el-input - v-model="queryParams.userName" - placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" + v-model="queryParams.nickName" + placeholder="璇疯緭鍏ョ敤鎴峰鍚�" clearable + @clear="handleQuery" style="width: 150px" @keyup.enter.native="handleQuery" /> @@ -53,7 +55,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" /> @@ -94,9 +96,14 @@ required: true, type: Boolean }, + title: { + type: String, + required: false, + default: '鍊欓�変汉鍛�' + }, // 鍥炴樉鏁版嵁浼犲�� selectUserList: { - type: Number, + type: Array, default: null, required: false }, @@ -104,27 +111,19 @@ }, data() { return { - innerSelected: [], + innerSelected: [], // 閫変腑 // 閬僵灞� - loading: true, - // 閫変腑鏁扮粍 - ids: [], + loading: false, // 鏄剧ず鎼滅储鏉′欢 showSearch: true, // 鎬绘潯鏁� total: 0, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: [], - // 寮瑰嚭灞傛爣棰� - title: "", // 閮ㄩ棬鏍戦�夐」 deptOptions: undefined, - // 鏄惁鏄剧ず寮瑰嚭灞� - open: false, // 閮ㄩ棬鍚嶇О deptName: undefined, - // 琛ㄥ崟鍙傛暟 - form: {}, defaultProps: { children: "children", label: "label" @@ -133,7 +132,7 @@ queryParams: { pageNum: 1, pageSize: 5, - userName: undefined, + nickName: undefined, phonenumber: undefined, status: undefined, deptId: undefined @@ -148,7 +147,6 @@ { key: 5, label: `鐘舵�乣, visible: true }, { key: 6, label: `鍒涘缓鏃堕棿`, visible: true } ], - radioSelected: 0, // 鍗曢�夋浼犲�� }; }, watch: { @@ -156,46 +154,24 @@ 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: { + // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁 + getRowKey (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() { @@ -213,10 +189,6 @@ this.deptOptions = response.data; }); }, - // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁 - getRowKey (row) { - return row.id - }, // 绛涢�夎妭鐐� filterNode(value, data) { if (!value) return true; @@ -229,11 +201,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 +226,7 @@ this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, - close() { - this.$emit("close") - }, + } }; </script> -- Gitblit v1.8.0