From 5852b3fad2aac336e716a44875b5ecb53dcb2907 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 14 二月 2025 16:43:18 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/components/flow/User/MultUser.vue | 96 ++++++++++++++++++------------------------------
1 files changed, 36 insertions(+), 60 deletions(-)
diff --git a/src/components/flow/User/MultUser.vue b/src/components/flow/User/MultUser.vue
index c4e18b7..58971e8 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" />
@@ -79,7 +81,7 @@
</template>
<script>
-import { listUser, deptTreeSelect } from "@/api/system/user";
+import {listUser, deptTreeSelect, deptTreeSelectNoAuth, listUserNoAuth} from "@/api/system/user";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
import {StrUtil} from '@/utils/StrUtil'
@@ -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,51 +154,29 @@
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() {
this.loading = true;
- listUser(this.queryParams).then(response => {
+ listUserNoAuth(this.queryParams).then(response => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
@@ -209,13 +185,9 @@
},
/** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */
getDeptTree() {
- deptTreeSelect().then(response => {
+ deptTreeSelectNoAuth().then(response => {
this.deptOptions = response.data;
});
- },
- // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
- getRowKey (row) {
- return row.id
},
// 绛涢�夎妭鐐�
filterNode(value, data) {
@@ -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