| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | 最差值 |
| | | </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> |
| | |
| | | <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> |
| | |
| | | 最差值 |
| | | </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> |
| | |
| | | 最差值 |
| | | </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> |
| | |
| | | </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> |
| | |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true}).then(res => { |
| | | noQs: true |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | this.$message.error('删除失败') |
| | | return |
| | |
| | | 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) { |
| | |
| | | } |
| | | 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 |
| | |
| | | position: relative; |
| | | overflow: visible; |
| | | } |
| | | |
| | | .circuit-parameters-item{ |
| | | margin-bottom: 10px; |
| | | border: 1px solid #eee; |
| | |
| | | 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; |
| | |
| | | background: #3A7BFA; |
| | | color: #fff; |
| | | } |
| | | |
| | | >>>.el-input-number__decrease{ |
| | | top: -30px; |
| | | border: 0px; |
| | |
| | | background: #F56C6C; |
| | | color: #fff; |
| | | } |
| | | |
| | | >>>.el-input-number .el-input{ |
| | | width: 50px; |
| | | } |
| | | |
| | | >>>.el-input-number .el-input__inner{ |
| | | width: 50px; |
| | | padding: 0; |