From dd2bdb18a8394d2f2a13534a98bcadb8020e3668 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期三, 23 七月 2025 16:09:33 +0800
Subject: [PATCH] 修改新增

---
 src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue |  123 +++++++++++++++++++++++++++++++---------
 1 files changed, 94 insertions(+), 29 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
index 05e4b12..622b664 100644
--- a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
@@ -9,7 +9,7 @@
         :close-on-click-modal="false"
     >
       <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-form-item label="企业:" prop="companyId" v-if="state.isAdmin">
           <el-select v-model="state.form.companyId" placeholder="请选择" clearable @change="getDeptList()">
             <el-option
                 v-for="item in state.companyList"
@@ -19,36 +19,77 @@
             </el-option>
           </el-select>
         </el-form-item>
+        <el-row>
+          <el-col :span="12" v-if="state.title == '新增'">
+            <el-form-item label="上级部门" prop="parentId">
+<!--              <el-tree-select-->
+<!--                  v-model="state.form.parentId"-->
+<!--                  :data="state.departList"-->
+<!--                  :props="{ value: 'deptId', label: 'deptName', children: 'children' }"-->
+<!--                  value-key="deptId"-->
+<!--                  placeholder="选择上级部门"-->
+<!--                  check-strictly-->
+<!--              />-->
+              <el-select
+                  clearable
+                  v-model="state.form.parentId"
+                  :disabled="state.title =='查看'"
+                  filterable
+                  placeholder="选择上级部门"
+                  style="width: 100%"
+              >
+                <el-option
+                    v-for="item in state.departList"
+                    :key="item.deptId"
+                    :label="item.deptName"
+                    :value="item.deptId"
+                />
+              </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>
+        <el-form-item label="是否是管理层:"  prop="deptType" v-if="state.title !== '修改密码'">
+          <el-radio-group v-model="state.form.deptType"  :disabled="disabled">
+            <el-radio :label="1">是</el-radio>
+            <el-radio :label="0">否</el-radio>
+          </el-radio-group>
         </el-form-item>
         <el-form-item label="负责人:" prop="leaderUserId">
           <el-select clearable v-model="state.form.leaderUserId" :disabled="state.title =='查看'" filterable placeholder="负责人" style="width: 100%">
             <el-option
                 v-for="item in state.userList"
                 :key="item.id"
-                :label="item.username"
+                :label="item.name"
                 :value="item.id"
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="主要负责部门:" prop="parentId">
-          <el-select
-              clearable
-              v-model="state.form.parentId"
-              :disabled="state.title =='查看'"
-              filterable
-              placeholder="主要负责部门"
-              style="width: 100%"
-          >
-            <el-option
-                v-for="item in state.departList"
-                :key="item.deptId"
-                :label="item.deptName"
-                :value="item.deptId"
-            />
-          </el-select>
-        </el-form-item>
+<!--        <el-form-item label="主要负责部门:" prop="childDeptIds">-->
+<!--          <el-select-->
+<!--              clearable-->
+<!--              v-model="state.form.childDeptIds"-->
+<!--              :disabled="state.title =='查看'"-->
+<!--              filterable-->
+<!--              multiple-->
+<!--              placeholder="主要负责部门"-->
+<!--              style="width: 100%"-->
+<!--          >-->
+<!--            <el-option-->
+<!--                v-for="item in state.departList"-->
+<!--                :key="item.deptId"-->
+<!--                :label="item.deptName"-->
+<!--                :value="item.deptId"-->
+<!--            />-->
+<!--          </el-select>-->
+<!--        </el-form-item>-->
         <el-form-item label="部门涉及条款:" prop="caluseVO1List">
           <el-select
               clearable
@@ -67,6 +108,12 @@
                 :value="item"
             />
           </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 !='查看'">
@@ -96,7 +143,11 @@
     parentId: null,
     caluseVO1List: [],
     delCaluseIds: [],
-    companyId: null
+    companyId: null,
+    responsType: 1,
+    childDeptIds: [],
+    orderNum: 0,
+    deptType: 0
   },
   isAdmin: false,
   companyList: [],
@@ -107,9 +158,10 @@
   formRules:{
     companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
     deptName: [{ 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' }],
+    // caluseVO1List: [{ required: true, message: '请选择涉及条款', trigger: 'blur' }],
   }
 })
 
@@ -123,7 +175,7 @@
   if(isAdmin){
     state.companyList = companyList
   }
-  await getUserList()
+  await getUserList(companyId)
   await getDepartList(companyId)
   await getSysClauseList()
   state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看';
@@ -135,15 +187,22 @@
       }
     });
     state.oldClauseList = value.caluseVO1List
-    console.log(state.oldClauseList,'old')
+    state.form.childDeptIds = value.sysDeptManageVoList?.map(i=>i.subDeptId)
+    state.form.responsType = Number(value.responsType)
+    state.form.deptType = Number(value.deptType)
   }else{
-    state.form.companyId = companyId
+    if(value.deptId && value.companyId){
+      state.form.parentId = value.deptId
+      state.form.companyId = value.companyId
+    }else{
+      state.form.companyId = companyId
+    }
   }
   dialogVisible.value = true
 }
 
-const getUserList = async ()=> {
-  const res = await listUser()
+const getUserList = async (companyId)=> {
+  const res = await listUser({pageIndex: 1,pageSize: 999, companyId: companyId})
   if(res.code == 200){
     state.userList = res.data.list?res.data.list:[]
   }else{
@@ -153,12 +212,11 @@
 
 const getDeptList = async ()=>{
   await getDepartList(state.form.companyId)
+  await getUserList(state.form.companyId)
 }
 
 const getDepartList = async (companyId)=> {
   const params = {
-    pageNum: 1,
-    pageSize: 999,
     companyId: companyId
   }
   const res = await getDepart(params)
@@ -195,6 +253,9 @@
       }
     })
     state.form.delCaluseIds = state.oldClauseList.filter(oldItem => !state.form.caluseVO1List.some(newItem => newItem.id === oldItem.id)).map(item => item.id)
+    if(!state.form.parentId){
+      state.form.parentId = 0
+    }
     const res = await saveDepart(state.form)
     if(res.code == 200){
       ElMessage.success(res.message)
@@ -215,7 +276,11 @@
     parentId: null,
     caluseVO1List: [],
     delCaluseIds: [],
-    companyId: null
+    companyId: null,
+    responsType: 1,
+    childDeptIds: [],
+    orderNum: 0,
+    deptType: 0
   }
 
   superRef.value.clearValidate();

--
Gitblit v1.9.2