From 5c8aaba66c16b1a143fdec27e29ad36eaefd1e3a Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 31 十二月 2024 14:33:25 +0800 Subject: [PATCH] 无源器件检验开发 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 115 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 82 insertions(+), 33 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 32ee71d..54e89e4 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -259,8 +259,8 @@ <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;display: flex;align-items: center;justify-content: end;margin-top: 16px;"> - <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;height: 60px;"> + <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('鐢佃矾璇曢獙')&&insOrder.sampleType!='鏃犳簮鍣ㄤ欢'">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</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"> @@ -277,10 +277,11 @@ <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1" :loading="submitLoading">鎻愪氦</el-button> <!-- 澶嶆牳 --> - <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading" - v-if="state>1&&!isLook">缁х画璇曢獙</el-button> + <!-- <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading" + 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="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">姝ゅ鎵樺崟缁撴潫</el-button> --> + <el-button size="small" type="primary" @click="upInsReviewDia=true" v-if="state>1&&!isLook">澶嶆牳</el-button> <el-button size="small" @click="handleBack" v-if="!noBack">杩斿洖</el-button> </el-col> </el-row> @@ -737,8 +738,12 @@ <!-- 鐢佃矾璇曢獙 --> <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" 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> + <!-- 鏃犳簮鍣ㄤ欢 --> + <CircuitParameters3 v-if="this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢' " :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters3> </div> <!-- 娓╂箍搴﹁瘯楠� --> <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╂箍搴﹁瘯楠�')"> @@ -756,10 +761,11 @@ }" v-if="state==1&&fileAdd" :on-success="handleSuccessUp" :show-file-list="false" - accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :on-change="beforeUpload" + accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :before-upload="beforeUpload" style="width: 80px !important;" :on-error="onError" ref='upload'> <el-button size="small" type="primary" v-if="state==1">闄勪欢涓婁紶</el-button></el-upload> + <!-- <span v-if="sonLaboratory === '杩滃満'||sonLaboratory === '杩戝満'" style="color: red;font-size: 12px;">杈愬皠璇曢獙灏介噺涓婁紶璁惧瀵煎嚭鐨刢sv鏂囦欢锛屼笉鐒惰Е鍙戜笉浜嗘姤鍛婄敓鎴�</span> --> <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" :componentData="componentData0" :delUrl="$api.insOrderPlan.delfile" @@ -800,7 +806,7 @@ </el-drawer> <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px"> <div class="body" style="display: flex;padding: 10px;" v-if="reviewDia"> - <div class="search_label" style="width: 150px;"><span class="required-span">* </span>涓嶉�氳繃鐨勭悊鐢憋細</div> + <div class="search_label" style="width: 150px;"><span class="required-span">* </span>鍐嶆璇曢獙鐨勭悊鐢憋細</div> <div class="search_input" style="width: 100%;"> <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 4}"></el-input> </div> @@ -940,6 +946,18 @@ <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog title="澶嶆牳" :visible.sync="upInsReviewDia" width="400px"> + <el-radio-group v-model="upInsReviewType" style="display: flex;flex-direction: column"> + <el-radio :label="1" style="margin: 10px 0; ">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio> + <el-radio :label="0" style="margin: 10px 0; ">鍐嶆妫�楠岃鏍峰搧</el-radio> + <el-radio :label="2" style="margin: 10px 0; ">姝ゅ鎵樺崟缁撴潫</el-radio> + <p style="font-size: 12px;color:red">鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑�</p> + </el-radio-group> + <span slot="footer" class="dialog-footer"> + <el-button @click="upInsReviewDia = false">鍙� 娑�</el-button> + <el-button type="primary" @click="upInsReview" :loading="reviewLoading">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -949,6 +967,7 @@ import excelFunction from '../../../util/excelFountion' import CircuitParameters1 from './circuit-parameters1.vue' import CircuitParameters2 from './circuit-parameters2.vue' + import CircuitParameters3 from './circuit-parameters3.vue' import Humidity from './humidity.vue' import PowerCapacity from './power-capacity.vue' import filePreview from '../../tool/file-preview.vue' @@ -958,6 +977,7 @@ ValueTable, CircuitParameters1, CircuitParameters2, + CircuitParameters3, filePreview, Humidity, PowerCapacity, @@ -967,6 +987,8 @@ lookFileVisible:false,//棰勮鏂囦欢 experimentDia:false, experimentDia0:false, + upInsReviewDia:false, + upInsReviewType:1, experimentInfo:{ note:'', term:'' @@ -1190,7 +1212,6 @@ this.scrollInit() this.getPower() this.startWorker() - this.selectInsProductTemplate() }, watch: { // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭� @@ -1204,6 +1225,7 @@ this.componentData0.entity.insSampleId = val; this.componentData0.entity.insOrderId = this.orderId0; this.$refs.fileList.selectList() + this.selectInsProductTemplate() this.urgentList.forEach(m => { if (m.value == this.insOrder.type) { this.insOrder.typeName = m.label @@ -2429,7 +2451,7 @@ this.tableList = null; this.tableList = [this.tableLists[0]] this.currentTable = this.tableLists[0].templateId; - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')&&this.currentTableState!=0&&this.currentTableState!=1){ + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')&&this.currentTableState!=0&&this.currentTableState!=1&&this.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){ this.versionDialogVisible = true } // 澶勭悊椤甸潰鍒楄〃鏁版嵁 @@ -3224,23 +3246,19 @@ }) }, // 澶嶆牳 - upInsReview(e,type) { - this.$confirm(type=='缁撴潫璇曢獙'?'纭缁撴潫璇曢獙锛熺‘瀹氬悗姝ゅ鎵樺崟鍋滄璇曢獙锛屽苟涓旀棤娉曞啀娆℃楠岋紒':`鏄惁${type}?`, "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }).then(() => { - if (e == 1||e==2) { + upInsReview() { + if (this.upInsReviewType == 1||this.upInsReviewType==2) { // 缁х画璇曢獙 this.reviewLoading = true; this.$axios.post(this.$api.insOrderPlan.verifyPlan, { sampleId: this.orderId, - type: e, + type: this.upInsReviewType, laboratory: this.sonLaboratory, tell: null }).then(res => { if (res.code === 200) { this.$message.success("鎿嶄綔鎴愬姛") + this.upInsReviewDia = false; this.$emit('goback') } this.reviewLoading = false; @@ -3252,7 +3270,6 @@ // 鍐嶆璇曢獙 this.reviewDia = true; } - }) }, handleReviewDia() { if (this.noReason) { @@ -3308,7 +3325,7 @@ this.addVerifyDia = true } }, - handleSubmit(){ + async handleSubmit(){ if(!this.otherForm.temperature){ this.$message.error('璇疯緭鍏ユ俯搴�') return @@ -3316,6 +3333,13 @@ if(!this.otherForm.humidity){ this.$message.error('璇疯緭鍏ユ箍搴�') return + } + this.loading = true + if(this.sonLaboratory === '鐢佃矾璇曢獙'&&!(await this.$refs.CircuitParameters.saveAll())){ + this.loading = false + return + }else{ + this.loading = false } this.experimentDia = true this.newUserInfo = [] @@ -3706,22 +3730,39 @@ let list = await this.getCurrentProduct(this.currentFiberOptic.id,2) this.getTableLists0(list) }, - handleSuccessUp(response, ) { + async handleSuccessUp(response, ) { this.upLoading = false; if (response.code == 200) { this.$message.success('涓婁紶鎴愬姛'); this.$refs.fileList.selectList() + if(this.sonLaboratory === '鐢佃矾璇曢獙'){ + // // 鐢佃矾璇曢獙鏁伴噰 + // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」 + let list = await this.getCurrentProduct(this.currentSample.id,0) + this.currentSample.insProduct = this.HaveJson(list) + this.currentNum++ + } + }else { + this.$message.error(response.message); } }, beforeUpload(file) { - if (file.size > 1024 * 1024 * 10) { - this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); - this.$refs.upload.clearFiles() - return false; - } else { - this.upLoading = true; - return true; - } + if(this.sonLaboratory === '鐢佃矾璇曢獙'&&(file.name.includes('浜よ皟')||file.name.includes('浜掕皟'))&&!this.$refs.CircuitParameters.allBandList.find(m=>m.band)){ + this.$message.error('涓婁紶闄勪欢鍓嶈鍏堝~鍐欏苟淇濆瓨棰戞'); + return false + }else{ + // if(file.name.includes('浜よ皟')||file.name.includes('浜掕皟')){ + // this.$refs.CircuitParameters.saveAll() + // } + if (file.size > 1024 * 1024 * 10) { + this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M'); + this.$refs.upload.clearFiles() + return false; + } else { + this.upLoading = true; + return true; + } + } }, onError(err, file, fileList) { this.$message.error('涓婁紶澶辫触') @@ -3819,8 +3860,14 @@ confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' - }).then(() => { - this.$emit('goback') + }).then(async () => { + this.loading = true + if(await this.$refs.CircuitParameters.saveAll()){ + this.$emit('goback') + this.loading = false + }else{ + this.loading = false + } }) }else{ this.$emit('goback') @@ -3830,7 +3877,9 @@ } }, selectInsProductTemplate(){ - this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate).then(res => { + this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate,{ + version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:'' + }).then(res => { if (res.code == 201) return this.templates = res.data }) @@ -3840,7 +3889,7 @@ 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){ + if(this.currentTableState!=res.data.version&&this.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){ this.$message.error('鐢佃皟/闈炵數璋冩ā鏉跨増鏈笉涓�鑷达紝璇烽噸鏂伴�夋嫨') this.template = null return @@ -3882,7 +3931,7 @@ this.templateLoading = true; this.$axios.post(this.$api.insProductTemplate.addInsProductTemplate, { name: this.templateName, - version:this.currentTableState, + version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:this.currentTableState, message:JSON.stringify(obj) }, { headers: { -- Gitblit v1.9.3