src/api/orgStructure/depart.js
@@ -9,6 +9,15 @@ }) } export function getDepartByPage(params) { return request({ url: '/system/dept/pageList', method: 'get', params: params }) } export function saveDepart(data) { return request({ url: '/system/dept/save', src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/appFile/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/qualityManual/index.vue
@@ -244,7 +244,7 @@ } } const getDeptList = async (id) => { const res = await getDepart({pageNum: 1, pageSize: 999, companyId: id}) const res = await getDepart({pageNum: 1, pageSize: 999, responsType: 1, companyId: id}) if(res.code == 200){ data.deptList.children[0].children = res.data }else{ src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/recordSheets/index.vue
@@ -100,6 +100,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/workInstruct/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/digitalFileDep/otherIntellFile/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/digitalFileDep/productType/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/digitalFileDep/techType/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/industryTemplate/index.vue
@@ -184,6 +184,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/dutyDialog.vue
@@ -69,7 +69,7 @@ <el-input v-model.trim="scope.row.clauseNum" size="large" type="textarea" :autosize="{minRows: 1}" type="textarea" v-if="scope.$index>4 && scope.$index<state.form.sysDeptResponsibilityList.length-2" style="width: 100%;" > @@ -84,7 +84,7 @@ <el-input v-model.trim="scope.row.content" size="large" type="textarea" :autosize="{minRows: 1}" type="textarea" v-if="scope.$index>4 && scope.$index<state.form.sysDeptResponsibilityList.length-2" style="width: 100%;" > @@ -112,7 +112,7 @@ <el-input v-model.trim="scope.row.leader" size="large" type="textarea" :autosize="{minRows: 1}" type="textarea" style="width: 100%;" > </el-input> @@ -123,7 +123,7 @@ <el-input v-model.trim="scope.row.evidenceMaterials" size="large" type="textarea" :autosize="{minRows: 1}" type="textarea" style="width: 100%;" > </el-input> @@ -134,7 +134,7 @@ <el-input v-model.trim="scope.row.managementDocuments" size="large" type="textarea" :autosize="{minRows: 1}" type="textarea" style="width: 100%;" clearable > @@ -145,7 +145,7 @@ <template #default="scope"> <el-input v-model.trim="scope.row.technicalDocuments" type="textarea" :autosize="{minRows: 1}" type="textarea" size="large" style="width: 100%;" > @@ -156,7 +156,7 @@ <template #default="scope"> <el-input v-model.trim="scope.row.existingRecords" type="textarea" :autosize="{minRows: 1}" type="textarea" size="large" style="width: 100%;" > @@ -324,8 +324,8 @@ if(valid){ state.form.delData = state.oldResponsibilityList.filter(oldItem => !state.form.sysDeptResponsibilityList.some(newItem => newItem.id === oldItem.id)).map(item => item.id) for(let i of state.form.sysDeptResponsibilityList){ if(i.clauseNum == '' || i.content=='' || i.leader == ''){ ElMessage.warning('条款编号、内容、负责人不可为空') if(i.clauseNum == '' || i.content==''){ ElMessage.warning('条款编号、内容不可为空') return } } @@ -377,9 +377,11 @@ .customedTable{ .el-table__cell{ padding: 2px 0 !important; font-size: 14px !important; } .cell{ padding: 0 2px !important; font-size: 14px !important; } } </style> src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue
@@ -36,9 +36,7 @@ </el-table-column> <el-table-column label="部门涉及条款" prop="userTypeName" align="center" width="150"> <template #default="scope"> <span> {{scope.row.caluseVO1List?.map(i=>i.clauseNum).join('、')}} </span> {{sortVersionNumbers(scope.row.caluseVO1List?.map(i=>i.clauseNum)).join('、')}} </template> </el-table-column> <el-table-column label="部门职责表" prop="userTypeName" align="center" width="150"> @@ -70,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"; @@ -121,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) @@ -132,6 +137,9 @@ } const initDistribute = async ()=>{ if(!data.queryParams.companyId){ ElMessage.warning('请先选择要生成的企业') } ElMessageBox.confirm( '重新生成将重置原有分配信息,是否继续?', '提示', @@ -250,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) src/views/build/conpanyFunctionConsult/orgStructure/dutyDistributeChart/index.vue
@@ -256,7 +256,7 @@ const getDeptList = async () => { loading.value = true const res = await getDepart({pageNum: 1, pageSize: 999, companyId: data.queryParams.companyId}) const res = await getDepart({pageNum: 1, pageSize: 999,responsType: 1, companyId: data.queryParams.companyId}) if(res.code == 200){ data.deptList = res.data }else{ src/views/build/conpanyFunctionConsult/standardSysTemp/appStandardModule/index.vue
@@ -132,6 +132,12 @@ } const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue
@@ -101,6 +101,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path); src/views/build/conpanyFunctionConsult/standardSysTemp/techStandardModule/index.vue
@@ -99,6 +99,12 @@ }) const openFile = async(path)=>{ const ext = path.split('.').pop().toLowerCase(); if (ext === 'doc') { alert('暂不支持.doc文件预览,请下载后打开'); window.open(`${import.meta.env.VITE_APP_BASE_API}/${path}`, '_blank'); return } try { // 1. 获取文件 const response = await fetch(import.meta.env.VITE_APP_BASE_API + '/' + path);