From b7ebccdbc4f29cc7663582213886579091c84dd5 Mon Sep 17 00:00:00 2001 From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com> Date: 星期五, 04 七月 2025 15:38:56 +0800 Subject: [PATCH] 修改新增 --- src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue | 65 ++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 13 deletions(-) diff --git a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue index aa2adec..581774d 100644 --- a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue +++ b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue @@ -8,7 +8,17 @@ :close-on-press-escape="false" :close-on-click-modal="false" > - <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" > + <el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px"> + <el-form-item v-if="state.isAdmin" label="企业:" prop="companyId"> + <el-select v-model="state.form.companyId" placeholder="请选择" clearable @change="getDeptList()"> + <el-option + v-for="item in state.companyList" + :key="item.id" + :label="item.name" + :value="item.id"> + </el-option> + </el-select> + </el-form-item> <el-form-item label="部门名称:" prop="deptName"> <el-input v-model.trim="state.form.deptName" :disabled="state.title =='查看'" placeholder="部门名称"></el-input> </el-form-item> @@ -17,17 +27,18 @@ <el-option v-for="item in state.userList" :key="item.id" - :label="item.name" + :label="item.username" :value="item.id" /> </el-select> </el-form-item> - <el-form-item label="主要负责部门:" prop="parentId"> + <el-form-item label="主要负责部门:" prop="childDeptIds"> <el-select clearable - v-model="state.form.parentId" + v-model="state.form.childDeptIds" :disabled="state.title =='查看'" filterable + multiple placeholder="主要负责部门" style="width: 100%" > @@ -58,6 +69,12 @@ /> </el-select> </el-form-item> + <el-form-item label="是否加入职能分配表" prop="responsType"> + <el-radio-group v-model="state.form.responsType" :disabled="disabled"> + <el-radio :label="1">是</el-radio> + <el-radio :label="2">否</el-radio> + </el-radio-group> + </el-form-item> </el-form> <template #footer v-if="state.title !='查看'"> <span class="dialog-footer"> @@ -73,7 +90,6 @@ import {ElMessage} from "element-plus"; import {getDepart, getSysClause, saveDepart} from "@/api/orgStructure/depart"; import {listUser} from "@/api/system/user"; - const emit = defineEmits(["getList"]); const dialogVisible = ref(false) const superRef = ref() @@ -87,17 +103,22 @@ parentId: null, caluseVO1List: [], delCaluseIds: [], - companyId: null + companyId: null, + responsType: 1, + childDeptIds: [] }, + isAdmin: false, + companyList: [], userList: [], departList: [], sysClauseList: [], oldClauseList: [], formRules:{ + companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }], deptName: [{ required: true, message: '请输入部门名称', trigger: 'blur' }], - leaderUserId: [{ required: true, message: '请选择负责人', trigger: 'blur' }], - parentId: [{ required: true, message: '请选择负责部门', trigger: 'blur' }], - caluseVO1List: [{ required: true, message: '请选择设计条款', trigger: 'blur' }], + // leaderUserId: [{ required: true, message: '请选择负责人', trigger: 'blur' }], + // parentId: [{ required: true, message: '请选择负责部门', trigger: 'blur' }], + // caluseVO1List: [{ required: true, message: '请选择涉及条款', trigger: 'blur' }], } }) @@ -106,7 +127,11 @@ }); const disabled = ref(false); const userInfo = ref() -const openDialog = async (type, value, companyId) => { +const openDialog = async (type, value, companyId, isAdmin, companyList) => { + state.isAdmin = isAdmin + if(isAdmin){ + state.companyList = companyList + } await getUserList() await getDepartList(companyId) await getSysClauseList() @@ -119,6 +144,8 @@ } }); state.oldClauseList = value.caluseVO1List + state.form.childDeptIds = value.sysDeptManageVoList?.map(i=>i.subDeptId) + state.form.responsType = Number(value.responsType) }else{ state.form.companyId = companyId } @@ -126,13 +153,17 @@ } const getUserList = async ()=> { - const res = await listUser() + const res = await listUser({pageIndex: 1,pageSize: 999}) if(res.code == 200){ state.userList = res.data.list?res.data.list:[] }else{ ElMessage.warning(res.message) } }; + +const getDeptList = async ()=>{ + await getDepartList(state.form.companyId) +} const getDepartList = async (companyId)=> { const params = { @@ -155,7 +186,7 @@ return { clauseId: i.id, clauseNum: i.clauseNum, - content: i.name, + content: i.clauseNum+'-'+i.name, id: null } }) @@ -167,6 +198,12 @@ const onSubmit = async () => { const valid = await superRef.value.validate(); if(valid){ + state.form.caluseVO1List = state.form.caluseVO1List.map(i=>{ + return { + ...i, + content: i.content.split('-')[1] + } + }) state.form.delCaluseIds = state.oldClauseList.filter(oldItem => !state.form.caluseVO1List.some(newItem => newItem.id === oldItem.id)).map(item => item.id) const res = await saveDepart(state.form) if(res.code == 200){ @@ -188,7 +225,9 @@ parentId: null, caluseVO1List: [], delCaluseIds: [], - companyId: null + companyId: null, + responsType: 1, + childDeptIds: [] } superRef.value.clearValidate(); -- Gitblit v1.9.2