spring
2025-03-04 e79907270604b30c9699e1c53987d25287ae29a7
文件管理bug修改
已修改3个文件
171 ■■■■■ 文件已修改
src/views/CNAS/systemManagement/documentControl/components/DistributionCollectionRecord.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionTask/components/InspectionWord.vue 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentControl/components/DistributionCollectionRecord.vue
@@ -245,7 +245,7 @@
              clickFun: (row) => {
                this.handleDelete(row);
              },
              disabFun: (row, index) => {
              disabled: (row, index) => {
                return row.documentState == '通过'
              }
            },
@@ -255,7 +255,7 @@
              clickFun: (row) => {
                this.handleLook(row);
              },
              disabFun: (row, index) => {
              disabled: (row, index) => {
                return !row.url
              }
            },
@@ -265,7 +265,7 @@
              clickFun: (row) => {
                this.handleCheck(row);
              },
              disabFun: (row, index) => {
              disabled: (row, index) => {
                return row.receiveUser != this.userId || row.documentState == '通过'
              }
            },
src/views/CNAS/systemManagement/documentRecords/regularReviewsRecord.vue
@@ -224,7 +224,7 @@
          font: '查看',
          type: 'text',
          method: 'handleLook',
          disabFun: (row, index) => {
          disabled: (row, index) => {
            return !row.url
          }
        }, {
@@ -232,7 +232,7 @@
          font: '下载',
          type: 'text',
          method: 'handleDown0',
          disabFun: (row, index) => {
          disabled: (row, index) => {
            return !row.url
          }
        },
@@ -241,7 +241,7 @@
          font: '提交',
          type: 'text',
          method: 'handleSubmit',
          disabFun: (row, index) => {
          disabled: (row, index) => {
            return !!row.submitUserName
          }
        }, {
@@ -249,7 +249,7 @@
          font: '批准',
          type: 'text',
          method: 'handleApproval',
          disabFun: (row, index) => {
          disabled: (row, index) => {
            return !row.submitUserName || !!row.ratifyUserName
          }
        }],
src/views/business/inspectionTask/components/InspectionWord.vue
@@ -1,9 +1,5 @@
<template>
  <el-dialog :close-on-press-escape="false"
             :visible.sync="isShow"
             custom-class="unPassCheck"
             title="不合格复测"
             width="90%"
  <el-dialog :close-on-press-escape="false" :visible.sync="isShow" custom-class="unPassCheck" title="不合格复测" width="90%"
             @close="$emit('closeUnPassCheckDialog')">
    <div v-loading="loading" class="inspection">
<!--      <el-row class="title">-->
@@ -16,19 +12,15 @@
          <div style="display: flex;align-items: center;">
            <span v-if="tableList.length>0">检验模板:</span>
            <el-radio-group v-model="currentTable" size="small">
              <el-radio-button v-for="(item,index) in tableLists" :key="index" :label="item.templateId"
                               size="small">{{ item.templateName }}</el-radio-button>
              <el-radio-button v-for="(item, index) in tableLists" :key="index" :label="item.templateId" size="small">{{
                item.templateName }}</el-radio-button>
            </el-radio-group>
          </div>
          <div style="display: flex;align-items: center;">
            <span v-if="typeSource == '1'">&nbsp;&nbsp;复测次数:</span>
            <el-select v-if="typeSource == '1'" v-model="retestTag"
                       placeholder="请选择"
                       size="small" @change="m=>handleChangeCableTag(currentSample.id,4, 'cableTag', m)">
              <el-option
                v-for="item in unPassNumList"
                :key="item.retestTag"
                :label="item.retestTag"
            <el-select v-if="typeSource == '1'" v-model="retestTag" placeholder="请选择" size="small"
              @change="m => handleChangeCableTag(currentSample.id, 4, 'cableTag', m)">
              <el-option v-for="item in unPassNumList" :key="item.retestTag" :label="item.retestTag"
                :value="item.retestTag">
              </el-option>
            </el-select>
@@ -36,25 +28,30 @@
        </div>
        <!-- 常规检验原始记录 -->
        <div id="tableBox" v-loading="tableLoading" class="center-box">
          <table v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id" border="1" cellpadding="10" class="tables">
          <table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1"
            cellpadding="10" class="tables">
            <tbody>
            <tr v-for="(m,i) in item.arr" :key="i">
              <td v-for="(n,j) in m" v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c'
                  :key="j" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1"
                <td v-for="(n, j) in m" v-if="n.v.mc == undefined || Object.keys(n.v.mc).length === 4"
                  :id='item.templateId + "-" + n.i + "-" + n.r + "-" + n.c' :key="j" :colspan="n.v.mc && n.v.mc.cs ? n.v.mc.cs : 1"
                  :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1"
                  :style="`background:${n.v.bg?n.v.bg:''};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`">
                <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"
                  <div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"
                    :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"
                     class="content">
                  <template v-if="n.v.ps!=undefined && typeof n.v.ps.value ==='string'&& n.v.ps.value.includes('检验值') && state==1">
                    <el-input v-if="getInspectionValueType(n.i) == 1" :key="'abc-'+'000'+index+'000'+i+'000'+j" v-model="n.v.v"
                    <template
                      v-if="n.v.ps != undefined && typeof n.v.ps.value === 'string' && n.v.ps.value.includes('检验值') && state == 1">
                      <el-input v-if="getInspectionValueType(n.i) == 1" :key="'abc-' + '000' + index + '000' + i + '000' + j"
                        v-model="n.v.v"
                              :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')"
                              class="table_input"
                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')" @input="handleInput(n)" @mousewheel.native.prevent
                        @change="m => changeInput(m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')"
                        @input="handleInput(n)" @mousewheel.native.prevent
                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')">
                    </el-input>
                    <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                              class="table_input"
                              type="textarea"
                      <el-input v-else-if="getInspectionValueType(n.i) == 2" v-model="n.v.v"
                        :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                        class="table_input" type="textarea"
                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')" />
<!--                    <el-select v-else-if="getInspectionValueType(n.i) == 5" v-model="n.v.v" :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"-->
<!--                               class="table_input" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`,n,'getDataType')"-->
@@ -65,8 +62,10 @@
                          :style="`font-family:${n.v.ff} !important;`">/</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='结论'">
                    <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1&&PROJECT=='装备电缆'"
                               v-model="n.v.v" class="table_input" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n,'getDataType')">
                      <el-select
                        v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state == 1 && PROJECT == '装备电缆'"
                        v-model="n.v.v" class="table_input"
                        @change="m => changeInput(m, `${item.templateId}-${n.r}-${n.c}-${n.i}`, n, 'getDataType')">
                      <el-option :value="1" label="合格"></el-option>
                      <el-option :value="0" label="不合格"></el-option>
                      <el-option :value="3" label="不判定"></el-option>
@@ -75,13 +74,15 @@
                    <template v-if="state > 1">
                      <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span>
                      <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span>
                      <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span>
                        <span v-else-if="n.v.v === 3"
                          :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span>
                      <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
                    </template>
                    <template v-if="getInspectionValueType(n.i) != 2 && state==1">
                      <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">合格</span>
                      <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">不合格</span>
                      <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span>
                        <span v-else-if="n.v.v === 3"
                          :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">不判定</span>
                      <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
                    </template>
                  </template>
@@ -89,12 +90,11 @@
                    <span>{{ n.v.v }}</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='设备名称'">
                    <el-select v-model="n.v.v" :disabled="state>1"
                               class="table_input" filterable
                               multiple
                      <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple
                               placeholder="设备" remote @change="(val)=>changeEquip(val, n)"
                               @visible-change="e=>getEquipOptions(e,n.i)">
                      <el-option v-for="item in equipOptions" :key="item.value"  :label="item.label" :value="item.value">
                        <el-option v-for="item in equipOptions" :key="item.value" :label="item.label"
                          :value="item.value">
                        {{item.label + '--' +item.value}}
                      </el-option>
                    </el-select>
@@ -102,44 +102,50 @@
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='要求值' && state==1">
                    <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='计算值' && state==1"><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span></template>
                    <template v-else-if="n.v.ps != undefined && n.v.ps.value === '计算值' && state == 1"><span
                        :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v, n.v.ct) }}</span></template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='最终值' && state==1">
                    <span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品编号'">
                    <div :title="currentSample.sampleCode" style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%">
                      <i v-if="!currentFiberOpticTape&&!currentFiberOptic" class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)"></i>
                      <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
                      <div :title="currentSample.sampleCode"
                        style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%">
                        <i v-if="!currentFiberOpticTape && !currentFiberOptic" class="el-icon-caret-left table_caret"
                          style="width: 16px;" @click="caretSample(-1)"></i>
                        <div
                          :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">
                          {{ currentSample.sampleCode }}</div>
                      <i v-if="!currentFiberOpticTape&&!currentFiberOptic" class="el-icon-caret-right table_caret"
                         style="width: 16px;" @click="caretSample(1)"></i>
                    </div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品型号'">
                    <div v-if="currentSample.model!==undefined&&currentSample.model!==null" :style="`font-family:${n.v.ff} !important;`">{{currentSample.model}}</div>
                      <div v-if="currentSample.model !== undefined && currentSample.model !== null"
                        :style="`font-family:${n.v.ff} !important;`">{{ currentSample.model }}</div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='套管'">
                    <div style="display: flex;flex-wrap: nowrap;align-items: center;">
                      <div :style="`font-family:${n.v.ff} !important;`">{{currentBushing?currentBushing.color:''}}</div>
                        <div :style="`font-family:${n.v.ff} !important;`">{{ currentBushing ? currentBushing.color : '' }}
                        </div>
                    </div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='光纤带'">
                    <div style="display: flex;flex-wrap: nowrap;align-items: center;">
                      <i v-if="currentFiberOpticTape" class="el-icon-caret-left table_caret" @click="caretTape(-1)
                      "></i>
                      <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOpticTape?currentFiberOpticTape.code:''}}</div>
                      <i v-if="currentFiberOpticTape"
                         class="el-icon-caret-right table_caret"
                        <div :style="`font-family:${n.v.ff} !important;`">
                          {{ currentFiberOpticTape ? currentFiberOpticTape.code : '' }}</div>
                        <i v-if="currentFiberOpticTape" class="el-icon-caret-right table_caret"
                         @click="caretTape(1)"></i>
                    </div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='光纤'">
                    <div style="display: flex;flex-wrap: nowrap;align-items: center;">
                      <i v-if="currentFiberOptic" class="el-icon-caret-left table_caret"
                         @click="caretOptic(-1)"></i>
                      <div :style="`font-family:${n.v.ff} !important;`">{{currentFiberOptic?currentFiberOptic.color:''}}
                        <i v-if="currentFiberOptic" class="el-icon-caret-left table_caret" @click="caretOptic(-1)"></i>
                        <div :style="`font-family:${n.v.ff} !important;`">
                          {{ currentFiberOptic ? currentFiberOptic.color : '' }}
                      </div>
                      <i
                        v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i>
                        <i v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i>
                    </div>
                  </template>
                  <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span>
@@ -177,7 +183,8 @@
        <el-button :loading="submitLoading" type="primary" @click="submit()">确 定</el-button>
      </span>
      </el-dialog>
      <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" :visible.sync="dataGetDia" custom-class="custom-dialog" title="数据采集">
      <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false"
        :visible.sync="dataGetDia" custom-class="custom-dialog" title="数据采集">
        <div>
          <table border="1" cellpadding="10" class="thermal-table">
            <tr>
@@ -190,8 +197,7 @@
                <td :rowspan="item.child.length">{{item.faName}}</td>
                <td>{{ item.child[0].name }}</td>
                <td style="text-align: left;">
                  <el-checkbox-group
                    v-model="getDataIndex" :max="item.child[0].maxNum">
                  <el-checkbox-group v-model="getDataIndex" :max="item.child[0].maxNum">
                    <el-checkbox v-for="(n,j) in item.child[0].arr" :key="j" :label="j">{{n}}</el-checkbox>
                  </el-checkbox-group>
                </td>
@@ -199,8 +205,7 @@
              <tr v-for="(m,i) in item.child" v-show="i>0" :key="i+'bbbbbbbbbbbbbb'">
                <td>{{ m.name }}</td>
                <td style="text-align: left;">
                  <el-checkbox-group
                    v-model="getDataIndex" :max="m.maxNum">
                  <el-checkbox-group v-model="getDataIndex" :max="m.maxNum">
                    <el-checkbox v-for="(n,j) in m.arr" :key="j" :label="j">{{n}}</el-checkbox>
                  </el-checkbox-group>
                </td>
@@ -212,13 +217,9 @@
        <el-button :loading="getDataIndexLoading" type="primary" @click="submitDataGet()">确 定</el-button>
      </span>
      </el-dialog>
      <UnPassDialog v-if="unPassDialog" ref="unPassDialog"
                    :orderId="orderId"
                    :unPassDialog="unPassDialog"
      <UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog"
                    @resetForm="resetForm"></UnPassDialog>
      <el-dialog :close-on-click-modal="false" :visible.sync="addCheck"
                 title="指定报告审核人员"
                 width="400px"
      <el-dialog :close-on-click-modal="false" :visible.sync="addCheck" title="指定报告审核人员" width="400px"
                 @close="closeAddVerifyDia">
        <div class="body" style="display: flex;padding: 10px;align-items: center;">
          <div class="search_label" style="width: 150px;"><span class="required-span">*</span>审核人:</div>
@@ -301,7 +302,7 @@
            font: '删除',
            type: 'text',
            method: 'doDiy',
            disabFun: (row, index) => {
            disabled: (row, index) => {
              return this.state!=1
            }
          }
@@ -2074,17 +2075,21 @@
</script>
<style scoped>
.custom-table .el-table__header-wrapper th {
  background-color: #87CEEB; /* 只对带有my-custom-table类的表格生效 */
  background-color: #87CEEB;
  /* 只对带有my-custom-table类的表格生效 */
  color: #fff;
}
.container {
  overflow: auto; /* 确保容器能包裹浮动元素 */
  overflow: auto;
  /* 确保容器能包裹浮动元素 */
  margin-bottom: 10px;
}
.right-button {
  float: right;
}
.inspection {
  height: 100%;
  overflow-y: auto;
@@ -2150,11 +2155,13 @@
  word-wrap: break-word;
  white-space: normal;
}
.thermal-table{
  min-width: calc(100% - 10px);
  margin: 5px 5px 0;
  table-layout: fixed;
}
.thermal-table td {
  min-width: 70px;
  text-align: center;
@@ -2163,9 +2170,12 @@
  white-space: normal;
  padding: 5px;
}
.table-container {
  overflow-x: auto; /* 使容器支持横向滚动 */
  max-width: 100%;  /* 限制容器的最大宽度 */
  overflow-x: auto;
  /* 使容器支持横向滚动 */
  max-width: 100%;
  /* 限制容器的最大宽度 */
  margin-bottom: 16px;
}
@@ -2212,6 +2222,7 @@
  width: 100%;
  height: 100%;
}
.table_input >>>.el-input__inner{
  border-color: rgba(0, 0, 0, 0.5) !important;
}
@@ -2230,11 +2241,13 @@
.collection:active {
  opacity: .7;
}
.table_caret{
  font-size: 16px;
  margin: 0 5px;
  color: rgba(0, 0, 0, 0.5);
}
.table_caret:hover{
  color: #409eff;
  cursor: pointer;
@@ -2243,14 +2256,19 @@
.table_caret:active{
  opacity: .8;
}
>>>input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;  /* 隐藏微调按钮 */
  margin: 0 !important;  /* 移除微调按钮的边距 */
  -webkit-appearance: none !important;
  /* 隐藏微调按钮 */
  margin: 0 !important;
  /* 移除微调按钮的边距 */
}
>>>input[type=number] {
  -moz-appearance: textfield !important;  /* 针对 Firefox */
  -moz-appearance: textfield !important;
  /* 针对 Firefox */
}
>>>.el-form-item__content{
  display: inline-flex;
  align-items: center;
@@ -2313,15 +2331,20 @@
  display: flex;
  align-items: center;
}
.thermal-table .el-input{
  display: flex;
  align-items: center;
}
.custom-dialog .el-dialog__body {
  max-width: 1000px; /* 设置最大宽度 */
  max-width: 1000px;
  /* 设置最大宽度 */
}
.unPassCheck .el-dialog__body {
  overflow: auto;
  max-height: 800px; /* 设置最大宽度 */
  max-height: 800px;
  /* 设置最大宽度 */
}
</style>