From a28a7e0dc8992c39004ad0b34d2624390024f3af Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期六, 14 九月 2024 15:41:19 +0800 Subject: [PATCH] 新增扫码报检、查看记录列表功能 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 155 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 92 insertions(+), 63 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 7b94796..0729ec1 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -185,6 +185,9 @@ display: flex; align-items: center; } + .noShow{ + opacity: 0; + } </style> <style> .inspection .el-form-item__label { @@ -254,7 +257,7 @@ <template> <div v-loading="loading" class="inspection"> <el-row class="title"> - <el-col :span="12" style="padding-left: 20px;text-align: left;" >妫�楠屽崟璇︽儏 + <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="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> @@ -266,7 +269,7 @@ v-if="state>1&&!isLook">缁х画璇曢獙</el-button> <el-button size="small" @click="upInsReview(0)" v-if="state>1&&!isLook" type="danger">鍐嶆璇曢獙</el-button> <el-button size="small" @click="upInsReview(2)" v-if="state>1&&!isLook">缁撴潫璇曢獙</el-button> - <el-button size="small" @click="$emit('goback')">杩斿洖</el-button> + <el-button size="small" @click="$emit('goback')" v-if="!noBack">杩斿洖</el-button> </el-col> </el-row> <div class="search" v-show="!isLook"> @@ -320,47 +323,24 @@ </el-radio-group> --> </div> <div style="display: flex;align-items: center;"> - <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'"> 濂楃锛�</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> - <el-option - v-for="item in casing" - :key="item.id" - :label="item.color" - :value="item.id"> - <span style="float: left">{{ item.color}}</span> - <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> - </el-option> - </el-select> - <span v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦甯︼細</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> - <el-option - v-for="item in fibers" - :key="item.value" - :label="item.code" - :value="item.id"> - <span style="float: left">{{ item.code}}</span> - <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> - </el-option> - </el-select> - <span v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦锛�</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> - <el-option - v-for="item in fiber" - :label="item.bushColor+'-'+item.color" - :key="item.id" - :value="item.id"> - <span style="float: left">{{ item.bushColor+'-'+item.color }}</span> - <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> - </el-option> - </el-select> + <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'"> + <el-form-item label="娓╁害:" style="margin-bottom: 0;"> + <el-input v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @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 v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> + <span style="margin-left: 4px;">%</span> + </el-form-item> + </el-form> <el-button type="primary" size="small" v-if="(isGet||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button> </div> - <div class="history-btn" v-if="isLook"> + <!-- <div class="history-btn" v-if="isLook"> <el-button type="primary" icon="el-icon-arrow-left" size="small" @click="goHistory(-1)">涓婁竴鏉¤褰�</el-button> <span style="font-size: 14px;margin: 0 10px;">褰撳墠绗瑊{num}}鏉�</span> <el-button type="primary" size="small" @click="goHistory(1)">涓嬩竴鏉¤褰�<i class="el-icon-arrow-right el-icon--right"></i></el-button> - </div> + </div> --> </div> <!-- 甯歌妫�楠屽師濮嬭褰� --> <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙'))"> @@ -746,7 +726,7 @@ :delUrl="$api.insOrderPlan.delfile" :key="upIndex" style="height: 100%;margin-top: 16px;"/> </div> - <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" :size="500"> + <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" :size="500" :modal="!noBack"> <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName" :current-row-key="currentKey" :row-key="record=>record.index" v-if="sampleVisible"> @@ -856,6 +836,25 @@ <el-button type="primary" :loading="versionLoading" @click="saveVersion">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog title="璇曢獙淇℃伅" :visible.sync="experimentDia" width="400px"> + <div class="body" style="display: flex;padding: 10px;align-items: center;"> + <div class="search_label" style="width: 150px;"><span class="required-span">*</span>瀹為獙闃舵</div> + <div class="search_input" style="width: 100%;"> + <el-input clearable v-model="experimentInfo.term" size="small" placeholder=""></el-input> + </div> + </div> + <div class="body" style="display: flex;padding: 10px;align-items: center;"> + <div class="search_label" style="width: 150px;"><span class="required-span">*</span>瀹為獙鎿嶄綔</div> + <div class="search_input" style="width: 100%;"> + <el-input clearable v-model="experimentInfo.note" size="small" placeholder="" type="textarea" + :rows="2"></el-input> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="experimentDia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submit0">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -867,7 +866,7 @@ import CircuitParameters1 from './circuit-parameters1.vue' import CircuitParameters2 from './circuit-parameters2.vue' export default { - props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1'], + props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack'], components: { ValueTable, Circuit, @@ -876,6 +875,11 @@ }, data() { return { + experimentDia:false, + experimentInfo:{ + note:'', + term:'' + }, currentNum:0, versionLoading:false, versionDialogVisible:false, @@ -965,7 +969,6 @@ }, upIndex: 0, changeType:null, - getReportModelLoading:false, insOrder: {}, sampleProduct: [], typeList: [], @@ -1047,7 +1050,11 @@ changeType:null, getDataTypeId:'', getDataType:null, - num:0 + num:0, + otherForm:{ + temperature:'', + humidity:'' + } } }, // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭� @@ -1101,6 +1108,14 @@ 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) @@ -1121,7 +1136,6 @@ } }) this.determineWhetherToCollectData()//鏄惁闇�瑕佹暟閲� - this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� if (this.currentSample.index == undefined) this.currentSample['index'] = 1 let bushing = this.currentSample.bushing this.getTableLists();//澶勭悊妯℃澘鍒楄〃淇℃伅 @@ -1171,7 +1185,6 @@ } } }) - this.getReportModel(this.currentSample.id)//鑾峰彇濂楃銆佸厜绾ゅ甫銆佸厜绾や俊鎭� // 鍘婚噸妯℃澘锛岃繑鍥炴湁鍑犱釜妯℃澘 const mySet1 = new Set(); this.tableLists = this.currentSample.insProduct.filter(m => { @@ -2037,6 +2050,25 @@ this.saveInsContext() }, // 鐑惊鐜�---缁撴潫 + // 淇濆瓨婀垮害銆佹俯搴︽暟鎹� + 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')) @@ -2117,8 +2149,6 @@ } } }) - // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 - this.getReportModel(row.id) let bushing = this.currentSample.bushing if(bushing&&bushing.length>0){ this.bushing = bushing @@ -2147,19 +2177,6 @@ return true } }, - // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 - getReportModel(id){ - if(this.PROJECT!='妫�娴嬩腑蹇�'){ - return - } - this.getReportModelLoading = true - this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => { - this.getReportModelLoading = false - this.fibers = res.data['鍏夌氦甯�'] - this.fiber = res.data['鍏夌氦'] - this.casing = res.data['濂楃'] - }) - }, // 濂楃,鍏夌氦甯�,鍏夌氦绛夊垏鎹�,瀵瑰簲鍘熷璁板綍妯℃澘涔熻鍒囨崲 async handleChange(m,type){ this.changeType = type @@ -2181,8 +2198,6 @@ }) // 椤甸潰鍒楄〃鏁版嵁澶勭悊 this.getTableLists0(list) - // 鑾峰彇濂楃,鍏夌氦甯�,鍏夌氦鏁版嵁 - this.getReportModel(this.currentSample.id) // 鍚戝绾跨▼淇濆瓨鏁版嵁 this.worker.postMessage(JSON.stringify({ type: 'saveData', @@ -3136,13 +3151,25 @@ this.$message.error('鏈緭鍏ヤ笉閫氳繃鍘熷洜') } }, - handleSubmit(){ + submit0(){ + if(!this.experimentInfo.term){ + this.$message.error('璇疯緭鍏ュ疄楠岄樁娈�') + return + } + if(!this.experimentInfo.note){ + this.$message.error('璇疯緭鍏ュ疄楠屾搷浣�') + return + } + this.experimentDia = false if(this.insOrder.orderType=='C'){ this.verifyUser = this.insOrder.prepareUserId this.submit() }else{ this.addVerifyDia = true } + }, + handleSubmit(){ + this.experimentDia = true }, submit() { if (this.verifyUser === null || this.verifyUser === '') { @@ -3161,7 +3188,8 @@ orderId: this.orderId, laboratory: this.sonLaboratory, verifyUser: this.verifyUser, - entrustCode: this.insOrder.entrustCode + entrustCode: this.insOrder.entrustCode, + ...this.experimentInfo }).then(res => { if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛") @@ -3193,7 +3221,8 @@ this.$axios.post(this.$api.insOrderPlan.submitPlan, { orderId: this.orderId, laboratory: this.sonLaboratory, - verifyUser: this.verifyUser + verifyUser: this.verifyUser, + ...this.experimentInfo }).then( res => { if (res.code === 200) { this.submitLoading = false; -- Gitblit v1.9.3