| | |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;text-align: left;" :class="{noShow:noBack}">检验单详情 |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')">检验模板切换</el-button> |
| | | <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end"> |
| | | <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')">电调/非电调模板切换</el-button> |
| | | <el-select v-model="template" size="medium" placeholder="电路预设模板" style="margin-right: 10px;margin-left: 10px;" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')" |
| | | @change="selectInsProductTemplateById"> |
| | | <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name"> |
| | | <span style="float: left">{{ a.name }}</span> |
| | | <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px;line-height: 34px;" |
| | | @click.stop="handleDelete(a)" v-if="addInsProductTemplatePower"></i> |
| | | </el-option> |
| | | </el-select> |
| | | <el-button size="medium" @click="templateDia=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')&&addInsProductTemplatePower"> |
| | | <span style="color: #3A7BFA;">保存模板</span> |
| | | </el-button> |
| | | <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">样品切换</el-button> |
| | | <el-button size="small" type="primary" @click="taskVisible=true" v-show="!isLook">任务切换</el-button> |
| | | <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1" |
| | |
| | | <!-- 电路试验 --> |
| | | <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('电路试验')" style="width: 100%;overflow-x: auto;overflow-y: visible;"> |
| | | <!-- <Circuit></Circuit> --> |
| | | <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum"></CircuitParameters1> |
| | | <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum"></CircuitParameters2> |
| | | <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters1> |
| | | <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters2> |
| | | </div> |
| | | <!-- 温湿度试验 --> |
| | | <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('温湿度试验')"> |
| | |
| | | width="60%" fullscreen :modal="false"> |
| | | <filePreview v-if="lookFileVisible" :fileUrl="currentFile.url" |
| | | :currentFile="currentFile" style="max-height: 87vh;overflow-y: auto;"/> |
| | | </el-dialog> |
| | | <el-dialog title="保存模板" :visible.sync="templateDia" width="400px"> |
| | | <div class="body" style="display: flex;align-items: center;" v-if="templateDia"> |
| | | <div class="search_label" style="width: 90px;"><span class="required-span">* </span>模板名称:</div> |
| | | <div class="search_input"> |
| | | <el-input size="small" clearable v-model="templateName"></el-input> |
| | | </div> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="templateDia = false">取 消</el-button> |
| | | <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | humidity:'' |
| | | }, |
| | | currentFile:{},//当前文件 |
| | | templates:[],//电路试验模板 |
| | | templateDia:false,//电路试验模板保存模板弹框 |
| | | template:null, |
| | | templateLoading:false, |
| | | templateName:'', |
| | | addInsProductTemplatePower:false,//配置模板权限 |
| | | } |
| | | }, |
| | | // 用于上传文件的信息 |
| | |
| | | this.scrollInit() |
| | | this.getPower() |
| | | this.startWorker() |
| | | this.selectInsProductTemplate() |
| | | }, |
| | | watch: { |
| | | // 监听任务id,获取任务信息 |
| | |
| | | let fileAdd = false |
| | | let collected = false |
| | | let temDataAcquisition = false |
| | | let addInsProductTemplatePower = false; |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'uploadFile') { |
| | | fileAdd = true |
| | |
| | | if (power[i].menuMethod == 'temDataAcquisition') { |
| | | temDataAcquisition = true |
| | | } |
| | | if(power[i].menuMethod == 'addInsProductTemplate'){ |
| | | addInsProductTemplatePower = true |
| | | } |
| | | } |
| | | if (!fileDel) { |
| | | this.componentData0.do.splice(1, 1) |
| | |
| | | this.fileAdd = fileAdd |
| | | this.collected = collected |
| | | this.temDataAcquisition = temDataAcquisition |
| | | this.addInsProductTemplatePower = addInsProductTemplatePower |
| | | }, |
| | | uploadSample(){ |
| | | this.$axios.post(this.$api.insOrderPlan.doInsOrder, { |
| | |
| | | } catch (error) { |
| | | this.$emit('goback') |
| | | } |
| | | }, |
| | | selectInsProductTemplate(){ |
| | | this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate).then(res => { |
| | | if (res.code == 201) return |
| | | this.templates = res.data |
| | | }) |
| | | }, |
| | | selectInsProductTemplateById(e){ |
| | | if(e){ |
| | | this.$axios.post(this.$api.insProductTemplate.getInsProductTemplate + '?id=' + e).then(res => { |
| | | if (res.code == 201) return |
| | | let obj = JSON.parse(res.data.message) |
| | | if(this.currentTableState!=res.data.version){ |
| | | this.$message.error('电调/非电调模板版本不一致,请重新选择') |
| | | this.template = null |
| | | return |
| | | } |
| | | // 当前模板中未包含所有项目 |
| | | let state = this.currentSample.insProduct.every(item=>{ |
| | | if(obj.allBandList&&obj.allBandList.length>0&&obj.allBandList[0].projectList&&obj.allBandList[0].projectList.length>0&&item.inspectionItemSubclass&&obj.allBandList[0].projectList.find(m=>m.inspectionItemSubclass==item.inspectionItemSubclass)){ |
| | | return true |
| | | }else{ |
| | | return false |
| | | } |
| | | }) |
| | | if(!state){ |
| | | this.template = null |
| | | this.$message.error('当前模板中未包含所有项目,请重新选择') |
| | | return |
| | | } |
| | | // 保存版本 |
| | | this.saveVersion() |
| | | // 如果模板的检验项多了,则删除多余的 |
| | | obj.allBandList.forEach(item=>{ |
| | | item.projectList.forEach((m,i)=>{ |
| | | if(!this.currentSample.insProduct.find(n=>m.inspectionItemSubclass==n.inspectionItemSubclass)){ |
| | | item.projectList.splice(i,1) |
| | | } |
| | | }) |
| | | }) |
| | | this.$refs.CircuitParameters.upTemplate(obj) |
| | | }) |
| | | } |
| | | }, |
| | | addTemplateDia(){ |
| | | let obj = { |
| | | allBandList:this.$refs.CircuitParameters.allBandList, |
| | | intermodulationNum:this.$refs.CircuitParameters.intermodulationNum, |
| | | angleList:this.$refs.CircuitParameters.angleList, |
| | | } |
| | | if (this.templateName) { |
| | | this.templateLoading = true; |
| | | this.$axios.post(this.$api.insProductTemplate.addInsProductTemplate, { |
| | | name: this.templateName, |
| | | version:this.currentTableState, |
| | | message:JSON.stringify(obj) |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.templateLoading = false; |
| | | this.templateDia = false; |
| | | this.$message.success('保存成功') |
| | | this.selectInsProductTemplate() |
| | | this.templateName = '' |
| | | }) |
| | | } else { |
| | | this.$message.error('请填写模板名称') |
| | | } |
| | | }, |
| | | handleDelete(row){ |
| | | this.$confirm('是否删除当前数据?', "警告", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning" |
| | | }).then(() => { |
| | | this.$axios.post(this.$api.insProductTemplate.delInsProductTemplate, { |
| | | id: row.id |
| | | }).then(res => { |
| | | if (res.code === 201) { |
| | | return |
| | | } |
| | | this.$message.success('删除成功') |
| | | this.selectInsProductTemplate() |
| | | }).catch(e => { |
| | | this.$message.error('删除失败') |
| | | }) |
| | | }).catch(() => {}) |
| | | } |
| | | } |
| | | } |