| | |
| | | >>>input[type=number] { |
| | | -moz-appearance: textfield !important; /* 针对 Firefox */ |
| | | } |
| | | >>>.el-form-item__content{ |
| | | display: inline-flex; |
| | | align-items: center; |
| | | } |
| | | </style> |
| | | <style> |
| | | .inspection .el-form-item__label { |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="center"> |
| | | <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;"> |
| | | <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;overflow-x: auto;"> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="tableList.length>0">检验模板:</span> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="fibers.length>0"> 光纤带:</span> |
| | | <el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)"> |
| | | <el-radio-button :label="item.id" v-for="(item,index) in fibers" :key="index" |
| | |
| | | <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" |
| | | size="small">{{ item.color }}</el-radio-button> |
| | | </el-radio-group> |
| | | <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;"> |
| | | <el-form-item label="温度:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input> |
| | | <span style="margin-left: 4px;">℃</span> |
| | | </el-form-item> |
| | | <el-form-item label="湿度:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'humidity')"></el-input> |
| | | <span style="margin-left: 4px;">%</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | </div> |
| | | <div class="center-box" id="nav" v-loading="tableLoading"> |
| | | <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||tableLists.find(m=>m.templateId==currentTable).templateName!='温度循环检验原始记录'"> |
| | | <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> |
| | | <tbody> |
| | | <tr v-for="(m,i) in item.arr" :key="i"> |
| | |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <div class="center-box" v-loading="tableLoading" v-else> |
| | | <el-divider></el-divider> |
| | | <h4 style="margin-bottom: 20px;">温度循环检验原始记录</h4> |
| | | <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="型号:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="试验方法:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.methodName" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="检测依据:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm0.sample" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> --> |
| | | <el-form-item label="循环次数:" style="margin-bottom: 0;"> |
| | | <el-select v-model="wareForm.inspectionItem" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItem')"> |
| | | <el-option |
| | | v-for="item in numOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="温度:" style="margin-bottom: 0;"> |
| | | <el-select v-model="wareForm.inspectionItemSubclass" placeholder="请选择" size="small" @change="m=>wareFormChange(m,'inspectionItemSubclass')"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | <span style="margin-left: 4px;">℃</span> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-divider></el-divider> |
| | | <el-form :inline="true" :model="wareForm0" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> |
| | | <el-form-item label="仪器名称:"> |
| | | <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仪器名称:" style="margin-left: 80px;"> |
| | | <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="仪器编号:"> |
| | | <el-select v-model="wareForm0.value" placeholder="请选择" size="small"> |
| | | <el-option |
| | | v-for="item in temperatureOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | :data="wareTableData" |
| | | border |
| | | style="width: 100%;margin-bottom: 30px;" align="center"> |
| | | <el-table-column |
| | | label="序号" |
| | | type="index" |
| | | width="65" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="bushColor" |
| | | label="管色标" |
| | | width="120" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="code" |
| | | label="光纤带编号" |
| | | width="150" |
| | | align="center"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="color" |
| | | label="光纤色标" |
| | | align="center" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="inspectionItemClass" |
| | | label="光纤项目" |
| | | align="center" |
| | | width="130"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="value0" |
| | | label="外端" |
| | | align="center" |
| | | width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(m,0)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="value1" |
| | | label="内端" |
| | | align="center" |
| | | width="130"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(m,1)"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="zip" |
| | | align="center" |
| | | label="平均值" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="lastValue" |
| | | label="衰减差" |
| | | align="center" |
| | | min-width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="insResult" |
| | | label="结论" |
| | | align="center" |
| | | min-width="150"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.insResult===1" style="color: green;">合格</span> |
| | | <span v-if="scope.row.insResult===0" style="color: red;">不合格</span> |
| | | <span v-else>待定</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-upload :action="action" |
| | | :data="{ |
| | |
| | | temptList:null, |
| | | fiber:[], |
| | | fibers:[], |
| | | currentTab:null |
| | | currentTab:null, |
| | | wareForm:{ |
| | | inspectionItem:1, |
| | | inspectionItemSubclass:20, |
| | | }, |
| | | wareForm0:{}, |
| | | numOptions:[], |
| | | temperatureOptions:[], |
| | | wareTableData:[ |
| | | {} |
| | | ], |
| | | otherForm:{ |
| | | humidity:null, |
| | | temperature:null, |
| | | }, |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | } |
| | | this.sampleProduct = res.data.sampleProduct |
| | | this.currentSample = this.HaveJson(this.sampleProduct[0]) |
| | | let insProduct = this.HaveJson(this.currentSample.insProduct) |
| | | if(insProduct&&insProduct.length>0){ |
| | | let {temperature,humidity} = insProduct[0]; |
| | | this.otherForm = { |
| | | temperature:temperature?temperature:null, |
| | | humidity:humidity?humidity:null, |
| | | } |
| | | } |
| | | let list = await this.getCurrentProduct(this.currentSample.id,0) |
| | | this.currentSample.insProduct = this.HaveJson(list) |
| | | console.log(this.currentSample) |
| | | this.currentSample.insProduct.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | |
| | | this.getReportModel(this.currentSample.id) |
| | | if (this.currentSample.index == undefined) this.currentSample['index'] = 1 |
| | | let bushing = this.currentSample.bushing |
| | | // this.handleTableData() |
| | | this.getTableLists(); |
| | | this.componentData.currentId = val; |
| | | this.currentKey = 1; |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | changeItem(m,index){}, |
| | | wareFormChange(m,type){ |
| | | if(m&&type){ |
| | | this.wareForm[type] = Number(m) |
| | | } |
| | | let wareForm = {...this.wareForm} |
| | | wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'℃' |
| | | this.$axios.post(this.$api.insOrderPlan.temCycle,{ |
| | | sampleId:this.currentSample.id, |
| | | ...wareForm |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | let {productVos,sampleVo} = res.data |
| | | this.wareForm0 = sampleVo |
| | | productVos = productVos.map(m=>{ |
| | | let obj = {...m,...m.insProduct} |
| | | return obj |
| | | }) |
| | | this.wareTableData = productVos |
| | | }) |
| | | }, |
| | | subOtherForm(m,type){ |
| | | let ids = [] |
| | | for (let i in this.param) { |
| | | ids.push(i) |
| | | } |
| | | this.$axios.post(this.$api.insOrderPlan.write,{ |
| | | [type]:Number(m), |
| | | ids |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs:true |
| | | }).then(res => { |
| | | if (res.code == 201) return |
| | | this.$message.success('保存成功') |
| | | }) |
| | | }, |
| | | getPower(){ |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let fileDel = false |
| | |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | } |
| | | this.handleTableData() |
| | | // this.handleTableData() |
| | | this.getTableLists(); |
| | | this.currentKey = row.index |
| | | this.currentTab = null; |
| | |
| | | handleTableData() { |
| | | this.excelMethodList = [] |
| | | this.widthList = this.tableList[0].style.columnlen; |
| | | // 温度循环检验原始记录--开始 |
| | | if(this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='温度循环检验原始记录'){ |
| | | let ask = this.currentSample.insProduct[0].ask |
| | | let askList = ask.split(';') |
| | | this.numOptions = [] |
| | | for (let i = 1; i <= askList[askList.length-1]; i++) { |
| | | this.numOptions.push({ |
| | | value:i, |
| | | label:i |
| | | }) |
| | | } |
| | | let mySet1 = new Set(); |
| | | askList.forEach((m,i) => { |
| | | if(i<askList.length-1){ |
| | | mySet1.add(m.split(',')[0].replace('℃','')) |
| | | } |
| | | }) |
| | | this.temperatureOptions = [] |
| | | mySet1.forEach(m => { |
| | | this.temperatureOptions.push({ |
| | | value:m, |
| | | label:m |
| | | }) |
| | | }) |
| | | this.wareFormChange() |
| | | } |
| | | // 温度循环检验原始记录---结束 |
| | | this.tableList.forEach(a => { |
| | | let mcList = [] |
| | | a.template.forEach(b => { |
| | |
| | | count++ |
| | | }) |
| | | }) |
| | | // 问题开始 |
| | | this.tableList.forEach(a => { |
| | | let dels = new Set() |
| | | let ids = [] |
| | |
| | | } |
| | | } |
| | | }) |
| | | console.log(5555,a.template) |
| | | // return |
| | | ids.forEach(id => { |
| | | for (let b = 0; b < a.template.length; b++) { |
| | | if (a.template[b].r === id.r) { |
| | |
| | | } |
| | | }) |
| | | }) |
| | | // 问题结束 |
| | | this.tableList.forEach(a => { |
| | | let arrs = [] |
| | | let set = new Set() |
| | |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | } catch (e) {} |
| | | }) |
| | | console.log(this.tableList) |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code) { |
| | |
| | | try { |
| | | if (this.currentSample.insProduct.find(m => m.id == item.i)) { |
| | | let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask?this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'):null; |
| | | console.log(comValue) |
| | | let res = Object.values(comValue)[0] |
| | | let comp = [] |
| | | console.log(res, ask) |
| | | if(res==''||res==null||res==undefined||res=='Infinity'){ |
| | | item.v.v = '' |
| | | }else{ |
| | |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('≥')) { |
| | | console.log(res, eval(res <= m.split('≥')[1])) |
| | | return eval(res) >= eval(m.split('≥')[1]) |
| | | }else if (m.includes('≤')) { |
| | | console.log(res,m.split('≤')[1]) |
| | | return eval(res) <= eval(m.split('≤')[1]) |
| | | }else if (m.includes('<')) { |
| | | return eval(res) < eval(m.split('<')[1]) |
| | |
| | | return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) |
| | | }else if(m.includes('±')){ |
| | | let k = m.split('±') |
| | | console.log(eval(res),eval((k[0] - k[1])),eval(res),eval((k[0] + k[1]))) |
| | | return eval(res) >= eval((k[0] - k[1])) && eval(res) <= eval((k[0] + k[1])) |
| | | }else if(m.includes('>')){ |
| | | return eval(res) > eval(m.split('>')[1]) |