From 0524bcc28832ea9d55e7d5fbc8438bc2f7d59097 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期三, 09 七月 2025 17:09:32 +0800
Subject: [PATCH] 修改

---
 src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 64 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..7a53bdf 100644
--- a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
@@ -8,7 +8,26 @@
         :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-row>
+          <el-col :span="12" v-if="state.isAdmin" >
+            <el-form-item 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-col>
+          <el-col :span="12">
+          <el-form-item label="排序:"  prop="orderNum">
+            <el-input v-model.number.trim="state.form.orderNum" type="number" :disabled="state.title =='查看'" placeholder="排序"></el-input>
+          </el-form-item>
+          </el-col>
+        </el-row>
         <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 +36,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 +78,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 +99,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 +112,24 @@
     parentId: null,
     caluseVO1List: [],
     delCaluseIds: [],
-    companyId: null
+    companyId: null,
+    responsType: 1,
+    childDeptIds: [],
+    orderNum: 0
   },
+  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' }],
+    orderNum: [{ 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 +138,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 +155,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 +164,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 +197,7 @@
       return {
         clauseId: i.id,
         clauseNum: i.clauseNum,
-        content: i.name,
+        content: i.clauseNum+'-'+i.name,
         id: null
       }
     })
@@ -167,6 +209,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 +236,10 @@
     parentId: null,
     caluseVO1List: [],
     delCaluseIds: [],
-    companyId: null
+    companyId: null,
+    responsType: 1,
+    childDeptIds: [],
+    orderNum: 0
   }
 
   superRef.value.clearValidate();

--
Gitblit v1.9.2