From 63343a3a32cd59a8ce7b8e15a68dd996e28f6ad9 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 08 十月 2024 08:59:37 +0800 Subject: [PATCH] 优化 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 31 ++++++- src/components/view/b1-inspection-order.vue | 152 ++++++++++++++++++++++++++++++++++++- src/view/index.vue | 14 +++ src/assets/api/controller.js | 1 4 files changed, 186 insertions(+), 12 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index b4f103c..59cf00d 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -184,6 +184,7 @@ selectNoProducts: "/insOrder/selectNoProducts", //瀵煎嚭 checkUpdate: "/insOrder/checkUpdate", //鎾ら攢瀹℃牳閫氳繃 checkNumber: "/insOrder/checkNumber", + addNumber: "/insOrder/addNumber", } const sampleOrder = { diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 4bac127..56dc04b 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -266,11 +266,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" + <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="$emit('goback')" v-if="!noBack">杩斿洖</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="handleBack" v-if="!noBack">杩斿洖</el-button> </el-col> </el-row> <div class="search" v-show="!isLook"> @@ -3123,8 +3123,13 @@ }) }, // 澶嶆牳 - upInsReview(e) { - if (e == 1||e==2) { + upInsReview(e,type) { + this.$confirm(`鏄惁${type}?`, "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }).then(() => { + if (e == 1||e==2) { // 缁х画璇曢獙 this.reviewLoading = true; this.$axios.post(this.$api.insOrderPlan.verifyPlan, { @@ -3146,6 +3151,7 @@ // 鍐嶆璇曢獙 this.reviewDia = true; } + }) }, handleReviewDia() { if (this.noReason) { @@ -3632,6 +3638,19 @@ this.currentFile.url = this.javaApi+'/word/'+row.fileUrl } this.lookFileVisible = true + }, + handleBack(){ + if(this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')){ + this.$confirm('璇风‘璁ゅ綋鍓嶆暟鎹槸鍚﹀叏閮ㄤ繚瀛橈紝鏄惁杩斿洖锛�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.$emit('goback') + }) + }else{ + this.$emit('goback') + } } } } diff --git a/src/components/view/b1-inspection-order.vue b/src/components/view/b1-inspection-order.vue index 42658b2..8778c55 100644 --- a/src/components/view/b1-inspection-order.vue +++ b/src/components/view/b1-inspection-order.vue @@ -152,6 +152,19 @@ line-height: 1.5em; /* 琛岄珮 */ height: 3.0em; /* 楂樺害涓鸿楂樼殑涓ゅ�� */ } + .thermal-table{ + min-width: calc(100% - 10px); + margin: 5px 5px 0; + table-layout: fixed; + } + .thermal-table td { + min-width: 70px; + text-align: center; + font-size: 14px; + word-wrap: break-word; + white-space: normal; + padding: 5px; + } </style> <template> @@ -166,7 +179,7 @@ </el-col> </el-row> </div> - <div class="search" :style="`height: ${more?130:80}px;`"> + <div class="search" :style="`height: ${more?150:80}px;`"> <el-row :gutter="10" style="width: 100%;"> <el-col :span="20" style="display: flex;flex-wrap: wrap;"> <div class="search_thing" style="width: 20%;"> @@ -206,6 +219,37 @@ placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </div> + </div> + <div class="search_thing" style="width: 20%;" v-if="more"> + <div class="search_label">绾﹀畾鏃堕棿锛�</div> + <div class="search_input"> + <el-date-picker style="width:100%" v-model="componentData.entity.appointed" + type="date" + size="small" + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" + clearable + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </div> + </div> + <div class="search_thing" style="width: 20%;" v-if="more"> + <div class="search_label" style="width: 130px;">鏍锋満瀹屾垚鏃堕棿锛�</div> + <div class="search_input"> + <el-date-picker style="width:100%" v-model="componentData.entity.issueTime" + type="date" + size="small" + format="yyyy-MM-dd" + value-format="yyyy-MM-dd" + clearable + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> + </div> + </div> + <div class="search_thing" style="width: 20%;" v-if="more"> + <div class="search_label">鐢垫満缂栧彿锛�</div> + <div class="search_input"><el-input size="small" placeholder="璇疯緭鍏�" clearable + v-model="componentData.entity.motorNumber" @keyup.enter.native="refreshTable()"></el-input></div> </div> <div class="search_thing" style="width: 20%;" v-if="more"> <div class="search_label">涓嬪崟浜猴細</div> @@ -375,6 +419,9 @@ <el-row style="margin-top: 1px;font-size: 14px;"> <el-col style="font-weight: bold;"><span>鏍峰搧鍚嶇О: </span>{{ item.sample }}</el-col> </el-row> + <el-row style="margin-top: 1px;font-size: 14px;"> + <el-col style="font-weight: bold;"><span>鐢垫満缂栧彿: </span>{{ item.motorNumber }}</el-col> + </el-row> <el-row style="margin-top: 1px;font-size: 14px;" class="ellipsis-multiline"> <el-col style="font-weight: bold;"><span>妫�娴嬮」鐩�: </span>{{ item.item }}</el-col> </el-row> @@ -421,6 +468,9 @@ <el-row style="font-size: 0.20cm;"> <el-col ><span>鏍峰搧鍚嶇О: </span>{{ item.sample }}</el-col> </el-row> + <el-row style="font-size: 0.20cm;"> + <el-col ><span>鐢垫満缂栧彿: </span>{{ item.motorNumber }}</el-col> + </el-row> <el-row style="font-size: 0.20cm;width: 4cm;"> <el-col class="ellipsis-multiline"><span>妫�娴嬮」鐩�: </span>{{ item.item }}</el-col> </el-row> @@ -443,6 +493,36 @@ </el-card> </div> </div> + <el-dialog title="鏍锋満缂栧彿" :visible.sync="BZDialogVisible" width="60%"> + <div class="body" style="max-height: 60vh;" v-if="BZDialogVisible"> + </div> + <table border="1" class="thermal-table" cellpadding="10"> + <tr> + <td>濮旀墭鍗曞彿</td> + <td>鏍峰搧</td> + <td>鏍峰搧缂栧彿</td> + <td>鏍峰搧鍨嬪彿</td> + <td>鐢垫満缂栧彿</td> + </tr> + <template v-for="(item,index) in BZinfo"> + <tr v-for="(m,i) in item.arr" :key="i"> + <td :rowspan="item.arr.length" v-if="i==0">{{item.name}}</td> + <td>{{ m.sample }}</td> + <td>{{ m.sampleCode }}</td> + <td>{{ m.model }}</td> + <td> + <el-input v-model="m.motorNumber" size="small"></el-input> + </td> + </tr> + </template> + </table> + <span slot="footer" class="dialog-footer"> + <el-row> + <el-button @click="BZDialogVisible=false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitForm3" :loading="upLoad">纭� 瀹�</el-button> + </el-row> + </span> + </el-dialog> </div> </template> @@ -451,6 +531,7 @@ import Add from '../do/b1-ins-order/add.vue' import vueQr from 'vue-qr' import PrintJS from 'print-js' +import { Header } from 'iview'; export default { components: { ValueTable, @@ -499,6 +580,9 @@ name:null, engineering:null, production:null, + appointed:null, + issueTime:null, + motorNumber:null, // orderBy: { // field: '', // order: '' @@ -762,7 +846,9 @@ qrData:[], multipleSelection:[], sonLaboratoryList:[], - currentRole:'' + currentRole:'', + BZinfo:[], + BZDialogVisible:false, } }, watch:{ @@ -794,7 +880,59 @@ let res = await this.$axios.post(this.$api.insOrder.checkNumber,{ ids:selection.map(m=>m.id).join(',') }) - console.log(1111,res) + if(res.data){ + let arr = [] + for(let i in res.data){ + let obj = { + name:i, + arr:res.data[i], + motorNumber:null, + } + arr.push(obj) + } + this.BZinfo = arr + this.BZDialogVisible = true + return true + }else{ + return false + } + }, + submitForm3(){ + let arr = [] + let num = 0; + this.BZinfo.forEach(m=>{ + arr = arr.concat(m.arr) + }) + arr.forEach(m=>{ + if(!m.motorNumber){ + num++ + } + }) + if(num>0){ + return this.$message.warning("璇疯緭鍏ョ數鏈虹紪鍙�") + } + this.upLoad = true + this.$axios.post(this.$api.insOrder.addNumber,{ + insSamples:arr.map(m=>{ + return { + id:m.id, + motorNumber:m.motorNumber + } + }) + },{ + header: { + 'Content-Type': 'application/json;charset=UTF-8', + }, + noQs:true + }).then(res => { + this.upLoad = false; + if(res.code == 200){ + this.BZDialogVisible = false + this.getLabelPrinting(this.multipleSelection) + this.printDialogVisible = true + this.refreshTable() + } + }) }, getLabelPrinting(selection){ this.loadPint = true; @@ -874,9 +1012,11 @@ return } let selection = this.multipleSelection - await this.searchPrint(selection) - this.getLabelPrinting(selection) - this.printDialogVisible = true + let isAdd = await this.searchPrint(selection) + if(!isAdd){ + this.getLabelPrinting(selection) + this.printDialogVisible = true + } }, getAuthorizedPerson() { this.$axios.get(this.$api.user.getUserMenu).then(res => { diff --git a/src/view/index.vue b/src/view/index.vue index d8bc62c..a034044 100644 --- a/src/view/index.vue +++ b/src/view/index.vue @@ -505,6 +505,20 @@ this.saveClick() }, removeTab(index) { + console.log(3333,this.$refs[`com-${this.tabs[index].k}`],this.tabs[index]) + let obj = this.$refs[`com-${this.tabs[index].k}`][0] + if(obj.state&&obj.state==1&&this.tabs[index].v=='妫�楠屼换鍔�'&&(obj.version===0||obj.version===1)){ + this.$confirm('璇风‘璁ゅ綋鍓嶆暟鎹槸鍚﹀叏閮ㄤ繚瀛橈紝鏄惁鍏抽棴褰撳墠椤甸潰锛�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + this.tabs.splice(index, 1); + let data = this.tabs[this.tabs.length - 1] + this.upTabActive(data.k) + }) + return + } this.tabs.splice(index, 1); let data = this.tabs[this.tabs.length - 1] this.upTabActive(data.k) -- Gitblit v1.9.3