spring
2025-02-21 305de1e0fa6e26772b469439f4b22345caa27fcd
src/components/do/b1-inspect-order-plan/circuit-parameters3.vue
@@ -5,22 +5,23 @@
      <el-col :span="17">
        <el-row>
          <el-col :span="23" style="display: flex;flex-wrap: wrap;">
            <table border="1" cellpadding="10" style="margin: 4px 10px 10px 0;width: 32%;" v-for="(item,index) in insProductNew" :key="index + 'ppp'" v-show="isMore?true:(index<3?true:false)">
            <table border="1" cellpadding="10" style="margin: 4px 10px 10px 0;width: 32%;"
              v-for="(item, index) in insProductNew" :key="index + 'ppp'"
              v-show="isMore ? true : (index < 3 ? true : false)">
              <tr>
                <td style="text-align: center;background: #F0F1F5;">
                  <el-tooltip effect="dark" :content="item.inspectionItemSubclass" placement="top-start"><span style="display: inline-block;width: 95px;" class="single-line-ellipsis">{{ item.inspectionItemSubclass }}</span>
                  <el-tooltip effect="dark" :content="item.inspectionItemSubclass" placement="top-start"><span
                      style="display: inline-block;width: 95px;" class="single-line-ellipsis">{{
                        item.inspectionItemSubclass }}</span>
                  </el-tooltip>
                </td>
                <td>
                  <el-input size="small" placeholder="设备名称" v-model="item.equipName"  readonly></el-input>
                </td>
                <td>
                  <el-select v-model="item.equipValue" placeholder="设备编码" size="small"  :disabled="state>1" @focus="methodFocus(item)" @change="m=>handleEquip(m,item)">
                    <el-option
                      v-for="m in item.equipOptions"
                      :key="m.value"
                      :label="m.value"
                      :value="m.value">
                  <el-select v-model="item.equipValue" placeholder="设备编码" size="small" :disabled="state > 1"
                    @focus="methodFocus(item)" @change="m => handleEquip(m, item)">
                    <el-option v-for="m in item.equipOptions" :key="m.value" :label="m.value" :value="m.value">
                    </el-option>
                  </el-select>
                </td>
@@ -34,12 +35,15 @@
        </el-row>
      </el-col>
      <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>
        <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>
        </div>
      </el-col>
    </el-row>
    <el-row :gutter="5" style="font-size: 18px;font-weight: 700;background: #F0F1F5;padding: 16px 0;box-sizing: border-box;width: 100%;">
    <el-row :gutter="5"
      style="font-size: 18px;font-weight: 700;background: #F0F1F5;padding: 16px 0;box-sizing: border-box;width: 100%;">
      <el-col :span="2">
        <div style="text-align: center;">检验项目</div>
      </el-col>
@@ -60,21 +64,20 @@
      <div class="circuit-parameters-item-title">
        <span>频段:</span>
        <el-select v-model="h.band" placeholder="请选择" size="small" style="width: 200px;" :disabled="state>1">
          <el-option
            v-for="item in bandList"
            :key="item.value"
            :label="item.label"
            :value="item.value">
          <el-option v-for="item in bandList" :key="item.value" :label="item.label" :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="save(h,y)" :disabled="state>1" :loading="loading[y]" v-show="!isLook">保 存</el-button>
        <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="save(h, y)" :disabled="state > 1" :loading="loading[y]"
          v-show="!isLook">保 存</el-button>
      </div>
      <el-divider></el-divider>
      <div class="circuit-parameters-item-content">
        <template v-for="(n,j) in h.projectList">
          <!-- 电压驻波比 -->
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('驻波比')||n.inspectionItemSubclass.includes('隔离度')||n.inspectionItemSubclass.includes('带外抑制')||n.inspectionItemSubclass.includes('带内波动')||n.inspectionItemSubclass.includes('插入损耗')">
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
            v-if="n.inspectionItemSubclass.includes('驻波比') || n.inspectionItemSubclass.includes('隔离度') || n.inspectionItemSubclass.includes('带外抑制') || n.inspectionItemSubclass.includes('带内波动') || n.inspectionItemSubclass.includes('插入损耗')">
            <el-col :span="2">
              <div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
            </el-col>
@@ -100,22 +103,27 @@
                      最差值
                    </td>
                    <td v-for="(m,i) in n.portList" :key="i+'ggg'">
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]" :disabled="state>1"></el-input>
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]"
                        :disabled="state > 1"></el-input>
                    </td>
                  </tr>
                </table>
              </div>
            </el-col>
            <el-col :span="1">
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small"
                @change="m => changePort(m, n.portList)" :disabled="state > 1"></el-input-number>
            </el-col>
            <el-col :span="1">
              <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'不合格':(n.result===1?'合格':(n.result===3?'不判定':(n.result===3?'不判定':'待定'))) }}
              <div style="text-align: center;" :class="{ red: n.result === 0, green: n.result === 1 }">{{
                n.result === 0 ? '不合格' : (n.result === 1 ? '合格' : (n.result === 3 ? '不判定' : (n.result === 3
                  ? '不判定' : '待定'))) }}
              </div>
            </el-col>
          </el-row>
          <!-- 互调 -->
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('互调')">
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
            v-if="n.inspectionItemSubclass.includes('互调')">
            <el-col :span="2">
              <div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
            </el-col>
@@ -133,11 +141,9 @@
                    <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-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"
                        <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>
@@ -157,22 +163,27 @@
                      最差值
                    </td>
                    <td v-for="(m,i) in n.portList" :key="i+'ggg'">
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]" :disabled="state>1"></el-input>
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]"
                        :disabled="state > 1"></el-input>
                    </td>
                  </tr>
                </table>
              </div>
            </el-col>
            <el-col :span="1">
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small"
                @change="m => changePort(m, n.portList)" :disabled="state > 1"></el-input-number>
            </el-col>
            <el-col :span="1">
              <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'不合格':(n.result===1?'合格':(n.result===3?'不判定':(n.result===3?'不判定':'待定'))) }}
              <div style="text-align: center;" :class="{ red: n.result === 0, green: n.result === 1 }">{{
                n.result === 0 ? '不合格' : (n.result === 1 ? '合格' : (n.result === 3 ? '不判定' : (n.result === 3
                  ? '不判定' : '待定'))) }}
              </div>
            </el-col>
          </el-row>
          <!-- 幅度偏差/最大相位偏差 -->
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('偏差')">
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
            v-if="n.inspectionItemSubclass.includes('偏差')">
            <el-col :span="2">
              <div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
            </el-col>
@@ -198,22 +209,26 @@
                      最差值
                    </td>
                    <td v-for="(m,i) in n.portList" :key="i+'ggg'">
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]" :disabled="state>1"></el-input>
                      <el-input size="small" placeholder="最差值" v-model="n.value[0][i]" v-if="n.value[0]"
                        :disabled="state > 1"></el-input>
                    </td>
                  </tr>
                </table>
              </div>
            </el-col>
            <el-col :span="1">
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
              <el-input-number v-model="n.portNum" :min="1" :max="100" label="数量" size="small"
                @change="m => changePort(m, n.portList)" :disabled="state > 1"></el-input-number>
            </el-col>
            <el-col :span="1">
              <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'不合格':(n.result===1?'合格':(n.result===3?'不判定':'待定')) }}
              <div style="text-align: center;" :class="{ red: n.result === 0, green: n.result === 1 }">{{
                n.result === 0 ? '不合格' : (n.result === 1 ? '合格' : (n.result === 3 ? '不判定' : '待定')) }}
              </div>
            </el-col>
          </el-row>
          <!-- 最大耦合度/最小耦合度 -->
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('耦合度')">
          <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
            v-if="n.inspectionItemSubclass.includes('耦合度')">
            <el-col :span="2">
              <div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
            </el-col>
@@ -246,7 +261,8 @@
              </div>
            </el-col>
            <el-col :span="1">
              <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'不合格':(n.result===1?'合格':(n.result===3?'不判定':'待定')) }}
              <div style="text-align: center;" :class="{ red: n.result === 0, green: n.result === 1 }">{{
                n.result === 0 ? '不合格' : (n.result === 1 ? '合格' : (n.result === 3 ? '不判定' : '待定')) }}
              </div>
            </el-col>
          </el-row>
@@ -557,7 +573,8 @@
            headers: {
              'Content-Type': 'application/json'
            },
            noQs:true}).then(res => {
              noQs: true
            }).then(res => {
              if (res.code === 201) {
                this.$message.error('删除失败')
                return
@@ -708,7 +725,8 @@
      headers: {
        'Content-Type': 'application/json'
      },
      noQs:true}).then(res => {
        noQs: true
      }).then(res => {
        this.$set( this.loading, y, false)
        // this.loading[y] = false
        if (res.code === 201) {
@@ -755,12 +773,14 @@
          }
          arr0.push(obj0)
        })
        let res = await this.$axios.post(this.$api.insOrderPlan.saveInsContext2s, {insProductResultDtos:arr0
        let res = await this.$axios.post(this.$api.insOrderPlan.saveInsContext2s, {
          insProductResultDtos: arr0
        }, {
        headers: {
          'Content-Type': 'application/json'
        },
        noQs:true})
          noQs: true
        })
        if(res.code===201){
          this.$message.error('保存失败')
          return false
@@ -809,6 +829,7 @@
  position: relative;
  overflow: visible;
}
.circuit-parameters-item{
  margin-bottom: 10px;
  border: 1px solid #eee;
@@ -816,46 +837,57 @@
  box-sizing: border-box;
  border-radius: 8px;
}
.circuit-parameters-item-title{
  display: flex;
  align-items: center;
}
.thermal-table{
  min-width: calc(100% - 10px);
  table-layout: fixed;
}
.thermal-table td,.thermal-table th {
  min-width: 70px;
.thermal-table td,
.thermal-table th {
  min-width: 120px;
  text-align: center;
  font-size: 14px;
  word-wrap: break-word;
  white-space: normal;
  padding: 5px;
}
.thermal-table .el-input{
  display: flex;
  align-items: center;
}
.equip{
  display: flex;
  align-items: center;
}
.red{
  color: red;
}
.green{
  color: green;
}
>>>.el-input-number {
  display: inline-flex;
  flex-direction: column !important;
  line-height: 26px;
}
>>>.el-input-number__increase, >>>.el-input-number__decrease {
>>>.el-input-number__increase,
>>>.el-input-number__decrease {
  width: 26px;
  height: 26px;
}
>>>.el-input-number__increase{
  top: 36px;
  left: 10px;
@@ -864,6 +896,7 @@
  background: #3A7BFA;
  color: #fff;
}
>>>.el-input-number__decrease{
  top: -30px;
  border: 0px;
@@ -872,9 +905,11 @@
  background: #F56C6C;
  color: #fff;
}
>>>.el-input-number .el-input{
  width: 50px;
}
>>>.el-input-number .el-input__inner{
  width: 50px;
  padding: 0;