From 95cafbee8f05dc6fbc6256c5cd84bcfe3621107f Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期四, 07 十二月 2023 17:30:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/quality/Packaging_ledger/index.vue | 137 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 115 insertions(+), 22 deletions(-) diff --git a/src/views/quality/Packaging_ledger/index.vue b/src/views/quality/Packaging_ledger/index.vue index 0b27c4a..542ea79 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" - @currentChange="handleCurrentChange" + @handleSelectionChange="handleSelectionChange" ref="processconfiguration" > - <template #toolbar></template> + <template #toolbar></template> </ttable> </el-col> <el-col :span="13" style="padding-left: 10px"> @@ -101,7 +101,6 @@ <el-input v-model="scope.row.number"></el-input> </template> </el-table-column> - <el-table-column label="鍗曚綅" prop="unit" align="center" /> <el-table-column fixed="right" label="鎿嶄綔" @@ -127,7 +126,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> @@ -136,9 +161,14 @@ 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:'', @@ -156,7 +186,7 @@ border: true, // 鏄惁鏈夌旱鍚戣竟妗� lazy: false, // 鏄惁闇�瑕佹噿鍔犺浇 fit: true, // 鍒楃殑瀹藉害鏄惁鑷拺寮� - multiSelect: false, // + multiSelect: true, // isEdit:false, seqNo: true, isShowHide: true, // 鏄惁鏄剧ず鏄惧奖鎸夐挳 @@ -237,6 +267,11 @@ type: 'primary', fun: this.addOrUpdateHandle }, + { + text: '鏍囩鎵撳嵃', + type: 'primary', + fun: this.printLabel + }, ], operator: [ { @@ -263,14 +298,77 @@ } }, 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, + boxInfo: [] + } + list({packageBoxId:item.id}).then((res) =>{ + res.data.data.forEach(ele=>{ + obj.boxInfo.push({ + product: ele.product, + productNo: ele.productNo, + specs: ele.specs, + unit: ele.unit, + number: ele.number + }) + }) + }) + this.qrData.push(obj) + }) + }, // 鑾峰彇鏁版嵁鍒楄〃 getData() { this.$refs.processconfiguration.refreshData() @@ -290,7 +388,6 @@ }) }, handleCurrentChange(row){ - console.log(row,"涓�琛�"); if(row.state=='宸叉姤妫�'){ this.isCheck = true } @@ -303,33 +400,32 @@ }, rightquery(){ list({packageBoxId:this.goid}).then((res) =>{ - console.log(res,"nihaoa"); this.testStandardParams = res.data.data }) }, //璇︽儏娣诲姞 relateOperationParam(){ - this.increase = true + if (this.dataway.state == "鏈姤妫�") { + this.increase = true + }else{ + this.$message.error('璇峰厛閫夋嫨鍖呰椤圭洰') + } }, preserve(datalist){ this.testStandardParams = datalist - }, //鍙宠竟淇濆瓨 addpreserve(){ - console.log(this.testStandardParams,"淇濆瓨鏁版嵁"); this.testStandardParams.forEach(el => { el.packageBoxId =this.goid }); saveList(this.testStandardParams).then((res) =>{ - console.log(res,"淇濆瓨鎴愬姛"); this.$message.success('淇濆瓨鎴愬姛') this.rightquery() }) }, //鍒犻櫎 deleteadd(row){ - console.log(row,""); deledata({id:row.id}).then((res)=>{ this.$message.success('鍒犻櫎鎴愬姛') this.rightquery() @@ -337,7 +433,6 @@ }, //瀹℃牳 check(row){ - console.log(row,"瀹℃牳"); let packageBox = { id:row.id, packageNo:row.packageNo, @@ -350,7 +445,5 @@ }) }, }, - computed: { - }, } </script> \ No newline at end of file -- Gitblit v1.9.3