From 731b3a23a6369aaef5c4fdc0ff4524eb6a7f3642 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 13 九月 2024 19:07:12 +0800
Subject: [PATCH] update 合伙人、花店端

---
 sub_pages/supplier/print/print-list.vue |  258 +++++++++++++++++++++++++++++----------------------
 1 files changed, 145 insertions(+), 113 deletions(-)

diff --git a/sub_pages/supplier/print/print-list.vue b/sub_pages/supplier/print/print-list.vue
index db2c79d..20c3a50 100644
--- a/sub_pages/supplier/print/print-list.vue
+++ b/sub_pages/supplier/print/print-list.vue
@@ -1,7 +1,7 @@
 <template>
 	<!-- 显示要打印的东西 -->
 	<view class="list-container order-delivery-print supplier">
-		<view class="p15">
+		<view class="p15" v-if="false">
 			<view class="m-b-24 order-sale-list list-container">
 				<view class="order-sale-item list-item">
 					<view class="title flex">
@@ -70,6 +70,7 @@
 
 		<view class="print-container m-t-12">
 			<button class="btn" type="primary" @click="startSearch" :loading="isScanning"> 开始搜索 </button>
+			<button class="btn m-t-12" type="default" @click="breakPrint=true"> 中断打印 </button>
 			<view v-for="(device,index) of list" :key="device.deviceId" @click="bindViewTap(device)">
 				<view class="item">
 					<div class="deviceId block">{{device.deviceId}}</div>
@@ -87,7 +88,8 @@
 	export default {
 		data() {
 			return {
-				item: {},
+				// item: {},
+				items: [],
 				services: [],
 				serviceId: 0,
 				writeCharacter: false,
@@ -119,6 +121,7 @@
 				notifyServiceId: '',
 				BserviceId: '',
 				buffs: [],
+				breakPrint: false
 			}
 		},
 		/**
@@ -144,7 +147,7 @@
 		async onLoad() {
 			var t = this.$storage.getItem('cache_delivery_order_print') || ''
 			if (t) {
-				this.item = JSON.parse(t)
+				this.items = JSON.parse(t)
 				var apitype = ''
 				// #ifdef PUB_SUPPLIER
 				apitype = '/supplier'
@@ -153,21 +156,36 @@
 				// apitype = '/supplier'
 				// #endif
 				//获取详情接口
+				var ids = []
+				for (var item of this.items) {
+					ids.push(item.id)
+				}
 				this.$message.showLoading()
+				// const {
+				// 	code,
+				// 	data
+				// } = await this.$http.request('get', `/api${apitype}/delivery/list/items/view`, {
+				// 	params: {
+				// 		id: this.item.id,
+				// 		ids: ids
+				// 	}
+				// })
 				const {
 					code,
 					data
-				} = await this.$http.request('get', `/api${apitype}/delivery/list/items/view`, {
-					params: {
-						id: this.item.id
+				} = await this.$http.request('post', `/api${apitype}/delivery/list/items/views`, {
+					data: {
+						// id: this.item.id,
+						ids: ids
 					}
 				})
 				this.$message.hideLoading()
 				if (code == 0 && data) {
-					this.item = {
-						...this.item,
-						...data
-					}
+					// this.item = {
+					// 	...this.item,
+					// 	...data
+					// }
+					this.items = data || []
 				}
 			} else {
 				this.$message.showToast('获取详情失败')
@@ -336,11 +354,11 @@
 			 * 链接到某一个蓝牙设备上
 			 */
 			bindViewTap: function(device) {
-
 				if (this.isLabelSend) {
 					this.$message.showToast('正在打印中')
 					return
 				}
+				this.breakPrint = false
 
 				var that = this
 				wx.stopBluetoothDevicesDiscovery({ //关闭发现蓝牙设备
@@ -498,119 +516,128 @@
 				//打印
 
 				var that = this;
-				if (that.item.num < 0) {
+				if (that.items.num <= 0) {
 					that.$message.showToast('打印数目不能小于0')
 					return
 				}
-				if (that.item.num > 3) {
-					await that.$message.confirm(`打印数目为${that.item.num}张,确定打印吗`)
+				var totalnum = 0
+				for (var each of that.items) {
+					totalnum += each.num
+				}
+				if (totalnum > 3) {
+					await that.$message.confirm(`打印数目为${totalnum}张,确定打印吗`)
+				}
+				if (totalnum <= 0) {
+					that.$message.showToast('打印数目不能小于0')
+					return
 				}
 				that.buffs = []
-				for (var i = 0; i < that.item.num; i++) {
 
+				for (var each of that.items) {
+					for (var i = 0; i < each.num; i++) {
+						var command = tsc.jpPrinter.createNew()
 
+						//根据数目不同,打印不同数目
 
-					var command = tsc.jpPrinter.createNew()
-
-					//根据数目不同,打印不同数目
-
-					command.setSize(48, 60)
-					command.setGap(0)
-					command.setCls()
-					// command.setText(0, 30, "TSS24.BF2", 1, 1, "图片")
-					// command.setQR(40, 120, "L", 5, "A", "www.smarnet.cc佳博智汇")
-					// command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (that.item.orderNo || '-'))
-					// 仓库:
-					// if (that.item.warehouseName)
-					var paramsmap = {}
-					if (that.item.params) {
-						for (var p of that.item.params) {
-							if (p.name !== '枝长' && p.name !== '成熟度') {
-								continue
+						command.setSize(48, 60)
+						command.setGap(0)
+						command.setCls()
+						// command.setText(0, 30, "TSS24.BF2", 1, 1, "图片")
+						// command.setQR(40, 120, "L", 5, "A", "www.smarnet.cc佳博智汇")
+						// command.setText(60, 20, "TSS24.BF2", 1, 1, "单号:" + (each.orderNo || '-'))
+						// 仓库:
+						// if (each.warehouseName)
+						var paramsmap = {}
+						if (each.params) {
+							for (var p of each.params) {
+								if (p.name !== '枝长' && p.name !== '成熟度') {
+									continue
+								}
+								paramsmap[p.name] = p.value || ''
 							}
-							paramsmap[p.name] = p.value || ''
 						}
-					}
-					command.setText(30, 40, "TSS24.BF2", 1, 1, "" + (that.item.supplierName || '-'))
-					command.setText(200, 40, "TSS24.BF2", 1, 1, "" + (that.item.warehouseName || '待分配'))
-					var flowerCategory = that.item.flowerCategory
-					if (flowerCategory) {
-						//只取二级分类
-						var tarr = flowerCategory.split("/")
-						if (tarr.length >= 2) {
-							flowerCategory = tarr[tarr.length - 1]
+						command.setText(30, 40, "TSS24.BF2", 1, 1, "" + (each.supplierName || '-'))
+						command.setText(200, 40, "TSS24.BF2", 1, 1, "" + (each.warehouseName || '待分配'))
+						var flowerCategory = each.flowerCategory
+						if (flowerCategory) {
+							//只取二级分类
+							var tarr = flowerCategory.split("/")
+							if (tarr.length >= 2) {
+								flowerCategory = tarr[tarr.length - 1]
+							}
 						}
+						command.setText(30, 80, "TSS24.BF2", 1, 1, "" + (flowerCategory || ''))
+						command.setText(200, 80, "TSS24.BF2", 1, 1, "库位:" + (each.warehouseLocationCode || ''))
+
+						command.setText(30, 120, "TSS24.BF2", 1, 1, "等级:" + (each.flowerLevelStr || ''))
+						command.setText(200, 120, "TSS24.BF2", 1, 1, "" + (each.flowerColor || ''))
+						// 规格: 
+						command.setText(30, 160, "TSS24.BF2", 1, 1, "" + (each.flowerUnit || '-'))
+						// 成熟度: 
+						command.setText(200, 160, "TSS24.BF2", 1, 1, "" + (paramsmap['成熟度'] || '-'))
+						// 枝长: 
+						command.setText(30, 200, "TSS24.BF2", 1, 1, "" + (paramsmap['枝长'] || '-'))
+						command.setText(200, 200, "TSS24.BF2", 1, 1, that.$util.toDate(new Date()))
+
+						command.setText(60, 230, "TSS24.BF2", 1, 1, "————————————")
+
+						command.setText(30, 260, "TSS24.BF2", 1, 1, "花满芫")
+						command.setText(200, 260, "TSS24.BF2", 1, 1, `数目: ${i+1}/${each.num}`)
+
+						// command.setText(20, 40, "TSS24.BF2", 1, 1, "" + (that.item.warehouseName || '待分配'))
+						// // 库位: 
+						// // if (that.item.warehouseLocationCode)
+						// command.setText(200, 40, "TSS24.BF2", 1, 1, "" + (that.item.warehouseLocationCode || '待分配'))
+
+						// // command.setText(170, 50, "TSS24.BF2", 1, 1, "小程序测试")
+						// // command.setText(170, 90, "TSS24.BF2", 1, 1, "测试数字12345678")
+						// // command.setText(170, 120, "TSS24.BF2", 1, 1, "测试英文abcdefg")
+						// // command.setText(170, 150, "TSS24.BF2", 1, 1, "测试符号/*-+!@#$")
+
+						// // 供应商: 
+						// command.setText(20, 80, "TSS24.BF2", 1, 1, "" + (that.item.supplierName || '-'))
+						// // 商品名称: 
+						// command.setText(20, 120, "TSS24.BF2", 1, 1, "" + (that.item.flowerName || '-'))
+						// // 颜色: 
+						// command.setText(200, 120, "TSS24.BF2", 1, 1, "" + (that.item.flowerColor || '-'))
+						// // command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
+						// command.setText(20, 160, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
+						// command.setText(200, 160, "TSS24.BF2", 1, 1, `数目: ${i+1}/${that.item.num}`)
+						// // command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
+						// command.setText(100, 200, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
+						// if (that.item.params) {
+						// 	var addnum = 0
+						// 	var hlen = 200
+						// 	for (var p of that.item.params) {
+						// 		if (p.name !== '枝长' && p.name !== '成熟度') {
+						// 			continue
+						// 		}
+						// 		if (p.value) {
+						// 			var lef = 20
+						// 			if (addnum % 2 == 1) {
+						// 				lef = 190
+						// 			} else {
+						// 				lef = 20
+						// 				hlen += 40
+						// 			}
+						// 			command.setText(lef, hlen, "TSS24.BF2", 1, 1, "" + (p.name || '') + ':' + p.value)
+						// 			addnum += 1
+						// 		}
+						// 	}
+						// }
+						// <view class="delivery-form" v-if="item.params">
+						// 	<view class="form-item" v-for="(p,k) of item.params" :key="k">
+						// 		<view class="label">{{p.name||'-'}}:</view>
+						// 		<view class="value red">{{p.value}}</view>
+						// 	</view>
+						// </view>
+						// command.setBar(170, 180, "EAN8", 64, 1, 3, 3, "1234567")
+
+						command.setPagePrint()
+
+						that.buffs.push(command.getData())
 					}
-					command.setText(30, 80, "TSS24.BF2", 1, 1, "" + (flowerCategory || ''))
-					command.setText(200, 80, "TSS24.BF2", 1, 1, "库位:" + (that.item.warehouseLocationCode || ''))
 
-					command.setText(30, 120, "TSS24.BF2", 1, 1, "等级:" + (that.item.flowerLevelStr || ''))
-					command.setText(200, 120, "TSS24.BF2", 1, 1, "" + (that.item.flowerColor || ''))
-					// 规格: 
-					command.setText(30, 160, "TSS24.BF2", 1, 1, "" + (that.item.flowerUnit || '-'))
-					// 成熟度: 
-					command.setText(200, 160, "TSS24.BF2", 1, 1, "" + (paramsmap['成熟度'] || '-'))
-					// 枝长: 
-					command.setText(30, 200, "TSS24.BF2", 1, 1, "" + (paramsmap['枝长'] || '-'))
-					command.setText(200, 200, "TSS24.BF2", 1, 1, that.$util.toDate(new Date()))
-
-					command.setText(60, 230, "TSS24.BF2", 1, 1, "————————————")
-
-					command.setText(30, 260, "TSS24.BF2", 1, 1, "花满芫")
-					command.setText(200, 260, "TSS24.BF2", 1, 1, `数目: ${i+1}/${that.item.num}`)
-
-					// command.setText(20, 40, "TSS24.BF2", 1, 1, "" + (that.item.warehouseName || '待分配'))
-					// // 库位: 
-					// // if (that.item.warehouseLocationCode)
-					// command.setText(200, 40, "TSS24.BF2", 1, 1, "" + (that.item.warehouseLocationCode || '待分配'))
-
-					// // command.setText(170, 50, "TSS24.BF2", 1, 1, "小程序测试")
-					// // command.setText(170, 90, "TSS24.BF2", 1, 1, "测试数字12345678")
-					// // command.setText(170, 120, "TSS24.BF2", 1, 1, "测试英文abcdefg")
-					// // command.setText(170, 150, "TSS24.BF2", 1, 1, "测试符号/*-+!@#$")
-
-					// // 供应商: 
-					// command.setText(20, 80, "TSS24.BF2", 1, 1, "" + (that.item.supplierName || '-'))
-					// // 商品名称: 
-					// command.setText(20, 120, "TSS24.BF2", 1, 1, "" + (that.item.flowerName || '-'))
-					// // 颜色: 
-					// command.setText(200, 120, "TSS24.BF2", 1, 1, "" + (that.item.flowerColor || '-'))
-					// // command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
-					// command.setText(20, 160, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
-					// command.setText(200, 160, "TSS24.BF2", 1, 1, `数目: ${i+1}/${that.item.num}`)
-					// // command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
-					// command.setText(100, 200, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
-					// if (that.item.params) {
-					// 	var addnum = 0
-					// 	var hlen = 200
-					// 	for (var p of that.item.params) {
-					// 		if (p.name !== '枝长' && p.name !== '成熟度') {
-					// 			continue
-					// 		}
-					// 		if (p.value) {
-					// 			var lef = 20
-					// 			if (addnum % 2 == 1) {
-					// 				lef = 190
-					// 			} else {
-					// 				lef = 20
-					// 				hlen += 40
-					// 			}
-					// 			command.setText(lef, hlen, "TSS24.BF2", 1, 1, "" + (p.name || '') + ':' + p.value)
-					// 			addnum += 1
-					// 		}
-					// 	}
-					// }
-					// <view class="delivery-form" v-if="item.params">
-					// 	<view class="form-item" v-for="(p,k) of item.params" :key="k">
-					// 		<view class="label">{{p.name||'-'}}:</view>
-					// 		<view class="value red">{{p.value}}</view>
-					// 	</view>
-					// </view>
-					// command.setBar(170, 180, "EAN8", 64, 1, 3, 3, "1234567")
-
-					command.setPagePrint()
-
-					that.buffs.push(command.getData())
 				}
 				that.isLabelSend = true
 				// that.prepareSend(command.getData())
@@ -692,8 +719,13 @@
 							wx.showToast({
 								title: '已打印第' + currentPrint + '张',
 							})
-							if (currentPrint == that.buffs.length) {
-
+							if (currentPrint == that.buffs.length || that.breakPrint) {
+								if (that.breakPrint) {
+									wx.showToast({
+										title: '中断成功',
+									})
+									that.breakPrint = false
+								}
 								that.looptime = 0
 								that.lastData = 0
 								that.currentTime = 1

--
Gitblit v1.9.3