diff --git a/manifest.json b/manifest.json index 588c23c..a9dec2a 100644 --- a/manifest.json +++ b/manifest.json @@ -2,8 +2,8 @@ "name" : "Operations", "appid" : "__UNI__8A0DE5E", "description" : "Operations(运营)的缩写,一个前后端分离的工作流/运营管理系统。", - "versionName" : "1.2.1", - "versionCode" : 121, + "versionName" : "1.2.2", + "versionCode" : "122s", "transformPx" : false, "app-plus" : { "usingComponents" : true, diff --git a/pages/order/order-detail.vue b/pages/order/order-detail.vue index d1a2506..35af1ac 100644 --- a/pages/order/order-detail.vue +++ b/pages/order/order-detail.vue @@ -3,8 +3,11 @@ ‹ 返回 订单详情 - 编辑 - + + 🖨 + 编辑 + + @@ -24,6 +27,10 @@ 链接 {{ order.Link }} + + 样式 + {{ order.Styles }} + 备注 {{ order.Remark }} @@ -324,6 +331,58 @@ async function confirmStatusChange() { function goBack() { uni.navigateBack() } +function printOrder() { + if (!order.value) return + + // #ifndef APP-PLUS + uni.showToast({ title: '打印功能仅在 App 端可用', icon: 'none' }) + return + // #endif + + // #ifdef APP-PLUS + const printer = uni.requireNativePlugin('LcPrinter') + + // 初始化打印机 + printer.initPrinter({}) + printer.setConcentration({ level: 39 }) + printer.setLineSpacing({ spacing: 1 }) + + // 标签打印模式(使用黑标定位) + printer.printEnableMark({ enable: true }) + + // 第一行:标题(加粗大字) + printer.setFontSize({ fontSize: 1 }) + printer.setTextBold({ bold: true }) + printer.printText({ content: (order.value.Title || '(无标题)')+'\n' }) + //printer.printLine({ line_length: 1 }) + + // 第二行:备注 + printer.setFontSize({ fontSize: 0 }) + printer.setTextBold({ bold: false }) + printer.printText({ content: '备注: ' + (order.value.Remark || '(无备注)')+'\n' }) + //printer.printLine({ line_length: 1 }) + + // 第三行:样式 + printer.printText({ content: '样式: ' + (order.value.Styles || '(无样式)')+'\n' }) + //printer.printLine({ line_length: 1 }) + + // 第四行:创建日期 + printer.printText({ content: '日期: ' + formatDate(order.value.CreatedAt) }) + //printer.printLine({ line_length: 1 }) + + // 条形码:内容 po:ID,高度 4 + printer.printBarcode({ + text: 'po:' + orderId.value, + height: 40, + barcodeType: 73 + }) + + printer.printGoToNextMark() + // #endif +} + + + function goEdit() { uni.navigateTo({ url: `/pages/order/edit-order?id=${orderId.value}` }) } @@ -368,6 +427,8 @@ onShow(() => { .header { background-color: #fff; padding: 30rpx; display: flex; align-items: center; } .back-btn { font-size: 32rpx; color: #007AFF; margin-right: 20rpx; } .title { font-size: 36rpx; font-weight: bold; color: #333; flex: 1; text-align: center; } +.header-actions { display: flex; align-items: center; gap: 20rpx; } +.print-btn { font-size: 36rpx; color: #007AFF; } .edit-btn { font-size: 28rpx; color: #007AFF; } .header-right { width: 60rpx; } .content { padding: 20rpx; height: calc(100vh - 120rpx); } diff --git a/pages/warehouse/item-detail.vue b/pages/warehouse/item-detail.vue index 27f271c..c3d4b7f 100644 --- a/pages/warehouse/item-detail.vue +++ b/pages/warehouse/item-detail.vue @@ -343,6 +343,11 @@ function printItem() { return } + // 初始化打印机 + printer.initPrinter({}) + printer.setConcentration({ level: 39 }) + printer.setLineSpacing({ spacing: 1 }) + // 标签打印,使用黑标 printer.printEnableMark({ enable: true diff --git a/pages/warehouse/warehouse.vue b/pages/warehouse/warehouse.vue index a5a17d8..47df8d3 100644 --- a/pages/warehouse/warehouse.vue +++ b/pages/warehouse/warehouse.vue @@ -606,6 +606,11 @@ async function printContainer() { const container = res.data.container + // 初始化打印机 + printer.initPrinter({}) + printer.setConcentration({ level: 39 }) + printer.setLineSpacing({ spacing: 1 }) + // 标签打印,使用黑标 printer.printEnableMark({ enable: true diff --git a/pages/workorder/show-workorder.vue b/pages/workorder/show-workorder.vue index fdd072b..9f09797 100644 --- a/pages/workorder/show-workorder.vue +++ b/pages/workorder/show-workorder.vue @@ -361,6 +361,11 @@ function printWorkOrder() { return } + // 初始化打印机 + printer.initPrinter({}) + printer.setConcentration({ level: 39 }) + printer.setLineSpacing({ spacing: 1 }) + // 标签打印,使用黑标 printer.printEnableMark({ enable: true