From f8867b8df117d1ac0f1311970994e15059c3da03 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 05 九月 2024 15:57:36 +0800 Subject: [PATCH] add 兼容扫码问题 --- pages/home/supplier-home.vue | 263 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 236 insertions(+), 27 deletions(-) diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue index 7d7528c..595d984 100644 --- a/pages/home/supplier-home.vue +++ b/pages/home/supplier-home.vue @@ -14,14 +14,19 @@ </view> <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)"> <!-- 头像 --> - <image class="user-icon" v-if="!currentInfo.picture" src="../../static/imgs/home/home-shop-top-icon.png" + <image class="user-icon" v-if="!currentInfo.picture" + src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png' mode="aspectFit"></image> <image class="user-icon" v-if="currentInfo.picture" :src="currentInfo.picture" mode="aspectFit"></image> <view class="name"> - <view class="t1">{{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span + <view class="t1"> + {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}}<span v-if="currentInfo.supplierDTO&¤tInfo.supplierDTO.status!=='P'"> ({{currentInfo.supplierDTO?currentInfo.supplierDTO.statusStr:''}})</span> + <span v-if="currentInfo.partnerDTO&¤tInfo.partnerDTO.status!=='P'"> + ({{currentInfo.partnerDTO?currentInfo.partnerDTO.statusStr:''}})</span> + <span v-if="!currentInfo.partnerDTO&¤tInfo.type==='partner'">(信息待完善)</span> </view> <view class="t2">{{currentInfo.tel || '暂无电话'}}</view> </view> @@ -34,7 +39,7 @@ <view class="flex tj-container" v-if="selftype==='partner'">. <view class="tj-each"> <view class="num total"> - ¥0.00 + ¥{{tj.income||'0.00'}} </view> </view> <view class="tj-each" style="flex: 1;"> @@ -44,11 +49,11 @@ </view> </view> <view class="line"></view> - + <view class="flex tj-container" v-if="selftype==='supplier'"> <view class="tj-each"> <view class="num"> - 0扎 + {{tj.dealCountLastMonth||0}}扎 </view> <view class="name"> 上月成交 @@ -56,7 +61,7 @@ </view> <view class="tj-each"> <view class="num"> - 0扎 + {{tj.dealCountToday||0}}扎 </view> <view class="name"> 今日成交 @@ -64,7 +69,7 @@ </view> <view class="tj-each"> <view class="num"> - 0扎 + {{tj.dealCountDay30||0}}扎 </view> <view class="name"> 近30天成交 @@ -72,25 +77,25 @@ </view> </view> <view class="flex tj-container"> - <view class="tj-each"> + <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=today',true)"> <view class="num"> - 0扎 + {{tj.orderCountToday||0}}单 </view> <view class="name"> 今日订单数 </view> </view> - <view class="tj-each"> + <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=yesterday',true)"> <view class="num"> - 0扎 + {{tj.orderCountYesterday||0}}单 </view> <view class="name"> 昨日订单数 </view> </view> - <view class="tj-each"> + <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=month',true)"> <view class="num"> - 0扎 + {{tj.orderCountMonth||0}}单 </view> <view class="name"> 本月订单数 @@ -98,18 +103,20 @@ </view> </view> </view> - <view class="item-container flex m-t-12" style="padding: 34rpx 44rpx;"> + <view class="item-container flex m-t-12" style="padding: 34rpx 44rpx;" v-if="selftype=='supplier'"> <view class="rate-view flex1" style="max-width: 140rpx;"> <view class="title">售后率</view> - <view class="title" style="color: red;">0.00%</view> + <view class="title" style="color: red;">{{((tj.salesRate||0)*100).toFixed(2)}}%</view> </view> - <view class="tj-panel pink flex1"> + <view class="tj-panel pink flex1" + @click="goto('/pages/order/order-delivery?status=PENDING&range=today',true)"> <view class="name">今日待配送</view> - <view class="title">0扎</view> + <view class="title">{{tj.deliverCount||0}}单</view> </view> - <view class="tj-panel green flex1"> + <view class="tj-panel green flex1" + @click="goto('/pages/order/order-delivery?range=today',true)"> <view class="name green">今日配送汇总</view> - <view class="title">0扎</view> + <view class="title">{{tj.deliverTotal||0}}单</view> </view> </view> <view class="m-t-12" @click="getNoticeMore"> @@ -127,6 +134,14 @@ src="/static/images/partner/user/user-icon-ddgl.png" mode="scaleToFill" /> </view> <view class="order-desc tg">订单管理</view> + </view> + <view class="nav row margin-tb" v-if="selftype==='supplier'" + @click="goto('/sub_pages/supplier/order-manage/order-manage',true)"> + <view class="img-c"> + <image class="icon margin-bottom order-icon ddgl" + src="/static/images/partner/user/user-icon-ddgl.png" mode="scaleToFill" /> + </view> + <view class="order-desc tg">订单统计</view> </view> <view class="nav row margin-tb" @@ -152,20 +167,20 @@ </view> <view class="order-desc tg">加价配置</view> </view> - <view class="nav row margin-tb" @click="goto('/sub_pages/supplier/order-sale/order-sale',true)"> + <view class="nav row margin-tb" @click="goto('/pages/order/order-sale/order-sale',true)"> <view class="img-c"> <image class="icon margin-bottom order-icon shlp" src="/static/images/supplier/user/user-icon-shlp.png" mode="scaleToFill" /> </view> <view class="order-desc syst">售后理赔</view> </view> - <view class="nav row margin-tb" @click="goto('/sub_pages/supplier/order-records/order-records',true)"> + <!-- <view class="nav row margin-tb" @click="printDeliveryOrder"> <view class="img-c"> <image class="icon margin-bottom order-icon kkjl" src="/static/images/supplier/user/user-icon-kkjl.png" mode="scaleToFill" /> </view> - <view class="order-desc wbsp">扣款记录</view> - </view> + <view class="order-desc wbsp">测试蓝牙</view> + </view> --> </view> </view> @@ -194,8 +209,32 @@ }, scrollable: false, + cacheUserId: '', + tj: {} }; + }, + onShareAppMessage() { + let that = this; + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' + var url = + `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 + return { + title: "花满芫", + path: url, + } + }, + onShareTimeline() { + let that = this; + var name = that.currentInfo.customerDTO && that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO && + that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && that.currentInfo.partnerDTO.name || '' + var url = + `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数 + return { + title: "花满芫", + path: url, + } }, async onPullDownRefresh() { await this.$store.dispatch('getCurrentInfo') @@ -205,16 +244,30 @@ const url = options.q ? decodeURIComponent(options.q) : ''; const urlcode = options.url && decodeURIComponent(options.url) || '' }, + onShow() { + this.getTj() + }, created() { //公告 - this.$http.request('get', '/api/announcement/page', { + var type = '' + // #ifdef PUB_CUSTOMER + type = 'customer' + // #endif + // #ifdef PUB_SUPPLIER + type = 'supplier' + // #endif + // #ifdef PUB_PARTNER + type = 'partner' + // #endif + + this.$http.request('get', '/api/pub/announcement/list/'+type, { params: { size: 5, status: 'A' } }).then(res => { if (res.code == 0) { - this.noticeList = (res.data && res.data.records || []) + this.noticeList = (res.data && res.data || []) console.log('this.noticeList', this.noticeList) if (this.noticeList.length > 0) { this.currentNotice = this.noticeList[0] @@ -249,9 +302,164 @@ }, methods: { + printDeliveryOrder(item) { + //蓝牙打印 + var that = this; + wx.getBluetoothAdapterState({ + success: (result) => { + console.log('b s', result) + console.log("蓝牙状态:\n" + result.errMsg) + if (result.adapterState.available) { + if (result.adapterState.discovering) { + that.blueSearchDeviceCheck() + } else { + that.blueSearchDevice() + } + } else { + //打开蓝牙 + wx.openBluetoothAdapter({ + success: function(res) { + console.log("蓝牙已打开") + that.blueSearchDevice() + + }, + fail: function(res) { + console.log('res', res) + that.$message.showToast('蓝牙未打开') + } + }) + + } + }, + fail: (res) => { + console.log("蓝牙状态", res) + that.$message.showToast('获取蓝牙状态失败') + + } + }) + }, + blueSearchDevice() { + var that = this; + + wx.startBluetoothDevicesDiscovery({ + success: (res) => { + //打印调试日志 + console.log("搜索设备返回" + JSON.stringify(res)) + that.blueSearchDeviceCheck() + + }, + fail: (res) => { + console.log('error search', res) + that.$message.showToast('打开蓝牙搜索设备失败') + + } + }) + + }, + blueSearchDeviceCheck() { + let that = this + wx.getBluetoothDevices({ + success: (res) => { + var printDevice = undefined + for (var device of res.devices) { + if (device.name.indexOf('GP-M') >= 0) { + printDevice = device + // RSSI: -57 + // advertisServiceUUIDs: Array(2) + // 0: "000018f0-0000-1000-8000-00805f9b34fb" + // 1: "e7810a71-73ae-499d-8c15-faa9aef0c3f2" + // length: 2 + // nv_length: (...) + // __proto__: Array(0) + // deviceId: "89:E2:AF:33:46:2B" + // name: "GP-M322-5565_BLE" + break + } else { + + } + } + if (!printDevice) { + that.$message.showToast('未找到可用打印机,请联系客服') + that.stopBluetoothDevicesDiscovery() + + } else { + wx.createBLEConnection({ + deviceId: printDevice.deviceId, + success: function(res) { + // https: //blog.csdn.net/weixin_51375107/article/details/116009436 + console.log('连接设备返回:' + res.errMsg); + that.$message.showToast('连接设备返回:' + res.errMsg) + // escpos怎么来 →点击查看智谱清言的回答https://chatglm.cn/share/FEXaC + + }, + fail: function(res) { + console.log('createBLEConnection fail', res) + that.$message.showToast('连接打印机失败') + }, + complete() { + that.stopBluetoothDevicesDiscovery() + + } + }) + } + // res.devices.forEach((device, i) => { + // console.log('device', + // device) + // // if (device.deviceId == that.data + // // .deviceId) { + // // console.log("物联网设备已找到") + // // that.$message.showToast( + // // '打印设备已找到') + // // return; + // // } + // }) + }, + fail: (res) => { + console.log('getBluetoothDevices', + res) + that.$message.showToast('获取蓝牙设备失败') + + } + }) + }, + stopBluetoothDevicesDiscovery() { + var that = this; + wx.stopBluetoothDevicesDiscovery({ + success: (res) => { + console.log("停止扫描设备") + }, + }) + }, + getTj() { + // /api/supplier/delivery + + if (this.currentInfo.id && this.currentInfo.id !== this.cacheUserId) { + this.cacheUserId = this.currentInfo.id + let that = this + setTimeout(() => { + //其他统计 + // #ifdef PUB_SUPPLIER + this.$http.request('get', '/api/supplier/delivery/statistics', {}).then(res => { + if (res.code === 0) { + that.tj = res.data || {} + } + }) + // #endif + // #ifdef PUB_PARTNER + this.$http.request('get', '/api/partner/order/statistics', {}).then(res => { + if (res.code === 0) { + that.tj = res.data || {} + } + }) + // #endif + + }, 200) + } + + }, async toFlowManage() { - + if (!this.currentInfo.supplierDTO) { await this.$message.confirm('尚未入驻店铺信息,是否前往入驻?') this.goto('/sub_pages/supplier/supplier-info/supplier-info', true) @@ -262,7 +470,7 @@ this.$message.showLoading() await this.$store.dispatch('getCurrentInfo') this.$message.hideLoading() - + if (this.currentInfo.supplierDTO.status == 'P') { } else { @@ -277,6 +485,7 @@ } } + console.log('goto') this.goto('/sub_pages/supplier/flower-manage/flower-manage', true) }, getNoticeMore() { -- Gitblit v1.9.3