licp
2024-12-09 c720c2a6eb50796876cae4b18b37b54e9a99ea60
src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
@@ -36,9 +36,8 @@
      <el-col :span="7">
        <div style="display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;" class="btns" v-if="!isLook">
          <el-button type="primary" size="small" @click="addList(allBandList,'频段')" :disabled="state>1" style="margin: 4px;">添加频段</el-button>
          <el-button size="small" @click="deleteList(allBandList.length-1,allBandList,'删除频段')" :disabled="state>1" style="margin: 4px;">删除频段</el-button>
          <el-button type="primary" size="small" @click="addList(angleList)" :disabled="state>1" style="margin: 4px;">添加角度</el-button>
          <el-button size="small" @click="deleteList(angleList.length-1,angleList)" :disabled="state>1" style="margin: 4px;">删除角度</el-button>
          <el-button type="success" size="small" @click="addList(angleList)" :disabled="state>1" style="margin: 4px;">添加角度</el-button>
          <el-button size="small" @click="deleteList(angleList.length-1,angleList)" :disabled="state>1" style="margin: 4px;" type="danger">删除角度</el-button>
        </div>
      </el-col>
    </el-row>
@@ -70,8 +69,9 @@
            :value="item.value">
          </el-option>
        </el-select>
        <el-button size="small" @click="deleteList(y,allBandList,'删除频段')" :disabled="state>1" style="margin-left: 16px;" type="danger">删除频段</el-button>
        <el-button type="primary" size="small" @click="addList(h.projectList,'互调')" style="margin-left: 16px;" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">添加互调</el-button>
        <el-button size="small" @click="deleteList(0,h.projectList,'互调')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">删除互调</el-button>
        <!-- <el-button size="small" @click="deleteList(0,h.projectList,'互调')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">删除互调</el-button> -->
        <el-button type="primary" size="small" @click="save(h,y)" :disabled="state>1" :loading="loading[y]" v-show="!isLook">保 存</el-button>
      </div>
      <el-divider></el-divider>
@@ -86,7 +86,7 @@
              <div style="text-align: center;">{{ n.unit }}</div>
            </el-col>
            <el-col :span="2">
              <div style="text-align: center;" v-html="n.tell"></div>
              <div style="text-align: center;" v-html="n.ask"></div>
            </el-col>
            <el-col :span="16">
              <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -127,16 +127,25 @@
              <div style="text-align: center;">{{ n.unit }}</div>
            </el-col>
            <el-col :span="2">
              <div style="text-align: center;" v-html="n.tell"></div>
              <div style="text-align: center;" v-html="n.ask"></div>
            </el-col>
            <el-col :span="16">
              <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
                <table border="1" cellpadding="10" class="thermal-table">
                  <tr>
                    <td>频点</td>
                    <td>频段</td>
                    <td :colspan="n.portList.length+1">
                      <div style="display: flex;align-items: center;">
                        <el-input size="small" placeholder="频点" v-model="n.often" :disabled="state>1" @blur="handlePort(n)"></el-input>
                        <!-- <el-input size="small" placeholder="频段" v-model="n.often" :disabled="state>1" @blur="handlePort(n)"></el-input> -->
                        <el-select v-model="n.often" placeholder="请选择" size="small" style="width: 200px;" :disabled="state>1">
                          <el-option
                            v-for="item in bandList0"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value">
                          </el-option>
                        </el-select>
                        <el-button type="danger" icon="el-icon-delete" circle size="small" @click="deleteList(j,h.projectList,'互调')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0" style="margin-left: 20px;"></el-button>
                      </div>
                    </td>
                  </tr>
@@ -181,7 +190,7 @@
              <div style="text-align: center;">{{ n.unit }}</div>
            </el-col>
            <el-col :span="2">
              <div style="text-align: center;" v-html="n.tell"></div>
              <div style="text-align: center;" v-html="n.ask"></div>
            </el-col>
            <el-col :span="16">
              <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -227,7 +236,7 @@
              <div style="text-align: center;">{{ n.unit }}</div>
            </el-col>
            <el-col :span="2">
              <div style="text-align: center;" v-html="n.tell"></div>
              <div style="text-align: center;" v-html="n.ask"></div>
            </el-col>
            <el-col :span="17">
              <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -270,6 +279,7 @@
    return {
      value: "",
      bandList:[],
      bandList0:[],
      portList:[
        {
          value:'1',
@@ -293,7 +303,7 @@
        {
          name:'电压驻波比',
          unit:'/',
          tell:'≤1.45',
          ask:'≤1.45',
          result:'',
          conclusion:'合格',
          portList:[],
@@ -303,7 +313,7 @@
        {
          name:'同极化隔离度',
          unit:'dB',
          tell:'≤1.45',
          ask:'≤1.45',
          result:'',
          conclusion:'合格',
          portList:[],
@@ -314,7 +324,7 @@
          name:'互调',
          band:'2100MHz',
          unit:'dB',
          tell:'≤1.45',
          ask:'≤1.45',
          result:'',
          conclusion:'合格',
          portList:[],
@@ -324,7 +334,7 @@
        {
          name:'偏差',
          unit:'dB',
          tell:'≤1.45',
          ask:'≤1.45',
          result:'',
          conclusion:'合格',
          portList:[],
@@ -335,7 +345,7 @@
          name:'最大耦合度',
          unit:'dB',
          band:'2100MHz',
          tell:'≤1.45',
          ask:'≤1.45',
          result:'',
          conclusion:'合格',
          portList:[],
@@ -344,17 +354,20 @@
          resValue:''
        },
      ],
      allBandList:[],//频段
      insProductNew:[],
      isMore:false,
      loading:{},
      intermodulationNum:0,//互调检验项目的数量
      upTemplateState:false,
    };
  },
  watch: {
    // 角度数量变化时,更新所有频段下面的所有项目下的所有端口和角度
    angleList(val) {
      this.allBandList.forEach(item => {
      if(!this.upTemplateState){
        this.allBandList.forEach(item => {
        item.projectList.forEach(m => {
          // 添加角度
          for(let i=0;i<val.length;i++){
@@ -391,6 +404,7 @@
          }
        })
      })
      }
      // console.log(this.allBandList)
    },
    currentNum(val) {
@@ -415,6 +429,11 @@
        category: "电路试验波段"
      }).then(res => {
        this.bandList = res.data
      })
      this.$axios.post(this.$api.enums.selectEnumByCategory, {
        category: "互调-频段"
      }).then(res => {
        this.bandList0 = res.data
      })
    },
    // 初始化数据
@@ -459,20 +478,21 @@
                    angleList.push({value:m})
                  })
                  this.angleList = angleList
                  this.upTemplateState = false;
                }
                let tell = ''
                if(item.tell.includes(',')){
                  item.tell.split(',').forEach((m,i)=>{
                    tell = tell + m+ (i==item.tell.split(',').length-1?'':'<br/>')
                let ask = ''
                if(item.ask.includes(',')){
                  item.ask.split(',').forEach((m,i)=>{
                    ask = ask + m+ (i==item.ask.split(',').length-1?'':'<br/>')
                  })
                }else{
                  tell = item.tell
                  ask = item.ask
                }
                console.log(tell)
                console.log(ask)
                let obj = {
                  inspectionItemSubclass: item.inspectionItemSubclass,
                  unit:item.unit,
                  tell:tell,
                  ask:ask,
                  result:n.result,
                  id:item.id,
                  often:n.often,
@@ -559,13 +579,14 @@
    },
    // 删除数组
    deleteList(index,list,type){
      this.upTemplateState = false;
      if(list.length>1){
        if(type=='互调'){
          let index = null;
          // let index = null;
          let num = 0;
          list.forEach((m,i)=>{
            if(m.inspectionItemSubclass.includes('互调')){
              index = i;
              // index = i;
              num++
            }
          })
@@ -614,6 +635,7 @@
    },
    // 添加数组
    addList(list,type){
      this.upTemplateState = false;
      if(type=='互调'){
        let obj = null;
        let index = null;
@@ -752,8 +774,8 @@
      this.$delete(this.loading, y)
      this.$set( this.loading, y, true)
      this.$axios.post(this.$api.insOrderPlan.saveInsContext2, {
        orderId:this.orderId,
        sampleId:this.sampleId,
        // orderId:this.orderId,
        sampleId:this.orderId,
        sonLaboratory:h.projectList[0].sonLaboratory,
        frequency:h.band,
        insProductResult2s:arr
@@ -775,6 +797,49 @@
      }).catch(err => {
        console.log(err)
      })
    },
    saveAll(){
      if(this.allBandList.find(m=>!m.band)){
        this.$message.error('请先填写频段')
        return false
      }else{
        this.allBandList.forEach((h,j)=>{
          this.save(h,j)
        })
        return true
      }
    },
    // 更新模板
    upTemplate(obj){
      this.upTemplateState = true;
      // return
      obj.allBandList.forEach((item,index)=>{
        if(!this.allBandList[index]){
          this.$set(this.allBandList, index, {projectList:this.HaveJson(this.allBandList[0].projectList)})
          // this.allBandList[index] = {
          //   projectList:this.HaveJson(this.allBandList[0].projectList)
          // }
        }
        this.allBandList[index].band = item.band
        let arr = []
        item.projectList.forEach((m,i)=>{
          if(this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass)){
            let obj0 = {
              angleList:m.angleList,
              portList:m.portList,
              portNum:m.portNum,
              valueType:m.valueType
            }
            this.$set(obj0,'value',m.value)
            arr.push({...this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass),...obj0})
          }
        })
        this.$delete(this.allBandList[index],'projectList')
        this.$set(this.allBandList[index],'projectList',arr)
        // this.allBandList[index].projectList = arr
      })
      this.angleList = obj.angleList
      this.intermodulationNum = obj.intermodulationNum
    }
  }
}