| | |
| | | >>>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 { |
| | |
| | | <div v-loading="loading" class="inspection"> |
| | | <el-row class="title"> |
| | | <el-col :span="12" style="padding-left: 20px;text-align: left;">检验单详情 |
| | | <span style="color: #3A7BFA;"> 样品</span> |
| | | <!-- <span style="color: #3A7BFA;"> 样品</span> |
| | | <span v-if="currentFiberOpticTape" style="color: #3A7BFA;"> - 光纤带</span> |
| | | <span v-if="currentFiberOptic" style="color: #3A7BFA;"> - 光纤</span> |
| | | <span v-if="currentFiberOptic" style="color: #3A7BFA;"> - 光纤</span> --> |
| | | </el-col> |
| | | <el-col :span="12" style="text-align: right;"> |
| | | <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button> |
| | | <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">光纤切换</el-button> |
| | | <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">光纤带切换</el-button> |
| | | <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> |
| | | <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">套管切换</el-button> --> |
| | | <el-button size="small" type="primary" @click="sampleVisible=true">样品切换</el-button> |
| | | <el-button size="small" type="primary" @click="taskVisible=true">任务切换</el-button> |
| | | <el-button size="small" type="primary" @click="addVerifyDia = true" v-show="state==1" |
| | |
| | | </el-form> |
| | | </div> |
| | | <div class="center"> |
| | | <div class="search" style="text-align: left;"> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | | <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;"> |
| | | <div style="display: flex;align-items: center;"> |
| | | <span v-if="tableList.length>0">检验模板:</span> |
| | | <el-radio-group v-model="currentTable" size="small"> |
| | | <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index" |
| | | size="small">{{ item.templateName }}</el-radio-button> |
| | | </el-radio-group> |
| | | </div> |
| | | <div> |
| | | <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" |
| | | size="small">{{ item.code }}</el-radio-button> |
| | | </el-radio-group> |
| | | <span v-if="fiber.length>0"> 光纤:</span> |
| | | <el-radio-group v-model="currentTab" size="small" v-if="fiber.length>0" @input="m=>handleChange(m,2)"> |
| | | <el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index" |
| | | size="small">{{ item.color }}</el-radio-button> |
| | | </el-radio-group> |
| | | </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> |
| | | <h4 style="margin-bottom: 20px;">温度循环检验原始记录</h4> |
| | | <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px"> |
| | | <el-form-item label="型号:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm.entrustCode" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="试验方法:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm.sampleCode" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="检测依据:" style="margin-bottom: 0;"> |
| | | <el-input clearable v-model="wareForm.sample" disabled size="small" placeholder=""></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="循环次数:" style="margin-bottom: 0;"> |
| | | <el-select v-model="wareForm.value" placeholder="请选择" size="small"> |
| | | <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.value" placeholder="请选择" size="small"> |
| | | <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="wareForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;margin-bottom: 20px;"> |
| | | <el-form-item label="仪器名称:"> |
| | | <el-select v-model="wareForm.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="wareForm.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="wareForm.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="wareForm.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%"> |
| | | <el-table-column |
| | | fixed |
| | | prop="date" |
| | | label="管色标" |
| | | width="150"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="name" |
| | | label="光纤带编号" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="province" |
| | | label="光纤色标" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="city" |
| | | label="外端" |
| | | width="120"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="address" |
| | | label="内端" |
| | | width="300"> |
| | | <template slot-scope="scope"> |
| | | <el-input size="small" v-model="scope.row.input" placeholder="请输入内容"></el-input> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="zip" |
| | | label="平均值" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="zip" |
| | | label="衰减查" |
| | | width="120"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="zip" |
| | | label="检测人" |
| | | width="120"> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-upload :action="action" |
| | | :data="{ |
| | |
| | | currentFiberOptic:null,//当前光纤 |
| | | currentBushing:null,//当前套管 |
| | | tableLoading:false, |
| | | upLoading:false |
| | | upLoading:false, |
| | | temptList:null, |
| | | fiber:[], |
| | | fibers:[], |
| | | currentTab:null, |
| | | wareForm:{}, |
| | | numOptions:[], |
| | | temperatureOptions:[], |
| | | wareTableData:[ |
| | | {} |
| | | ] |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getReportModel(this.currentSample.id) |
| | | if (this.currentSample.index == undefined) this.currentSample['index'] = 1 |
| | | let bushing = this.currentSample.bushing |
| | | // this.handleTableData() |
| | |
| | | this.currentFiberOptic = null; |
| | | this.bushing = [] |
| | | this.currentBushing = null; |
| | | this.currentTab = null; |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | } |
| | |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | getPower(){ |
| | |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getReportModel(row.id) |
| | | let bushing = this.currentSample.bushing |
| | | if(bushing&&bushing.length>0){ |
| | | this.bushing = bushing |
| | | this.bushing.forEach(a => {}) |
| | | } |
| | | // this.handleTableData() |
| | | this.handleTableData() |
| | | this.getTableLists(); |
| | | this.currentKey = row.index |
| | | this.currentTab = null; |
| | | }, |
| | | getReportModel(id){ |
| | | this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => { |
| | | this.fibers = res.data['光纤带'] |
| | | this.fiber = res.data['光纤'] |
| | | }) |
| | | }, |
| | | async handleChange(m,type){ |
| | | if(m){ |
| | | let list = await this.getCurrentProduct(m,type) |
| | | if(list.length>0){ |
| | | list.forEach(a => { |
| | | this.param[a.id] = { |
| | | insValue: [], |
| | | comValue: [], |
| | | resValue: null, |
| | | equipValue: [], |
| | | equipName: [], |
| | | insResult: null |
| | | } |
| | | }) |
| | | this.getTableLists0(list) |
| | | }else{ |
| | | this.tableLists = [] |
| | | this.tableList = [] |
| | | this.$message.error('检验项为空') |
| | | } |
| | | } |
| | | }, |
| | | handleChangeTask(row) { |
| | | if (row.length > 0) this.id = row[0].id; |
| | |
| | | this.param[a.id].insResult.v.v = a.insResult |
| | | } catch (e) {} |
| | | }) |
| | | console.log(this.tableList) |
| | | this.handleExcelMethod() |
| | | }, |
| | | changeInput(m, code) { |
| | |
| | | }) |
| | | }) |
| | | if (item.v.ps != undefined && item.v.ps.value == '结论') { |
| | | if (this.currentSample.insProduct.find(m => m.id == item.i)) { |
| | | 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{ |
| | |
| | | if (m.includes('=')) { |
| | | let str = m.split('=')[1] |
| | | if(typeof res == 'string'&&typeof str == 'string'){ |
| | | return res.trim() == str.trim() |
| | | return res.trim() == str.trim() |
| | | }else{ |
| | | return res == str |
| | | return eval(res) == eval(str) |
| | | } |
| | | } else if (m.includes('≥')) { |
| | | return res >= m.split('≥')[1] |
| | | console.log(res, eval(res <= m.split('≥')[1])) |
| | | return eval(res) >= eval(m.split('≥')[1]) |
| | | }else if (m.includes('≤')) { |
| | | return res <= m.split('≤')[1] |
| | | console.log(res,m.split('≤')[1]) |
| | | return eval(res) <= eval(m.split('≤')[1]) |
| | | }else if (m.includes('<')) { |
| | | return res < m.split('<')[1] |
| | | return eval(res) < eval(m.split('<')[1]) |
| | | }else if (m.includes('>')) { |
| | | return res > m.split('>')[1] |
| | | return eval(res) > eval(m.split('>')[1]) |
| | | }else if (m.includes('~')) { |
| | | let k = m.split('~') |
| | | return res >= k[0] && res <= k[1] |
| | | return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) |
| | | }else if(m.includes('-')){ |
| | | let k = m.split('-') |
| | | return res >= k[0] && res <= k[1] |
| | | return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) |
| | | }else if(m.includes('±')){ |
| | | let k = m.split('±') |
| | | return res >= (k[0] - k[1]) && res <= (k[0] + k[1]) |
| | | 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 res > m.split('>')[1] |
| | | return eval(res) > eval(m.split('>')[1]) |
| | | }else if(m.includes('<')){ |
| | | return res < m.split('<')[1] |
| | | return eval(res) < eval(m.split('<')[1]) |
| | | } |
| | | }) |
| | | } |
| | |
| | | } |
| | | this.saveInsContext() |
| | | } |
| | | } catch (error) { |
| | | |
| | | } |
| | | |
| | | } else { |
| | | let comResult = '' |
| | | try { |
| | |
| | | // } |
| | | // break; |
| | | // } |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult !== '') { |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | try{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | }catch(e){ |
| | | a[b].v.v = comResult |
| | | try { |
| | | list.forEach(a => { |
| | | if (a[0].r == item.r && comResult !== '') { |
| | | for (var b in a) { |
| | | if (a[b].c == item.c) { |
| | | try{ |
| | | let val = parseFloat(comResult.toFixed(3)) |
| | | a[b].v.v = isNaN(val) ? '' : val |
| | | }catch(e){ |
| | | a[b].v.v = comResult |
| | | } |
| | | break |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //改变最终值 |
| | | }) |
| | | this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //改变最终值 |
| | | } catch (error) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | this.getCurrentInsProduct(pId) |
| | | try { |
| | | this.getCurrentInsProduct(pId) |
| | | } catch (error) { |
| | | |
| | | } |
| | | }, |
| | | getCurrentInsProduct(pId) { |
| | | if (!this.tableList[0].insProductResult) { |
| | |
| | | return |
| | | }, |
| | | saveInsContext() { |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('保存失败') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | if(this.param){ |
| | | this.$axios.post(this.$api.insOrderPlan.saveInsContext, { |
| | | param: JSON.stringify(this.param) |
| | | }).then(res => { |
| | | if (res.code == 201) { |
| | | this.$message.error('保存失败') |
| | | return |
| | | } |
| | | this.$message.success('已保存') |
| | | }) |
| | | } |
| | | }, |
| | | changeEquip(val, n) { |
| | | for (let i in this.equipOptions) { |