xuxueyang
2024-08-07 8752eb523c3bddb13e0749f32419ec89e4e6ba02
pages/home/supplier-home.vue
@@ -14,7 +14,8 @@
         </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>
@@ -38,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;">
@@ -52,7 +53,7 @@
         <view class="flex tj-container" v-if="selftype==='supplier'">
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.dealCountLastMonth||0}}单
               </view>
               <view class="name">
                  上月成交
@@ -60,7 +61,7 @@
            </view>
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.dealCountToday||0}}单
               </view>
               <view class="name">
                  今日成交
@@ -68,7 +69,7 @@
            </view>
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.dealCountDay30||0}}单
               </view>
               <view class="name">
                  近30天成交
@@ -78,7 +79,7 @@
         <view class="flex tj-container">
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.orderCountToday||0}}单
               </view>
               <view class="name">
                  今日订单数
@@ -86,7 +87,7 @@
            </view>
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.orderCountYesterday||0}}单
               </view>
               <view class="name">
                  昨日订单数
@@ -94,7 +95,7 @@
            </view>
            <view class="tj-each">
               <view class="num">
                  0扎
                  {{tj.orderCountMonth||0}}单
               </view>
               <view class="name">
                  本月订单数
@@ -102,18 +103,18 @@
            </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}}%</view>
         </view>
         <view class="tj-panel  pink flex1">
         <view class="tj-panel  pink flex1" @click="goto('/pages/order/order-delivery?status=ARRIVED',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?status=',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">
@@ -163,13 +164,13 @@
               </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>
@@ -198,8 +199,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')
@@ -209,9 +234,12 @@
         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', {
         this.$http.request('get', '/api/pub/announcement/list', {
            params: {
               size: 5,
               status: 'A'
@@ -253,6 +281,161 @@
      },
      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() {
@@ -281,6 +464,7 @@
               }
            }
            console.log('goto')
            this.goto('/sub_pages/supplier/flower-manage/flower-manage', true)
         },
         getNoticeMore() {