From 03eca9cdec1d290be4be60d4d9d5038257b93586 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期六, 14 九月 2024 18:29:40 +0800
Subject: [PATCH] updat 合伙人

---
 sub_pages/supplier/print/print-list.vue |  268 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 187 insertions(+), 81 deletions(-)

diff --git a/sub_pages/supplier/print/print-list.vue b/sub_pages/supplier/print/print-list.vue
index 37e68f7..c35c8dd 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">
@@ -14,7 +14,11 @@
 						</image>
 						<view class="flex1">
 							<view class=" flex">
-								<view class="title">{{item.flowerName }}
+								<view class="title">
+									<span class="level"
+										v-if="item.flowerCategory">{{ item.flowerCategory || ''}}</span><span
+										class="level">{{ item.flowerLevelStr || ''}}</span>
+									{{item.flowerName }}
 								</view>
 							</view>
 							<view class="each-list ">
@@ -43,11 +47,11 @@
 					<view class="delivery-form">
 						<view class="form-item">
 							<view class="label">仓库名称</view>
-							<view class="value red">{{item.warehouseName}}</view>
+							<view class="value red">{{item.warehouseName||'待分配'}}</view>
 						</view>
 						<view class="form-item">
 							<view class="label">库位名称</view>
-							<view class="value red">{{item.warehouseLocationCode}}</view>
+							<view class="value red">{{item.warehouseLocationCode||'待分配'}}</view>
 						</view>
 
 					</view>
@@ -66,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>
@@ -83,7 +88,8 @@
 	export default {
 		data() {
 			return {
-				item: {},
+				// item: {},
+				items: [],
 				services: [],
 				serviceId: 0,
 				writeCharacter: false,
@@ -115,6 +121,7 @@
 				notifyServiceId: '',
 				BserviceId: '',
 				buffs: [],
+				breakPrint: false
 			}
 		},
 		/**
@@ -140,23 +147,46 @@
 		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'
+				// #endif
+				// #ifdef PUB_PARTNER
+				// 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/supplier/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 || []
+					console.log('items len:', this.items.length)
 				}
 			} else {
 				this.$message.showToast('获取详情失败')
@@ -325,6 +355,12 @@
 			 * 链接到某一个蓝牙设备上
 			 */
 			bindViewTap: function(device) {
+				if (this.isLabelSend) {
+					this.$message.showToast('正在打印中')
+					return
+				}
+				this.breakPrint = false
+
 				var that = this
 				wx.stopBluetoothDevicesDiscovery({ //关闭发现蓝牙设备
 					success: function(res) {
@@ -479,85 +515,131 @@
 			},
 			async openControl() {
 				//打印
+				// console.log('openControl start')
+				let that = this;
 
-				var that = this;
-				if (that.item.num < 0) {
+				var totalnum = 0
+				for (var each of that.items) {
+					totalnum += each.num || 1
+				}
+				if (totalnum <= 0) {
 					that.$message.showToast('打印数目不能小于0')
 					return
 				}
-				if (that.item.num > 3) {
-					await that.$message.confirm(`打印数目为${that.item.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 || 1); 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)
-						command.setText(20, 20, "TSS24.BF2", 1, 1, "" + that.item.warehouseName)
-					// 库位: 
-					if (that.item.warehouseLocationCode)
-						command.setText(200, 20, "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, 60, "TSS24.BF2", 1, 1, "" + (that.item.supplierName || '-'))
-					// 商品名称: 
-					command.setText(20, 100, "TSS24.BF2", 1, 1, "" + (that.item.flowerName || '-'))
-					command.setText(20)
-					// 颜色: 
-					command.setText(200, 140, "TSS24.BF2", 1, 1, "" + (that.item.flowerColor || '-'))
-					// command.setText(10, 220, "TSS24.BF2", 1, 1, "价格: ¥ " + (that.item.price || '-'))
-					command.setText(20, 180, "TSS24.BF2", 1, 1, "规格: " + (that.item.flowerUnit || '-'))
-					command.setText(200, 180, "TSS24.BF2", 1, 1, `数目: ${i+1}/${that.item.num}`)
-					// command.setText(10, 300, "TSS24.BF2", 1, 1, "花满芫")
-					command.setText(100, 220, "TSS24.BF2", 1, 1, that.$util.toDateMin(new Date()))
-					if (that.item.params) {
-						var addnum = 0
-						var hlen = 220
-						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.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
 								}
-								command.setText(lef, hlen, "TSS24.BF2", 1, 1, "" + (p.name || '') + ':' + p.value)
-								addnum += 1
+								paramsmap[p.name] = p.value || ''
 							}
 						}
+						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||1}`)
+
+						// 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()
+						// console.log('that.buffs', that.buffs.length)
+						that.buffs.push(command.getData())
 					}
-					// <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())
@@ -621,10 +703,13 @@
 					characteristicId: that.writeCharaterId,
 					value: buf,
 					success: function(res) {
-						console.log(res)
+						// console.log(res)
 					},
 					fail: function(e) {
 						console.log(e)
+						// wx.showToast({
+						// 	title: '打印失败:' + e,
+						// })
 					},
 					complete: function() {
 						currentTime++
@@ -636,8 +721,13 @@
 							wx.showToast({
 								title: '已打印第' + currentPrint + '张',
 							})
-							if (currentPrint == 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
@@ -767,6 +857,14 @@
 					font-size: 28rpx;
 					color: #000000;
 					line-height: 40rpx;
+
+					.level {
+						font-weight: 400;
+						font-size: 28rpx;
+						color: #20613D;
+						line-height: 40rpx;
+						margin-right: 20rpx;
+					}
 				}
 
 				.status {
@@ -796,6 +894,14 @@
 						font-size: 28rpx;
 						color: #000000;
 						line-height: 40rpx;
+
+						.level {
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #20613D;
+							line-height: 40rpx;
+							margin-right: 20rpx;
+						}
 					}
 
 					.desc {}

--
Gitblit v1.9.3