licp
2024-10-18 8a2c2a0a87f2a24e2ce89f386d2e6fd5d455ee8b
src/components/do/b1-ins-order/add.vue
@@ -996,6 +996,44 @@
        <el-button type="primary" @click="spliceTemperatureTest">保存</el-button>
      </span>
    </el-dialog>
    <!-- 功率容量--填写端口 -->
    <el-dialog title="填写端口" :visible.sync="powerShow"
      :close-on-click-modal="false" :close-on-press-escape="false"
      width="50%">
      <el-table
        :data="powerTable"
        border
        style="width: 100%">
        <el-table-column
          fixed
          prop="sample"
          label="样品"
          min-width="150">
        </el-table-column>
        <el-table-column
          prop="model"
          label="型号"
          min-width="120">
        </el-table-column>
        <el-table-column
          prop="inspectionItem"
          label="检验项"
          min-width="120">
        </el-table-column>
        <el-table-column
          prop="ask"
          label="端口"
          min-width="120">
          <template slot-scope="scope">
            <el-input-number v-model="scope.row.ask" :min="1" :max="100" label="端口" size="small"></el-input-number>
          </template>
        </el-table-column>
      </el-table>
      <span slot="footer" class="dialog-footer">
        <el-button @click="powerShow=false">取消</el-button>
        <el-button type="primary" @click="savePowerTest">保存</el-button>
      </span>
    </el-dialog>
    <el-dialog
      title="文件预览"
      :visible.sync="lookFileVisible"
@@ -1270,7 +1308,9 @@
        ruleInfo:{
          rule:null,
          num:null,
        }
        },
        powerShow:false,
        powerTable:[]
      }
    },
    watch: {
@@ -1547,6 +1587,24 @@
          return
        }
        this.spliceTemperatureTest()
      },
      savePowerTest(){
        if(!this.powerTable.every(m=>m.ask))
        {
          this.$message.error('请填写完整数据')
        }
        let num = 0;
        let sampleList = this.HaveJson(this.sampleList)
        sampleList.forEach(item=>{
          item.insProduct.forEach(m=>{
            if(m.inspectionItem.includes('功率试验')&&m.state==1){
              m.ask = '端口数:'+this.powerTable[num].ask
              num++
            }
          })
        })
        this.saveMethod(sampleList)
        this.powerShow = false;
      },
      cleanTemperatureTest () {
        this.temperatureTest = []
@@ -1848,6 +1906,22 @@
          //   }
          // }
          let sampleList = this.HaveJson(this.sampleList)
          for (let i = 0; i < sampleList.length; i++) {
            if (sampleList[i].insProduct.length > 0) {
              let set = new Set()
              for (let j = 0; j < sampleList[i].insProduct.length; j++) {
                if(sampleList[i].insProduct[j].state == 1){
                  let num0 = set.size
                  set.add(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass)
                  let num1 = set.size
                  if(num0==num1){
                    this.$message.error(sampleList[i].insProduct[j].inspectionItem+'-'+sampleList[i].insProduct[j].inspectionItemSubclass+'重复')
                    return
                  }
                }
              }
            }
          }
          let projectNum = this.totalArr.filter(a => a.state == 1).length
          if(projectNum==0){
            this.$confirm('检验项目为空,是否确认提交?', "提示", {
@@ -1858,13 +1932,22 @@
              this.saveMethod(sampleList)
            }).catch(() => {})
          }else{
            let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1)
            let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask&&a.ask.includes(b)) && a.state == 1)
            if (isRTS&&this.PROJECT=='检测中心') {
              this.editTable = this.handleData(sampleList,this.containsValue, 0)
              this.editTable.forEach(item => {
                item.value = item.modelNum
              })
              this.bsm3Dia = true;
              return
            }
            let isPower = this.totalArr.find(a => a.inspectionItem.includes('功率试验')&&a.state==1)
            if (isPower) {
              this.powerTable = this.totalArr.filter(a => a.inspectionItem.includes('功率试验')&&a.state==1)
              this.powerTable.forEach(a => {
                a.ask = null
              })
              this.powerShow = true;
              return
            }
            this.saveMethod(sampleList)
@@ -2008,7 +2091,7 @@
                  let arr = this.editTable.filter(b => b.sampleId == item.id)
                  for (var i=0;i<arr.length;i++){
                    if(a.ask){
                      if(a.ask.includes(arr[i].symbolItem)){
                      if(a.ask&&a.ask.includes(arr[i].symbolItem)){
                        let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value)
                        if (ask) {
                          a.ask = ask