65c426a4930005901aa86a7cb8a60cf27811617c..ff1169ac5114c68e96c5686a0caa5d69d8a60b8a
3 天以前 zhouwx
修改
ff1169 对比 | 目录
3 天以前 祖安之光
修改新增
ee0224 对比 | 目录
3 天以前 zhouwx
修改
7ebf2f 对比 | 目录
3 天以前 祖安之光
修改新增
35b197 对比 | 目录
3 天以前 zhouwx
修改
812f2a 对比 | 目录
3 天以前 祖安之光
修改新增
910af8 对比 | 目录
3 天以前 祖安之光
修改新增
d4534c 对比 | 目录
已修改9个文件
已删除1个文件
298 ■■■■■ 文件已修改
public/qualityFile.docx 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/orgStructure/dutyDistributeChart/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/qualityInfo/supplierQuality/satisfiedEvaluste/report/components/editDialog.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/qualityManage/qualityInformationPage/external/components/editDialog.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/qualityManage/qualityInformationPage/internal/components/editDialog.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/components/editDialog.vue 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
public/qualityFile.docx
Binary files differ
src/views/build/conpanyFunctionConsult/companyInfo/overview/components/overviewDialog.vue
@@ -7,7 +7,7 @@
        :before-close="handleClose"
    >
      <el-form :model="state.noticeForm" size="default" ref="noticeRef"
               :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="110px">
               :rules="title === '新增' || title === '编辑' ? state.formRules : {}" label-width="140px">
        <el-form-item v-if="state.isAdmin" label="单位:" prop="companyId">
          <el-select v-model="state.noticeForm.companyId" placeholder="请选择" clearable filterable style="width: 100%"
                     :disabled="title == '查看' || title == '编辑' || !state.isAdmin">
@@ -31,7 +31,7 @@
        <el-form-item label="行业:" prop="industry">
          <el-input v-model.trim="state.noticeForm.industry" :disabled="title === '查看'"/>
        </el-form-item>
        <el-form-item label="证书编号:" prop="legalPersonCode">
        <el-form-item label="社会信用代码:" prop="legalPersonCode">
          <el-input v-model.trim="state.noticeForm.legalPersonCode" :disabled="title === '查看'"/>
        </el-form-item>
        <el-form-item label="法人代表:" prop="legalPerson">
@@ -48,11 +48,11 @@
          <el-input v-model.trim="state.noticeForm.otherAddress" :rows="3" type="textarea"
                    :disabled="title === '查看'"/>
        </el-form-item>
        <el-form-item label="单位概况:" v-if="showEditor" required>
        <el-form-item label="单位概况简介:" v-if="showEditor" required>
          <t-editor style="width: 800px" ref="myEditor" :toolbar="toolbar"
                    :value="state.noticeForm.companySummary"></t-editor>
        </el-form-item>
        <el-form-item label="单位概况:" v-else>
        <el-form-item label="单位概况简介:" v-else>
          <div class="ql-container ql-snow" style="height: 500px;width: 100%;margin-top: 10px;">
            <div class="ql-editor">
              <div class="reviewTable" v-html="state.noticeForm.companySummary" @click="showFile($event)"></div>
src/views/build/conpanyFunctionConsult/companyInfo/qualifications/components/qualificationsDialog.vue
@@ -25,12 +25,12 @@
        <el-form-item label="证书编号:" prop="certificateNum" >
          <el-input v-model="state.form.certificateNum" :disabled="title === '查看'" placeholder="请输入证书编号"/>
        </el-form-item>
        <el-form-item label="获取时间:" prop="getTime" >
        <el-form-item label="获得时间:" prop="getTime" >
          <el-date-picker
              :disabled="state.title =='查看'"
              :disabled="title === '查看'"
              v-model="state.form.getTime"
              type="date"
              placeholder="请选择获取日期"
              placeholder="请选择获得日期"
              style="width: 100%"
              value-format="YYYY-MM-DD"
          />
@@ -100,12 +100,12 @@
  }
  const getTime = state.form.getTime;
  if (!getTime) {
    return callback(new Error('请先选择获取时间'));
    return callback(new Error('请先选择获得时间'));
  }
  const effectiveDate = new Date(value);
  const achieveDate = new Date(getTime);
  if (effectiveDate <= achieveDate) {
    callback(new Error('有效期必须在获取时间之后'));
    callback(new Error('有效期必须在获得时间之后'));
  } else {
    callback();
  }
@@ -125,7 +125,7 @@
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    certificateName:[{ required: true, message: '请输入取得资质证书名称', trigger: 'blur' }],
    certificateNum:[{ required: true, message: '请输入证书编号', trigger: 'blur' }],
    getTime:[{ required: true, message: '请输入获取时间', trigger: 'blur' }],
    getTime:[{ required: true, message: '请输入获得时间', trigger: 'blur' }],
    effectiveTime:[{ required: true, validator: checkEffectiveTime, trigger: 'blur' }],
    filePath:[{ required: true, message: '请上传证书', trigger: 'blur' }],
  },
src/views/build/conpanyFunctionConsult/orgStructure/departManage/components/departDialog.vue
@@ -7,6 +7,7 @@
        :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 label="单位:" prop="companyId" v-if="state.isAdmin">
src/views/build/conpanyFunctionConsult/orgStructure/dutyDistributeChart/index.vue
@@ -51,8 +51,8 @@
<!--      </el-table-column>-->
      <el-table-column v-for="column in deptList" :key="column.deptId" :prop="column.deptId" :label="column.deptName" align="center">
        <template #default="scope">
          <el-checkbox v-if="isEdit" v-model="scope.row[column.deptId]" size="large" @change="changeStatus(scope.row,scope.$index)"/>
          <div v-else>
<!--          <el-checkbox v-if="isEdit" v-model="scope.row[column.deptId]" size="large" @change="changeStatus(scope.row,scope.$index)"/>-->
          <div>
            <el-checkbox v-if="column.deptType == '0'" v-model="scope.row[column.deptId]" disabled size="large"/>
            <div class="markBox" v-else>
              <div class="triangle" v-show="scope.row[column.deptId]"></div>
src/views/work/qualityInfo/supplierQuality/satisfiedEvaluste/report/components/editDialog.vue
@@ -25,6 +25,7 @@
          <el-col :span="12">
            <el-form-item label="年份:" prop="year">
              <el-date-picker
                  style="width: 100%"
                  v-model="state.form.year"
                  type="year"
                  value-format="YYYY"
@@ -49,7 +50,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="实施调查的部门:" prop="deptId" >
              <el-select v-model="state.form.deptId" placeholder="请选择" :disabled="title === '查看'" clearable>
              <el-select v-model="state.form.deptId" style="width: 100%" placeholder="请选择" :disabled="title === '查看'" clearable>
                <el-option
                    v-for="item in state.deptList"
                    :key="item.deptId"
@@ -62,6 +63,7 @@
          <el-col :span="12">
            <el-form-item label="调查结束日期:" prop="endTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.endTime"
                  type="date"
@@ -124,8 +126,8 @@
        </el-row>
        <el-row :gutter="24" style="margin-top: 15px">
          <el-col :span="24" >
            <span style="font-size: 14px;font-weight: 700;" >用户反馈的主要意见和建议:</span>
            <el-input style="margin-top: 5px" :disabled="title === '查看'" v-model="state.form.suggest" type="textarea" :rows="4"></el-input>
            <span style="margin-left:8px;font-size: 15px;font-weight: 700;" >用户反馈的主要意见和建议:</span>
            <el-input style="margin-left:8px;margin-top: 5px" :disabled="title === '查看'" v-model="state.form.suggest" type="textarea" :rows="4"></el-input>
          </el-col>
        </el-row>
        <el-row :gutter="24" style="margin-top: 15px">
src/views/work/qualityManage/qualityInformationPage/external/components/editDialog.vue
@@ -3,12 +3,12 @@
    <el-dialog
        v-model="dialogVisible"
        :title="title"
        width="850px"
        width="1100px"
        :before-close="handleClose"
        :close-on-press-escape="false"
        :close-on-click-modal="false"
    >
      <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules"  >
      <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules"  label-width="150" label-position="right">
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="单位名称:" prop="companyId" v-if="state.isAdmin">
@@ -48,23 +48,26 @@
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="8">
          <el-col :span="12">
            <el-form-item label="提供单位:" prop="offerUnit" >
              <el-input  :disabled="title === '查看'" v-model="state.form.offerUnit" placeholder="提供单位"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
          <el-col :span="12">
            <el-form-item label="型号:" prop="model" >
              <el-input  :disabled="title === '查看'" v-model="state.form.model" placeholder="型号"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
        </el-row>
        <el-row :gutter="24">
          <el-col :span="24">
            <el-form-item label="提供方式:" prop="offerMethod" >
                <el-checkbox-group v-model="state.form.offerMethod" style="display: flex" :disabled="title === '查看'">
                  <el-checkbox label="1" value="1" style="width: 25px;" >信函</el-checkbox>
                  <el-checkbox label="2" value="2" style="width: 25px;">电话</el-checkbox>
                  <el-checkbox label="3" value="3" style="width: 20px;">走访</el-checkbox>
                </el-checkbox-group>
              <el-checkbox-group v-model="state.form.offerMethod" style="display: flex" :disabled="title === '查看'">
                <el-checkbox label="1" value="1" style="width: 25px;" >信函</el-checkbox>
                <el-checkbox label="2" value="2" style="width: 25px;">电话</el-checkbox>
                <el-checkbox label="3" value="3" style="width: 20px;">走访</el-checkbox>
              </el-checkbox-group>
            </el-form-item>
          </el-col>
        </el-row>
@@ -72,6 +75,7 @@
          <el-col :span="12">
            <el-form-item label="提供日期:" prop="offerTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.offerTime"
                  type="date"
@@ -109,6 +113,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="generalTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.generalTime"
                  type="date"
@@ -134,6 +139,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="productTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.productTime"
                  type="date"
@@ -159,6 +165,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="disposeTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.disposeTime"
                  type="date"
@@ -219,24 +226,24 @@
  formRules:{
    companyId: [{ required: true, message: '请选择企业', trigger: 'blur' }],
    feedFrom: [{ required: true, message: '请输入反馈单名称', trigger: 'blur' }],
    number: [{ required: true, message: '请输入编号', trigger: 'blur' }],
    productName: [{ required: true, message: '请输入产品名称', trigger: 'blur' }],
    makeNum: [{ required: true, message: '请输入制造号', trigger: 'blur' }],
    offerUnit: [{ required: true, message: '请输入提供单位', trigger: 'blur' }],
    offerTime: [{ required: true, message: '请输入提供日期', trigger: 'blur' }],
    offerMethod: [{ required: true, message: '请输入提供方式', trigger: 'blur' }],
    model: [{ required: true, message: '请输入型号', trigger: 'blur' }],
    comNum: [{ required: true, message: '请输入公司编号', trigger: 'blur' }],
    feedInformation: [{ required: true, message: '请输入反馈信息描述', trigger: 'blur' }],
    dutyMess: [{ required: true, message: '请输入责任单位意见', trigger: 'blur' }],
    generalSign: [{ required: true, message: '请输入综合办公室签名', trigger: 'blur' }],
    generalTime: [{ required: true, message: '请选择签名日期', trigger: 'blur' }],
    planMess: [{ required: true, message: '请输入计划意见', trigger: 'blur' }],
    productSign: [{ required: true, message: '请输入生产技术部签名', trigger: 'blur' }],
    productTime: [{ required: true, message: '请选择生产技术部签名日期', trigger: 'blur' }],
    disposeMess:[{ required: true, message: '请输入处置结果', trigger: 'blur' }],
    disposeSign: [{ required: true, message: '请输入处置人签名', trigger: 'blur' }],
    disposeTime: [{ required: true, message: '请选择处置人签名日期', trigger: 'blur' }]
    // number: [{ required: true, message: '请输入编号', trigger: 'blur' }],
    // productName: [{ required: true, message: '请输入产品名称', trigger: 'blur' }],
    // makeNum: [{ required: true, message: '请输入制造号', trigger: 'blur' }],
    // offerUnit: [{ required: true, message: '请输入提供单位', trigger: 'blur' }],
    // offerTime: [{ required: true, message: '请输入提供日期', trigger: 'blur' }],
    // offerMethod: [{ required: true, message: '请输入提供方式', trigger: 'blur' }],
    // model: [{ required: true, message: '请输入型号', trigger: 'blur' }],
    // comNum: [{ required: true, message: '请输入公司编号', trigger: 'blur' }],
    // feedInformation: [{ required: true, message: '请输入反馈信息描述', trigger: 'blur' }],
    // dutyMess: [{ required: true, message: '请输入责任单位意见', trigger: 'blur' }],
    // generalSign: [{ required: true, message: '请输入综合办公室签名', trigger: 'blur' }],
    // generalTime: [{ required: true, message: '请选择签名日期', trigger: 'blur' }],
    // planMess: [{ required: true, message: '请输入计划意见', trigger: 'blur' }],
    // productSign: [{ required: true, message: '请输入生产技术部签名', trigger: 'blur' }],
    // productTime: [{ required: true, message: '请选择生产技术部签名日期', trigger: 'blur' }],
    // disposeMess:[{ required: true, message: '请输入处置结果', trigger: 'blur' }],
    // disposeSign: [{ required: true, message: '请输入处置人签名', trigger: 'blur' }],
    // disposeTime: [{ required: true, message: '请选择处置人签名日期', trigger: 'blur' }]
  },
  companyList: [],
src/views/work/qualityManage/qualityInformationPage/internal/components/editDialog.vue
@@ -3,7 +3,7 @@
    <el-dialog
        v-model="dialogVisible"
        :title="title"
        width="850px"
        width="1100px"
        :before-close="handleClose"
        :close-on-press-escape="false"
        :close-on-click-modal="false"
@@ -24,12 +24,12 @@
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="12">
          <el-col :span="8">
            <el-form-item label="反馈单名称:" prop="feedForm" >
              <el-input  :disabled="title === '查看'" v-model="state.form.feedForm" placeholder="反馈单名称"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col :span="8">
            <el-form-item label="编号:" prop="number" >
              <el-input  :disabled="title === '查看'" v-model="state.form.number" placeholder="编号"></el-input>
            </el-form-item>
@@ -53,24 +53,25 @@
          </el-col>
        </el-row>
        <el-row :gutter="24">
          <el-col :span="12">
          <el-col :span="8">
            <el-form-item label="责任单位:" prop="dutyUnitId" >
              <el-select
                  :disabled="title === '查看'"
                  v-model="state.form.dutyUnitId"
                  placeholder="请选择部门"
                  style="width: 240px;margin-bottom: 5px"
              >
                <el-option
                    v-for="item in state.deptList"
                    :key="item.deptId"
                    :label="item.deptName"
                    :value="item.deptId"
                />
              </el-select>
              <el-input  :disabled="title === '查看'" v-model="state.form.dutyUnitId" placeholder="责任单位"></el-input>
<!--              <el-select-->
<!--                  :disabled="title === '查看'"-->
<!--                  v-model="state.form.dutyUnitId"-->
<!--                  placeholder="请选择部门"-->
<!--                  style="width: 240px;margin-bottom: 5px"-->
<!--              >-->
<!--                <el-option-->
<!--                    v-for="item in state.deptList"-->
<!--                    :key="item.deptId"-->
<!--                    :label="item.deptName"-->
<!--                    :value="item.deptId"-->
<!--                />-->
<!--              </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="12">
          <el-col :span="8">
            <el-form-item label="产品件号:" prop="partNum" >
              <el-input  :disabled="title === '查看'" v-model="state.form.partNum" placeholder="产品件号"></el-input>
            </el-form-item>
@@ -79,31 +80,33 @@
        <el-row :gutter="24">
          <el-col :span="8">
            <el-form-item label="反馈单位:" prop="feedUnitId" >
              <el-select
                  :disabled="title === '查看'"
                  v-model="state.form.feedUnitId"
                  placeholder="请选择部门"
                  style="width: 240px;margin-bottom: 5px"
              >
                <el-option
                    v-for="item in state.deptList"
                    :key="item.deptId"
                    :label="item.deptName"
                    :value="item.deptId"
                />
              </el-select>
              <el-input  :disabled="title === '查看'" v-model="state.form.feedUnitId" placeholder="反馈单位"></el-input>
<!--              <el-select-->
<!--                  :disabled="title === '查看'"-->
<!--                  v-model="state.form.feedUnitId"-->
<!--                  placeholder="请选择部门"-->
<!--                  style="width: 240px;margin-bottom: 5px"-->
<!--              >-->
<!--                <el-option-->
<!--                    v-for="item in state.deptList"-->
<!--                    :key="item.deptId"-->
<!--                    :label="item.deptName"-->
<!--                    :value="item.deptId"-->
<!--                />-->
<!--              </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="反馈人:" prop="feedUserId" >
              <el-select clearable v-model="state.form.feedUserId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                />
              </el-select>
              <el-input  :disabled="title === '查看'" v-model="state.form.feedUserId" placeholder="反馈人"></el-input>
<!--              <el-select clearable v-model="state.form.feedUserId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">-->
<!--                <el-option-->
<!--                    v-for="item in state.peopleList"-->
<!--                    :key="item.id"-->
<!--                    :label="item.name"-->
<!--                    :value="item.id"-->
<!--                />-->
<!--              </el-select>-->
            </el-form-item>
          </el-col>
          <el-col :span="8">
@@ -135,7 +138,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="处置人:" prop="disposeId" >
              <el-select clearable v-model="state.form.disposeId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
              <el-select clearable v-model="state.form.disposeId" :disabled="title =='查看'" filterable  style="width: 100%;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -148,6 +151,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="disposeTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.disposeTime"
                  type="date"
@@ -160,7 +164,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="检验员:" prop="checkOutId" >
              <el-select clearable v-model="state.form.checkOutId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
              <el-select clearable v-model="state.form.checkOutId" :disabled="title =='查看'" filterable  style="width: 100%;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -173,6 +177,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="checkOutTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.checkOutTime"
                  type="date"
@@ -185,7 +190,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="反馈单位复查人:" prop="reviewId" >
              <el-select clearable v-model="state.form.reviewId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
              <el-select clearable v-model="state.form.reviewId" :disabled="title =='查看'" filterable  style="width: 100%;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -198,6 +203,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="reviewTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.reviewTime"
                  type="date"
@@ -234,7 +240,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="检验组长:" prop="teamId" >
              <el-select clearable v-model="state.form.teamId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
              <el-select clearable v-model="state.form.teamId" :disabled="title =='查看'" filterable  style="width: 100%;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -247,6 +253,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="teamTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.teamTime"
                  type="date"
@@ -259,7 +266,7 @@
        <el-row :gutter="24">
          <el-col :span="12">
            <el-form-item label="责任单位领导:" prop="dutyLeaderId" >
              <el-select clearable v-model="state.form.dutyLeaderId" :disabled="title =='查看'" filterable  style="width: 240px;margin-bottom: 5px">
              <el-select clearable v-model="state.form.dutyLeaderId" :disabled="title =='查看'" filterable  style="width: 100%;margin-bottom: 5px">
                <el-option
                    v-for="item in state.peopleList"
                    :key="item.id"
@@ -272,6 +279,7 @@
          <el-col :span="12">
            <el-form-item label="日期:" prop="dutyLeaderTime" >
              <el-date-picker
                  style="width: 100%"
                  :disabled="title === '查看'"
                  v-model="state.form.dutyLeaderTime"
                  type="date"
@@ -346,7 +354,7 @@
    dutyUnitId: [{ required: true, message: '请输入责任单位', trigger: 'blur' }],
    partNum: [{ required: true, message: '请输入产品件号', trigger: 'blur' }],
    feedUnitId: [{ required: true, message: '请输入反馈单位', trigger: 'blur' }],
    feedUserId: [{ required: true, message: '请选择反馈人', trigger: 'blur' }],
    feedUserId: [{ required: true, message: '请输入反馈人', trigger: 'blur' }],
    feedTime: [{ required: true, message: '请选择反馈日期', trigger: 'blur' }],
    feedQuestion: [{ required: true, message: '请输入反馈问题描述', trigger: 'blur' }],
    // disposeId: [{ required: true, message: '请选择处置人', trigger: 'blur' }],
@@ -384,6 +392,13 @@
  title.value = type === 'add' ? '新增' : type ==='edit' ? '编辑' : '查看' ;
  if(type === 'edit' || type === 'review') {
    state.form = JSON.parse(JSON.stringify(value));
    state.form.disposeId =  state.form.disposeId ?state.form.disposeId:null
    state.form.checkOutId =  state.form.checkOutId ?state.form.checkOutId:null
    state.form.reviewId =  state.form.reviewId ?state.form.reviewId:null
    state.form.teamId =  state.form.teamId ?state.form.teamId:null
    state.form.rework =  state.form.teamId ?state.form.rework:null
    state.form.delay =  state.form.delay ?state.form.delay:null
    if(state.isAdmin){
      state.form.companyId = value.companyId
      state.form.companyName = value.companyName
src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/components/editDialog.vue
@@ -27,14 +27,14 @@
              placeholder="请选择年份"
          />
        </el-form-item>
        <el-form-item label="文件名称:" prop="inconsistentName">
        <el-form-item label="不符合项内容:" prop="inconsistentName">
          <el-input v-model.trim="state.form.inconsistentName" :disabled="state.title =='查看'" placeholder="文件名称"></el-input>
        </el-form-item>
        <el-form-item label="文件:" prop="filePath">
          <el-upload accept=".doc,.docx,.pdf,.jpg" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
            <el-button type="primary">点击上传</el-button>
            <template #tip>
              <div class="el-upload__tip">支持上传.doc、.docx、.pdf、.jpg格式,尺寸小于5M,最多可上传1份</div>
              <div class="el-upload__tip">支持上传.doc、.docx、.pdf、.jpg格式,尺寸小于5M,最多可上传10份</div>
            </template>
          </el-upload>
        </el-form-item>
@@ -81,7 +81,7 @@
    id: null,
    year: '',
    inconsistentName: '',
    filePath: '',
    filePath: [],
    format: '',
    companyId: null
  },
@@ -97,7 +97,7 @@
  header: {
    Authorization: getToken()
  },
  fileLimit: 1,
  fileLimit: 10,
  fileList: []
})
onMounted(() => {
@@ -118,12 +118,26 @@
        state.form[key] = value[key]
      }
    })
    if(value.filePath) {
      const obj = {
        url: value.filePath,
        name: '模板文件'
      }
      state.fileList = [obj]
    if(!value.filePath || value.filePath == ''){
      state.form.filePath = []
    }else{
      const certificatePaths = value.filePath.split(',')
      state.form.filePath = certificatePaths
      state.fileList = certificatePaths.map((path, index) => {
        const fileName = path.split('/').pop() || `文件${index + 1}`
        return {
          name: fileName,
          url: path,
          response: {
            data: {
              path: path,
              fileName: fileName
            }
          },
          status: 'success',
          uid: Date.now() + index
        }
      })
    }
  }
  dialogVisible.value = true
@@ -135,6 +149,9 @@
  if(valid){
    if(state.title == '新增'){
      const {id,...data} = state.form
      data.filePath = state.fileList
          .filter(file => file.response?.data?.path)
          .map(file => file.response.data.path).join(',')
      const res = await addSelectInconsistent(data)
      if(res.code == 200){
        ElMessage.success(res.message)
@@ -145,7 +162,11 @@
        ElMessage.warning(res.message)
      }
    }else{
      const res = await updateSelectInconsistent(state.form)
      const data = JSON.parse(JSON.stringify(state.form))
      data.filePath = state.fileList
          .filter(file => file.response?.data?.path)
          .map(file => file.response.data.path).join(',')
      const res = await updateSelectInconsistent(data)
      if(res.code == 200){
        ElMessage.success(res.message)
        emit('getList')
@@ -158,16 +179,18 @@
  }
}
const handleAvatarSuccess = (res, uploadFile) => {
  if(res.code == 200){
    state.form.filePath = res.data.path
    state.form.format = '.' + res.data.filename.split('.')[1]
  }else{
    state.fileList = []
    ElMessage({
      type: 'warning',
      message: '文件上传失败'
    })
const handleAvatarSuccess = (response, uploadFile) => {
  if(response.code === 200){
    // 设置文件显示名称
    uploadFile.name = response.data.fileName || `文件${state.fileList.length}`
    uploadFile.url = response.data.url || response.data.path
    ElMessage.success('文件上传成功')
  } else {
    const index = state.fileList.findIndex(file => file.uid === uploadFile.uid)
    if (index > -1) {
      state.fileList.splice(index, 1)
    }
    ElMessage.error(response.message || '文件上传失败')
  }
}
@@ -187,24 +210,14 @@
  }
};
const handleRemove = async (file, uploadFiles) => {
  let path = state.form.filePath;
  await delPic({path: path}).then(res => {
    if(res.code == 200){
      // ElMessage({
      //   type: 'success',
      //   message: '文件已删除'
      // })
      state.form.filePath = ''
      state.form.format = ''
    }else{
      ElMessage({
        type: 'warning',
        message: res.message
      })
  try {
    if (file.response?.data?.path) {
      await delPic({ path: file.response.data.path })
      ElMessage.success('文件删除成功')
    }
  }).catch(() => {
    state.form.imgUrl = ''
  });
  } catch (error) {
    ElMessage.error('文件删除失败')
  }
}
const handleClose = () => {
@@ -212,7 +225,7 @@
    id: null,
    year: '',
    inconsistentName: '',
    filePath: '',
    filePath: [],
    format: '',
    companyId: null
  }
src/views/work/selfProblems/internalAudit/problemMng/noConformanceMng/index.vue
@@ -30,16 +30,16 @@
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="dataList" :border="true">
      <el-table-column label="序号" type="index" align="center" width="80"/>
      <el-table-column label="文件名称" prop="inconsistentName" align="center"/>
      <el-table-column label="不符合项内容" prop="inconsistentName" align="center"/>
      <el-table-column label="年份" prop="year" align="center"/>
      <el-table-column label="文件" align="center">
        <template #default="scope">
          <el-link type="primary" @click="openFile(scope.row.filePath)">{{scope.row.inconsistentName + scope.row.format}}</el-link>
          <el-link v-for="(path,index) in scope.row.filePath?.split(',')" :key="index" type="primary" @click="openFile(path)">{{scope.row.inconsistentName + '文件'+(index + 1) + '.' + path.split('.')[1]}}<span v-if="index < scope.row.filePath?.split(',').length - 1">、</span></el-link>
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
        <template #default="scope">
          <el-button link type="primary" @click="downloadFile(scope.row.filePath)" v-hasPermi="['noConformanceMng:list:edit']">下载</el-button>
<!--          <el-button link type="primary" @click="downloadFile(scope.row.filePath)" v-hasPermi="['noConformanceMng:list:edit']">下载</el-button>-->
          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['noConformanceMng:list:edit']">编辑</el-button>
          <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['noConformanceMng:list:del']">删除</el-button>
        </template>