From 70151032826593bee589b26132086deab58fc74d Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 07 十二月 2023 13:15:01 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before --- src/views/plan/manufacturingorder/index.vue | 129 ++++++++++++++++++++++++++++--------------- 1 files changed, 84 insertions(+), 45 deletions(-) diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue index 0b601e1..0966fcf 100644 --- a/src/views/plan/manufacturingorder/index.vue +++ b/src/views/plan/manufacturingorder/index.vue @@ -109,7 +109,7 @@ @click="labelPrint" type="primary" style="margin-left:10px;" - >鎵撳嵃鏍囩 + >鏍囩鎵撳嵃 </el-button> <!-- <el-button v-if="permissions.manufacturingorder_update_orderno" @@ -195,38 +195,34 @@ </div> </span> </el-dialog> - <!-- 鏍囩鎵撳嵃 --> - <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="30%"> - <div class="dia_body" style="height: 400px;overflow-y: auto;padding: 0 10px;"> - <el-card class="box-card" v-for="(tem, i) in orderDatalist" :key="i" style="margin-bottom: 15px;"> - <!-- <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;">{{ tem.customerOrderNo }}</el-col> - </el-row> --> - <el-row style="font-size: 18px;"> - <!-- <el-col :span="10" :offset="3">闆朵欢鍚嶇О锛�</el-col> --> - <el-col :span="10" :offset="6" style="font-weight: bold;" >{{ tem.partNo }}</el-col> - </el-row> - <el-row> - <el-col :span="10" style="padding-left: 20px;"> - <vueQr :text="tem.moNo" :size="150" :margin="1"></vueQr> - </el-col> - <el-col :span="10" :offset="3" style="font-weight: bold;" >鎵规鍙�: {{ tem.moNo }}</el-col> - <!-- <el-col :span="10" :offset="4" style="font-weight: bold;" ></el-col> --> - <!-- <el-col :span="10" :offset="4" style="font-weight: bold;" >{{ tem.partName }}</el-col> --> - </el-row> - </el-card> - </div> - <span slot="footer" class="dialog-footer"> - <el-button @click="diaPrintTab = false">鍙� 娑�</el-button> - <el-button type="primary" @click="diaPrintTab = false">鎵� 鍗�</el-button> - </span> - </el-dialog> </basic-container> + <!-- 鏍囩鎵撳嵃 --> + <el-dialog title="鏍囩鍒楄〃" :visible.sync="diaPrintTab" width="500px" top="5vh"> + <div style="width:100%;height: 400px;overflow-y: auto;"> + <div class="dia_body" id="printMOrder"> + <el-card class="box-card" v-for="(item, i) in qrData" :key="i" style="margin-bottom: 15px; font-size: 16px !important;"> + <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.moNo2 }}</el-col> + </el-row> + <el-row> + <el-col :span="10" :offset="3">璁㈠崟浜岀淮鐮侊細</el-col> + <el-col :span="10"> + <vueQr :text="JSON.stringify(item)" :size="80" :margin="2"></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> @@ -256,9 +252,12 @@ import { getStore } from '@/util/store.js' import { getObj as getSysParam } from '@/api/admin/sys-public-param' import vueQr from 'vue-qr' +import PrintJS from 'print-js' export default { data() { return { + checkList: [], + qrData: [], orderDatalist:[], diaPrintTab:false, showCustomerorder: false, @@ -461,6 +460,15 @@ minWidth: '120', prop: 'lengthRequirement', label: '鐩橀暱瑕佹眰', + sort: true, + isTrue: true, + isSearch: true, + searchInfoType: 'text' + }, + { + minWidth: '120', + prop: 'scrapQty', + label: '鎶ュ簾鏁伴噺', sort: true, isTrue: true, isSearch: true, @@ -1037,7 +1045,6 @@ } }) }, - computed: { ...mapGetters(['permissions']) }, @@ -1048,6 +1055,30 @@ // this.initQueryParams() }, methods: { + printFun() { + this.diaPrintTab = false; + PrintJS({ + printable: 'printMOrder',//椤甸潰 + type: "html",//鏂囨。绫诲瀷 + maxWidth:450, + targetStyles:['*'], + style: `@page { + margin:0; + size: 360px 175px; + } + html{ + zoom:100%; + } + @media print{ + width: 360px; + height: 175px; + margin:0; + }`, + onPrintDialogClose: this.erexcel=false, + targetStyles: ["*"], // 浣跨敤dom鐨勬墍鏈夋牱寮忥紝寰堥噸瑕� + font_size: '', + }); + }, getManufactureAttr(row, column, cellValue) { this.manufactureAttrs.forEach((obj) => { if (obj.value === cellValue) { @@ -1396,6 +1427,23 @@ } } }, + //鍒濆鍖栦簩缁寸爜鏍囩鏁版嵁 + initQrData(data){ + if(data){ + let index = Number(data.qtyRequired) + Number(data.scrapQty) + if(index>0){ + for(var i=1;i<= index;i++){ + let obj = { + moNo: data.moNo, + moNo2: null, + } + let no = (i+"").padStart(3,'0') + obj.moNo2 = data.moNo + no + this.qrData.push(obj) + } + } + } + }, // table鑷甫浜嬩欢 handleSelectionChange(val) { console.log(val,"涓�琛�"); @@ -1403,21 +1451,12 @@ orderData =val.map( el =>{ return{ moNo:el.moNo, - workShop:el.workShop, - operationNames:el.operationNames, - customerOrderNo:el.customerOrderNo, - customerName:el.customerName, - mpsNo:el.mpsNo, - remark:el.remark, - partNo:el.partNo, - partName:el.partName, - unit:el.unit, - requiredDate:el.requiredDate, - id:el.id, + qtyRequired: el.qtyRequired, + scrapQty: el.scrapQty } }) this.orderDatalist = orderData - console.log(orderData,"浜岀淮鐮侀渶瑕佺殑"); + this.initQrData(orderData[0]) // 鏍规嵁鐘舵�侊紝绂佺敤琛ㄥご鎸夐挳 // 绛涢�夊嚭閫変腑璁板綍鐨勭姸鎬� var stateArr = val.map(function(value, index) { -- Gitblit v1.9.3