spring
2025-04-09 c7f3b447415448e6ae570882900ee129590f580b
src/views/business/inspectionTask/inspection.vue
@@ -87,7 +87,7 @@
          <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>
              item.templateName }}</el-radio-button>
          </el-radio-group>
        </div>
        <div style="display: flex; align-items: center">
@@ -97,7 +97,7 @@
          <span v-if="cableTagList.length > 0">&nbsp;&nbsp;电缆配置:</span>
          <el-select v-if="cableTagList.length > 0" v-model="currentTab" clearable placeholder="请选择" size="small"
            @change="(m) => handleChangeCableTag(currentSample.id, 0, 'cableTag', m)
    " @focus="getCableTag(currentSample.id)">
              " @focus="getCableTag(currentSample.id)">
            <el-option v-for="item in cableTagList" :key="item.cableTag" :label="item.cableTag" :value="item.cableTag">
              <span style="float: left">{{ item.cableTag }}</span>
              <el-tag v-if="item.status == 0" size="small" style="float: right; margin-top: 5px"
@@ -111,8 +111,8 @@
          <span v-if="repetitionTagList.length > 0">&nbsp;&nbsp;重复检验项:</span>
          <el-select v-if="repetitionTagList.length > 0" v-model="repetitionTag" clearable placeholder="请选择"
            size="small" @change="(m) =>
    handleChangeCableTag(currentSample.id, 0, 'repetitionTag', m)
    " @focus="getRepetitionTag(currentSample.id)">
              handleChangeCableTag(currentSample.id, 0, 'repetitionTag', m)
              " @focus="getRepetitionTag(currentSample.id)">
            <el-option v-for="item in repetitionTagList" :key="item.repetitionTag" :label="item.radius"
              :value="item.repetitionTag">
              <span style="float: left">{{ item.radius }}</span>
@@ -126,7 +126,7 @@
          </el-select>
          <span v-if="typeSource == '1'">&nbsp;&nbsp;待检验数量:</span>
          <el-select v-if="typeSource == '1'" v-model="rawMaterialTag" placeholder="请选择" size="small" @change="(m) => handleChangeCableTag(currentSample.id, 4, 'cableTag', m)
    " @focus="getRawMaterialTag(currentSample.id)">
            " @focus="getRawMaterialTag(currentSample.id)">
            <el-option v-for="item in rawMaterialTagList" :key="item.rawMaterialTag" :label="item.rawMaterialTag"
              :value="item.rawMaterialTag">
              <span style="float: left">{{ item.rawMaterialTag }}</span>
@@ -153,54 +153,54 @@
            <tbody>
              <tr style="white-space: nowrap">
                委托编号:{{
    insOrder.entrustCode
  }}
                  insOrder.entrustCode
                }}
              </tr>
              <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" :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' : ''
    };`">
                    };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;`" class="content">
                    }px;`" class="content">
                    <template v-if="n.v.ps != undefined &&
    typeof n.v.ps.value === 'string' &&
    n.v.ps.value.includes('检验值') &&
    state == 1
    ">
                      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 @keydown.enter="
    changeInput(
      '',
      `${item.templateId}-${n.r}-${n.c}-${n.i}`,
      n,
      'getDataType'
    )
    ">
                          !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 @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" @change="(m) =>
    changeInput(
      m,
      `${item.templateId}-${n.r}-${n.c}-${n.i}`,
      n,
      'getDataType'
    )
    " />
                        (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 != '')
@@ -218,18 +218,19 @@
                        :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
    " v-model="n.v.v" class="table_input" @change="(m) =>
    changeInput(
      m,
      `${item.templateId}-${n.r}-${n.c}-${n.i}`,
      n,
      'getDataType',
      'changeSelect'
    )
    ">
                      <el-select v-if="
                        (getInspectionValueType(n.i) == 2 ||
                          getInspectionValueType(n.i) == 5) &&
                        state == 1 && (n.u != userId && n.u != undefined && n.u != '')
                      " v-model="n.v.v" class="table_input" @change="(m) =>
                        changeInput(
                          m,
                          `${item.templateId}-${n.r}-${n.c}-${n.i}`,
                          n,
                          'getDataType',
                          'changeSelect'
                        )
                        ">
                        <el-option :value="1" label="合格"></el-option>
                        <el-option :value="0" label="不合格"></el-option>
                        <el-option :value="3" label="不判定"></el-option>
@@ -243,7 +244,7 @@
                        <span v-else :style="`font-family:${n.v.ff} !important;`">待定</span>
                      </template>
                      <template v-if="getInspectionValueType(n.i) != 2 &&
    state == 1">
                        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"
@@ -252,15 +253,17 @@
                      </template>
                    </template>
                    <template v-else-if="n.v.ps != undefined &&
    n.v.ps.value === '设备编码' &&
    state == 1
    ">
                      n.v.ps.value === '设备编码' &&
                      state == 1
                    ">
                      <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
                        placeholder="设备" remote @change="(val) => changeEquip(val, n)"
                    <template v-else-if="
                      n.v.ps != undefined && n.v.ps.value === '设备名称'
                    ">
                      <el-select v-model="n.v.v"
                        :disabled="state > 1 || (n.u != userId && n.u != undefined && n.u != '')" 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">
@@ -269,29 +272,31 @@
                      </el-select>
                    </template>
                    <template v-else-if="n.v.ps != undefined &&
    n.v.ps.value === '要求值' &&
    state == 1
    ">
                      n.v.ps.value === '要求值' &&
                      state == 1
                    ">
                      <span :style="`font-family:${n.v.ff} !important;`">{{
    getTell(n.i)
  }}</span>
                        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
    ">
                    <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>
                        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;
@@ -307,10 +312,10 @@
                      </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 !== null
                      " :style="`font-family:${n.v.ff} !important;`">
                        {{ currentSample.model }}
                      </div>
                    </template>
@@ -323,8 +328,8 @@
        </template>
      </div>
      <el-upload v-if="state == 1" ref="upload" :action="action" :before-upload="beforeUpload" :data="{
    orderId: id,
  }" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false"
        orderId: id,
      }" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false"
        accept=".jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar"
        style="width: 80px !important;margin-top: 10px;">
        <el-button v-if="state == 1" size="small" type="primary">附件上传</el-button></el-upload>
@@ -417,18 +422,18 @@
                  <el-option v-for="(item, index) in item.child[0].arr" :key="index" :filter-method="filterMethod"
                    :label="index + 1 + '^' + item.result" :value="index + '^' + item.result">
                    <span>{{
    "序号:" +
    (index + 1) +
    "," +
    "结果:" +
    item.result +
    "," +
    "厚度:" +
    item.thickness +
    "," +
    "时间:" +
    item.mergedDateTime
  }}</span>
                      "序号:" +
                      (index + 1) +
                      "," +
                      "结果:" +
                      item.result +
                      "," +
                      "厚度:" +
                      item.thickness +
                      "," +
                      "时间:" +
                      item.mergedDateTime
                    }}</span>
                  </el-option>
                </el-select>
                <el-checkbox-group v-if="!item.child[0].isShowSelect" v-model="item.child[0].getDataIndex1"
@@ -445,18 +450,18 @@
                  <el-option v-for="(item, index1) in m.arr" :key="index1" :label="index + 1 + '^' + item.result"
                    :value="index1 + '^' + item.result">
                    <span>{{
    "序号:" +
    (index1 + 1) +
    "," +
    "结果:" +
    item.result +
    "," +
    "厚度:" +
    item.thickness +
    "," +
    "时间:" +
    item.mergedDateTime
  }}</span>
                      "序号:" +
                      (index1 + 1) +
                      "," +
                      "结果:" +
                      item.result +
                      "," +
                      "厚度:" +
                      item.thickness +
                      "," +
                      "时间:" +
                      item.mergedDateTime
                    }}</span>
                  </el-option>
                </el-select>
                <el-checkbox-group v-if="!m.isShowSelect" v-model="m.getDataIndex1" :max="m.maxNum">
@@ -2005,6 +2010,10 @@
            this.$set(b.v, "v", "");
            // b.v.v = ''
            b.u = "";
            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
            if (obj) {
              this.$set(b, "u", obj.checkUserId);
            }
            b.i && this.param[b.i] && this.param[b.i].insValue.push(b);
          }
          if (b.v.ps != undefined && b.v.ps.value === "计算值") {
@@ -2019,6 +2028,11 @@
          }
          if (b.v.ps != undefined && b.v.ps.value === "设备名称") {
            this.$set(b.v, "v", "");
            b.u = "";
            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
            if (obj) {
              this.$set(b, "u", obj.checkUserId);
            }
            // b.v.v = ''
            b.i && this.param[b.i] && this.param[b.i].equipName.push(b);
          }
@@ -2034,6 +2048,11 @@
            }
          }
          if (b.v.ps != undefined && b.v.ps.value === "结论") {
            b.u = "";
            let obj = this.currentSample.insProduct.find(m => m.id == b.i)
            if (obj) {
              this.$set(b, "u", obj.checkUserId);
            }
            if (
              b.i !== undefined &&
              this.param[b.i] &&