lxp
2024-08-09 1994756ca5b2e646202daa2c04a72bf2d421f3d8
src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -254,18 +254,20 @@
      </el-col>
    </el-row>
    <div class="search">
      <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px">
      <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px" label-position="right">
        <el-form-item label="委托编号:">
          <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="请输入"></el-input>
        </el-form-item>
        <el-form-item label="样品编号:">
          <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="请输入" style="width: 100px;"></el-input>
          <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode">
            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="请输入" ></el-input>
          </el-tooltip>
        </el-form-item>
        <el-form-item label="样品名称:">
          <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="请输入"></el-input>
        </el-form-item>
        <el-form-item label="样品数量:">
          <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="请输入" style="width: 70px;"></el-input>
          <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="请输入" ></el-input>
        </el-form-item>
        <el-form-item label="下发时间:">
          <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="请输入"></el-input>
@@ -274,7 +276,7 @@
          <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="请输入"></el-input>
        </el-form-item>
        <el-form-item label="约定时间:">
          <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="请输入" style="width: 100px;"></el-input>
          <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="请输入"></el-input>
        </el-form-item>
        <el-form-item label="当前样品位数:">
          <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag>
@@ -295,8 +297,8 @@
          </el-radio-group>
        </div>
        <div style="display: flex;align-items: center;">
          <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'">&nbsp;&nbsp;套管:</span>
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='成品缆检验原始记录'" size="small">
          <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='成品缆检验原始记录'">&nbsp;&nbsp;套管:</span>
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='成品缆检验原始记录'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
            <el-option
              v-for="item in casing"
              :key="item.id"
@@ -307,7 +309,7 @@
            </el-option>
          </el-select>
          <span v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'">&nbsp;&nbsp;光纤带:</span>
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'" size="small">
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
            <el-option
              v-for="item in fibers"
              :key="item.value"
@@ -318,7 +320,7 @@
            </el-option>
          </el-select>
          <span v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'">&nbsp;&nbsp;光纤:</span>
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'" size="small">
          <el-select v-model="currentTab" placeholder="请选择" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
            <el-option
              v-for="item in fiber"
              :label="item.bushColor+'-'+item.color"
@@ -382,6 +384,7 @@
                    <template v-if="PROJECT=='检测中心'||PROJECT=='装备电缆'&&getInspectionValueType(n.i) != 2 ">
                      <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 :style="`font-family:${n.v.ff} !important;`">待定</span>
                    </template>
                  </template>
@@ -415,7 +418,7 @@
                      <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
                      <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
                      <i class="el-icon-caret-right table_caret" style="width: 16px;"
                      v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i>
                      v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i>
                    </div>
                  </template>
                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='样品型号'">
@@ -610,6 +613,7 @@
              <template slot-scope="scope">
                <span v-if="scope.row.arr[index].insResult===1" style="color: green;">合格</span>
                <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">不合格</span>
                <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">不判定</span>
                <span v-else>待定</span>
              </template>
            </el-table-column>
@@ -689,6 +693,7 @@
                <template v-else>
                  <span v-if="item.insResult===1" style="color: green;">合格</span>
                  <span v-else-if="item.insResult===0" style="color: red;">不合格</span>
                  <span v-else-if="item.insResult===3" style="color: #3A7BFA;">不判定</span>
                  <span v-else>待定</span>
                </template>
              </td>
@@ -941,6 +946,8 @@
          requiredUp: []
        },
        upIndex: 0,
        changeType:null,
        getReportModelLoading:false,
        insOrder: {},
        sampleProduct: [],
        typeList: [],
@@ -1048,7 +1055,8 @@
          }
        ],
        getDataIndex:[],
        getDataIndexLoading:false
        getDataIndexLoading:false,
        changeType:null,
      }
    },
    computed: {
@@ -1106,15 +1114,18 @@
          }
          let list = await this.getCurrentProduct(this.currentSample.id,0)
          this.currentSample.insProduct = this.HaveJson(list)
          // console.log(this.currentSample)
          this.param = {}
          this.changeType = 0;
          this.currentSample.insProduct.forEach(a => {
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            if(this.handleCasing(a.inspectionItem)){
              this.param[a.id] = {
                insValue: [],
                comValue: [],
                resValue: null,
                equipValue: [],
                equipName: [],
                insResult: null
              }
            }
          })
          this.determineWhetherToCollectData()
@@ -1140,19 +1151,30 @@
      },
      currentTable(val1, val0) {
        if (val0 != null && val1 != val0) {
          if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){
            if(this.casing.length>0){
              this.handleChange(this.casing[0].id,3)
            }
            return
          }
          if(this.changeType&&this.changeType>0){
            return
          }
          this.tableLists.forEach(async (m, i) => {
            if (m.templateId == val1) {
              let list = await this.getCurrentProduct(this.currentSample.id,0)
              this.currentSample.insProduct = this.HaveJson(list)
              // console.log(this.currentSample)
              this.param = {}
              this.currentSample.insProduct.forEach(a => {
                this.param[a.id] = {
                  insValue: [],
                  comValue: [],
                  resValue: null,
                  equipValue: [],
                  equipName: [],
                  insResult: null
                if(this.handleCasing(a.inspectionItem)){
                  this.param[a.id] = {
                    insValue: [],
                    comValue: [],
                    resValue: null,
                    equipValue: [],
                    equipName: [],
                    insResult: null
                  }
                }
              })
              this.getReportModel(this.currentSample.id)
@@ -1181,11 +1203,6 @@
              }
            }
          })
          if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='成品缆检验原始记录')){
            if(this.casing.length>0){
              this.handleChange(this.casing[0].id,3)
            }
          }
        }
      },
      equipForm:{
@@ -1347,7 +1364,6 @@
                      maxNum = num
                    }
                  }
                  console.log('data[i][j].equipName',data[i][j].equipName,'data[i][j].equipValue',data[i][j].equipValue,'m.v',m.v,'m.v.ps',m.v.ps,'m.v.ps.value',m.v.ps.value,'str0',str0,'str',str,'m.v.v',m.v.v)
                  if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='设备编码'&&str0==str){
                    if(!m.v.v){
                      this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName)
@@ -2045,14 +2061,18 @@
        this.currentSample = this.HaveJson(row)
        let list = await this.getCurrentProduct(row.id,0)
        this.currentSample.insProduct = this.HaveJson(list)
        this.param = {}
        this.changeType = 0;
        this.currentSample.insProduct.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          if(this.handleCasing(a.inspectionItem)){
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            }
          }
        })
        this.getReportModel(row.id)
@@ -2071,21 +2091,35 @@
          currentTable:this.currentTable
        }));
      },
      handleCasing(inspectionItem){
        if(this.changeType!=3){
          if(inspectionItem.includes('松套管')){
            return false
          }else{
            return true
          }
        }else{
          return true
        }
      },
      getReportModel(id){
        if(this.PROJECT!='检测中心'){
          return
        }
        this.getReportModelLoading = true
        this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => {
          this.getReportModelLoading = false
          this.fibers = res.data['光纤带']
          this.fiber = res.data['光纤']
          this.casing = res.data['套管']
          console.log(this.casing)
        })
      },
      async handleChange(m,type){
        this.changeType = type
        if(m){
          let list = await this.getCurrentProduct(m,type)
          if(list.length>0){
            this.param = {}
            list.forEach(a => {
              this.param[a.id] = {
                insValue: [],
@@ -2102,7 +2136,8 @@
              type: 'saveData',
              tableList:this.tableList,
              param:this.param,
              currentTable:this.currentTable
              currentTable:this.currentTable,
              bushing:m
            }));
          }else{
            this.tableLists = []
@@ -2634,6 +2669,26 @@
        //     return
        //   }
        // }
        let str = code.split('-')
        let pId = str[3]
        for(let i =0;i<this.currentSample.insProduct.length;i++){
          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/')){
            this.tableList[0].arr.forEach(item=>{
              item.forEach(m=>{
                if(m.i==pId&&m.v.ps&&m.v.ps.value=='结论'){
                  this.$set(m.v,'v',3)
                }
              })
            })
            if(this.param[pId].insResult&&this.param[pId].insResult.v){
              this.param[pId].insResult.v.v = 3
            }
            this.saveInsContext()
            return
          }
        }
        // this.currentTable.
        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){}
        if (n) {
          // if (this.PROJECT === '装备电缆') {
          //   let num2 = new this.$Big(n.v.v)
@@ -3205,14 +3260,17 @@
        let list = await this.getCurrentProduct(this.currentSample.id,0)
        this.currentSample.insProduct = this.HaveJson(list)
        this.param = {}
        this.changeType = 0;
        this.currentSample.insProduct.forEach(a => {
          this.param[a.id] = {
            insValue: [],
            comValue: [],
            resValue: null,
            equipValue: [],
            equipName: [],
            insResult: null
          if(this.handleCasing(a.inspectionItem)){
            this.param[a.id] = {
              insValue: [],
              comValue: [],
              resValue: null,
              equipValue: [],
              equipName: [],
              insResult: null
            }
          }
        })
        this.getTableLists()