From 67da82f0b0c24df5f19bbfcfec63801d9ae902d8 Mon Sep 17 00:00:00 2001 From: 王震 <10952869+daywangzhen@user.noreply.gitee.com> Date: 星期三, 13 十二月 2023 16:22:05 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/Packaging_ledger/index.vue | 202 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 154 insertions(+), 48 deletions(-) diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue index e740452..d37995d 100644 --- a/src/views/quality/Packaging_ledger/index.vue +++ b/src/views/quality/Packaging_ledger/index.vue @@ -9,10 +9,10 @@ :prelang="prelang" :ajaxFun="ajaxFun" :options="options" - @handleSelectionChange="handleCurrentChange" + @handleSelectionChange="handleSelectionChange" ref="processconfiguration" > - <template #toolbar></template> + <template #toolbar></template> </ttable> </el-col> <el-col :span="13" style="padding-left: 10px"> @@ -41,6 +41,7 @@ </el-col> <el-col :span="2"> <el-button + v-if="!isCheck" style="float: right; padding: 3px 0" type="text" @click="relateOperationParam()" @@ -53,7 +54,7 @@ :data="testStandardParams" id="testStandardParamTable" ref="testStandardParam" - :default-sort="{ prop: 'index' }" + highlight-current-row height="700" style="width: 100%" @@ -62,7 +63,7 @@ stripe > <el-table-column - prop="index" + type ="index" label="搴忓彿" align="center" width="50" @@ -70,44 +71,51 @@ <el-table-column label="浜у搧" prop="product" + show-overflow-tooltip align="center" /> <el-table-column label="浜у搧缂栧彿" prop="productNo" + show-overflow-tooltip + align="center" + > + </el-table-column> + <el-table-column + label="鎵规鍙�" + prop="outBatchNo" + show-overflow-tooltip align="center" > </el-table-column> <el-table-column label="瑙勬牸鍨嬪彿" prop="specs" + show-overflow-tooltip align="center" > </el-table-column> <el-table-column label="鍗曚綅" prop="unit" + show-overflow-tooltip align="center" > </el-table-column> <el-table-column label="鏁伴噺" - prop="parameterFormat" + prop="number" align="center" + show-overflow-tooltip width="80" - > - <template slot-scope="scope"> - <el-input v-model="scope.row.parameterFormat"></el-input> - </template> - </el-table-column> - <el-table-column label="鍗曚綅" prop="unit" align="center" /> + ></el-table-column> <el-table-column fixed="right" label="鎿嶄綔" align="center" width="80"> <template slot-scope="scope"> - <el-button @click="deleteadd(scope.row)" size="small">鍒犻櫎</el-button> + <el-button type="text" @click="deleteadd(scope.row)" icon="el-icon-delete" size="small">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -126,7 +134,33 @@ @handleSelectionChange = "preserve" > </packfromadd> - </basic-container> + </basic-container> + <el-dialog title="鏍囩鍒楄〃" top="5vh" :visible.sync="diaPrintTab" width="500px"> + <div style="width:100%;height: 400px;overflow-y: auto;"> + <div id="qrCard" class="dia_body"> + <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 10px;"> + <el-row> + <el-col :span="10" :offset="3">搴忓彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ i + 1 }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">鍖呰缂栧彿锛�</el-col> + <el-col :span="10" style="font-weight: bold;">{{ item.packageNo }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">鍖呰鍙拌处浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text="JSON.stringify(item)" :size="110" :margin="1"></vueQr> + </el-col> + </el-row> + </el-card> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> + <el-button type="primary" @click="printFun">鎵� 鍗�</el-button> + </span> + </el-dialog> </div> </template> @@ -135,9 +169,16 @@ import ttable from '@/views/common/ztt-table.vue' import packfrom from './pack-from.vue' import packfromadd from './pack-fromadd.vue' +import vueQr from 'vue-qr' +import PrintJS from 'print-js' export default { data(){ return { + qrData:[], + diaPrintTab: false, + multipleSelection: [], + isCheck: false, + dataway:{}, goid:'', testStandardParams: [], packageBoxId:{}, @@ -153,7 +194,7 @@ border: true, // 鏄惁鏈夌旱鍚戣竟妗� lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮� - multiSelect: false, // + multiSelect: true, // isEdit:false, seqNo: true, isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳 @@ -234,20 +275,25 @@ type: 'primary', fun: this.addOrUpdateHandle }, + { + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.printLabel + }, ], operator: [ { + text: '妫�楠�', + icon: 'el-icon-position', + type: 'text', + size: 'small', + fun: this.check + },{ text: '鍒犻櫎', icon: 'el-icon-delete', type: 'text', size: 'small', fun: this.deleteHandle - },{ - text: '妫�楠�', - icon: 'el-icon-delete', - type: 'text', - size: 'small', - fun: this.check } ], operatorConfig: { @@ -260,17 +306,72 @@ } }, components: { - ttable, - packfrom, - packfromadd - }, - watch: { - - }, + ttable, + packfrom, + packfromadd, + vueQr + }, + watch: { + diaPrintTab(newVal){ + if(!newVal){ + this.qrData = [] + } + } + }, methods: { + //鎵撳嵃鎸夐挳 + printFun() { + this.diaPrintTab = false; + PrintJS({ + printable: 'qrCard',//椤甸潰 + type: "html",//鏂囨。绫诲瀷 + maxWidth:450, + targetStyles:['*'], + style: `@page { + margin:0; + padding: 0; + size: 360px 170px; + } + html{ + zoom:100%; + } + @media print{ + width: 360px; + height: 170px; + margin:0; + padding: 0; + }`, + onPrintDialogClose: this.erexcel=false, + targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕� + font_size: '', + }); + }, + handleSelectionChange(val){ + this.multipleSelection = val + let lastRow = val[val.length - 1] + this.handleCurrentChange(lastRow) + }, + printLabel(){ + if(this.multipleSelection.length==0){ + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + return + } + this.diaPrintTab = true + this.multipleSelection.forEach(item=>{ + let obj = { + packageNo: item.packageNo, + contractNo: item.contractNo, + packageBoxId:item.id + } + this.qrData.push(obj) + }) + }, // 鑾峰彇鏁版嵁鍒楄〃 getData() { this.$refs.processconfiguration.refreshData() + }, + wayRenovate(){ + this.getData() }, //add addOrUpdateHandle(){ @@ -280,54 +381,61 @@ deleteHandle(row){ dropById({id:row.id}).then((res) =>{ this.getData() - this.$message.error('鍒犻櫎鎴愬姛') + this.$message.success('鍒犻櫎鎴愬姛') }) }, handleCurrentChange(row){ - console.log(row,"id"); - this.packageBoxId = { - packageBoxId:row[0].id + if(row.state=='宸叉姤妫�'){ + this.isCheck = true } - this.goid = row[0].id - list({packageBoxId:row[0].id}).then((res) =>{ - console.log(res,"nihaoa"); + this.dataway = row + this.packageBoxId = { + packageBoxId:row.id + } + this.goid = row.id + this.rightquery() + }, + rightquery(){ + list({packageBoxId:this.goid}).then((res) =>{ this.testStandardParams = res.data.data }) }, //璇︽儏娣诲姞 relateOperationParam(){ - - this.increase = true - + if (this.dataway.state == "鏈姤妫�") { + this.increase = true + }else{ + this.$message.error('璇峰厛閫夋嫨鍖呰椤圭洰') + } }, preserve(datalist){ - console.log(datalist); this.testStandardParams = datalist - }, //鍙宠竟淇濆瓨 addpreserve(){ - console.log(this.testStandardParams,"淇濆瓨鏁版嵁"); this.testStandardParams.forEach(el => { el.packageBoxId =this.goid }); - console.log(this.testStandardParams,"niaho"); + console.log(this.testStandardParams); + // return saveList(this.testStandardParams).then((res) =>{ - this.$message.success('淇濆瓨鎴愬姛') - this.testStandardParams + if(res.status===200){ + this.$message.success('淇濆瓨鎴愬姛') + this.rightquery() + } + }).catch(error=>{ + console.error(error); }) }, //鍒犻櫎 deleteadd(row){ - console.log(row,""); deledata({id:row.id}).then((res)=>{ this.$message.success('鍒犻櫎鎴愬姛') - this.testStandardParams + this.rightquery() }) }, //瀹℃牳 check(row){ - console.log(row,"瀹℃牳"); let packageBox = { id:row.id, packageNo:row.packageNo, @@ -340,7 +448,5 @@ }) }, }, - computed: { - }, } </script> \ No newline at end of file -- Gitblit v1.9.3