From 3a75daf63f5b64af3388424c3de82662c20aa383 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 18 七月 2025 13:49:01 +0800
Subject: [PATCH] 添加了打印超时定时器清除逻辑,确保打印成功后清除超时回调
---
pages/wareHouse/nuclearScale/nuclearscalerecord.vue | 1770 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 897 insertions(+), 873 deletions(-)
diff --git a/pages/wareHouse/nuclearScale/nuclearscalerecord.vue b/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
index 2da0918..d80cbfe 100644
--- a/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
+++ b/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
@@ -1,936 +1,960 @@
<template>
- <view class="page">
- <view class="finishProductIn-locno-bg" />
- <u-navbar title="鏍哥璁板綍" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
- back-icon-color="#000">
- <view class="navbar-right" slot="right" @click="goPrintAll">
- 鍏ㄩ儴鎵撳嵃
- </view>
- </u-navbar>
- <view class="wrap">
- <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()">
- <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false">
- <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index"
- @click="selectNo(item)">
- <view class="content-header">
- <view class="content-header-title">{{ index + 1 }}</view>
- </view>
- <view class="content-body">
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-1"> </view>
- <view class="_label-name">鎵规鍙凤細</view>
- </view>
- <view class="_content">
- {{ item.outBatchNo }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-2"> </view>
- <view class="_label-name">浜у搧鎻忚堪锛�</view>
- </view>
- <view class="_content">
- {{ item.netWeight }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-3"> </view>
- <view class="_label-name">闆朵欢鍙凤細</view>
- </view>
- <view class="_content">
- {{ item.partNo }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-1"> </view>
- <view class="_label-name">姣涢噸锛�</view>
- </view>
- <view class="_content">
- {{ item.grossWeight }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-2"> </view>
- <view class="_label-name">鐩橀噸锛�</view>
- </view>
- <view class="_content">
- {{ item.trayWeight }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-3"> </view>
- <view class="_label-name">鍑�閲嶏細</view>
- </view>
- <view class="_content">
- {{ item.value5 }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-1"> </view>
- <view class="_label-name">鏍哥閲嶉噺锛�</view>
- </view>
- <view class="_content">
- {{ item.netWeight }}
- </view>
- </view>
- <view class="row-list">
- <view class="_label">
- <view class="_label-icon-2"> </view>
- <view class="_label-name">鍙夎溅鐩橀噸锛�</view>
- </view>
- <view class="_content">
- {{ item.value7 }}
- </view>
- </view>
- </view>
- </view>
- </u-cell-group>
- <view class="loadmore" @click="getmoreList()">
- <u-loadmore :status="status" :load-text="loadText" @loadmore="getmoreList()" />
- </view>
- </scroll-view>
- </view>
- <u-toast ref="uToast" />
- <u-modal v-model="maskShow" title=""
- :show-confirm-button="false" >
- <view @touchmove.stop.prevent="moveHandle" @click="maskclose">
- <scroll-view class="uni-scroll_box" scroll-y @touchmove.stop.prevent="moveHandle"
- @click.stop="moveHandle">
- <view class="modal-title">閫夋嫨钃濈墮璁惧</view>
- <view v-if="listDevice.length === 0" class="empty-tip">鏆傛棤璁惧</view>
- <view v-for="(item, index) in listDevice" :key="index" @click="tapQuery(item)" class="device-item">
- <view class="device-name">
- <text>鍚嶇О锛�</text>
- <text>{{ item.name || '鏈煡璁惧' }}</text>
- </view>
- <view class="device-uuid">
- <text>UUID:</text>
- <text>{{ item.address || '鏃犲湴鍧�' }}</text>
- </view>
- </view>
- </scroll-view>
- </view>
- </u-modal>
- <!-- </scroll-view>
- </view>
- </u-modal> -->
- <!-- 杩炴帴鍜屾墦鍗扮姸鎬佹寚绀哄櫒 -->
- <view class="status-indicator" :class="{'connected': connectionStatus === 'connected', 'connecting': connectionStatus === 'connecting', 'disconnected': connectionStatus === 'disconnected'}">
- <text class="status-text">{{ getConnectionStatusText() }}</text>
- <text class="print-status" v-if="printStatus !== 'idle'">- {{ getPrintStatusText() }}</text>
- </view>
- </view>
+ <view class="page">
+ <view class="finishProductIn-locno-bg" />
+ <u-navbar
+ title="鏍哥璁板綍"
+ :background="background"
+ :border-bottom="false"
+ :title-bold="true"
+ title-color="#000"
+ back-icon-color="#000"
+ >
+ <view class="navbar-right" slot="right" @click="goPrintAll">
+ 鍏ㄩ儴鎵撳嵃
+ </view>
+ </u-navbar>
+ <view class="wrap">
+ <!-- 杩炴帴鍜屾墦鍗扮姸鎬佹寚绀哄櫒 -->
+ <view
+ class="status-indicator"
+ :class="{
+ connected: connectionStatus === 'connected',
+ connecting: connectionStatus === 'connecting',
+ disconnected: connectionStatus === 'disconnected',
+ }"
+ >
+ <text class="status-text">{{ getConnectionStatusText() }}</text>
+ <text class="print-status" v-if="printStatus !== 'idle'"
+ >- {{ getPrintStatusText() }}</text
+ >
+ </view>
+ <scroll-view
+ class="finishProductIn-locno-scroll-list"
+ scroll-y="true"
+ @scrolltolower="getmoreList()"
+ >
+ <u-cell-group
+ class="finishProductIn-locno-scroll-list-group"
+ :border="false"
+ >
+ <view
+ class="content"
+ v-for="(item, index) in list"
+ :key="item.locNo"
+ :index="index"
+ @click="selectNo(item)"
+ >
+ <view class="content-header">
+ <view class="content-header-title">{{ index + 1 }}</view>
+ </view>
+ <view class="content-body">
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-1"> </view>
+ <view class="_label-name">鎵规鍙凤細</view>
+ </view>
+ <view class="_content">
+ {{ item.outBatchNo }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-2"> </view>
+ <view class="_label-name">浜у搧鎻忚堪锛�</view>
+ </view>
+ <view class="_content">
+ {{ item.netWeight }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-3"> </view>
+ <view class="_label-name">闆朵欢鍙凤細</view>
+ </view>
+ <view class="_content">
+ {{ item.partNo }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-1"> </view>
+ <view class="_label-name">姣涢噸锛�</view>
+ </view>
+ <view class="_content">
+ {{ item.grossWeight }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-2"> </view>
+ <view class="_label-name">鐩橀噸锛�</view>
+ </view>
+ <view class="_content">
+ {{ item.trayWeight }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-3"> </view>
+ <view class="_label-name">鍑�閲嶏細</view>
+ </view>
+ <view class="_content">
+ {{ item.value5 }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-1"> </view>
+ <view class="_label-name">鏍哥閲嶉噺锛�</view>
+ </view>
+ <view class="_content">
+ {{ item.netWeight }}
+ </view>
+ </view>
+ <view class="row-list">
+ <view class="_label">
+ <view class="_label-icon-2"> </view>
+ <view class="_label-name">鍙夎溅鐩橀噸锛�</view>
+ </view>
+ <view class="_content">
+ {{ item.value7 }}
+ </view>
+ </view>
+ </view>
+ </view>
+ </u-cell-group>
+ <view class="loadmore" @click="getmoreList()">
+ <u-loadmore
+ :status="status"
+ :load-text="loadText"
+ @loadmore="getmoreList()"
+ />
+ </view>
+ </scroll-view>
+ </view>
+ <u-toast ref="uToast" />
+ <u-modal v-model="maskShow" title="" :show-confirm-button="false">
+ <view @touchmove.stop.prevent="moveHandle" @click="maskclose">
+ <scroll-view
+ class="uni-scroll_box"
+ scroll-y
+ @touchmove.stop.prevent="moveHandle"
+ @click.stop="moveHandle"
+ >
+ <view class="modal-title">閫夋嫨钃濈墮璁惧</view>
+ <view v-if="listDevice.length === 0" class="empty-tip">鏆傛棤璁惧</view>
+ <view
+ v-for="(item, index) in listDevice"
+ :key="index"
+ @click="tapQuery(item)"
+ class="device-item"
+ >
+ <view class="device-name">
+ <text>鍚嶇О锛�</text>
+ <text>{{ item.name || "鏈煡璁惧" }}</text>
+ </view>
+ <view class="device-uuid">
+ <text>UUID:</text>
+ <text>{{ item.address || "鏃犲湴鍧�" }}</text>
+ </view>
+ </view>
+ </scroll-view>
+ </view>
+ </u-modal>
+ </view>
</template>
<script>
- import content_bg from '@/static/custom/finishProductIn/locNoBg.png'
- const jcapi = uni.requireNativePlugin("JCSDK-JCApiModule");
+import content_bg from "@/static/custom/finishProductIn/locNoBg.png";
+const jcapi = uni.requireNativePlugin("JCSDK-JCApiModule");
- // 浜岀淮鐮佺被鍨�
- const QrCodeType = {
- QrCode: 31,
- PDF417: 32,
- DataMatrix: 33,
- AZTEC: 34
- }
- // 绾挎潯绫诲瀷
- const LineType = {
- Solid: 1, // 瀹炵嚎
- Dotted: 2, // 铏氱嚎锛堥粯璁よ櫄瀹�1:1鐩搁棿锛�
- }
- // 鎹㈣鏂瑰紡
- const LineModeType = {
- Justified: 1, // 瀹介珮鍥哄畾锛屽唴瀹硅嚜閫傚簲锛堝瓧鍙�/瀛楅棿璺�/琛岄棿璺濇寜姣斾緥缂╂斁锛�
- AutoHeight: 2, // 瀹藉害鍥哄畾锛岄珮搴﹁嚜閫傚簲
- Fixed: 4, // 瀹介珮鍥哄畾锛岃秴鍑洪儴鍒嗚鍓�
- Adapt: 6, // 瀹介珮鍥哄畾锛屽唴瀹硅秴杩囨椂棰勮瀹介珮鑷姩缂╁皬
- }
- export default {
- data() {
- return {
- background: {
- backgroundImage: `url(${content_bg})`,
- backgroundAttachment: 'fixed',
- backgroundSize: '100% auto',
- backgroundRepeat: 'no-repeat',
- },
- keywords: '',
- list: [],
- total: 0,
- pageNum: 1,
- pageSize: 10,
- status: 'loading',
- loadText: {
- loadmore: "鍔犺浇鏇村...",
- loading: "鍔姏鍔犺浇涓�...",
- nomore: "娌℃湁鏇村浜�",
- },
- maskShow: false,
- listDevice: [], //钃濈墮璁惧鏁版嵁
- printQueue: [], // 鎵撳嵃闃熷垪
- printing: false, // 鏄惁姝e湪鎵撳嵃
- printDensity: 3, // 榛樿鎵撳嵃娴撳害
- labelType: 1, // 榛樿鏍囩绫诲瀷
- // 1锛氶棿闅欑焊
- // 2锛氶粦鏍囩焊
- // 3锛氳繛缁焊
- // 4锛氬畾瀛旂焊
- // 5锛氶�忔槑绾�
- printMode: 2, // 榛樿鎵撳嵃妯″紡
- // 1锛氱儹鏁�
- // 2锛氱儹杞嵃
- connectedDevice: null, // 宸茶繛鎺ョ殑鎵撳嵃鏈�
- connectionStatus: 'disconnected', // 杩炴帴鐘舵��: disconnected, connecting, connected
- printStatus: 'idle', // 鎵撳嵃鐘舵��: idle, printing, error
- errorMessage: '' // 閿欒淇℃伅
- };
- },
- onLoad() {
- this.getlist()
- // 鍒濆鍖朣DK
- jcapi.initSDK()
- // 鐩戝惉椤电爜鍥炶皟
- jcapi.didReadPrintCountInfo(function(r) {
- console.log(r)
- })
+// 浜岀淮鐮佺被鍨�
+const QrCodeType = {
+ QrCode: 31,
+ PDF417: 32,
+ DataMatrix: 33,
+ AZTEC: 34,
+};
+// 绾挎潯绫诲瀷
+const LineType = {
+ Solid: 1, // 瀹炵嚎
+ Dotted: 2, // 铏氱嚎锛堥粯璁よ櫄瀹�1:1鐩搁棿锛�
+};
+// 鎹㈣鏂瑰紡
+const LineModeType = {
+ Justified: 1, // 瀹介珮鍥哄畾锛屽唴瀹硅嚜閫傚簲锛堝瓧鍙�/瀛楅棿璺�/琛岄棿璺濇寜姣斾緥缂╂斁锛�
+ AutoHeight: 2, // 瀹藉害鍥哄畾锛岄珮搴﹁嚜閫傚簲
+ Fixed: 4, // 瀹介珮鍥哄畾锛岃秴鍑洪儴鍒嗚鍓�
+ Adapt: 6, // 瀹介珮鍥哄畾锛屽唴瀹硅秴杩囨椂棰勮瀹介珮鑷姩缂╁皬
+};
+export default {
+ data() {
+ return {
+ background: {
+ backgroundImage: `url(${content_bg})`,
+ backgroundAttachment: "fixed",
+ backgroundSize: "100% auto",
+ backgroundRepeat: "no-repeat",
+ },
+ keywords: "",
+ list: [],
+ total: 0,
+ pageNum: 1,
+ pageSize: 10,
+ status: "loading",
+ loadText: {
+ loadmore: "鍔犺浇鏇村...",
+ loading: "鍔姏鍔犺浇涓�...",
+ nomore: "娌℃湁鏇村浜�",
+ },
+ maskShow: false,
+ listDevice: [], //钃濈墮璁惧鏁版嵁
+ printQueue: [], // 鎵撳嵃闃熷垪
+ printing: false, // 鏄惁姝e湪鎵撳嵃
+ printDensity: 3, // 榛樿鎵撳嵃娴撳害
+ labelType: 1, // 榛樿鏍囩绫诲瀷
+ // 1锛氶棿闅欑焊
+ // 2锛氶粦鏍囩焊
+ // 3锛氳繛缁焊
+ // 4锛氬畾瀛旂焊
+ // 5锛氶�忔槑绾�
+ printMode: 2, // 榛樿鎵撳嵃妯″紡
+ // 1锛氱儹鏁�
+ // 2锛氱儹杞嵃
+ connectedDevice: null, // 宸茶繛鎺ョ殑鎵撳嵃鏈�
+ connectionStatus: "disconnected", // 杩炴帴鐘舵��: disconnected, connecting, connected
+ printStatus: "idle", // 鎵撳嵃鐘舵��: idle, printing, error
+ errorMessage: "", // 閿欒淇℃伅
+ };
+ },
+ onLoad() {
+ this.getlist();
+ // 鍒濆鍖朣DK
+ jcapi.initSDK();
+ // 鐩戝惉椤电爜鍥炶皟
+ jcapi.didReadPrintCountInfo(function (r) {
+ console.log(r);
+ });
- // 鐩戝惉閿欒鍥炶皟
- jcapi.didReadPrintErrorInfo((r) => {
- console.log(r)
- if (r.code == 23) {
- // 鎵撳嵃鏈烘柇寮�杩炴帴
- this.connectedDevice = null
- uni.showToast({
- icon: 'none',
- title: '鎵撳嵃鏈鸿繛鎺ュ凡鏂紑锛岃閲嶆柊杩炴帴',
- duration: 2 * 1000
- })
- } else {
- uni.showToast({
- icon: 'none',
- title: JSON.stringify(r),
- duration: 2 * 1000
- })
- }
- })
- },
- methods: {
- getmoreList() {
- if (this.pageSize >= this.total) {
- this.status = "nomore";
- return;
- }
- this.status = "loading";
- setTimeout(() => {
- this.pageSize += this.pageSize;
- this.getlist();
- }, 1000);
- },
- getlist() {
- this.$u.api.workReporting
- .getWorkshopOrder({
- current: this.pageNum,
- size: this.pageSize
- })
- .then((res) => {
- this.list = res.data.records;
- this.total = res.data.total;
- if (this.pageSize >= this.total) {
- this.status = "nomore";
- } else {
- this.status = "loadmore";
- }
- });
- },
- search(value) {
- if (value) {
- this.list = [];
- this.pageSize = 10;
- this.$u.api.workReporting
- .getWorkshopOrder({
- current: this.pageNum,
- size: this.pageSize,
- moNo: value,
- })
- .then((res) => {
- this.list = res.data.records;
- this.total = res.data.total;
- if (this.pageSize >= this.total) {
- this.status = "nomore";
- } else {
- this.status = "loadmore";
- }
- });
- } else {
- this.getlist();
- }
- },
- // 妫�鏌ヨ摑鐗欒繛鎺ョ姸鎬�
- async checkBluetoothConnection() {
- console.log('disconnected1111111111111')
- if (!this.connectedDevice) {
- this.connectionStatus = 'disconnected';
- return false;
- }
- console.log('disconnected2222222222')
+ // 鐩戝惉閿欒鍥炶皟
+ jcapi.didReadPrintErrorInfo((r) => {
+ console.log(r);
+ if (r.code == 23) {
+ // 鎵撳嵃鏈烘柇寮�杩炴帴
+ this.connectedDevice = null;
+ uni.showToast({
+ icon: "none",
+ title: "鎵撳嵃鏈鸿繛鎺ュ凡鏂紑锛岃閲嶆柊杩炴帴",
+ duration: 2 * 1000,
+ });
+ } else {
+ uni.showToast({
+ icon: "none",
+ title: JSON.stringify(r),
+ duration: 2 * 1000,
+ });
+ }
+ });
+ },
+ methods: {
+ getmoreList() {
+ if (this.pageSize >= this.total) {
+ this.status = "nomore";
+ return;
+ }
+ this.status = "loading";
+ setTimeout(() => {
+ this.pageSize += this.pageSize;
+ this.getlist();
+ }, 1000);
+ },
+ getlist() {
+ this.$u.api.workReporting
+ .getWorkshopOrder({
+ current: this.pageNum,
+ size: this.pageSize,
+ })
+ .then((res) => {
+ this.list = res.data.records;
+ this.total = res.data.total;
+ if (this.pageSize >= this.total) {
+ this.status = "nomore";
+ } else {
+ this.status = "loadmore";
+ }
+ });
+ },
+ search(value) {
+ if (value) {
+ this.list = [];
+ this.pageSize = 10;
+ this.$u.api.workReporting
+ .getWorkshopOrder({
+ current: this.pageNum,
+ size: this.pageSize,
+ moNo: value,
+ })
+ .then((res) => {
+ this.list = res.data.records;
+ this.total = res.data.total;
+ if (this.pageSize >= this.total) {
+ this.status = "nomore";
+ } else {
+ this.status = "loadmore";
+ }
+ });
+ } else {
+ this.getlist();
+ }
+ },
+ // 妫�鏌ヨ摑鐗欒繛鎺ョ姸鎬�
+ async checkBluetoothConnection() {
+ if (!this.connectedDevice) {
+ this.connectionStatus = "disconnected";
+ return false;
+ }
- // 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
- this.connectionStatus = 'connecting';
- console.log('disconnected33333333333')
+ // 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
+ this.connectionStatus = "connecting";
- // 澧炲己杩炴帴鐘舵�佹娴�
- return new Promise(resolve => {
- // 绠�鍖栬繛鎺ョ姸鎬佹娴嬶紝鐩存帴浣跨敤宸茶褰曠殑杩炴帴鐘舵��
- if (this.connectedDevice) {
- this.connectionStatus = 'connected';
- resolve(true);
- } else {
- this.connectionStatus = 'disconnected';
- uni.showToast({
- icon: 'none',
- title: '鎵撳嵃鏈烘湭杩炴帴锛岃鍏堣繛鎺�',
- duration: 2000
- });
- resolve(false);
- }
- });
- },
+ // 澧炲己杩炴帴鐘舵�佹娴�
+ return new Promise((resolve) => {
+ // 绠�鍖栬繛鎺ョ姸鎬佹娴嬶紝鐩存帴浣跨敤宸茶褰曠殑杩炴帴鐘舵��
+ if (this.connectedDevice) {
+ this.connectionStatus = "connected";
+ resolve(true);
+ } else {
+ this.connectionStatus = "disconnected";
+ uni.showToast({
+ icon: "none",
+ title: "鎵撳嵃鏈烘湭杩炴帴锛岃鍏堣繛鎺�",
+ duration: 2000,
+ });
+ resolve(false);
+ }
+ });
+ },
- // 娣诲姞鍒版墦鍗伴槦鍒�
- addToPrintQueue(items) {
- if (!Array.isArray(items)) {
- items = [items];
- }
+ // 娣诲姞鍒版墦鍗伴槦鍒�
+ addToPrintQueue(items) {
+ if (!Array.isArray(items)) {
+ items = [items];
+ }
- this.printQueue.push(...items);
- // 濡傛灉涓嶅湪鎵撳嵃涓紝鍒欏紑濮嬪鐞嗛槦鍒�
- if (!this.printing) {
- this.processPrintQueue();
- }
- },
+ this.printQueue.push(...items);
+ // 濡傛灉涓嶅湪鎵撳嵃涓紝鍒欏紑濮嬪鐞嗛槦鍒�
+ if (!this.printing) {
+ this.processPrintQueue();
+ }
+ },
- // 澶勭悊鎵撳嵃闃熷垪
- async processPrintQueue() {
- while (this.printQueue.length > 0) {
- console.log('111111111111111', this.printQueue.length)
-
- // 妫�鏌ヨ繛鎺ョ姸鎬�
- console.log('12222222222222222')
- const isConnected = await this.checkBluetoothConnection();
- console.log('isConnected',isConnected)
- if (!isConnected) {
- // 濡傛灉鏈繛鎺ワ紝鏄剧ず钃濈墮杩炴帴瀵硅瘽妗�
- this.searchDevice();
- // 涓嶆槸鐩存帴return锛岃�屾槸绛夊緟鐢ㄦ埛杩炴帴鍚庡啀缁х画澶勭悊
- return;
- }
+ // 澶勭悊鎵撳嵃闃熷垪
+ async processPrintQueue() {
+ while (this.printQueue.length > 0) {
+ // 妫�鏌ヨ繛鎺ョ姸鎬�
+ const isConnected = await this.checkBluetoothConnection();
+ if (!isConnected) {
+ // 濡傛灉鏈繛鎺ワ紝鏄剧ず钃濈墮杩炴帴瀵硅瘽妗�
+ this.searchDevice();
+ // 涓嶆槸鐩存帴return锛岃�屾槸绛夊緟鐢ㄦ埛杩炴帴鍚庡啀缁х画澶勭悊
+ return;
+ }
- this.printing = true;
- this.printStatus = 'printing';
+ this.printing = true;
+ this.printStatus = "printing";
- // 鍙栧嚭闃熷垪涓殑绗竴涓换鍔�
- const item = this.printQueue.shift();
- console.log('鎵撳嵃鐨勪换鍔�',item)
+ // 鍙栧嚭闃熷垪涓殑绗竴涓换鍔�
+ const item = this.printQueue.shift();
- try {
- // 鎵ц鎵撳嵃
- await this.printQrCode(item);
+ try {
+ // 鎵ц鎵撳嵃
+ await this.printQrCode(item);
- // 鎵撳嵃鎴愬姛鍚庣户缁鐞嗕笅涓�涓�
- uni.showToast({
- title: '鎵撳嵃鎴愬姛',
- icon: 'success',
- duration: 1000
- });
+ // 鎵撳嵃鎴愬姛鍚庣户缁鐞嗕笅涓�涓�
+ uni.showToast({
+ title: "鎵撳嵃鎴愬姛",
+ icon: "success",
+ duration: 1000,
+ });
- // 鐭殏寤惰繜锛岄伩鍏嶆墦鍗版満缂撳瓨婧㈠嚭
- await new Promise(resolve => setTimeout(resolve, 1000));
- } catch (error) {
- console.error('鎵撳嵃鍑洪敊:', error);
- this.printStatus = 'error';
- this.errorMessage = error.message || '鎵撳嵃鏃跺彂鐢熸湭鐭ラ敊璇�';
- this.printing = false;
+ // 鐭殏寤惰繜锛岄伩鍏嶆墦鍗版満缂撳瓨婧㈠嚭
+ await new Promise((resolve) => setTimeout(resolve, 1000));
+ } catch (error) {
+ console.error("鎵撳嵃鍑洪敊:", error);
+ this.printStatus = "error";
+ this.errorMessage = error.message || "鎵撳嵃鏃跺彂鐢熸湭鐭ラ敊璇�";
+ this.printing = false;
- // 璁板綍澶辫触鐨勪换鍔★紝涓嶉噸鏂版坊鍔犲埌闃熷垪
- this.failedPrintJobs = this.failedPrintJobs || [];
- this.failedPrintJobs.push(item);
+ // 璁板綍澶辫触鐨勪换鍔★紝涓嶉噸鏂版坊鍔犲埌闃熷垪
+ this.failedPrintJobs = this.failedPrintJobs || [];
+ this.failedPrintJobs.push(item);
- uni.showToast({
- title: `鎵撳嵃澶辫触: ${this.errorMessage}`,
- icon: 'none',
- duration: 2000
- });
- // 缁х画澶勭悊涓嬩竴涓换鍔�
- continue;
- }
- }
+ uni.showToast({
+ title: `鎵撳嵃澶辫触: ${this.errorMessage}`,
+ icon: "none",
+ duration: 2000,
+ });
+ // 缁х画澶勭悊涓嬩竴涓换鍔�
+ continue;
+ }
+ }
- this.printing = false;
- this.printStatus = 'idle';
- },
- // 鎵撳嵃鍗曚釜淇℃伅
- selectNo(item) {
- let that = this
- uni.showModal({
- title: '鎻愮ず',
- content: '鏄惁鎵撳嵃瑁呯鍗曪紵',
- showCancel: true,
- success: async function(res) {
- if (res.confirm) {
- // 娣诲姞鍒版墦鍗伴槦鍒�
- that.addToPrintQueue(item);
- }
- }
- });
- },
+ this.printing = false;
+ this.printStatus = "idle";
+ },
+ // 鎵撳嵃鍗曚釜淇℃伅
+ selectNo(item) {
+ let that = this;
+ uni.showModal({
+ title: "鎻愮ず",
+ content: "鏄惁鎵撳嵃瑁呯鍗曪紵",
+ showCancel: true,
+ success: async function (res) {
+ if (res.confirm) {
+ // 娣诲姞鍒版墦鍗伴槦鍒�
+ that.addToPrintQueue(item);
+ }
+ },
+ });
+ },
- // 鎵撳嵃鍏ㄩ儴淇℃伅
- goPrintAll() {
- let that = this
- uni.showModal({
- title: '鎻愮ず',
- content: `鏄惁鎵撳嵃鍏ㄩ儴${that.list.length}鏉¤绠卞崟锛焋,
- showCancel: true,
- success: async function(res) {
- if (res.confirm) {
- // 娣诲姞鍒版墦鍗伴槦鍒�
- that.addToPrintQueue([...that.list]);
- }
- }
- });
- },
- moveHandle() {
+ // 鎵撳嵃鍏ㄩ儴淇℃伅
+ goPrintAll() {
+ let that = this;
+ uni.showModal({
+ title: "鎻愮ず",
+ content: `鏄惁鎵撳嵃鍏ㄩ儴${that.list.length}鏉¤绠卞崟锛焋,
+ showCancel: true,
+ success: async function (res) {
+ if (res.confirm) {
+ // 娣诲姞鍒版墦鍗伴槦鍒�
+ that.addToPrintQueue([...that.list]);
+ }
+ },
+ });
+ },
+ moveHandle() {},
+ maskclose() {},
+ //鎵撳嵃浜岀淮鐮�
+ async printQrCode(item) {
+ return new Promise(async (resolve, reject) => {
+ const params = {
+ rwMatlBindId: item.id
+ };
+ try {
+ let res = await this.$u.api.dailyPaper.zongjianLabelInfo(params)
+ if (!res.data) {
+ this.$refs.uToast.show({
+ title: "鏈煡璇㈠埌璇ユ爣绛句俊鎭紒",
+ type: "warning ",
+ });
+ reject(new Error("鏈煡璇㈠埌璇ユ爣绛句俊鎭�"));
+ return;
+ }
- },
- maskclose() {
+ // 浠嶢PI鍝嶅簲涓彁鍙栨墍闇�鏁版嵁
+ const { ht, lj, ljms, fh, scdt, scph, fhdw, shdw } = res.data;
- },
- //鎵撳嵃浜岀淮鐮�
- async printQrCode(item) {
- return new Promise(async (resolve, reject) => {
- console.log('item de shuju ', item)
- // const params = {
- // rwMatlBindId: item.id
- // };
- try {
- let res = {
- data: {
- ht:'1',
- lj:'1',
- ljms:'1',
- fh:'1',
- scdt:'1',
- scph:'1',
- fhdw:'1',
- shdw:'1',
- }}
- // let res = await this.$u.api.dailyPaper.zongjianLabelInfo(params)
- if (!res.data) {
- this.$refs.uToast.show({
- title: '鏈煡璇㈠埌璇ユ爣绛句俊鎭紒',
- type: 'warning '
- })
- reject(new Error('鏈煡璇㈠埌璇ユ爣绛句俊鎭�'));
- return
- }
+ // 鍒濆鍖栫敾鏉�
+ jcapi.initDrawingBoard({
+ width: 70,
+ height: 49,
+ rotate: 90,
+ });
- // 浠嶢PI鍝嶅簲涓彁鍙栨墍闇�鏁版嵁
- const {
- ht,
- lj,
- ljms,
- fh,
- scdt,
- scph,
- fhdw,
- shdw
- } = res.data
+ // 缁樺埗浜岀淮鐮�
+ const qrContent = `ht:${ht}\nlj:${lj}\nljms:${ljms}\nfh:${fh}\nscdt:${scdt}\nscph:${scph}\nfhdw:${fhdw}\nshdw:${shdw}`;
+ jcapi.drawLabelQrCode({
+ x: 43.5,
+ y: 2,
+ width: 24,
+ height: 24,
+ value: qrContent,
+ rotate: 0,
+ codeType: QrCodeType.QrCode,
+ });
- // 鍒濆鍖栫敾鏉�
- jcapi.initDrawingBoard({
- width: 70,
- height: 49,
- rotate: 90
- });
+ // 缁樺埗妯嚎
+ this.getDrawLabelLine(1, 1, 67, 0.5, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 6, 42, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 11, 42, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 16, 42, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 21, 42, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 27, 67, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 32, 67, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 37, 67, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 42, 67, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 47, 67, 0.5, 0, LineType.Solid);
- // 缁樺埗浜岀淮鐮�
- const qrContent =
- `ht:${ht}\nlj:${lj}\nljms:${ljms}\nfh:${fh}\nscdt:${scdt}\nscph:${scph}\nfhdw:${fhdw}\nshdw:${shdw}`;
- jcapi.drawLabelQrCode({
- x: 43.5,
- y: 2,
- width: 24,
- height: 24,
- value: qrContent,
- rotate: 0,
- codeType: QrCodeType.QrCode,
- });
+ //缁樺埗绔栫嚎
+ this.getDrawLabelLine(1, 1, 0.5, 46, 0, LineType.Solid); // 绔栫嚎1
+ this.getDrawLabelLine(43, 1, 0.3, 26, 0, LineType.Solid); // 绔栫嚎2
+ this.getDrawLabelLine(68, 1, 0.5, 46, 0, LineType.Solid); // 绔栫嚎3
- // 缁樺埗妯嚎
- this.getDrawLabelLine(1, 1, 67, 0.5, 0, LineType.Solid)
- this.getDrawLabelLine(1, 6, 42, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 11, 42, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 16, 42, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 21, 42, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 27, 67, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 32, 67, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 37, 67, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 42, 67, 0.3, 0, LineType.Solid)
- this.getDrawLabelLine(1, 47, 67, 0.5, 0, LineType.Solid)
+ // 缁樺埗鏂囨湰
+ this.getDrawLabelText(3,2.5,40,8,"涓ぉ绉戞妧瑁呯娓呭崟",2.5,0,LineModeType.AutoHeight,0,0,1,1,1);
+ this.getDrawLabelText(2,7,25,8,"鍚堝悓鍙�:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,12,25,8,"闆朵欢鍙�:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,17,25,8,"闆朵欢鎻忚堪:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,22.5,25,8,"鍙戣揣/瑁呯鏁�:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,27.5,25,8,"鐢熶骇鏃ユ湡:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,32.5,25,8,"鐢熶骇鎵瑰彿:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,37.5,25,8,"鍙戣揣鍗曚綅:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
+ this.getDrawLabelText(2,42.5,25,8,"鏀惰揣鍗曚綅:",2.5,0,LineModeType.AutoHeight,0,0,0,1,1);
- //缁樺埗绔栫嚎
- this.getDrawLabelLine(1, 1, 0.5, 46, 0, LineType.Solid) // 绔栫嚎1
- this.getDrawLabelLine(43, 1, 0.3, 26, 0, LineType.Solid) // 绔栫嚎2
- this.getDrawLabelLine(68, 1, 0.5, 46, 0, LineType.Solid) // 绔栫嚎3
+ // 濉厖鍙傛暟鍊�
+ this.getDrawLabelText(11,7,30,8,ht,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(11,12,32,8,lj,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(14,17,30,8,ljms,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(17,22.5,27,8,fh,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(14,27.5,55,8,scdt,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(14,32.7,55,8,scph,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(14,37.5,55,8,fhdw,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
+ this.getDrawLabelText(14,42.5,55,8,shdw,2.5,0,LineModeType.AutoHeight,0,0,0,0,1);
- // 缁樺埗鏂囨湰
- this.getDrawLabelText(3, 2.5, 40, 8, '涓ぉ绉戞妧瑁呯娓呭崟', 2.5, 0, LineModeType.AutoHeight, 0, 0, 1, 1, 1)
- this.getDrawLabelText(2, 7, 25, 8, '鍚堝悓鍙�:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 12, 25, 8, '闆朵欢鍙�:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 17, 25, 8, '闆朵欢鎻忚堪:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 22.5, 25, 8, '鍙戣揣/瑁呯鏁�:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 27.5, 25, 8, '鐢熶骇鏃ユ湡:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 32.5, 25, 8, '鐢熶骇鎵瑰彿:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 37.5, 25, 8, '鍙戣揣鍗曚綅:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
- this.getDrawLabelText(2, 42.5, 25, 8, '鏀惰揣鍗曚綅:', 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 1, 1)
+ // 鐢熸垚鎵撳嵃鏁版嵁
+ let imageJsonObj = jcapi.generateLabelJson();
- // 濉厖鍙傛暟鍊�
- this.getDrawLabelText(11, 7, 30, 8, ht, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(11, 12, 32, 8, lj, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(14, 17, 30, 8, ljms, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(17, 22.5, 27, 8, fh, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(14, 27.5, 55, 8, scdt, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(14, 32.7, 55, 8, scph, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(14, 37.5, 55, 8, fhdw, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
- this.getDrawLabelText(14, 42.5, 55, 8, shdw, 2.5, 0, LineModeType.AutoHeight, 0, 0, 0, 0, 1)
+ // 璁剧疆鎵撳嵃浠诲姟
+ jcapi.startJob(
+ {
+ totalCount: 1,
+ density: this.printDensity,
+ labelType: this.labelType,
+ printMode: this.printMode,
+ },
+ function (r) {
+ if (r.code == 0) {
+ // 鎵撳嵃鏁版嵁
+ // 瀛樺偍鍘熷鎵撳嵃璁℃暟鍥炶皟
+ const originalPrintCountCallback =
+ jcapi.didReadPrintCountInfo._callback;
+ // 涓存椂鎵撳嵃璁℃暟鍥炶皟锛岀敤浜庣‘璁ゆ墦鍗板畬鎴�
+ const tempPrintCountCallback = (printResult) => {
+ // 鎭㈠鍘熷鍥炶皟
+ jcapi.didReadPrintCountInfo(originalPrintCountCallback);
+ // 娓呴櫎鎵撳嵃瓒呮椂
+ clearTimeout(printTimeout);
+ // 缁撴潫褰撳墠鎵撳嵃浠诲姟
+ // 瑙f瀽Promise琛ㄧず鎵撳嵃瀹屾垚
+ resolve();
+ };
+ // 璁剧疆涓存椂鍥炶皟
+ jcapi.didReadPrintCountInfo(tempPrintCountCallback);
- // 鐢熸垚鎵撳嵃鏁版嵁
- let imageJsonObj = jcapi.generateLabelJson()
- console.log('鎵撳嵃鐨勬暟鎹�',imageJsonObj)
+ // 娣诲姞鎵撳嵃瓒呮椂澶勭悊
+ const printTimeout = setTimeout(() => {
+ jcapi.didReadPrintCountInfo(originalPrintCountCallback);
+ reject(new Error("鎵撳嵃瓒呮椂鏈搷搴�"));
+ }, 20000);
- // 璁剧疆鎵撳嵃浠诲姟
- jcapi.startJob({
- totalCount: 1,
- density: this.printDensity,
- labelType: this.labelType,
- printMode: this.printMode,
- }, function(r) {
- if (r.code == 0) {
- // 鎵撳嵃鏁版嵁
- // 瀛樺偍鍘熷鎵撳嵃璁℃暟鍥炶皟
- const originalPrintCountCallback = jcapi.didReadPrintCountInfo._callback;
- // 涓存椂鎵撳嵃璁℃暟鍥炶皟锛岀敤浜庣‘璁ゆ墦鍗板畬鎴�
- const tempPrintCountCallback = (printResult) => {
- console.log("鎵撳嵃璁℃暟鍥炶皟:", printResult);
- // 鎭㈠鍘熷鍥炶皟
- jcapi.didReadPrintCountInfo(originalPrintCountCallback);
- // 缁撴潫褰撳墠鎵撳嵃浠诲姟
- // 瑙f瀽Promise琛ㄧず鎵撳嵃瀹屾垚
- resolve();
- };
- // 璁剧疆涓存椂鍥炶皟
- jcapi.didReadPrintCountInfo(tempPrintCountCallback);
+ jcapi.printData(
+ imageJsonObj,
+ {
+ printQuantity: 1,
+ },
+ function (r) {
+ if (r.code != 0) {
+ // 鎭㈠鍘熷鍥炶皟
+ jcapi.didReadPrintCountInfo(originalPrintCountCallback);
+ // 缁撴潫褰撳墠鎵撳嵃浠诲姟
+ reject(new Error(r.msg || "鎵撳嵃澶辫触"));
+ }
+ // 鎵撳嵃鏁版嵁鍙戦�佹垚鍔熷悗绛夊緟鎵撳嵃璁℃暟鍥炶皟纭瀹為檯鎵撳嵃瀹屾垚
+ }
+ );
+ } else {
+ reject(new Error(r.msg || "璁剧疆鎵撳嵃浠诲姟澶辫触"));
+ }
+ }
+ );
+ } catch (error) {
+ reject(error);
+ }
+ });
+ },
+ tapQuery(item) {
+ this.maskShow = false;
+ // 杩炴帴鎵撳嵃鏈�
+ let _this = this;
- // 娣诲姞鎵撳嵃瓒呮椂澶勭悊
- const printTimeout = setTimeout(() => {
- jcapi.didReadPrintCountInfo(originalPrintCountCallback);
- reject(new Error('鎵撳嵃瓒呮椂鏈搷搴�'));
- }, 10000);
+ // 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
+ this.connectionStatus = "connecting";
- jcapi.printData(imageJsonObj, {
- "printQuantity": 1,
- }, function(r) {
- if (r.code != 0) {
- console.log("鎵撳嵃澶辫触", r);
- // 鎭㈠鍘熷鍥炶皟
- jcapi.didReadPrintCountInfo(originalPrintCountCallback);
- // 缁撴潫褰撳墠鎵撳嵃浠诲姟
- reject(new Error(r.msg || '鎵撳嵃澶辫触'));
- }
- // 锟斤拷鍗版暟鎹彂閫佹垚鍔熷悗绛夊緟鎵撳嵃璁℃暟鍥炶皟纭瀹為檯鎵撳嵃瀹屾垚
-
- })
- } else {
- console.log("璁剧疆鎵撳嵃浠诲姟澶辫触", r)
- reject(new Error(r.msg || '璁剧疆鎵撳嵃浠诲姟澶辫触'));
- }
- })
- } catch (error) {
- console.log(error)
- reject(error);
- }
- });
- },
- tapQuery(item) {
- this.maskShow = false
- // 杩炴帴鎵撳嵃鏈�
- let _this = this;
- console.log(item)
+ jcapi.openPrinterByDevice(
+ {
+ address: item.address,
+ name: item.name,
+ deviceType: 0, // 璁惧绫诲瀷锛�0-钃濈墮锛�1-缃戠粶
+ },
+ function (r) {
+ if (r.code == 0) {
+ _this.connectedDevice = item;
+ _this.connectionStatus = "connected";
+ uni.showToast({
+ title: "杩炴帴鎴愬姛",
+ duration: 1500,
+ });
+ // 寮�濮嬪鐞嗘墦鍗伴槦鍒�
+ if (_this.printQueue.length > 0) {
+ _this.processPrintQueue();
+ }
+ } else {
+ _this.connectionStatus = "disconnected";
+ uni.showToast({
+ title: "杩炴帴澶辫触: " + (r.msg || "鏈煡閿欒"),
+ icon: "none",
+ duration: 2000,
+ });
+ }
+ }
+ );
+ },
+ //鎵撳嵃鐩稿叧
+ searchDevice() {
+ let _this = this;
+ uni.openBluetoothAdapter({
+ // 纭钃濈墮鏄惁鎵撳紑
+ success(r) {
+ uni.showLoading({
+ title: "鎼滅储涓�...",
+ });
+ // 鏈巿浜堣摑鐗欑浉鍏虫潈闄愬拰鏈墦寮�鎵嬫満瀹氫綅浼氭悳绱笉鍒拌澶�
+ jcapi.getBluetoothDevices(function (r) {
+ console.log("device:" + JSON.stringify(r));
+ // 鎼滅储鍒拌澶囧洖璋�
+ uni.hideLoading();
+ // 濡傛灉涔嬪墠鏈夎繛鎺ョ殑璁惧浣嗕笉鍦ㄦ悳绱㈢粨鏋滀腑锛岃鏄庤澶囧凡鏇存崲
+ if (
+ _this.connectedDevice &&
+ !r.some((dev) => dev.address === _this.connectedDevice.address)
+ ) {
+ _this.connectedDevice = null;
+ uni.showToast({
+ icon: "none",
+ title: "宸茶繛鎺ョ殑钃濈墮璁惧宸叉洿鎹紝璇烽噸鏂伴�夋嫨",
+ duration: 2000,
+ });
+ }
+ _this.listDevice = r;
+ _this.maskShow = true;
+ });
+ },
+ fail(e) {
+ uni.showModal({
+ title: "鎻愮ず",
+ content: "鎵撳紑钃濈墮澶辫触锛岃妫�鏌ヨ摑鐗欐槸鍚﹀紑鍚�",
+ showCancel: false,
+ });
+ console.log("寮�鍚摑鐗欒澶囧け璐�" + e);
+ },
+ });
+ },
+ // 缁樺埗妯嚎
+ getDrawLabelLine(x, y, width, height, rotate, lineType) {
+ jcapi.drawLabelLine({
+ x: x,
+ y: y,
+ width: width,
+ height: height,
+ rotate: rotate,
+ lineType: lineType,
+ });
+ },
+ // 濉啿鏂囧瓧鏍囬
+ getDrawLabelText(
+ x,
+ y,
+ width,
+ height,
+ value,
+ fontSize,
+ rotate,
+ lineMode,
+ lineSpace,
+ letterSpace,
+ textAlignHorizontal,
+ textAlignVertical,
+ bold
+ ) {
+ jcapi.drawLabelText({
+ x: x,
+ y: y,
+ width: width,
+ height: height,
+ value: value,
+ fontSize: fontSize,
+ rotate: rotate,
+ lineMode: lineMode,
+ lineSpace: lineSpace,
+ letterSpace: letterSpace,
+ textAlignHorizontal: textAlignHorizontal,
+ textAlignVertical: textAlignVertical,
+ bold: bold,
+ });
+ },
+ getConnectionStatusText() {
+ switch (this.connectionStatus) {
+ case "connected":
+ return "钃濈墮宸茶繛鎺�";
+ case "connecting":
+ return "钃濈墮杩炴帴涓�...";
+ default:
+ return "钃濈墮鏈繛鎺�";
+ }
+ },
+ getPrintStatusText() {
+ switch (this.printStatus) {
+ case "printing":
+ const total = this.printQueue.length + 1; // 闃熷垪涓墿浣� + 褰撳墠姝e湪鎵撳嵃
+ const current = total - this.printQueue.length;
+ return `鎵撳嵃涓�(${current}/${total})`;
+ case "error":
+ return `鎵撳嵃閿欒: ${this.errorMessage}`;
+ default:
+ return "灏辩华";
+ }
+ },
+ //鍒锋柊涓婁竴涓〉闈�
+ refreshLastPage(no) {
+ // 鍛婄煡 A.vue 鏇存柊鏁版嵁
+ // 鑾峰彇椤甸潰鏍�
+ let pages = getCurrentPages();
- // 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
- this.connectionStatus = 'connecting';
+ // 鑾峰彇涓婁竴椤垫爤
+ let prevPage = pages[pages.length - 2];
- jcapi.openPrinterByDevice({
- address: item.address,
- name: item.name,
- deviceType: 0 // 璁惧绫诲瀷锛�0-钃濈墮锛�1-缃戠粶
- }, function(r) {
- if (r.code == 0) {
- _this.connectedDevice = item
- _this.connectionStatus = 'connected';
- uni.showToast({
- title: "杩炴帴鎴愬姛",
- duration: 1500
- })
- // 寮�濮嬪鐞嗘墦鍗伴槦鍒�
- console.log('鎵撳嵃闃熷垪',_this.printQueue)
- if (_this.printQueue.length > 0) {
- _this.processPrintQueue();
- }
- } else {
- _this.connectionStatus = 'disconnected';
- uni.showToast({
- title: "杩炴帴澶辫触: " + (r.msg || '鏈煡閿欒'),
- icon: 'none',
- duration: 2000
- })
- }
- })
- },
- //鎵撳嵃鐩稿叧
- searchDevice() {
- let _this = this
- uni.openBluetoothAdapter({ // 纭钃濈墮鏄惁鎵撳紑
- success(r) {
- uni.showLoading({
- title: "鎼滅储涓�..."
- })
- // 鏈巿浜堣摑鐗欑浉鍏虫潈闄愬拰鏈墦寮�鎵嬫満瀹氫綅浼氭悳绱笉鍒拌澶�
- jcapi.getBluetoothDevices(function(r) {
- console.log("device:" + JSON.stringify(r))
- // 鎼滅储鍒拌澶囧洖璋�
- uni.hideLoading()
- // 濡傛灉涔嬪墠鏈夎繛鎺ョ殑璁惧浣嗕笉鍦ㄦ悳绱㈢粨鏋滀腑锛岃鏄庤澶囧凡鏇存崲
- if (_this.connectedDevice && !r.some(dev => dev.address === _this
- .connectedDevice.address)) {
- _this.connectedDevice = null;
- uni.showToast({
- icon: 'none',
- title: '宸茶繛鎺ョ殑钃濈墮璁惧宸叉洿鎹紝璇烽噸鏂伴�夋嫨',
- duration: 2000
- });
- }
- _this.listDevice = r;
- _this.maskShow = true
- })
- },
- fail(e) {
- uni.showModal({
- title: '鎻愮ず',
- content: '鎵撳紑钃濈墮澶辫触锛岃妫�鏌ヨ摑鐗欐槸鍚﹀紑鍚�',
- showCancel: false
- })
- console.log("寮�鍚摑鐗欒澶囧け璐�" + e)
- }
- })
- },
- // 缁樺埗妯嚎 锟斤拷锟界嚎
- getDrawLabelLine(x, y, width, height, rotate, lineType) {
- jcapi.drawLabelLine({
- x: x,
- y: y,
- width: width,
- height: height,
- rotate: rotate,
- lineType: lineType
- });
- },
- // 濉啿鏂囧瓧鏍囬
- getDrawLabelText(x, y, width, height, value, fontSize, rotate, lineMode, lineSpace, letterSpace,
- textAlignHorizontal, textAlignVertical, bold) {
+ // 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�)
+ prevPage.$vm.setNo(no);
- jcapi.drawLabelText({
- x: x,
- y: y,
- width: width,
- height: height,
- value: value,
- fontSize: fontSize,
- rotate: rotate,
- lineMode: lineMode,
- lineSpace: lineSpace,
- letterSpace: letterSpace,
- textAlignHorizontal: textAlignHorizontal,
- textAlignVertical: textAlignVertical,
- bold: bold
- })
- },
-
- //鍒锋柊涓婁竴涓〉闈�
- getConnectionStatusText() {
- switch(this.connectionStatus) {
- case 'connected':
- return '钃濈墮宸茶繛鎺�';
- case 'connecting':
- return '钃濈墮杩炴帴涓�...';
- default:
- return '钃濈墮鏈繛鎺�';
- }
- },
- getPrintStatusText() {
- switch(this.printStatus) {
- case 'printing':
- const total = this.printQueue.length + 1; // 闃熷垪涓墿浣� + 褰撳墠姝e湪鎵撳嵃
- const current = total - this.printQueue.length;
- return `鎵撳嵃涓�(${current}/${total})`;
- case 'error':
- return `鎵撳嵃閿欒: ${this.errorMessage}`;
- default:
- return '灏辩华';
- }
- },
- refreshLastPage(no) {
- // 鍛婄煡 A.vue 鏇存柊鏁版嵁
- // 鑾峰彇椤甸潰鏍�
- let pages = getCurrentPages()
-
- // 鑾峰彇涓婁竴椤垫爤
- let prevPage = pages[pages.length - 2]
-
- // 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�)
- prevPage.$vm.setNo(no)
-
- // 杩斿洖涓婁竴椤�
- uni.navigateBack({
- delta: 1
- })
- },
- }
- };
+ // 杩斿洖涓婁竴椤�
+ uni.navigateBack({
+ delta: 1,
+ });
+ },
+ },
+};
</script>
<style lang="scss">
- .finishProductIn-locno-bg {
- background-color: #F6F9FF;
- background-image: url('~@/static/custom/finishProductIn/locNoBg.png');
- // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
- padding: 0 20rpx;
- background-attachment: fixed;
- background-size: 100% auto;
- background-repeat: no-repeat;
- position: fixed;
- top: 0;
- bottom: 0;
- width: 100%;
- z-index: -1;
- }
+.finishProductIn-locno-bg {
+ background-color: #f6f9ff;
+ background-image: url("~@/static/custom/finishProductIn/locNoBg.png");
+ // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0));
+ padding: 0 20rpx;
+ background-attachment: fixed;
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ width: 100%;
+ z-index: -1;
+}
- .finishProductIn-locno-search {
- padding: 40rpx 30rpx 20rpx 30rpx;
- }
+.finishProductIn-locno-search {
+ padding: 40rpx 30rpx 20rpx 30rpx;
+}
- .wrap .finishProductIn-locno-scroll-list {
- height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
- width: 100%;
- }
+.wrap .finishProductIn-locno-scroll-list {
+ height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx);
+ width: 100%;
+}
- .finishProductIn-locno-scroll-list-group {
- ::v-deep .u-cell-item-box {
- background-color: rgba(250, 252, 255, 0.36) !important;
- padding: 0rpx 30rpx;
- }
+.finishProductIn-locno-scroll-list-group {
+ ::v-deep .u-cell-item-box {
+ background-color: rgba(250, 252, 255, 0.36) !important;
+ padding: 0rpx 30rpx;
+ }
- .content {
- font-size: 12px;
- background-color: #ffffff;
- box-sizing: border-box;
- border-radius: 10rpx;
- margin: 0rpx 0rpx 16rpx;
- padding: 20rpx 8rpx;
- box-shadow: none;
- display: flex;
- align-items: center;
+ .content {
+ font-size: 12px;
+ background-color: #ffffff;
+ box-sizing: border-box;
+ border-radius: 10rpx;
+ margin: 0rpx 0rpx 16rpx;
+ padding: 20rpx 8rpx;
+ box-shadow: none;
+ display: flex;
+ align-items: center;
- .content-header {
- width: 40rpx;
- height: 90rpx;
- display: flex;
- align-items: center;
+ .content-header {
+ width: 40rpx;
+ height: 90rpx;
+ display: flex;
+ align-items: center;
- .content-header-icon {
- background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
- background-size: 100% auto;
- background-repeat: no-repeat;
- height: 28rpx;
- width: 28rpx;
- }
+ .content-header-icon {
+ background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ height: 28rpx;
+ width: 28rpx;
+ }
- .content-header-title {
- margin-left: 11rpx;
- font-size: 26rpx;
- font-weight: bold;
- color: #3d52f5;
- }
- }
+ .content-header-title {
+ margin-left: 11rpx;
+ font-size: 26rpx;
+ font-weight: bold;
+ color: #3d52f5;
+ }
+ }
- .content-body {
- flex: 1;
- background: #f5f9ff;
- border-radius: 10rpx;
- padding: 0rpx 23rpx;
+ .content-body {
+ flex: 1;
+ background: #f5f9ff;
+ border-radius: 10rpx;
+ padding: 0rpx 23rpx;
- .row-list {
- height: 60rpx;
- display: flex;
- flex-direction: row;
- padding: 0px;
- align-items: center;
- }
+ .row-list {
+ height: 60rpx;
+ display: flex;
+ flex-direction: row;
+ padding: 0px;
+ align-items: center;
+ }
- .row-list ._label {
- display: flex;
- flex: 0.8;
- color: #909399;
- align-items: center;
+ .row-list ._label {
+ display: flex;
+ flex: 0.8;
+ color: #909399;
+ align-items: center;
- ._label-icon-1 {
- background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png");
- background-size: 100% auto;
- background-repeat: no-repeat;
- height: 26rpx;
- width: 26rpx;
- }
+ ._label-icon-1 {
+ background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png");
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ height: 26rpx;
+ width: 26rpx;
+ }
- ._label-icon-2 {
- background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png");
- background-size: 100% auto;
- background-repeat: no-repeat;
- height: 26rpx;
- width: 26rpx;
- }
+ ._label-icon-2 {
+ background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png");
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ height: 26rpx;
+ width: 26rpx;
+ }
- ._label-icon-3 {
- background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png");
- background-size: 100% auto;
- background-repeat: no-repeat;
- height: 26rpx;
- width: 26rpx;
- }
+ ._label-icon-3 {
+ background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png");
+ background-size: 100% auto;
+ background-repeat: no-repeat;
+ height: 26rpx;
+ width: 26rpx;
+ }
- ._label-name {
- margin-left: 11rpx;
- font-size: 26rpx;
- font-weight: 500;
- color: #666666;
- }
- }
+ ._label-name {
+ margin-left: 11rpx;
+ font-size: 26rpx;
+ font-weight: 500;
+ color: #666666;
+ }
+ }
- .row-list ._content {
- flex: 1.5;
- text-align: right;
- color: #909399;
- font-size: 24rpx;
- }
+ .row-list ._content {
+ flex: 1.5;
+ text-align: right;
+ color: #909399;
+ font-size: 24rpx;
+ }
- .row-list .s1 {
- color: #d35651;
- }
- }
- }
- }
+ .row-list .s1 {
+ color: #d35651;
+ }
+ }
+ }
+}
- .navbar-right {
- font-weight: 500;
- font-size: 13px;
- color: #0b0b0b;
- line-height: 36rpx;
- margin-right: 32rpx;
- }
+.navbar-right {
+ font-weight: 500;
+ font-size: 13px;
+ color: #0b0b0b;
+ line-height: 36rpx;
+ margin-right: 32rpx;
+}
- /* 妯℃�佹鏍峰紡浼樺寲 */
- .u-modal {
- --modal-width: 85% !important;
- --modal-radius: 16rpx !important;
- --modal-bg-color: #ffffff !important;
- }
+/* 妯℃�佹鏍峰紡浼樺寲 */
+.u-modal {
+ --modal-width: 85% !important;
+ --modal-radius: 16rpx !important;
+ --modal-bg-color: #ffffff !important;
+}
- /* 妯℃�佹鍐呭鍖哄煙 */
- .uni-scroll_box {
- height: 500rpx !important;
- padding: 20rpx;
- }
+/* 妯℃�佹鍐呭鍖哄煙 */
+.uni-scroll_box {
+ height: 500rpx !important;
+ padding: 20rpx;
+}
- /* 璁惧鍒楄〃椤规牱寮� */
- .device-item {
- background-color: #f5f9ff;
- border-radius: 12rpx;
- padding: 20rpx;
- margin-bottom: 16rpx;
- box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
- }
+/* 璁惧鍒楄〃椤规牱寮� */
+.device-item {
+ background-color: #f5f9ff;
+ border-radius: 12rpx;
+ padding: 20rpx;
+ margin-bottom: 16rpx;
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
+}
- /* 璁惧鍚嶇О鏍峰紡 */
- .device-name {
- font-size: 28rpx;
- font-weight: 500;
- color: #333333;
- margin-bottom: 10rpx;
- display: flex;
- justify-content: space-between;
- }
+/* 璁惧鍚嶇О鏍峰紡 */
+.device-name {
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #333333;
+ margin-bottom: 10rpx;
+ display: flex;
+ justify-content: space-between;
+}
- /* UUID鏂囨湰鏍峰紡 */
- .device-uuid {
- font-size: 24rpx;
- color: #666666;
- word-break: break-all;
- }
+/* UUID鏂囨湰鏍峰紡 */
+.device-uuid {
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #333333;
+ margin-bottom: 10rpx;
+ display: flex;
+ justify-content: space-between;
+}
- /* 妯℃�佹鏍囬 */
- .modal-title {
- font-size: 32rpx;
- font-weight: bold;
- color: #333333;
- text-align: center;
- margin-bottom: 20rpx;
- padding-bottom: 10rpx;
- border-bottom: 1rpx solid #eeeeee;
- }
+/* 妯℃�佹鏍囬 */
+.modal-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #333333;
+ text-align: center;
+ margin-bottom: 20rpx;
+ padding-bottom: 10rpx;
+ border-bottom: 1rpx solid #eeeeee;
+}
- /* 绌虹姸鎬佹彁绀� */
- .empty-tip {
- text-align: center;
- padding: 100rpx 0;
- color: #999999;
- font-size: 28rpx;
- }
+/* 绌虹姸鎬佹彁绀� */
+.empty-tip {
+ text-align: center;
+ padding: 100rpx 0;
+ color: #999999;
+ font-size: 28rpx;
+}
- .status-indicator {
- padding: 8rpx 16rpx;
- font-size: 24rpx;
- text-align: center;
- color: #fff;
- background-color: #666;
-
- &.connected {
- background-color: #07c160;
- }
-
- &.connecting {
- background-color: #ff976a;
- }
-
- &.disconnected {
- background-color: #f53f3f;
- }
-
- .print-status {
- margin-left: 10rpx;
- font-size: 22rpx;
- }
- }
+.status-indicator {
+ padding: 8rpx 16rpx;
+ font-size: 24rpx;
+ text-align: center;
+ color: #fff;
+ background-color: #666;
+
+ &.connected {
+ background-color: #07c160;
+ }
+
+ &.connecting {
+ background-color: #ff976a;
+ }
+
+ &.disconnected {
+ background-color: #f53f3f;
+ }
+
+ .print-status {
+ margin-left: 10rpx;
+ font-size: 22rpx;
+ }
+}
</style>
\ No newline at end of file
--
Gitblit v1.9.3