祖安之光
8 天以前 81968266ce4f121394caf10c29638f25034b7305
修改新增
已修改15个文件
128 ■■■■ 文件已修改
src/api/orgStructure/depart.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/appFile/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/qualityManual/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/recordSheets/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/manageType/workInstruct/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/otherIntellFile/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/productType/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/digitalFileDep/techType/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/industryTemplate/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/dutyDialog.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/orgStructure/departManage/index.vue 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/orgStructure/dutyDistributeChart/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/standardSysTemp/appStandardModule/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/standardSysTemp/sysStandardModule/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/standardSysTemp/techStandardModule/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);