diff --git a/App.vue b/App.vue index f1bb507..04b1661 100644 --- a/App.vue +++ b/App.vue @@ -218,8 +218,10 @@ this.globalData.GaoDeKey_amapkey = '52de86da47be2ea547c37dd382025a0c' // #endif if(uni.getStorageSync('peisongyuan')) return; - this.autoConnectPrinter() - if (!uni.getStorageSync('bluetoothDeviceId')) { + if (uni.getStorageSync('printingMethod') != 'cloud') { + this.autoConnectPrinter() + } + if (uni.getStorageSync('printingMethod') != 'cloud' && !uni.getStorageSync('bluetoothDeviceId')) { uni.showModal({ title: '提示', content: '您还没有连接打印机,将无法为您打印小票!', @@ -279,6 +281,10 @@ console.log('JPush print skipped, missing order_id:', JSON.stringify(printData)); return; } + if (uni.getStorageSync('printingMethod') == 'cloud') { + console.log('JPush print skipped, cloud print mode:', printData.order_id); + return; + } this.globalData.printData.push(printData) if (!this.globalData.isPrinting) { this.processPrintQueue() diff --git a/components/worker/delivery.vue b/components/worker/delivery.vue index 3839fd5..e5d3f08 100644 --- a/components/worker/delivery.vue +++ b/components/worker/delivery.vue @@ -63,6 +63,9 @@ 跑腿 + + 中转单 + 配送排行 @@ -572,6 +575,10 @@ return '已上线,但还没有勾选参与派单的路线' } return '已准备好接收符合范围和佣金的订单' + }, + canTransferOrder() { + const worker = uni.getStorageSync('worker') + return !!(worker && worker.canTransferOrder == 1) } }, filters: { @@ -764,6 +771,12 @@ url: '/pages/worker/ranking' }) }, + goTransferDeliveryOrders() { + if (!this.ensureWorkerRegistered()) return + uni.navigateTo({ + url: '/pages/shop/transferDeliveryOrderList?role=worker' + }) + }, goPartTimeRegister() { if (uni.getStorageSync('worker')) { uni.navigateTo({ @@ -1533,6 +1546,24 @@ flex-shrink: 0; } + .transfer-delivery-btn { + height: 58rpx; + line-height: 58rpx; + padding: 0 22rpx; + border-radius: 999rpx; + background: linear-gradient(135deg, #fff2e9 0%, #ffd0a8 100%); + box-shadow: 0 10rpx 22rpx rgba(255, 128, 64, 0.14); + color: #9a4b13; + font-size: 22rpx; + font-weight: 900; + text-align: center; + flex-shrink: 0; + } + + .transfer-delivery-btn:active { + transform: scale(0.96); + } + .delivery-ranking-btn:active { transform: scale(0.96); } diff --git a/pages/login/login.vue b/pages/login/login.vue index 9d0be12..d8a35bf 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -388,6 +388,9 @@ uni.setStorageSync("shopOwnerPhone", item.shopOwnerPhone) uni.setStorageSync('schoolShop', res.result.shop) uni.setStorageSync('shopTakeaway', item.shopTakeaway) + uni.setStorageSync('printingMethod', item.printingMethod || (res.result.shop && res.result.shop.printingMethod) || 'bluetooth') + uni.setStorageSync('cloudPrinterSn', (res.result.shop && res.result.shop.printerSn) || '') + uni.setStorageSync('cloudPrinterName', (res.result.shop && res.result.shop.printerName) || '') uni.setStorageSync('attrId', item.attrId) uni.setStorageSync('area', JSON.stringify(item)) uni.setStorageSync("isShop", true) diff --git a/pages/myCenter/setPrint.vue b/pages/myCenter/setPrint.vue index 9706b79..ce1d597 100644 --- a/pages/myCenter/setPrint.vue +++ b/pages/myCenter/setPrint.vue @@ -1,23 +1,36 @@