From ba0afee077b738f1585b05771c5d5d3865eed930 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 09 Jul 2025 08:38:25 +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