From b07889e22f823fac80a66b503671e170668f4ee6 Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期二, 10 十二月 2024 10:10:25 +0800 Subject: [PATCH] 1.供应商子账号 --- pages/home/supplier-home.vue | 801 ++++++++++++++++++++++++++++++++------------------------ 1 files changed, 461 insertions(+), 340 deletions(-) diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue index 3faafc4..bb2b34f 100644 --- a/pages/home/supplier-home.vue +++ b/pages/home/supplier-home.vue @@ -7,39 +7,88 @@ 我的 </view> --> <!-- 背景图 --> - <view class="top-bg" :style="{'padding-top':(StatusBar)+'px','line-height':CustomBar+'rpx' }"> + + <view class="top-bg" :style="{ 'padding-top': (StatusBar) + 'px', 'line-height': CustomBar + 'rpx' }"> <view class="title" style="position: relative;"> 首页 </view> - <view class="flex user-info" v-if="currentInfo&&(currentInfo.id)"> + <view class="flex user-info" v-if="currentInfo && (currentInfo.id)"> + + <image class="user-icon" v-if=" + (currentInfo.customerDTO && currentInfo.customerDTO.cover) + || (currentInfo.supplierDTO && currentInfo.supplierDTO.cover) + || (currentInfo.partnerDTO && currentInfo.partnerDTO.cover) + || currentInfo.picture + " :src="(currentInfo.customerDTO && currentInfo.customerDTO.cover) + || (currentInfo.supplierDTO && currentInfo.supplierDTO.cover) + || (currentInfo.partnerDTO && currentInfo.partnerDTO.cover) + || currentInfo.picture + " mode="scaleToFill"></image> + + <image class="user-icon" v-else + src='https://youzhen123.oss-cn-huhehaote.aliyuncs.com/WechatOwnerProperty/images/mrtx.png' + mode="scaleToFill"></image> + <!-- 头像 --> - <image class="user-icon" v-if="!currentInfo.picture" + <!-- <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> + <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 - 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 class="t1 flex" style="align-items: center; justify-content: space-between;"> + <!-- {{ (!!currentInfo.supplierDTO?(currentInfo.supplierDTO.name):"") || currentInfo.nickName || currentInfo.loginName || '-'}} --> + <span v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.name"> + {{ currentInfo.partnerDTO.name }} + </span> + <span v-else-if="currentInfo.supplierDTO && currentInfo.supplierDTO.name"> + {{ currentInfo.supplierDTO.name }} + </span> + <span v-else-if="currentInfo.customerDTO && currentInfo.customerDTO.name"> + {{ currentInfo.customerDTO.name }} + </span> + <span v-else-if="currentInfo.nickName"> + {{ currentInfo.nickName }} + </span> + <span v-else-if="currentInfo.loginName"> + {{ currentInfo.loginName }} + </span> + <span v-else>-</span> + + <span v-if="currentInfo.supplierDTO && currentInfo.supplierDTO.status !== 'P'"> + ({{ currentInfo.supplierDTO ? currentInfo.supplierDTO.statusStr : '' }})</span> + <span v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.status !== 'P'"> + ({{ currentInfo.partnerDTO ? currentInfo.partnerDTO.statusStr : '' }})</span> + <span v-if="!currentInfo.partnerDTO && currentInfo.type === 'partner'">(信息待完善)</span> + + <u--image v-if="selftype === 'supplier' && currentInfo.switchFlag " + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/fa/fa6585cd52d54156b5d64fa59af58180switch.png" + width="10px" height="10px" style="margin-left: 10px; margin-right: 10px;" + @click="switchSubAccount"></u--image> + <u--text v-if="selftype === 'supplier' && currentInfo.switchFlag " style="color: black;" text="切换账号" @click="switchSubAccount"></u--text> </view> - <view class="t2">{{currentInfo.tel || '暂无电话'}}</view> + <view class="t2">{{ currentInfo.tel || '暂无电话' }}</view> + <view class="t2" v-if="currentInfo.partnerDTO && currentInfo.partnerDTO.id"> + ID: {{ currentInfo.partnerDTO.id }} + </view> + </view> </view> </view> - <view class="item-container" :class="[selftype?selftype:'']"> + <view class="item-container" :class="[selftype ? selftype : '']" + v-if=" + (selftype === 'supplier' && $hasPermission('supplier:workbench:mine:profit')) + || (selftype === 'partner' && $hasPermission('partner:workbench:mine:profit')) + + "> <view class="title">我的收益</view> - <view class="flex tj-container" v-if="selftype==='partner'">. + <view class="flex tj-container" v-if="selftype === 'partner'"> <view class="tj-each"> <view class="num total"> - ¥{{tj.income||'0.00'}} + ¥{{ tj.income || '0.00' }} </view> </view> <view class="tj-each" style="flex: 1;"> @@ -50,26 +99,26 @@ </view> <view class="line"></view> - <view class="flex tj-container" v-if="selftype==='supplier'"> - <view class="tj-each"> + <view class="flex tj-container" v-if="selftype === 'supplier'"> + <view class="tj-each" @click="goto('/sub_pages/supplier/data-statis/data-statis', true)"> <view class="num"> - {{tj.dealCountLastMonth||0}}单 + {{ tj.dealCountLastMonth || 0 }}扎 </view> <view class="name"> 上月成交 </view> </view> - <view class="tj-each"> + <view class="tj-each" @click="goto('/sub_pages/supplier/data-statis/data-statis', true)"> <view class="num"> - {{tj.dealCountToday||0}}单 + {{ tj.dealCountToday || 0 }}扎 </view> <view class="name"> 今日成交 </view> </view> - <view class="tj-each"> + <view class="tj-each" @click="goto('/sub_pages/supplier/data-statis/data-statis', true)"> <view class="num"> - {{tj.dealCountDay30||0}}单 + {{ tj.dealCountDay30 || 0 }}扎 </view> <view class="name"> 近30天成交 @@ -77,25 +126,28 @@ </view> </view> <view class="flex tj-container"> - <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=today',true)"> + <view class="tj-each" + @click="selftype == 'supplier' && goto('/pages/order/order-delivery?range=today', true)"> <view class="num"> - {{tj.orderCountToday||0}}单 + {{ tj.orderCountToday || 0 }}单 </view> <view class="name"> 今日订单数 </view> </view> - <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=yesterday',true)"> + <view class="tj-each" + @click="selftype == 'supplier' && goto('/pages/order/order-delivery?range=yesterday', true)"> <view class="num"> - {{tj.orderCountYesterday||0}}单 + {{ tj.orderCountYesterday || 0 }}单 </view> <view class="name"> 昨日订单数 </view> </view> - <view class="tj-each" @click="selftype=='supplier'&&goto('/pages/order/order-delivery?range=month',true)"> + <view class="tj-each" + @click="selftype == 'supplier' && goto('/pages/order/order-delivery?range=month', true)"> <view class="num"> - {{tj.orderCountMonth||0}}单 + {{ tj.orderCountMonth || 0 }}单 </view> <view class="name"> 本月订单数 @@ -103,84 +155,132 @@ </view> </view> </view> - <view class="item-container flex m-t-12" style="padding: 34rpx 44rpx;" v-if="selftype=='supplier'"> + <view class="item-container flex m-t-12" style="padding: 34rpx 44rpx;" + v-if="(selftype == 'supplier' && $hasPermission('supplier:workbench:after:sale'))"> <view class="rate-view flex1" style="max-width: 140rpx;"> <view class="title">售后率</view> - <view class="title" style="color: red;">{{((tj.salesRate||0)*100).toFixed(2)}}%</view> + <view class="title" style="color: red;">{{ ((tj.salesRate || 0) * 100).toFixed(2) }}%</view> </view> <view class="tj-panel pink flex1" - @click="goto('/pages/order/order-delivery?status=PENDING&range=today',true)"> + @click="goto('/pages/order/order-delivery?status=PENDING&range=today', true)"> <view class="name">今日待配送</view> - <view class="title">{{tj.deliverCount||0}}单</view> + <view class="title">{{ tj.deliverCount || 0 }}扎</view> </view> <view class="tj-panel green flex1" - @click="goto('/pages/order/order-delivery?range=today',true)"> + @click="goto('/pages/order/order-delivery?status=ARRIVED&range=today', true)"> <view class="name green">今日配送汇总</view> - <view class="title">{{tj.deliverTotal||0}}单</view> + <view class="title">{{ tj.deliverTotal || 0 }}扎</view> </view> </view> - <view class="m-t-12" @click="getNoticeMore"> + <view v-if=" + (selftype === 'supplier' && $hasPermission('supplier:workbench:notice') ) + || (selftype === 'partner' && $hasPermission('partner:workbench:notice')) + " + class="m-t-12" @click="getNoticeMore"> <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon - :scrollable="scrollable" :text="currentNotice.title||'暂无公告'" :key="currentNotice.id" /> - <span v-if="!currentNotice||!currentNotice.id"> </span> + :scrollable="scrollable" :text="currentNotice.title || '暂无公告'" :key="currentNotice.id" /> + <span v-if="!currentNotice || !currentNotice.id"> </span> </view> - <view class="item-container"> + <view class="item-container m-t-12" + v-if=" + (selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions') ) + || (selftype === 'partner' && $hasPermission('partner:workbench:common:functions')) + "> <view class="title">常用功能</view> - <view class="flex order-icons m-t-12"> - <view class="nav row margin-tb" v-if="selftype==='partner'" - @click="goto('/sub_pages/partner/order-manage/order-manage',true)"> + <view class="flex order-icons m-t-12 function-container "> + <view class="nav row margin-tb function-item " + v-if="(selftype === 'partner' && $hasPermission('partner:workbench:common:functions:order:management'))" + @click="goto('/sub_pages/partner/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" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/23/23a7ad86e00c4ba28cd962dc4910433cuser-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="nav row margin-tb function-item " + v-if="(selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions:order:statistics'))" + @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" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/23/23a7ad86e00c4ba28cd962dc4910433cuser-icon-ddgl.png" + mode="scaleToFill" /> </view> <view class="order-desc tg">订单统计</view> - </view> --> + </view> - <view class="nav row margin-tb" + <view + v-if="(selftype==='partner' && $hasPermission('partner:workbench:common:functions:bill:settlement'))" + class="nav row margin-tb function-item " @click="goto('/sub_pages/supplier/order-settlement/order-settlement',true)"> <view class="img-c"> <image class="icon margin-bottom order-icon zdjs" - src="/static/images/supplier/user/user-icon-zdjs.png" mode="scaleToFill" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/7b/7b7ed1488fd64f6fa9bc6b557f141f37user-icon-zdjs.png" mode="scaleToFill" /> </view> <view class="order-desc tg">账单结算</view> </view> - <view class="nav row margin-tb" @click="toFlowManage" v-if="selftype==='supplier'"> + <view class="nav row margin-tb function-item " @click="toFlowManage" + v-if="selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions:product:management')"> <view class="img-c"> <image class="icon margin-bottom order-icon spgl" - src="/static/images/supplier/user/user-icon-spgl.png" mode="scaleToFill" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/47/478e007ad07a43ea9f40a962d83cedb4user-icon-spgl.png" + mode="scaleToFill" /> </view> <view class="order-desc cqw">商品管理</view> </view> - <view class="nav row margin-tb" v-if="selftype==='partner'" - @click="goto('/sub_pages/partner/markup-config/markup-config',true)"> + <view class="nav row margin-tb function-item " + v-if="(selftype === 'partner' && $hasPermission('partner:workbench:common:functions:markup:configuration'))" + @click="goto('/sub_pages/partner/markup-config/markup-config', true)"> <view class="img-c"> <image class="icon margin-bottom order-icon jjpz" - src="/static/images/partner/user/user-icon-jjpz.png" mode="scaleToFill" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/93/93356ec339074b49b04c1a3a37146f22user-icon-jjpz.png" + mode="scaleToFill" /> </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 function-item " + v-if="(selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions:after:sale:claim')) || + (selftype === 'partner' && $hasPermission('partner:workbench:common:functions:after:sale:claim') )" + @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" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/47/47b54c52e4c2430c8f9e91645fbf9ebduser-icon-shlp.png" + mode="scaleToFill" /> </view> <view class="order-desc syst">售后理赔</view> </view> - <!-- <view class="nav row margin-tb" @click="printDeliveryOrder"> + + <!-- <view class="nav row margin-tb function-item " @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" /> + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/22/22db478554ec436a8c7e6e89c346767duser-icon-kkjl.png" mode="scaleToFill" /> </view> <view class="order-desc wbsp">测试蓝牙</view> </view> --> + <!-- </view> + <view class="flex order-icons m-t-12"> --> + <view class="nav row margin-tb function-item " + v-if="(selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions:my:wallet'))" @click="goto('/sub_pages/supplier/wallet/my-wallet', true)"> + <view class="img-c"> + <image class="icon margin-bottom order-icon shlp" + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/8d/8d72f2df8a4348ac90bfbfb553a9cc71qianbao.png" + mode="scaleToFill" /> + </view> + <view class="order-desc syst">我的钱包</view> + </view> + + + <view class="nav row margin-tb function-item " + v-if="(selftype === 'supplier' && $hasPermission('supplier:workbench:common:functions:sub:account'))" + @click="goto('/sub_pages/supplier/sub-account/sub-account-list', true)"> + <view class="img-c"> + <image class="icon margin-bottom order-icon shlp" + src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/56/56d1a93862a4470e9b4481b970fd6fc9子账号管理.png" + mode="scaleToFill" /> + </view> + <view class="order-desc syst">子账号</view> + </view> + <!-- <view class="nav row margin-tb function-item "></view> --> </view> </view> @@ -193,319 +293,340 @@ </template> <script> - export default { - data() { - return { - CustomBar: uni.getStorageSync('CustomBar'), - StatusBar: uni.getStorageSync('StatusBar'), - tcode: '', - inviterName: '', - // StatusBar:0, +export default { + data() { + return { + CustomBar: uni.getStorageSync('CustomBar'), + StatusBar: uni.getStorageSync('StatusBar'), + tcode: '', + inviterName: '', + // StatusBar:0, - //公告的 - noticeList: [], - currentNoticeIndex: 0, - currentNotice: { + //公告的 + noticeList: [], + currentNoticeIndex: 0, + currentNotice: { - }, - scrollable: false, - cacheUserId: '', - tj: {} + }, + 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, + }; + }, + 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') + await this.getTj(true) + uni.stopPullDownRefresh() + }, + onLoad(options) { + const url = options.q ? decodeURIComponent(options.q) : ''; + const urlcode = options.url && decodeURIComponent(options.url) || '' + }, + onShow() { + this.getTj(true) + }, + created() { + //公告 + 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' } - }, - 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') - uni.stopPullDownRefresh() - }, - onLoad(options) { - const url = options.q ? decodeURIComponent(options.q) : ''; - const urlcode = options.url && decodeURIComponent(options.url) || '' - }, - onShow() { - this.getTj() - }, - created() { - //公告 - 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 || []) + console.log('this.noticeList', this.noticeList) + if (this.noticeList.length > 0) { + this.currentNotice = this.noticeList[0] + if (this.currentNotice.title && this.currentNotice.title.length >= 30) { + this.scrollable = true + } else { + this.scrollable = false + } + let that = this + // if (this.noticeList.length >= 1) { + // setInterval(() => { + // console.log('interval,1') + // that.currentNoticeIndex += 1 + // that.currentNoticeIndex %= that.noticeList.length + // that.currentNotice = that.noticeList[that.currentNoticeIndex] + // that.scrollable = false + // that.$nextTick(() => { + // if (that.currentNotice.title && that.currentNotice.title + // .length >= 30) { + // that.scrollable = true + // } else { + // that.scrollable = false + // } + // }) + + // }, 8000) + // } + } - }).then(res => { - if (res.code == 0) { - this.noticeList = (res.data && res.data.records || []) - console.log('this.noticeList', this.noticeList) - if (this.noticeList.length > 0) { - this.currentNotice = this.noticeList[0] - if (this.currentNotice.title && this.currentNotice.title.length >= 30) { - this.scrollable = true - } else { - this.scrollable = false - } - let that = this - // if (this.noticeList.length >= 1) { - // setInterval(() => { - // console.log('interval,1') - // that.currentNoticeIndex += 1 - // that.currentNoticeIndex %= that.noticeList.length - // that.currentNotice = that.noticeList[that.currentNoticeIndex] - // that.scrollable = false - // that.$nextTick(() => { - // if (that.currentNotice.title && that.currentNotice.title - // .length >= 30) { - // that.scrollable = true - // } else { - // that.scrollable = false - // } - // }) + } + }) - // }, 8000) - // } + }, + methods: { + switchSubAccount() { + uni.navigateTo({ + url: '/sub_pages/supplier/sub-account/sub-account-switch-list' + }) + }, + 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('打开蓝牙搜索设备失败') + } }) }, - 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() - } + 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 { - //打开蓝牙 - 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) - return - } - if (this.currentInfo.supplierDTO) { - //需要刷新一下当前用户信息 - this.$message.showLoading() - await this.$store.dispatch('getCurrentInfo') - this.$message.hideLoading() - - if (this.currentInfo.supplierDTO.status == 'P') { + if (!printDevice) { + that.$message.showToast('未找到可用打印机,请联系客服') + that.stopBluetoothDevicesDiscovery() } else { - if (this.currentInfo.supplierDTO.status == 'R') { - await this.$message.confirm('店铺信息审核不通过,是否前往修改信息?') - this.goto('/sub_pages/supplier/supplier-info/supplier-info', true) - return - } else { - this.$message.showToast('审核中请耐心等待') - return - } + 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('获取蓝牙设备失败') + } - console.log('goto') - this.goto('/sub_pages/supplier/flower-manage/flower-manage', true) - }, - getNoticeMore() { - uni.navigateTo({ - url: '/pages/notice/list?id=' + this.currentNotice.id - }) - }, + }) + }, + stopBluetoothDevicesDiscovery() { + var that = this; + wx.stopBluetoothDevicesDiscovery({ + success: (res) => { + console.log("停止扫描设备") + }, + }) + }, + getTj(refresh = false) { + // /api/supplier/delivery + + if (this.currentInfo.id && (this.currentInfo.id !== this.cacheUserId || refresh)) { + 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) + return + } + if (this.currentInfo.supplierDTO) { + //需要刷新一下当前用户信息 + this.$message.showLoading() + await this.$store.dispatch('getCurrentInfo') + this.$message.hideLoading() + + if (this.currentInfo.supplierDTO.status == 'P') { + + } else { + if (this.currentInfo.supplierDTO.status == 'R') { + await this.$message.confirm('店铺信息审核不通过,是否前往修改信息?') + this.goto('/sub_pages/supplier/supplier-info/supplier-info', true) + return + } else { + this.$message.showToast('审核中请耐心等待') + return + } + + } + } + console.log('goto') + this.goto('/sub_pages/supplier/flower-manage/flower-manage', true) + }, + getNoticeMore() { + uni.navigateTo({ + url: '/pages/notice/list?id=' + this.currentNotice.id + }) + }, - } } +} </script> <style lang="scss" scoped> - @import "../user/user.scss"; +@import "../user/user.scss"; - @import "./home.scss"; +@import "./home.scss"; </style> -<style lang="scss" scoped> +<style lang="css" scoped> + +.function-container { + display: flex; + flex-wrap: wrap; + justify-content: space-start; +} + +.function-item { + min-width: 25%; + max-width: 25%; + text-align: center; + padding: 10px; + box-sizing: border-box; + margin-bottom: 10px; +} </style> \ No newline at end of file -- Gitblit v1.9.3