From 7ebf2fe13529c4c471d601fc8104f450deeda8f1 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期五, 12 十二月 2025 15:37:20 +0800
Subject: [PATCH] 修改
---
src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue | 143 ++++++++++++++++++++++++++++++++++++-----------
1 files changed, 108 insertions(+), 35 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
index b83be69..2891c48 100644
--- a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
+++ b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
@@ -7,9 +7,10 @@
:before-close="handleClose"
:close-on-press-escape="false"
:close-on-click-modal="false"
+ draggable
>
<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 +20,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"
- :value="item.id"
+ :key="item.userId"
+ :label="item.name"
+ :value="item.userId"
/>
</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
@@ -68,6 +110,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">
@@ -83,7 +131,7 @@
import {ElMessage} from "element-plus";
import {getDepart, getSysClause, saveDepart} from "@/api/orgStructure/depart";
import {listUser} from "@/api/system/user";
-
+import {getEmployeeRecords} from "@/api/onlineEducation/user";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
const superRef = ref()
@@ -97,7 +145,11 @@
parentId: null,
caluseVO1List: [],
delCaluseIds: [],
- companyId: null
+ companyId: null,
+ responsType: 1,
+ childDeptIds: [],
+ orderNum: 0,
+ deptType: 0
},
isAdmin: false,
companyList: [],
@@ -108,9 +160,10 @@
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' }],
}
})
@@ -124,7 +177,7 @@
if(isAdmin){
state.companyList = companyList
}
- await getUserList()
+ await getUserList(companyId)
await getDepartList(companyId)
await getSysClauseList()
state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看';
@@ -136,16 +189,24 @@
}
});
state.oldClauseList = value.caluseVO1List
+ 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 getEmployeeRecords({companyId: companyId})
if(res.code == 200){
- state.userList = res.data.list?res.data.list:[]
+ state.userList = res.data ? res.data :[]
}else{
ElMessage.warning(res.message)
}
@@ -153,12 +214,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)
@@ -176,7 +236,7 @@
return {
clauseId: i.id,
clauseNum: i.clauseNum,
- content: i.name,
+ content: i.clauseNum+'-'+i.name,
id: null
}
})
@@ -188,7 +248,16 @@
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)
+ if(!state.form.parentId){
+ state.form.parentId = 0
+ }
const res = await saveDepart(state.form)
if(res.code == 200){
ElMessage.success(res.message)
@@ -209,7 +278,11 @@
parentId: null,
caluseVO1List: [],
delCaluseIds: [],
- companyId: null
+ companyId: null,
+ responsType: 1,
+ childDeptIds: [],
+ orderNum: 0,
+ deptType: 0
}
superRef.value.clearValidate();
--
Gitblit v1.9.2