From 6cb8fdb20c005a474e02ea0a779c108e5f9f5ffa Mon Sep 17 00:00:00 2001 From: xielue Date: Wed, 27 Sep 2023 12:32:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=96=B7=E7=A0=81=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Middle/Mold/InkjetPrinter/modal-done.vue | 2 +- .../Middle/Mold/InkjetPrinter/modal-send.vue | 13 +- src/pages/Middle/Mold/InkjetPrinter/print.vue | 124 +++++++++++++++--- src/pages/Middle/Mold/basic/print.js | 5 +- 4 files changed, 116 insertions(+), 28 deletions(-) diff --git a/src/pages/Middle/Mold/InkjetPrinter/modal-done.vue b/src/pages/Middle/Mold/InkjetPrinter/modal-done.vue index 990a54e..6334858 100644 --- a/src/pages/Middle/Mold/InkjetPrinter/modal-done.vue +++ b/src/pages/Middle/Mold/InkjetPrinter/modal-done.vue @@ -78,7 +78,7 @@ export default { pageSend() { var sendData = JSON.parse(JSON.stringify(Object.assign({},this.pageOptions, this.formOptions.data))) - + //sendData.printerName = sendData.printerCode; this.$mk.post({ url: `http://36.133.149.247:9112/api/tp/sqInStock`, diff --git a/src/pages/Middle/Mold/InkjetPrinter/modal-send.vue b/src/pages/Middle/Mold/InkjetPrinter/modal-send.vue index 2506060..84bf0f2 100644 --- a/src/pages/Middle/Mold/InkjetPrinter/modal-send.vue +++ b/src/pages/Middle/Mold/InkjetPrinter/modal-send.vue @@ -45,6 +45,7 @@ export default { formOptions: { data: { id:'', + printerName:'', x: 0, y: 0, direction: 0, @@ -60,7 +61,9 @@ export default { }, items: [ - { field: 'id', title: '机器', span: 24, itemRender: { name: '$select', props: { options: [] } } }, + //{ field: 'id', title: '机器', span: 24, itemRender: { name: '$select', props: { options: [] } } }, + { field: 'printerName', title: '机器', span: 24, itemRender: { name: 'MkFormInputShow', props: { } } }, + { field: 'x', title: 'X', span: 24, itemRender: { name: '$input', props: { type: 'number' } } }, { field: 'y', title: 'Y', span: 24, itemRender: { name: '$input', props: { type: 'number' } } }, { field: 'direction', title: '角度', span: 24, itemRender: { name: '$input', props: { type: 'number' } } }, @@ -107,9 +110,13 @@ export default { }, created() { -this.printInit(); + //this.printInit(); + setTimeout(()=>{ + + this.formOptions.data.printerName = this.pageOptions.printerName; + },100); }, // 函数 @@ -154,7 +161,7 @@ this.printInit(); var sendData = JSON.parse(JSON.stringify( this.formOptions.data)) - sendData.id = this.$mk.toBigInt(sendData.id); + sendData.id = this.$mk.toBigInt(this.pageOptions.printerId); sendData.contents = this.pageOptions.sequance; sendData.fileName = ""; diff --git a/src/pages/Middle/Mold/InkjetPrinter/print.vue b/src/pages/Middle/Mold/InkjetPrinter/print.vue index 95d7f66..819a19c 100644 --- a/src/pages/Middle/Mold/InkjetPrinter/print.vue +++ b/src/pages/Middle/Mold/InkjetPrinter/print.vue @@ -13,9 +13,17 @@ - + :span-method="rowspanMethod" :column-config="{ resizable: true }"> + + + + + + + + + - - - - - - - @@ -181,13 +182,13 @@ export default { for (let key in this.searchFormData) { let value = this.searchFormData[key]; if (value) { - let mode = findMode(key); - rules.push({ - field: key, - op: mode, - value: value - }); - } + let mode = findMode(key); + rules.push({ + field: key, + op: mode, + value: value + }); + } } if (this.start_time) { @@ -226,11 +227,55 @@ export default { ds.push(o) }); ds = JSON.parse(JSON.stringify(ds)) - this.detailsData = ds; + + let ds_full = []; + ds.forEach(item => { + + this.InkjetPrinterData.forEach(pitem => { + let item1 = JSON.parse(JSON.stringify(item)); + item1.sequance = item.sequance.substr(0, item.sequance.length - 1) + pitem.code + item.sequance.substr(item.sequance.length - 1); + item1.printerCode = pitem.code; + item1.printerId = pitem.id.toString(); + item1.printerName = pitem.name; + ds_full.push(item1); + }); + + + }); + this.detailsData = ds_full; } }); }, + // 通用行合并函数(将相同多列数据合并为一行) + rowspanMethod({ row, _rowIndex, column, visibleData }) { + + + + let fields = ['voucherdate','vouchercode','departmentName','inventoryName','quantity'] + + let rowField = 'bid'; + + let cellValue = row[rowField] + if (cellValue && fields.includes(column.property)) { + let prevRow = visibleData[_rowIndex - 1] + let nextRow = visibleData[_rowIndex + 1] + + + + if (prevRow && prevRow[rowField] === cellValue) { + return { rowspan: 0, colspan: 0 } + } else { + let countRowspan = 1 + while (nextRow && nextRow[rowField] === cellValue) { + nextRow = visibleData[++countRowspan + _rowIndex] + } + if (countRowspan > 1) { + return { rowspan: countRowspan, colspan: 1 } + } + } + } + }, sqDepartmentsInit() { this.$mk.post({ url: this.actions.getSqDepartments, @@ -251,11 +296,48 @@ export default { onSearch() { - this.sequanceDataInit(); + + this.printerInit(() => { + + this.sequanceDataInit(); + + }) + }, + + printerInit(callback) { + if (this.InkjetPrinterData.length) { + callback(); + } else { + this.$mk.post({ + url: this.actions.get, + loading: "加载中...", + data: { + "end_time": 0, + "page": 1, + "start_time": 0, + "limit": 999, + "order_bys": [ + ], + "search_rules": [ + ] + }, + useBigInt: true + }).then(a => { + + this.InkjetPrinterData = a.data.InkjetPrinter; + callback(); + }); + + } + + }, + + + getDefaultData(item) { return Object.assign(item, { x: 0, y: 0, direction: 0, fontName: 'Arial', fontSize: 100, fontSpacing: 10 }); }, @@ -310,9 +392,9 @@ export default { let oldValue = localStorage.getItem('print-template-1'); let template = JSON.parse(JSON.stringify(printSetting.printTagTemplate)); - if (oldValue) { - template = JSON.parse(oldValue).TemplateBody; - } + if (oldValue) { + template = JSON.parse(oldValue).TemplateBody; + } hiprint.init(); // 初始化打印组件 var hiprintTemplate = new hiprint.PrintTemplate({ // 创建打印模板 template: template diff --git a/src/pages/Middle/Mold/basic/print.js b/src/pages/Middle/Mold/basic/print.js index f42c746..66cf355 100644 --- a/src/pages/Middle/Mold/basic/print.js +++ b/src/pages/Middle/Mold/basic/print.js @@ -32,10 +32,9 @@ var config = { }] }, - printTagTemplate:{ "panels": [{ "index": 0, "name": 1, "height": 50, "width": 80, "paperHeader": 0, "paperFooter": 141.73228346456693, "printElements": [{ "options": { "left": 55.5, "top": 15, "height": 100, "width": 100, "field": "sequance", "fontSize": 12, "fontWeight": "400", "hideTitle": true, "title": "批次号", "coordinateSync": false, "widthHeightSync": false, "textType": "qrcode", "qrCodeLevel": 0, "right": 155.5, "bottom": 114.25, "vCenter": 105.5, "hCenter": 64.25 }, "printElementType": { "title": "批次号", "type": "text" } }], "paperNumberLeft": 196, "paperNumberTop": 119 }] } - + printTagTemplate:{"panels":[{"index":0,"name":1,"height":70,"width":60,"paperHeader":4.5,"paperFooter":190.5,"printElements":[{"options":{"left":10.5,"top":28.5,"height":17,"width":142.5,"field":"sequance","fontSize":21.75,"fontWeight":"400","textAlign":"center","hideTitle":true,"title":"批次号","coordinateSync":false,"widthHeightSync":false,"qrCodeLevel":0,"right":153,"bottom":45.5,"vCenter":81.75,"hCenter":37,"lineHeight":27},"printElementType":{"title":"批次号","type":"text"}}],"paperNumberLeft":142.5,"paperNumberTop":199.5,"paperNumberDisabled":true}]} -}; + }; module.exports = config \ No newline at end of file