From 4299dc4a3f0a0ac25ee9ea28eeda3bd94a40abfc Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 21 十月 2025 11:11:24 +0800
Subject: [PATCH] 核磅记录和移库记录需要倒叙和头部插入
---
pages/wareHouse/nuclearScale/nuclearscalerecord.vue | 887 +++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 585 insertions(+), 302 deletions(-)
diff --git a/pages/wareHouse/nuclearScale/nuclearscalerecord.vue b/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
index 2da0918..4363f74 100644
--- a/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
+++ b/pages/wareHouse/nuclearScale/nuclearscalerecord.vue
@@ -8,12 +8,21 @@
</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 class="content-header-title">{{ list.length - index }}</view>
</view>
<view class="content-body">
<view class="row-list">
@@ -22,7 +31,7 @@
<view class="_label-name">鎵规鍙凤細</view>
</view>
<view class="_content">
- {{ item.outBatchNo }}
+ {{ item.batchNo }}
</view>
</view>
<view class="row-list">
@@ -31,7 +40,7 @@
<view class="_label-name">浜у搧鎻忚堪锛�</view>
</view>
<view class="_content">
- {{ item.netWeight }}
+ {{ item.partDescription }}
</view>
</view>
<view class="row-list">
@@ -49,7 +58,7 @@
<view class="_label-name">姣涢噸锛�</view>
</view>
<view class="_content">
- {{ item.grossWeight }}
+ {{ item.newGrossWeight }}
</view>
</view>
<view class="row-list">
@@ -58,7 +67,7 @@
<view class="_label-name">鐩橀噸锛�</view>
</view>
<view class="_content">
- {{ item.trayWeight }}
+ {{ item.newWeight }}
</view>
</view>
<view class="row-list">
@@ -67,7 +76,7 @@
<view class="_label-name">鍑�閲嶏細</view>
</view>
<view class="_content">
- {{ item.value5 }}
+ {{ item.newNetWeight }}
</view>
</view>
<view class="row-list">
@@ -76,7 +85,7 @@
<view class="_label-name">鏍哥閲嶉噺锛�</view>
</view>
<view class="_content">
- {{ item.netWeight }}
+ {{ item.verificationWeight }}
</view>
</view>
<view class="row-list">
@@ -85,7 +94,7 @@
<view class="_label-name">鍙夎溅鐩橀噸锛�</view>
</view>
<view class="_content">
- {{ item.value7 }}
+ {{ item.forkliftWeight }}
</view>
</view>
</view>
@@ -97,9 +106,8 @@
</scroll-view>
</view>
<u-toast ref="uToast" />
- <u-modal v-model="maskShow" title=""
- :show-confirm-button="false" >
- <view @touchmove.stop.prevent="moveHandle" @click="maskclose">
+ <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>
@@ -107,28 +115,20 @@
<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>
+ <text>{{ item.name || "鏈煡璁惧" }}</text>
</view>
<view class="device-uuid">
<text>UUID:</text>
- <text>{{ item.address || '鏃犲湴鍧�' }}</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>
</template>
<script>
- import content_bg from '@/static/custom/finishProductIn/locNoBg.png'
+ import content_bg from "@/static/custom/finishProductIn/locNoBg.png";
const jcapi = uni.requireNativePlugin("JCSDK-JCApiModule");
// 浜岀淮鐮佺被鍨�
@@ -136,35 +136,35 @@
QrCode: 31,
PDF417: 32,
DataMatrix: 33,
- AZTEC: 34
- }
+ 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',
+ backgroundAttachment: "fixed",
+ backgroundSize: "100% auto",
+ backgroundRepeat: "no-repeat",
},
- keywords: '',
+ keywords: "",
list: [],
total: 0,
pageNum: 1,
pageSize: 10,
- status: 'loading',
+ status: "loading",
loadText: {
loadmore: "鍔犺浇鏇村...",
loading: "鍔姏鍔犺浇涓�...",
@@ -185,41 +185,85 @@
// 1锛氱儹鏁�
// 2锛氱儹杞嵃
connectedDevice: null, // 宸茶繛鎺ョ殑鎵撳嵃鏈�
- connectionStatus: 'disconnected', // 杩炴帴鐘舵��: disconnected, connecting, connected
- printStatus: 'idle', // 鎵撳嵃鐘舵��: idle, printing, error
- errorMessage: '' // 閿欒淇℃伅
+ connectionStatus: "disconnected", // 杩炴帴鐘舵��: disconnected, connecting, connected
+ printStatus: "idle", // 鎵撳嵃鐘舵��: idle, printing, error
+ errorMessage: "", // 閿欒淇℃伅
+ verificationNo: "",
+ failedPrintJobs: [],
};
},
- onLoad() {
- this.getlist()
+ onLoad(options) {
+ this.verificationNo = JSON.parse(
+ decodeURIComponent(options.verificationNo)
+ );
+ this.getlist();
// 鍒濆鍖朣DK
- jcapi.initSDK()
+ jcapi.initSDK();
+
+ // 灏濊瘯鎭㈠涔嬪墠鐨勮摑鐗欒繛鎺ョ姸鎬�
+ this.restoreBluetoothConnection();
+
// 鐩戝惉椤电爜鍥炶皟
jcapi.didReadPrintCountInfo(function(r) {
- console.log(r)
- })
+ console.log("椤电爜", r);
+ });
// 鐩戝惉閿欒鍥炶皟
jcapi.didReadPrintErrorInfo((r) => {
- console.log(r)
+ console.log("閿欒", r);
if (r.code == 23) {
// 鎵撳嵃鏈烘柇寮�杩炴帴
- this.connectedDevice = null
+ this.connectedDevice = null;
+ // 娓呴櫎鏈湴瀛樺偍鐨勮繛鎺ヤ俊鎭�
+ uni.removeStorageSync("bluetoothConnection");
uni.showToast({
- icon: 'none',
- title: '鎵撳嵃鏈鸿繛鎺ュ凡鏂紑锛岃閲嶆柊杩炴帴',
- duration: 2 * 1000
- })
+ icon: "none",
+ title: "鎵撳嵃鏈鸿繛鎺ュ凡鏂紑锛岃閲嶆柊杩炴帴",
+ duration: 2 * 1000,
+ });
} else {
uni.showToast({
- icon: 'none',
+ icon: "none",
title: JSON.stringify(r),
- duration: 2 * 1000
- })
+ duration: 2 * 1000,
+ });
}
- })
+ });
},
methods: {
+ restoreBluetoothConnection() {
+ try {
+ // 浠庢湰鍦板瓨鍌ㄨ幏鍙栦箣鍓嶄繚瀛樼殑杩炴帴淇℃伅
+ const savedConnection = uni.getStorageSync("bluetoothConnection");
+ if (savedConnection && savedConnection.address) {
+ console.log("灏濊瘯鎭㈠钃濈墮杩炴帴:", savedConnection);
+ // 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
+ this.connectionStatus = "connecting";
+
+ // 灏濊瘯閲嶆柊杩炴帴
+ jcapi.openPrinterByDevice({
+ address: savedConnection.address,
+ name: savedConnection.name,
+ deviceType: 0, // 璁惧绫诲瀷锛�0-钃濈墮锛�1-缃戠粶
+ },
+ (r) => {
+ if (r.code == 0) {
+ this.connectedDevice = savedConnection;
+ this.connectionStatus = "connected";
+ console.log("钃濈墮杩炴帴宸叉仮澶�");
+ } else {
+ this.connectionStatus = "disconnected";
+ // 濡傛灉閲嶈繛澶辫触锛屾竻闄や繚瀛樼殑杩炴帴淇℃伅
+ uni.removeStorageSync("bluetoothConnection");
+ console.log("钃濈墮閲嶈繛澶辫触:", r);
+ }
+ }
+ );
+ }
+ } catch (e) {
+ console.error("鎭㈠钃濈墮杩炴帴澶辫触:", e);
+ }
+ },
getmoreList() {
if (this.pageSize >= this.total) {
this.status = "nomore";
@@ -232,12 +276,29 @@
}, 1000);
},
getlist() {
- this.$u.api.workReporting
- .getWorkshopOrder({
+ this.$u.api.NuclearScaleEntry.queryPacking({
+ current: this.pageNum,
+ size: this.pageSize,
+ verificationNo: this.verificationNo,
+ }).then((res) => {
+ this.list = res.data;
+ this.total = res.data.length;
+ if (this.pageSize >= this.total) {
+ this.status = "nomore";
+ } else {
+ this.status = "loadmore";
+ }
+ });
+ },
+ search(value) {
+ if (value) {
+ this.list = [];
+ this.pageSize = 10;
+ this.$u.api.NuclearScaleEntry.queryPacking({
current: this.pageNum,
- size: this.pageSize
- })
- .then((res) => {
+ size: this.pageSize,
+ moNo: value,
+ }).then((res) => {
this.list = res.data.records;
this.total = res.data.total;
if (this.pageSize >= this.total) {
@@ -246,55 +307,32 @@
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';
+ this.connectionStatus = "disconnected";
return false;
}
- console.log('disconnected2222222222')
// 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
- this.connectionStatus = 'connecting';
- console.log('disconnected33333333333')
+ this.connectionStatus = "connecting";
// 澧炲己杩炴帴鐘舵�佹娴�
- return new Promise(resolve => {
+ return new Promise((resolve) => {
// 绠�鍖栬繛鎺ョ姸鎬佹娴嬶紝鐩存帴浣跨敤宸茶褰曠殑杩炴帴鐘舵��
if (this.connectedDevice) {
- this.connectionStatus = 'connected';
+ this.connectionStatus = "connected";
resolve(true);
} else {
- this.connectionStatus = 'disconnected';
+ this.connectionStatus = "disconnected";
uni.showToast({
- icon: 'none',
- title: '鎵撳嵃鏈烘湭杩炴帴锛岃鍏堣繛鎺�',
- duration: 2000
+ icon: "none",
+ title: "鎵撳嵃鏈烘湭杩炴帴锛岃鍏堣繛鎺�",
+ duration: 2000,
});
resolve(false);
}
@@ -317,12 +355,8 @@
// 澶勭悊鎵撳嵃闃熷垪
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();
@@ -331,11 +365,10 @@
}
this.printing = true;
- this.printStatus = 'printing';
+ this.printStatus = "printing";
// 鍙栧嚭闃熷垪涓殑绗竴涓换鍔�
const item = this.printQueue.shift();
- console.log('鎵撳嵃鐨勪换鍔�',item)
try {
// 鎵ц鎵撳嵃
@@ -343,17 +376,17 @@
// 鎵撳嵃鎴愬姛鍚庣户缁鐞嗕笅涓�涓�
uni.showToast({
- title: '鎵撳嵃鎴愬姛',
- icon: 'success',
- duration: 1000
+ title: "鎵撳嵃鎴愬姛",
+ icon: "success",
+ duration: 1000,
});
// 鐭殏寤惰繜锛岄伩鍏嶆墦鍗版満缂撳瓨婧㈠嚭
- await new Promise(resolve => setTimeout(resolve, 1000));
+ await new Promise((resolve) => setTimeout(resolve, 1000));
} catch (error) {
- console.error('鎵撳嵃鍑洪敊:', error);
- this.printStatus = 'error';
- this.errorMessage = error.message || '鎵撳嵃鏃跺彂鐢熸湭鐭ラ敊璇�';
+ console.error("鎵撳嵃鍑洪敊:", error);
+ this.printStatus = "error";
+ this.errorMessage = error.message || "鎵撳嵃鏃跺彂鐢熸湭鐭ラ敊璇�";
this.printing = false;
// 璁板綍澶辫触鐨勪换鍔★紝涓嶉噸鏂版坊鍔犲埌闃熷垪
@@ -362,8 +395,8 @@
uni.showToast({
title: `鎵撳嵃澶辫触: ${this.errorMessage}`,
- icon: 'none',
- duration: 2000
+ icon: "none",
+ duration: 2000,
});
// 缁х画澶勭悊涓嬩竴涓换鍔�
continue;
@@ -371,29 +404,29 @@
}
this.printing = false;
- this.printStatus = 'idle';
+ this.printStatus = "idle";
},
// 鎵撳嵃鍗曚釜淇℃伅
selectNo(item) {
- let that = this
+ let that = this;
uni.showModal({
- title: '鎻愮ず',
- content: '鏄惁鎵撳嵃瑁呯鍗曪紵',
+ title: "鎻愮ず",
+ content: "鏄惁鎵撳嵃瑁呯鍗曪紵",
showCancel: true,
success: async function(res) {
if (res.confirm) {
// 娣诲姞鍒版墦鍗伴槦鍒�
that.addToPrintQueue(item);
}
- }
+ },
});
},
// 鎵撳嵃鍏ㄩ儴淇℃伅
goPrintAll() {
- let that = this
+ let that = this;
uni.showModal({
- title: '鎻愮ず',
+ title: "鎻愮ず",
content: `鏄惁鎵撳嵃鍏ㄩ儴${that.list.length}鏉¤绠卞崟锛焋,
showCancel: true,
success: async function(res) {
@@ -401,66 +434,56 @@
// 娣诲姞鍒版墦鍗伴槦鍒�
that.addToPrintQueue([...that.list]);
}
- }
+ },
});
},
- moveHandle() {
-
- },
- maskclose() {
-
- },
+ moveHandle() {},
+ maskclose() {},
//鎵撳嵃浜岀淮鐮�
- async printQrCode(item) {
+ 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) {
+ if (!item) {
this.$refs.uToast.show({
- title: '鏈煡璇㈠埌璇ユ爣绛句俊鎭紒',
- type: 'warning '
- })
- reject(new Error('鏈煡璇㈠埌璇ユ爣绛句俊鎭�'));
- return
+ title: "鏈煡璇㈠埌璇ユ爣绛句俊鎭紒",
+ type: "warning ",
+ });
+ reject(new Error("鏈煡璇㈠埌璇ユ爣绛句俊鎭�"));
+ return;
}
- // 浠嶢PI鍝嶅簲涓彁鍙栨墍闇�鏁版嵁
- const {
- ht,
- lj,
- ljms,
- fh,
- scdt,
- scph,
- fhdw,
- shdw
- } = res.data
+ const ht = item.contractNo;
+ const lj = item.partNo;
+ const ljms = item.ccontrProModel;
+ const fh = item.newNetWeight;
+ const scdt = item.productionDate;
+ const scph = item.batchNo;
+ const shdw = item.customerName;
+ const fhdw = "姹熶笢鍚堥噾鎶�鏈湁闄愬叕鍙�";
// 鍒濆鍖栫敾鏉�
jcapi.initDrawingBoard({
width: 70,
height: 49,
- rotate: 90
+ rotate: 90,
});
// 缁樺埗浜岀淮鐮�
- const qrContent =
- `ht:${ht}\nlj:${lj}\nljms:${ljms}\nfh:${fh}\nscdt:${scdt}\nscph:${scph}\nfhdw:${fhdw}\nshdw:${shdw}`;
+ const qrContent = {
+ company: item.customerNo,
+ line_no: item.lineNo,
+ lot_batch_no: item.batchNo,
+ order_no: item.contractNo,
+ part_no: item.partNo,
+ total_qty: item.newNetWeight,
+ qty_arrived: item.newNetWeight,
+ release_no: item.relNo,
+ };
+
jcapi.drawLabelQrCode({
x: 43.5,
y: 2,
@@ -472,174 +495,420 @@
});
// 缁樺埗妯嚎
- 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.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, 23, 42, 0.3, 0, LineType.Solid);
+ this.getDrawLabelLine(1, 27.5, 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.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, 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(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.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,
+ 23.5,
+ 25,
+ 8,
+ "鍙戣揣/瑁呯鏁�:",
+ 2.5,
+ 0,
+ LineModeType.AutoHeight,
+ 0,
+ 0,
+ 0,
+ 1,
+ 1
+ );
+ this.getDrawLabelText(
+ 2,
+ 28.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.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(
+ 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,
+ 23.5,
+ 27,
+ 8,
+ fh,
+ 2.5,
+ 0,
+ LineModeType.AutoHeight,
+ 0,
+ 0,
+ 0,
+ 0,
+ 1
+ );
+ this.getDrawLabelText(
+ 14,
+ 28.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
+ );
// 鐢熸垚鎵撳嵃鏁版嵁
- let imageJsonObj = jcapi.generateLabelJson()
- console.log('鎵撳嵃鐨勬暟鎹�',imageJsonObj)
+ let imageJsonObj = jcapi.generateLabelJson();
// 璁剧疆鎵撳嵃浠诲姟
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);
-
- // 娣诲姞鎵撳嵃瓒呮椂澶勭悊
- const printTimeout = setTimeout(() => {
- jcapi.didReadPrintCountInfo(originalPrintCountCallback);
- reject(new Error('鎵撳嵃瓒呮椂鏈搷搴�'));
- }, 10000);
-
- jcapi.printData(imageJsonObj, {
- "printQuantity": 1,
- }, function(r) {
- if (r.code != 0) {
- console.log("鎵撳嵃澶辫触", r);
+ 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);
// 缁撴潫褰撳墠鎵撳嵃浠诲姟
- reject(new Error(r.msg || '鎵撳嵃澶辫触'));
- }
- // 锟斤拷鍗版暟鎹彂閫佹垚鍔熷悗绛夊緟鎵撳嵃璁℃暟鍥炶皟纭瀹為檯鎵撳嵃瀹屾垚
-
- })
- } else {
- console.log("璁剧疆鎵撳嵃浠诲姟澶辫触", r)
- reject(new Error(r.msg || '璁剧疆鎵撳嵃浠诲姟澶辫触'));
+ // 瑙f瀽Promise琛ㄧず鎵撳嵃瀹屾垚
+ resolve();
+ };
+ // 璁剧疆涓存椂鍥炶皟
+ jcapi.didReadPrintCountInfo(tempPrintCountCallback);
+
+ // 娣诲姞鎵撳嵃瓒呮椂澶勭悊
+ const printTimeout = setTimeout(() => {
+ jcapi.didReadPrintCountInfo(originalPrintCountCallback);
+ reject(new Error("鎵撳嵃瓒呮椂鏈搷搴�"));
+ }, 20000);
+
+ 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) {
- console.log(error)
reject(error);
}
});
},
tapQuery(item) {
- this.maskShow = false
+ this.maskShow = false;
// 杩炴帴鎵撳嵃鏈�
let _this = this;
- console.log(item)
// 璁剧疆涓鸿繛鎺ヤ腑鐘舵��
- this.connectionStatus = 'connecting';
+ this.connectionStatus = "connecting";
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();
+ address: item.address,
+ name: item.name,
+ deviceType: 0, // 璁惧绫诲瀷锛�0-钃濈墮锛�1-缃戠粶
+ },
+ function(r) {
+ // 鍦╰apQuery鏂规硶涓紝杩炴帴鎴愬姛鏃舵坊鍔犱繚瀛樿繛鎺ヤ俊鎭殑浠g爜
+ if (r.code == 0) {
+ _this.connectedDevice = item;
+ _this.connectionStatus = "connected";
+ // 淇濆瓨杩炴帴淇℃伅鍒版湰鍦板瓨鍌�
+ uni.setStorageSync("bluetoothConnection", item);
+ 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,
+ });
}
- } else {
- _this.connectionStatus = 'disconnected';
- uni.showToast({
- title: "杩炴帴澶辫触: " + (r.msg || '鏈煡閿欒'),
- icon: 'none',
- duration: 2000
- })
}
- })
+ );
},
//鎵撳嵃鐩稿叧
searchDevice() {
- let _this = this
- uni.openBluetoothAdapter({ // 纭钃濈墮鏄惁鎵撳紑
+ let _this = this;
+ uni.openBluetoothAdapter({
+ // 纭钃濈墮鏄惁鎵撳紑
success(r) {
uni.showLoading({
- title: "鎼滅储涓�..."
- })
+ title: "鎼滅储涓�...",
+ });
// 鏈巿浜堣摑鐗欑浉鍏虫潈闄愬拰鏈墦寮�鎵嬫満瀹氫綅浼氭悳绱笉鍒拌澶�
jcapi.getBluetoothDevices(function(r) {
- console.log("device:" + JSON.stringify(r))
+ console.log("device:" + JSON.stringify(r));
// 鎼滅储鍒拌澶囧洖璋�
- uni.hideLoading()
+ uni.hideLoading();
// 濡傛灉涔嬪墠鏈夎繛鎺ョ殑璁惧浣嗕笉鍦ㄦ悳绱㈢粨鏋滀腑锛岃鏄庤澶囧凡鏇存崲
- if (_this.connectedDevice && !r.some(dev => dev.address === _this
- .connectedDevice.address)) {
+ if (
+ _this.connectedDevice &&
+ !r.some((dev) => dev.address === _this.connectedDevice.address)
+ ) {
_this.connectedDevice = null;
uni.showToast({
- icon: 'none',
- title: '宸茶繛鎺ョ殑钃濈墮璁惧宸叉洿鎹紝璇烽噸鏂伴�夋嫨',
- duration: 2000
+ icon: "none",
+ title: "宸茶繛鎺ョ殑钃濈墮璁惧宸叉洿鎹紝璇烽噸鏂伴�夋嫨",
+ duration: 2000,
});
}
_this.listDevice = r;
- _this.maskShow = true
- })
+ _this.maskShow = true;
+ });
},
fail(e) {
uni.showModal({
- title: '鎻愮ず',
- content: '鎵撳紑钃濈墮澶辫触锛岃妫�鏌ヨ摑鐗欐槸鍚﹀紑鍚�',
- showCancel: false
- })
- console.log("寮�鍚摑鐗欒澶囧け璐�" + e)
- }
- })
+ title: "鎻愮ず",
+ content: "鎵撳紑钃濈墮澶辫触锛岃妫�鏌ヨ摑鐗欐槸鍚﹀紑鍚�",
+ showCancel: false,
+ });
+ console.log("寮�鍚摑鐗欒澶囧け璐�" + e);
+ },
+ });
},
- // 缁樺埗妯嚎 锟斤拷锟界嚎
+ // 缁樺埗妯嚎
getDrawLabelLine(x, y, width, height, rotate, lineType) {
jcapi.drawLabelLine({
x: x,
@@ -647,13 +916,25 @@
width: width,
height: height,
rotate: rotate,
- lineType: lineType
+ lineType: lineType,
});
},
// 濉啿鏂囧瓧鏍囬
- getDrawLabelText(x, y, width, height, value, fontSize, rotate, lineMode, lineSpace, letterSpace,
- textAlignHorizontal, textAlignVertical, bold) {
-
+ getDrawLabelText(
+ x,
+ y,
+ width,
+ height,
+ value,
+ fontSize,
+ rotate,
+ lineMode,
+ lineSpace,
+ letterSpace,
+ textAlignHorizontal,
+ textAlignVertical,
+ bold
+ ) {
jcapi.drawLabelText({
x: x,
y: y,
@@ -667,56 +948,55 @@
letterSpace: letterSpace,
textAlignHorizontal: textAlignHorizontal,
textAlignVertical: textAlignVertical,
- bold: bold
- })
+ bold: bold,
+ });
},
-
- //鍒锋柊涓婁竴涓〉闈�
getConnectionStatusText() {
- switch(this.connectionStatus) {
- case 'connected':
- return '钃濈墮宸茶繛鎺�';
- case 'connecting':
- return '钃濈墮杩炴帴涓�...';
+ switch (this.connectionStatus) {
+ case "connected":
+ return "钃濈墮宸茶繛鎺�";
+ case "connecting":
+ return "钃濈墮杩炴帴涓�...";
default:
- return '钃濈墮鏈繛鎺�';
+ return "钃濈墮鏈繛鎺�";
}
},
getPrintStatusText() {
- switch(this.printStatus) {
- case 'printing':
+ switch (this.printStatus) {
+ case "printing":
const total = this.printQueue.length + 1; // 闃熷垪涓墿浣� + 褰撳墠姝e湪鎵撳嵃
const current = total - this.printQueue.length;
return `鎵撳嵃涓�(${current}/${total})`;
- case 'error':
+ case "error":
return `鎵撳嵃閿欒: ${this.errorMessage}`;
default:
- return '灏辩华';
+ return "灏辩华";
}
},
+ //鍒锋柊涓婁竴涓〉闈�
refreshLastPage(no) {
// 鍛婄煡 A.vue 鏇存柊鏁版嵁
// 鑾峰彇椤甸潰鏍�
- let pages = getCurrentPages()
+ let pages = getCurrentPages();
// 鑾峰彇涓婁竴椤垫爤
- let prevPage = pages[pages.length - 2]
+ let prevPage = pages[pages.length - 2];
// 瑙﹀彂涓婁竴椤� upData 鍑芥暟(骞舵惡甯﹀弬鏁�)
- prevPage.$vm.setNo(no)
+ prevPage.$vm.setNo(no);
// 杩斿洖涓婁竴椤�
uni.navigateBack({
- delta: 1
- })
+ delta: 1,
+ });
},
- }
+ },
};
</script>
<style lang="scss">
.finishProductIn-locno-bg {
- background-color: #F6F9FF;
- background-image: url('~@/static/custom/finishProductIn/locNoBg.png');
+ 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;
@@ -885,9 +1165,12 @@
/* UUID鏂囨湰鏍峰紡 */
.device-uuid {
- font-size: 24rpx;
- color: #666666;
- word-break: break-all;
+ font-size: 28rpx;
+ font-weight: 500;
+ color: #333333;
+ margin-bottom: 10rpx;
+ display: flex;
+ justify-content: space-between;
}
/* 妯℃�佹鏍囬 */
@@ -915,19 +1198,19 @@
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;
--
Gitblit v1.9.3