From 17b1c347ea9c6d3efd566b62bcaf7b3aa07dfa54 Mon Sep 17 00:00:00 2001 From: wjt <1797368093@qq.com> Date: 星期二, 25 六月 2024 10:22:54 +0800 Subject: [PATCH] 二维码修改 --- src/views/system/user/index.vue | 123 +++++++++++++++++++++++++++++++--------- 1 files changed, 94 insertions(+), 29 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 2131c45..b4d712b 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -72,8 +72,8 @@ <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="50" align="center" /> <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" /> + <!-- <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" /> <el-table-column label="閮ㄩ棬" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" /> <el-table-column label="鎵嬫満鍙风爜" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" /> <el-table-column label="鐘舵��" align="center" key="status" v-if="columns[5].visible"> @@ -86,23 +86,24 @@ <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="180" class-name="small-padding fixed-width"> + <el-table-column label="鎿嶄綔" align="center" width="380" class-name="small-padding fixed-width"> <template #default="scope"> - <el-tooltip content="淇敼" placement="top" v-if="scope.row.userId !== 1"> - <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']"></el-button> - </el-tooltip> - <el-tooltip content="鍒犻櫎" placement="top" v-if="scope.row.userId !== 1"> - <el-button link type="error" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']"></el-button> - </el-tooltip> - <el-tooltip content="閲嶇疆瀵嗙爜" placement="top" v-if="scope.row.userId !== 1"> - <el-button link type="danger" icon="Key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']"></el-button> - </el-tooltip> - <el-tooltip content="鍒嗛厤瑙掕壊" placement="top" v-if="scope.row.userId !== 1"> - <el-button link type="success" icon="CircleCheck" @click="handleAuthRole(scope.row)" v-hasPermi="['system:user:edit']"></el-button> - </el-tooltip> + <!-- <el-tooltip content="淇敼" placement="top" v-if="scope.row.userId !== 1"> --> + <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']">淇敼</el-button> + <!-- </el-tooltip> --> + <!-- <el-tooltip content="鍒犻櫎" placement="top" v-if="scope.row.userId !== 1"> --> + <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']">鍒犻櫎</el-button> + <!-- </el-tooltip> --> + <!-- <el-tooltip content="閲嶇疆瀵嗙爜" placement="top" v-if="scope.row.userId !== 1"> + <el-button link type="error" icon="Key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']"></el-button> + </el-tooltip> --> + <!-- <el-tooltip content="鍒嗛厤瑙掕壊" placement="top" v-if="scope.row.userId !== 1"> --> + <el-button link type="success" icon="CircleCheck" @click="handleAuthRole(scope.row)" v-hasPermi="['system:user:edit']">鍒嗛厤瑙掕壊</el-button> + <!-- </el-tooltip> --> <!-- <el-tooltip content="閲嶇疆鏀粯瀵嗙爜" placement="top" v-if="scope.row.userId !== 1"> <el-button link type="danger" icon="Key" @click="handlePayPwd(scope.row)" v-hasPermi="['system:user:resetPwd']"></el-button> </el-tooltip> --> + <el-button link type="success" icon="Key" @click="handlerDept(scope.row)" v-hasPermi="['system:user:resetPwd']">鍒嗙鏈烘瀯</el-button> </template> </el-table-column> </el-table> @@ -115,7 +116,7 @@ <el-form :model="form" :rules="rules" ref="userRef" label-width="80px"> <el-row> <el-col :span="12"> - <el-form-item label="鐢ㄦ埛鏄电О" prop="nickName"> + <el-form-item label="濮撳悕" prop="nickName"> <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" maxlength="30" /> </el-form-item> </el-col> @@ -145,16 +146,16 @@ </el-col> </el-row> <el-row> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛鍚嶇О" prop="userName"> <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" /> </el-form-item> - </el-col> - <el-col :span="12"> + </el-col> --> + <!-- <el-col :span="12"> <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛瀵嗙爜" prop="password"> <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password /> </el-form-item> - </el-col> + </el-col> --> </el-row> <el-row> <el-col :span="12"> @@ -173,13 +174,13 @@ </el-col> </el-row> <el-row> - <el-col :span="12"> + <!-- <el-col :span="12"> <el-form-item label="宀椾綅"> <el-select v-model="form.postIds" multiple placeholder="璇烽�夋嫨"> <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1"></el-option> </el-select> </el-form-item> - </el-col> + </el-col> --> <el-col :span="12"> <el-form-item label="瑙掕壊"> <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨"> @@ -235,13 +236,26 @@ </div> </template> </el-dialog> + <!-- 澶氭満鏋勭粦瀹� --> + <el-dialog title="鍒嗙鏈烘瀯" v-model="openDialog" width="400px" append-to-body> + <el-tree :data="treeData" ref="depttree" :default-expanded-keys="defaultKeys" :props="{label: 'deptName', value: 'deptId', children: 'child' }" node-key="deptId" :default-checked-keys="defaultKeys" show-checkbox> + + </el-tree> + <template #footer> + <div class="dialog-footer"> + <el-button type="primary" @click="submitFileFormSave">纭� 瀹�</el-button> + <el-button @click="openDialog = false">鍙� 娑�</el-button> + </div> + </template> + </el-dialog> </div> </template> <script setup name="User"> import { getToken } from "@/utils/auth"; import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect, resetPayPwd,updateUserProfile } from "@/api/system/user"; - +import { batchUserDeptView,batchUserDeptTree,batchUserDeptSave } from '@/api/system/company/company' +import { ElMessage } from "element-plus"; const router = useRouter(); const { proxy } = getCurrentInstance(); const { sys_normal_disable, sys_user_sex } = proxy.useDict("sys_normal_disable", "sys_user_sex"); @@ -302,11 +316,12 @@ { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, { min: 2, max: 20, message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", trigger: "blur" }, ], + deptId: [{ required: true, message: "閮ㄩ棬涓嶈兘涓虹┖", trigger: "blur" }], nickName: [{ required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }], - password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, - { min: 5, max: 20, message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", trigger: "blur" }, - ], + // password: [ + // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, + // { min: 5, max: 20, message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", trigger: "blur" }, + // ], email: [{ type: "email", message: "璇疯緭鍏ユ纭殑閭鍦板潃", trigger: ["blur", "change"] }], phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }], }, @@ -338,6 +353,8 @@ function getDeptTree() { deptTreeSelect().then((response) => { deptOptions.value = response.data; + queryParams.value.deptId = response.data[0].id; + getList() }); } /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ @@ -363,7 +380,8 @@ function resetQuery() { dateRange.value = []; proxy.resetForm("queryRef"); - queryParams.value.deptId = undefined; + // queryParams.value.deptId = undefined; + queryParams.value.deptId = deptOptions.value[0].id; proxy.$refs.deptTreeRef.setCurrentKey(null); handleQuery(); } @@ -548,6 +566,7 @@ function submitForm() { proxy.$refs["userRef"].validate((valid) => { if (valid) { + form.value.userName = form.value.phonenumber if (form.value.userId != undefined) { updateUserProfile(form.value).then((response) => { proxy.$modal.msgSuccess("淇敼鎴愬姛"); @@ -566,5 +585,51 @@ } getDeptTree(); -getList(); +// getList(); +const openDialog = ref(false) +const userInfo = reactive({ + userId: "", + +}) +const treeData = ref([]) +const defaultKeys = ref([]) +const depttree = ref() +function handlerDept(item) { + userInfo.userId = item.userId + openDialog.value = true + batchUserDeptTreeHttp(item.deptId) + batchUserDeptViewHttp(userInfo.userId) +} +function batchUserDeptViewHttp(userId) { + batchUserDeptView({userId}).then(val => { + defaultKeys.value = val.data.deptIds + }) +} +function batchUserDeptTreeHttp(deptId) { + batchUserDeptTree({deptId}).then(val => { + if(val.data.deptId == deptId) { + val.data.disabled = true + val.data.child.forEach(item => { + item.disabled = true + + }) + } + val.data.child.forEach(item => { + // item.disabled = true + if(item.deptId == deptId) { + item.disabled = true + } + }) + treeData.value = [val.data] + }) +} +function submitFileFormSave() { + userInfo.deptIds = depttree.value.getCheckedKeys() + batchUserDeptSave(userInfo).then(val => { + if(val.code == 200){ + ElMessage.success('鎿嶄綔鎴愬姛') + openDialog.value = false + } + }) +} </script> -- Gitblit v1.9.1