licp
2024-10-23 dc335441ff07f563356c9cdb3ee9ff5a073c36ab
src/components/do/b1-ins-order/add.vue
@@ -134,8 +134,8 @@
  <div class="ins_order_add" style=" display: block; ">
    <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow">
      <el-row class="title">
        <el-col :span="6" style="padding-left: 20px;text-align: left;">委托单信息&nbsp;&nbsp;&nbsp;总价:<span
            style="color: #3A7BFA">¥{{total}}</span></el-col>
        <el-col :span="6" style="padding-left: 20px;text-align: left;">委托单信息&nbsp;&nbsp;&nbsp;单位成本总价:<span
            style="color: #3A7BFA">¥{{total.toFixed(2)}}</span></el-col>
        <el-col :span="18" style="text-align: right;">
          <el-select v-model="template" size="medium" placeholder="下单模板" style="margin-right: 10px;" v-show="active==1"
            @change="selectInsOrderTemplateById">
@@ -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
@@ -2574,7 +2657,8 @@
        if(row.section === null) {
          row.section = ""
        }
        let arr = this.productList.filter(m=>m.state==1&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1)
        // console.log(row,this.productList)
        let arr = this.productList.filter(m=>m.state==1&&m.bsmRow&&m.bsmRow.section==row.section&&row.section.includes(m.section)&&m.ask&&m.section.indexOf('[')==-1)
        if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1&&arr.length==0) {
          if (row.section.indexOf('[') > -1) {
            row.bsmRow = this.HaveJson(row)