From fd3ef41e30c4d262ceb5616075daacf61c40d20d Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 21 三月 2025 17:25:12 +0800 Subject: [PATCH] bug修改 --- src/views/templateManage/components/createSign.vue | 61 +++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 14 deletions(-) diff --git a/src/views/templateManage/components/createSign.vue b/src/views/templateManage/components/createSign.vue index 6c898d2..0913ec9 100644 --- a/src/views/templateManage/components/createSign.vue +++ b/src/views/templateManage/components/createSign.vue @@ -17,31 +17,33 @@ <el-form-item label="最初签署人:" prop="deptId" > <el-cascader - :show-all-levels="false" style="width: 170px" clearable placeholder="请选择部门" - v-model="state.form.deptId" + v-model="state.deptIds" :options="state.options" @change="selectValue" - :props="{ expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"> + :props="{ multiple:true, expandTrigger: 'hover', value: 'deptId',label: 'deptName',emitPath: false}"> </el-cascader> <el-select clearable - v-model="state.form.initiaiUserId" + v-model="state.initiaiUsers" filterable remote + multiple reserve-keyword placeholder="请输入签署人名称" remote-show-suffix - :remote-method="(val)=>getUserList(val,state.form.deptId)" + @change="changeUser" + :remote-method="(val)=>getUserList(val,state.deptIds)" style=" width:170px;margin-left:20px" + value-key="userId" > <el-option v-for="item in state.userList" :key="item.userId" :label="item.nickName" - :value="item.userId" + :value="item" /> </el-select> </el-form-item> @@ -57,11 +59,13 @@ </div> </template> <script setup> -import {reactive, ref, toRefs} from 'vue' +import {onMounted, reactive, ref, toRefs} from 'vue' import {ElMessage} from "element-plus"; import {listDept} from "@/api/system/dept"; import {listUser} from "@/api/system/user"; import {addSignProject} from "@/api/signAgreement/signProject"; +import Cookies from "js-cookie"; +import {userListByDept} from "@/api/signAgreement/template"; const { proxy } = getCurrentInstance(); const dialogVisible = ref(false); @@ -76,25 +80,35 @@ itemName: '', deptId: null, initiaiUserId: null, - templateId: null + templateId: null, + userDept: [] }, options: [], userList: [], formRules:{ - deptId: [{ required: true, trigger: "blur", message:'请选择部门' }], + // deptId: [{ required: true, trigger: "blur", message:'请选择部门' }], itemName: [{ required: true, trigger: "blur", message:'请输入项目名称' }], }, + deptIds: [], + initiaiUsers: [] }) +onMounted( () => { + const userInfo = JSON.parse(Cookies.get('userInfo')) + state.form.deptId = userInfo.deptId +}); const openDialog = async (value) => { await getDept() state.form.templateId = value.id + dialogVisible.value = true; } const selectValue = (val) => { state.userList = [] state.form.initiaiUserId = null + state.initiaiUsers = [] + state.form.userDept = [] getUserList("",val) } @@ -146,9 +160,11 @@ initiaiUserId: null, templateId: null } + state.deptIds = [] } const getUserList = async (val,deptId)=>{ - if(deptId == '' || deptId == null){ + console.log('dept',deptId) + if(deptId.length ==0 || deptId == null){ // ElMessage.warning("请选择部门!") return; } @@ -157,9 +173,15 @@ deptId: deptId, nickName: val, } - const res = await listUser(queryParams) + const res = await userListByDept(queryParams) if (res.code == 200) { - state.userList = res.rows + state.userList = res.rows.map(item => { + return { + ...item, + nickName: item.nickName + '(' + item.dept.deptName + ')' + } + }) + } else { ElMessage.warning(res.message) } @@ -169,14 +191,25 @@ pageSize: 10, deptId: deptId } - const res = await listUser(queryParams) + const res = await userListByDept(queryParams) if (res.code == 200) { - state.userList = res.rows + state.userList = res.rows.map(item => { + return { + ...item, + nickName: item.nickName + ' ( ' + item.dept.deptName + ' ) ' + } + }) } else { ElMessage.warning(res.message) } } } + +const changeUser = (val) =>{ + const userIds = val.map(item => item.userId) + state.form.initiaiUserId = userIds.join(',') + state.form.userDept = val.map(i => i.userId + '_' + i.deptId) +} defineExpose({ openDialog }); -- Gitblit v1.9.2