From a0b1fdec2bc5ddad11e981936b80d0fdf1e4bc69 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 03 七月 2024 09:25:06 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-inspect-order-plan/Inspection.vue | 411 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 335 insertions(+), 76 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 09e8c64..3acbdfe 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -143,6 +143,10 @@ >>>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 { @@ -204,15 +208,15 @@ <template> <div v-loading="loading" class="inspection"> <el-row class="title"> - <el-col :span="12" style="padding-left: 20px;">妫�楠屽崟璇︽儏 - <span style="color: #3A7BFA;"> 鏍峰搧</span> + <el-col :span="12" style="padding-left: 20px;text-align: left;">妫�楠屽崟璇︽儏 + <!-- <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" @@ -253,13 +257,38 @@ </el-form> </div> <div class="center"> - <div class="search"> - <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> + <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px"> + <el-form-item label="娓╁害:" style="margin-bottom: 0;"> + <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 70px;" @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: 70px;" @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"> @@ -272,7 +301,7 @@ <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��' && state==1"> <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent> + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> </el-input> @@ -364,6 +393,142 @@ </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"> + <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%;"> + <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%;margin-bottom: 30px;" align="center"> + <el-table-column + label="搴忓彿" + type="index" + width="65" + > + </el-table-column> + <el-table-column + prop="date" + label="绠¤壊鏍�" + width="150"> + </el-table-column> + <el-table-column + prop="name" + label="鍏夌氦甯︾紪鍙�" + width="180"> + </el-table-column> + <el-table-column + prop="province" + label="鍏夌氦鑹叉爣" + width="150"> + </el-table-column> + <el-table-column + prop="city" + label="澶栫" + width="150"> + <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="150"> + <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="骞冲潎鍊�" + min-width="150"> + </el-table-column> + <el-table-column + prop="zip" + label="琛板噺宸�" + min-width="150"> + </el-table-column> + <el-table-column + prop="zip" + label="妫�娴嬩汉" + min-width="150"> + </el-table-column> + </el-table> </div> <el-upload :action="action" :data="{ @@ -610,7 +775,21 @@ currentFiberOptic:null,//褰撳墠鍏夌氦 currentBushing:null,//褰撳墠濂楃 tableLoading:false, - upLoading:false + upLoading:false, + temptList:null, + fiber:[], + fibers:[], + currentTab:null, + wareForm:{}, + numOptions:[], + temperatureOptions:[], + wareTableData:[ + {} + ], + otherForm:{ + humidity:null, + temperature:null, + } } }, computed: { @@ -657,8 +836,17 @@ } 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: [], @@ -669,9 +857,9 @@ insResult: null } }) + 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; @@ -683,6 +871,7 @@ this.currentFiberOptic = null; this.bushing = [] this.currentBushing = null; + this.currentTab = null; if(bushing&&bushing.length>0){ this.bushing = bushing } @@ -698,9 +887,27 @@ } }) } - } + }, }, methods: { + 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 @@ -804,14 +1011,43 @@ 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.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; @@ -956,6 +1192,7 @@ count++ }) }) + // 闂寮�濮� this.tableList.forEach(a => { let dels = new Set() let ids = [] @@ -1012,6 +1249,8 @@ } } }) + 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) { @@ -1046,6 +1285,7 @@ } }) }) + // 闂缁撴潫 this.tableList.forEach(a => { let arrs = [] let set = new Set() @@ -1200,50 +1440,59 @@ }) }) 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; let res = Object.values(comValue)[0] let comp = [] - if(ask){ - comp = ask.map((m, i) => { - if (m.includes('=')) { - let str = m.split('=')[1] - if(typeof res == 'string'&&typeof str == 'string'){ - return res.trim() == str.trim() - }else{ - return res == str - } - } else if (m.includes('鈮�')) { - return res >= m.split('鈮�')[1] - }else if (m.includes('鈮�')) { - return res <= m.split('鈮�')[1] - }else if (m.includes('<')) { - return res < m.split('<')[1] - }else if (m.includes('>')) { - return res > m.split('>')[1] - }else if (m.includes('~')) { - let k = m.split('~') - return res >= k[0] && res <= k[1] - }else if(m.includes('-')){ - let k = m.split('-') - return res >= k[0] && res <= k[1] - }else if(m.includes('卤')){ - let k = m.split('卤') - return res >= (k[0] - k[1]) && res <= (k[0] + k[1]) - }else if(m.includes('锛�')){ - return res > m.split('锛�')[1] - }else if(m.includes('锛�')){ - return res < m.split('锛�')[1] + if(res==''||res==null||res==undefined||res=='Infinity'){ + item.v.v = '' + }else{ + if(ask){ + comp = ask.map((m, i) => { + if (m.includes('=')) { + let str = m.split('=')[1] + if(typeof res == 'string'&&typeof str == 'string'){ + return res.trim() == str.trim() + }else{ + return eval(res) == eval(str) + } + } else if (m.includes('鈮�')) { + return eval(res) >= eval(m.split('鈮�')[1]) + }else if (m.includes('鈮�')) { + return eval(res) <= eval(m.split('鈮�')[1]) + }else if (m.includes('<')) { + return eval(res) < eval(m.split('<')[1]) + }else if (m.includes('>')) { + return eval(res) > eval(m.split('>')[1]) + }else if (m.includes('~')) { + let k = m.split('~') + return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) + }else if(m.includes('-')){ + let k = m.split('-') + return eval(res) >= eval(k[0]) && eval(res) <= eval(k[1]) + }else if(m.includes('卤')){ + let k = m.split('卤') + 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]) + }else if(m.includes('锛�')){ + return eval(res) < eval(m.split('锛�')[1]) + } + }) } - }) - } - if (comp.every(m => m)) { - item.v.v = 1 - } else { - item.v.v = 0 + if (comp.every(m => m)) { + item.v.v = 1 + } else { + item.v.v = 0 + } } this.saveInsContext() } + } catch (error) { + + } + } else { let comResult = '' try { @@ -1350,26 +1599,34 @@ // } // 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) { @@ -1684,15 +1941,17 @@ 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) { -- Gitblit v1.9.3