From a3e2f79627593d5ad29f3cd11b4f9ef53b0ec0c2 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Thu, 10 Jul 2025 08:45:58 +0800
Subject: [PATCH] 修改
---
src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue | 57 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 42 insertions(+), 15 deletions(-)
diff --git a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue
index 955110e..6117899 100644
--- a/src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue
+++ b/src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue
@@ -18,7 +18,7 @@
<el-form-item >
<el-button v-if="isAdmin" type="primary" @click="getList">查询</el-button>
<el-button v-if="isAdmin" type="primary" plain @click="reset">重置</el-button>
- <el-button type="primary" @click="initDistribute">生成智能分配表</el-button>
+ <el-button type="primary" @click="initDistribute">生成职能分配表</el-button>
</el-form-item>
</el-form>
</div>
@@ -27,14 +27,16 @@
<el-table-column label="序号" type="index" align="center" width="80" />
<el-table-column label="部门名称" prop="deptName" align="center" />
<el-table-column label="负责人" prop="leaderName" align="center" />
- <el-table-column label="主要负责部门" prop="parentName" align="center"/>
+ <el-table-column label="主要负责部门" prop="parentName" align="center">
+ <template #default="scope">
+ <span>
+ {{scope.row.sysDeptManageVoList?.map(i=>i.subDeptName).join('、')}}
+ </span>
+ </template>
+ </el-table-column>
<el-table-column label="部门涉及条款" prop="userTypeName" align="center" width="150">
<template #default="scope">
- <div v-if="scope.row.caluseVO1List">
- <div v-for="(item,index) in scope.row.caluseVO1List" :key="index">
- {{ item.clauseNum + ' ' + item.content}}
- </div>
- </div>
+ {{sortVersionNumbers(scope.row.caluseVO1List?.map(i=>i.clauseNum)).join('、')}}
</template>
</el-table-column>
<el-table-column label="部门职责表" prop="userTypeName" align="center" width="150">
@@ -66,7 +68,14 @@
<script setup>
import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue";
import {ElMessage, ElMessageBox} from "element-plus";
-import {getDepart, delDepart, getCompany, getDeptInfo, initDistribution} from "@/api/orgStructure/depart";
+import {
+ getDepart,
+ delDepart,
+ getCompany,
+ getDeptInfo,
+ initDistribution,
+ getDepartByPage
+} from "@/api/orgStructure/depart";
import departDialog from './components/departDialog.vue'
import dutyDialog from './components/dutyDialog.vue'
import {generateWordDocument} from "./components/exportWord.js";
@@ -117,9 +126,9 @@
const getList = async () => {
loading.value = true
- const res = await getDepart(data.queryParams)
+ const res = await getDepartByPage(data.queryParams)
if(res.code == 200){
- data.dataList = res.data || []
+ data.dataList = res.data.list || []
data.total = res.data.total
}else{
ElMessage.warning(res.message)
@@ -128,6 +137,9 @@
}
const initDistribute = async ()=>{
+ if(!data.queryParams.companyId){
+ ElMessage.warning('请先选择要生成的企业')
+ }
ElMessageBox.confirm(
'重新生成将重置原有分配信息,是否继续?',
'提示',
@@ -154,14 +166,13 @@
const res = await getCompany(queryParams)
if (res.code == 200) {
data.companyList = res.data.list?res.data.list:[]
- data.queryParams.companyId = data.companyList[0].id
} else {
ElMessage.warning(res.message)
}
}
const openDialog = (type, value) => {
- dialogRef.value.openDialog(type, value, data.queryParams.companyId);
+ dialogRef.value.openDialog(type, value, data.queryParams.companyId, data.isAdmin, data.companyList );
}
const openDutyDialog = (value) =>{
dutyDialogRef.value.openDialog(value);
@@ -200,7 +211,6 @@
const download = async (val) => {
const templatePath = '/dutyFile.docx'
const data = await getDeptDetail(val.deptId)
- console.log(data)
try {
generateWordDocument(templatePath, data, `${data.deptName}职责表.docx`);
} catch (error){
@@ -221,6 +231,7 @@
tableData.tableData = sortResponsibilities(res.data.sysDeptResponsibilitys.map(i=>{
return {
...i,
+ leader: i.leader || '',
evidenceMaterials: i.evidenceMaterials || '',
managementDocuments: i.managementDocuments || '',
technicalDocuments: i.technicalDocuments || '',
@@ -228,15 +239,16 @@
}
}))
}else{
- tableData.tableData = [...data.firstFive,...res.data.sysDeptResponsibilitys.map(i=>{
+ tableData.tableData = [...data.firstFive,...res.data.sysDeptResponsibilitys,...data.lastTwo].map(i=>{
return {
...i,
+ leader: i.leader || '',
evidenceMaterials: i.evidenceMaterials || '',
managementDocuments: i.managementDocuments || '',
technicalDocuments: i.technicalDocuments || '',
existingRecords: i.existingRecords || '',
}
- }),...data.lastTwo]
+ })
}
return tableData
}else{
@@ -246,7 +258,22 @@
ElMessage.warning(res.message)
}
}
+const sortVersionNumbers = (versions) => {
+ return versions.sort((a, b) => {
+ const partsA = a.split('.').map(Number);
+ const partsB = b.split('.').map(Number);
+ const maxLength = Math.max(partsA.length, partsB.length)
+ for (let i = 0; i < maxLength; i++) {
+ const numA = partsA[i] || 0
+ const numB = partsB[i] || 0
+ if (numA !== numB) {
+ return numA - numB
+ }
+ }
+ return 0
+ });
+}
const sortResponsibilities = (list) => {
// 提取firstFive和lastTwo的clauseNum作为排序依据
const firstFiveClauses = data.firstFive.map(item => item.clauseNum)
--
Gitblit v1.9.2