From 2755a03bd84d7a23f8d6f5e2ab37b1e8d7624fe3 Mon Sep 17 00:00:00 2001
From: aihe <961836564@qq.com>
Date: Fri, 10 May 2024 09:25:24 +0800
Subject: [PATCH] uu
---
.../buns-goodinfo-sheet.vue | 6 +-
.../buns-order-templates/bo-operator-tmp.vue | 19 ++-
pages/deliveryDeal/arriveDeliveryScanning.vue | 2 +-
pages/deliveryDeal/arriveScanning.vue | 2 +-
pages/deliveryDeal/deliveryScanning.vue | 2 +-
pages/deliveryDeal/qutgoingScanning.vue | 2 +-
pages/deliveryDeal/scanUtil.js | 1 +
pages/print/bluetoothPrinter.vue | 135 +++++++++++-------
8 files changed, 108 insertions(+), 61 deletions(-)
diff --git a/components/buns-goodinfo-sheet/buns-goodinfo-sheet.vue b/components/buns-goodinfo-sheet/buns-goodinfo-sheet.vue
index ddbea22..5f8abc8 100644
--- a/components/buns-goodinfo-sheet/buns-goodinfo-sheet.vue
+++ b/components/buns-goodinfo-sheet/buns-goodinfo-sheet.vue
@@ -220,8 +220,10 @@
async initData() {
this.checkedGoodId = ''
let res = await apiService.getHotGoodsList({ customerCode: this.modelInfo.customerCode, pageSize: 5 })
- debugger
- this.hotGoods = transListKeyTitle({ valKey: 'goodsCode',titleKey: 'goodsName', list: [] })
+ let list = res.rows || []
+ // 截取前5个热门商品
+ list.splice(5, list.length - 5)
+ this.hotGoods = transListKeyTitle({ valKey: 'goodsCode',titleKey: 'goodsName', list })
},
handleCloseModal() {
this.$emit('update:show', false)
diff --git a/components/buns-order-templates/bo-operator-tmp.vue b/components/buns-order-templates/bo-operator-tmp.vue
index eadc59d..2522e99 100644
--- a/components/buns-order-templates/bo-operator-tmp.vue
+++ b/components/buns-order-templates/bo-operator-tmp.vue
@@ -11,11 +11,11 @@
- 2129
+ {{staticInfo.parcelQty}}
总件数
- 2129
+ {{staticInfo.billWeight}}
总重量(KG)
@@ -37,12 +37,23 @@
},
userInfo() {
return this.$store.getters.userInfo
+ },
+ staticInfo(){
+ let data = {
+ parcelQty: 0,
+ billWeight: 0,
+ }
+ this.list.map(t=> {
+ data.parcelQty += t.parcelQty
+ data.billWeight += t.billWeight
+ })
+ return data
}
},
props: {
- value: {
+ list: {
default () {
- return { }
+ return []
}
}
},
diff --git a/pages/deliveryDeal/arriveDeliveryScanning.vue b/pages/deliveryDeal/arriveDeliveryScanning.vue
index 2eaa5cd..c7b4ae9 100644
--- a/pages/deliveryDeal/arriveDeliveryScanning.vue
+++ b/pages/deliveryDeal/arriveDeliveryScanning.vue
@@ -26,7 +26,7 @@
-
+
diff --git a/pages/deliveryDeal/arriveScanning.vue b/pages/deliveryDeal/arriveScanning.vue
index 52ce4d8..5157ef5 100644
--- a/pages/deliveryDeal/arriveScanning.vue
+++ b/pages/deliveryDeal/arriveScanning.vue
@@ -16,7 +16,7 @@
-
+
diff --git a/pages/deliveryDeal/deliveryScanning.vue b/pages/deliveryDeal/deliveryScanning.vue
index 7619a45..b067eca 100644
--- a/pages/deliveryDeal/deliveryScanning.vue
+++ b/pages/deliveryDeal/deliveryScanning.vue
@@ -26,7 +26,7 @@
-
+
diff --git a/pages/deliveryDeal/qutgoingScanning.vue b/pages/deliveryDeal/qutgoingScanning.vue
index f61039c..a28fd2a 100644
--- a/pages/deliveryDeal/qutgoingScanning.vue
+++ b/pages/deliveryDeal/qutgoingScanning.vue
@@ -23,7 +23,7 @@
-
+
diff --git a/pages/deliveryDeal/scanUtil.js b/pages/deliveryDeal/scanUtil.js
index c5ef895..2035b3b 100644
--- a/pages/deliveryDeal/scanUtil.js
+++ b/pages/deliveryDeal/scanUtil.js
@@ -22,6 +22,7 @@ export const getScanParams = (type, model = {})=> {
export const ansScanResponse = ({ res, title })=> {
let resItem = res?.data?.scanResult?.[0] || {}
+ resItem.data && ( Object.assign(resItem, { ...resItem.data }) )
let result = resItem?.result
let bl = false
if(result == "success") {
diff --git a/pages/print/bluetoothPrinter.vue b/pages/print/bluetoothPrinter.vue
index 3c39c31..9a5308d 100644
--- a/pages/print/bluetoothPrinter.vue
+++ b/pages/print/bluetoothPrinter.vue
@@ -119,11 +119,11 @@ export default {
canvas_height: 240,
curTab: 0,
devices: [],
- deviceId: 'dda',
+ deviceId: '',
serverList: [],
- serviceId: 'dda',
+ serviceId: '',
characteristics: [],
- characteristicId: 'dd'
+ characteristicId: ''
}
},
mounted () {
@@ -136,7 +136,7 @@ export default {
},
openBluetoothAdapter () {
var _this = this
- uni.openBluetoothAdapter({
+ uni?.openBluetoothAdapter?.({
complete (e) {
console.log(e);
if (!e.errCode) {
@@ -154,6 +154,7 @@ export default {
discoveryPrinter () {
var _this = this
_this.devices = []
+ _this.curTab = 0
uni.startBluetoothDevicesDiscovery({
complete (e) {
console.log(e)
@@ -280,26 +281,28 @@ export default {
})
})
},
- // 发送二进制数据
+ // 打印-发送二进制数据
async writeBLECharacteristicValue(){
+ let errmsg = ''
if (!this.deviceId) {
- showToast('请选择设备')
- return
+ errmsg = '请选择设备'
}
if (!this.serviceId) {
- showToast('请选择设备服务')
- return
+ errmsg = '请选择设备服务'
}
if (!this.characteristicId) {
- showToast('请选择特征值')
- return
+ errmsg = '请选择特征值'
+ }
+ if(errmsg){
+ showToast(errmsg)
+ return
+ }
+ try{
+ let pic_res = await this.renderPic();
+ showToast('图片获取成功')
+ }catch(e){
+ showToast('图片获取失败')
}
- let pic_res = await this.renderPic();
- uni.showToast({
- icon: 'none',
- title: '图片获取成功'
- })
-
let printerJobs = new PrinterJobs()
var arr = [{
title: '阿根廷车厘子',
@@ -344,37 +347,63 @@ export default {
let buffer = printerJobs.buffer();
console.log('buffer>>>',buffer)
- this.printbuffs(buffer)
- },
- printbuffs(buffer) {
- // 1.并行调用多次会存在写失败的可能性
- // 2.建议每次写入不超过20字节
- // 分包处理,延时调用
- const maxChunk = 20;
- const delay = 20;
- for (let i = 0, j = 0, length = buffer.byteLength; i < length; i += maxChunk, j++) {
- let subPackage = buffer.slice(i, i + maxChunk <= length ? (i + maxChunk) : length);
- setTimeout(this.printbuff, j * delay, subPackage);
+ showLoading('正在打印')
+ try{
+ await this.printbuffs(buffer)
+ hideLoading()
+ showToast('打印成功')
+ }catch(e){
+ hideLoading()
+ console.log('打印异常', e)
}
},
+ printbuffs(buffer) {
+ let _this = this
+ return new Promise(async (resolve, reject)=> {
+ // 1.并行调用多次会存在写失败的可能性
+ // 2.建议每次写入不超过20字节
+ // 分包处理,延时调用
+ const maxChunk = 20;
+ const delay = 20;
+ for (let i = 0, j = 0, length = buffer.byteLength; i < length; i += maxChunk, j++) {
+ let subPackage = buffer.slice(i, i + maxChunk <= length ? (i + maxChunk) : length);
+ await new Promise((resolve)=> {
+ setTimeout(resolve, j * delay)
+ })
+ try{
+ await _this.printbuff(subPackage)
+ }catch(msg){
+ console.log("printbuffs:异常==", msg)
+ showToast('分段printbuff异常', msg)
+ return reject(msg)
+ }
+ }
+ resolve()
+ })
+ },
getImageInfo(params = {}) {
- return new Promise((resolve)=> {
+ return new Promise((resolve, reject)=> {
uni.canvasGetImageData({
x: 0,
y: 0,
...params,
success(res) {
console.log("img====",res);
- let data = util.zip_image(res)
- console.log("zip====", data);
- resolve(data);
+ if(res.data) {
+ let data = util.zip_image(res)
+ console.log("zip====", data);
+ resolve(data);
+ } else {
+ showToast('获取图片信息异常:getImageInfo')
+ reject('获取图片信息异常:getImageInfo')
+ }
}
})
})
},
renderPic() {
- let filePath = 'http://oss-emis.tanex56.com/sapp/sdg/hdbg.png'
+ let filePath = 'http://oss-emis.tanex56.com/sapp/sdg/hdbg.png' // TODO
let that = this
return new Promise((resolve, reject)=> {
const cxt = uni.createCanvasContext(that.canvasId, that);
@@ -401,24 +430,28 @@ export default {
},
printbuff(buffer) {
var _this = this
- uni.writeBLECharacteristicValue({
- // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
- deviceId: _this.deviceId,
- // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
- serviceId: _this.serviceId,
- // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
- characteristicId: _this.characteristicId,
- // 这里的value是ArrayBuffer类型
- value: buffer,
- success:(res)=> {
- console.log('writeBLECharacteristicValue success', res.errMsg)
- },
- fail:(res)=> {
- console.log('writeBLECharacteristicValue fail', res.errMsg)
- },
- complete (e) {
- console.log('writeBLECharacteristicValue complete', e)
- }
+ return new Promise((resolve, reject)=> {
+ uni.writeBLECharacteristicValue({
+ // 这里的 deviceId 需要在 getBluetoothDevices 或 onBluetoothDeviceFound 接口中获取
+ deviceId: _this.deviceId,
+ // 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
+ serviceId: _this.serviceId,
+ // 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
+ characteristicId: _this.characteristicId,
+ // 这里的value是ArrayBuffer类型
+ value: buffer,
+ success:(res)=> {
+ console.log('writeBLECharacteristicValue success', res.errMsg)
+ resolve()
+ },
+ fail:(res)=> {
+ console.log('writeBLECharacteristicValue fail', res.errMsg)
+ reject(res.errMsg)
+ },
+ complete (e) {
+ console.log('writeBLECharacteristicValue complete', e)
+ }
+ })
})
}
}