| | |
| | | <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> |
| | |
| | | :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> |
| | |
| | | </tr> |
| | | <tr v-for="(item,index) in n.angleList" :key="index + 'eee'"> |
| | | <td> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" @blur="handleAngle(item.value,index)" :disabled="state>1"></el-input> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" @blur="handleAngle(item.value,index,h.band)" :disabled="state>1"></el-input> |
| | | </td> |
| | | <td v-for="(m,i) in n.portList" :key="i+'ggg'"> |
| | | <el-input size="small" placeholder="最差值" v-model="n.value[index][i]" v-if="n.value[index]" :disabled="state>1"></el-input> |
| | |
| | | :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> |
| | |
| | | </tr> |
| | | <tr v-for="(item,index) in n.angleList" :key="index + 'eee'"> |
| | | <td> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index)"></el-input> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index,h.band)"></el-input> |
| | | </td> |
| | | <td v-for="(m,i) in n.portList" :key="i+'ggg'"> |
| | | <el-input size="small" placeholder="最差值" v-model="n.value[index][i]" v-if="n.value[index]" :disabled="state>1"></el-input> |
| | |
| | | </tr> |
| | | <tr v-for="(item,index) in n.angleList" :key="index + 'eee'"> |
| | | <td> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index)"></el-input> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index,h.band)"></el-input> |
| | | </td> |
| | | <td v-for="(m,i) in n.portList" :key="i+'ggg'"> |
| | | <el-input size="small" placeholder="最差值" v-model="n.value[index][i]" v-if="n.value[index]" :disabled="state>1"></el-input> |
| | |
| | | </tr> |
| | | <tr v-for="(item,index) in n.angleList" :key="index + 'eee'"> |
| | | <td> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index)"></el-input> |
| | | <el-input size="small" placeholder="角度" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index,h.band)"></el-input> |
| | | </td> |
| | | <td> |
| | | <el-input size="small" placeholder="最差值" v-model="n.value[index][0]" :disabled="state>1"></el-input> |
| | |
| | | // 初始化数据 |
| | | initData(){ |
| | | this.allBandList = [] |
| | | this.intermodulationNum = 0 |
| | | // 处理项目 |
| | | this.insProductNew = JSON.parse(JSON.stringify(this.insProduct)).filter(m=>m.inspectionItem.includes('电路试验')) |
| | | this.insProductNew.forEach(async item => { |
| | |
| | | // 已经存在值时,赋值 |
| | | let bandList = this.insProductNew[0].insProductResult2.map(m=>m.frequency) |
| | | bandList = Array.from(new Set(bandList)) |
| | | // 上传附件后,设置检验项数据为空的内容 |
| | | let sample = this.insProductNew[0];//获取驻波比的数据,如果驻波比值存在而其他检验项值不存在,则根据驻波比设置默认数据 |
| | | if(sample.insProductResult2&&sample.insProductResult2.length>0){ |
| | | this.insProductNew.forEach(item => { |
| | | if(!item.inspectionItemSubclass.includes('驻波比')&&(!item.insProductResult2||item.insProductResult2.length==0||item.insProductResult2.length<bandList.length)){ |
| | | if(!(item.insProductResult2.length>0&&item.insProductResult2.length<bandList.length)){ |
| | | item.insProductResult2 = [] |
| | | } |
| | | sample.insProductResult2.forEach(m=>{ |
| | | let obj = this.HaveJson(m) |
| | | // 如果数据有,但是不够所有频段的数量,则补全数据 |
| | | if(item.insProductResult2.length>0&&item.insProductResult2.length<bandList.length){ |
| | | let obj0 = item.insProductResult2.find(n=>m.frequency==n.frequency) |
| | | if(!obj0){ |
| | | let port = '1,2,3,4' |
| | | let value = JSON.parse(m.value) |
| | | let value0 = [] |
| | | value.forEach(n=>{ |
| | | if(!item.inspectionItemSubclass.includes('耦合度')){ |
| | | value0.push(['','','','']) |
| | | }else{ |
| | | value0.push(['']) |
| | | } |
| | | }) |
| | | obj.port = port |
| | | obj.value = JSON.stringify(value0) |
| | | item.insProductResult2.push(obj) |
| | | } |
| | | }else{ |
| | | // 如果一条数据都没有,则补全数据 |
| | | let port = '1,2,3,4' |
| | | let value = JSON.parse(m.value) |
| | | let value0 = [] |
| | | value.forEach(n=>{ |
| | | if(!item.inspectionItemSubclass.includes('耦合度')){ |
| | | value0.push(['','','','']) |
| | | }else{ |
| | | value0.push(['']) |
| | | } |
| | | }) |
| | | obj.port = port |
| | | obj.value = JSON.stringify(value0) |
| | | item.insProductResult2.push(obj) |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | // 继续回显数据 |
| | | this.allBandList = [] |
| | | for(let i = 0;i<bandList.length;i++){ |
| | | let arr = [] |
| | |
| | | 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++ |
| | | } |
| | | }) |
| | |
| | | this.$delete(item, 'equipName') |
| | | this.$set(item, 'equipName', item.equipOptions.find(m=>m.value==item.equipValue).label) |
| | | }, |
| | | // 统一修改角度,如果角度没有带°,则拼接一个 |
| | | handleAngle(e,index){ |
| | | // 统一修改同一频段的角度,如果角度没有带°,则拼接一个 |
| | | handleAngle(e,index,band){ |
| | | if(!e){ |
| | | return |
| | | } |
| | |
| | | val = val + '°' |
| | | } |
| | | this.allBandList.forEach(item=>{ |
| | | item.projectList.forEach(m=>{ |
| | | m.angleList.forEach((n,i)=>{ |
| | | if(index==i){ |
| | | n.value = val |
| | | } |
| | | if(item.band==band){ |
| | | item.projectList.forEach(m=>{ |
| | | m.angleList.forEach((n,i)=>{ |
| | | if(index==i){ |
| | | n.value = val |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | handlePort(n){ |
| | |
| | | console.log(err) |
| | | }) |
| | | }, |
| | | async saveAll(){ |
| | | if(this.allBandList.find(m=>!m.band)){ |
| | | this.$message.error('请先填写频段') |
| | | return false |
| | | }else{ |
| | | let arr0 = [] |
| | | this.allBandList.forEach((h,j)=>{ |
| | | // this.save(h,j) |
| | | let arr = h.projectList.map(item=>{ |
| | | if(item.portList&&item.portList.length>0){ |
| | | item.value.forEach(m=>{ |
| | | m = m.splice(item.portList.length) |
| | | }) |
| | | } |
| | | let obj = { |
| | | insProductId:item.id, |
| | | equipValue:this.insProductNew.find(m=>m.id==item.id).equipValue, |
| | | equipName:this.insProductNew.find(m=>m.id==item.id).equipName, |
| | | port:item.portList.map(m=>m.value).join(','), |
| | | angle:item.angleList.map(m=>m.value).join(','), |
| | | value:JSON.stringify(item.value), |
| | | often:item.often |
| | | } |
| | | return obj |
| | | }) |
| | | let obj0 = { |
| | | sampleId:this.orderId, |
| | | sonLaboratory:h.projectList[0].sonLaboratory, |
| | | frequency:h.band, |
| | | insProductResult2s:arr |
| | | } |
| | | arr0.push(obj0) |
| | | }) |
| | | let res = await this.$axios.post(this.$api.insOrderPlan.saveInsContext2s, {insProductResultDtos:arr0 |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true}) |
| | | if(res.code===201){ |
| | | this.$message.error('保存失败') |
| | | return false |
| | | }else{ |
| | | this.$message.success('已保存') |
| | | return true |
| | | } |
| | | } |
| | | }, |
| | | // 更新模板 |
| | | upTemplate(obj){ |
| | | this.upTemplateState = true; |