| | |
| | | <view class="user"> |
| | | <view class="user-left"> |
| | | <view class="user-left-image"> |
| | | <image :src="shop.imgurl||'/static/logo.png'" mode="widthFix"></image> |
| | | <image :src="shop.imgurl||'/static/icon/default3.png'" mode="widthFix"></image> |
| | | </view> |
| | | <view class="user-left-info"> |
| | | <view class="user-left-info-title">{{shop.name||''}}</view> |
| | |
| | | <image src="/static/icon/ic_QRcode@2x.png" mode="widthFix"></image> |
| | | </view> |
| | | </view> |
| | | <view class="data" :style="{ backgroundImage: 'url(' + backgroundImage + ')' }"> |
| | | <view class="data" :style="{ 'background-image': 'url(' + backgroundImage + ')' }"> |
| | | <view class="data-a"> |
| | | <view class="data-a-left"> |
| | | <view :class="'data-a-left-item '+(active ==0?'active':'')" @click="changeActive(0)">今日</view> |
| | |
| | | <view class="data-c"> |
| | | <view class="data-c-item"> |
| | | <view class="data-c-item-top"> |
| | | <text>销售额(元)</text> |
| | | <image :src="showMoney?'/static/icon/ic_visible@2x.png':'/static/icon/ic_invisible@2x.png'" @click="showMoney=!showMoney" mode="widthFix"></image> |
| | | </view> |
| | | <text style="margin-right: 10rpx; ">销售额(元)</text> |
| | | <u-icon v-if="showMoney" name="eye" color="#ffffff" size="18" @click="showMoney = !showMoney"></u-icon> |
| | | <u-icon v-if="!showMoney" name="eye-off" color="#eeeeee" size="18" @click="showMoney = !showMoney"></u-icon> |
| | | <!-- <image :src="showMoney?'/static/icon/ic_visible@2x.png':'/static/icon/ic_invisible@2x.png'" @click="showMoney=!showMoney" mode="widthFix"></image> |
| | | --> </view> |
| | | <view class="data-c-item-bottom"> |
| | | <text v-if="showMoney">{{(countData.saleTotalNum||0).toFixed(0)}}</text> |
| | | <text v-if="showMoney">{{countData.saleTotalFloat || '.00'}}</text> |
| | |
| | | <image src="/static/icon/ic_xunizhanghu@2x.png" mode="widthFix"></image> |
| | | <text>虚拟账号</text> |
| | | </view> |
| | | <view class="func-item" style="margin-bottom: 30rpx;"> |
| | | <view class="func-item" style="margin-bottom: 30rpx;" @click="jumpWriteoff"> |
| | | <image src="/static/icon/ic_zitihexiao@2x.png" mode="widthFix"></image> |
| | | <text>自提核销</text> |
| | | </view> |
| | |
| | | <view style="width: 25%; height: 0;"></view> |
| | | <view style="width: 25%; height: 0;"></view> |
| | | </view> |
| | | <view class="title" v-if="!show">待处理订单 ({{total}})</view> |
| | | <view class="list" v-if="!show"> |
| | | <view class="title" v-if="!show&&!showQrcode &&!showHaibao">待处理订单 ({{total}})</view> |
| | | <view class="list" v-if="!show&&!showQrcode &&!showHaibao"> |
| | | <view class="list-item" v-for="(item, index) in dataList" :key="index"> |
| | | <view class="a"> |
| | | <view class="a" @click="jumpOrderDetail(item.id)"> |
| | | <view class="a-left"> |
| | | <view class="a-left-tips">{{item.receiveType==1?'自提':'快递配送'}}</view> |
| | | <text>订单号:{{item.id}}</text> |
| | | <view :class="'a-left-tips '+(item.receiveType==1?'shop-top-tips-a':'shop-top-tips-b')">{{item.receiveType==1?'自提':'配送'}}</view> |
| | | <text>订单号:{{item.code}}</text> |
| | | </view> |
| | | <text v-if="item.status ==0" class="a-right">待支付</text> |
| | | <text v-if="item.status ==1" class="a-right">{{item.receiveType==1?'待自提':'待发货'}}</text> |
| | |
| | | <text v-if="item.status ==4"class="a-right">已取消</text> |
| | | <text v-if="item.status ==6" class="a-right">已退款</text> |
| | | </view> |
| | | <view class="b"> |
| | | <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])"> |
| | | <view class="b-item-image"> |
| | | <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image> |
| | | </view> |
| | | <view class="b-item-title">{{item1.name||''}}</view> |
| | | <view class="b-item-jia"> |
| | | <text>¥{{(item1.price||0).toFixed(2)}}</text> |
| | | <text>x{{item1.goodsNum||0}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="b" @click="jumpOrderDetail(item.id)"> |
| | | <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])"> |
| | | <view class="b-item-image"> |
| | | <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image> |
| | |
| | | </view> |
| | | <view class="c-btns"> |
| | | <view class="c-btns-item blue" @click="contactPhone(item)">联系客户</view> |
| | | <view class="c-btns-item bg">自提核销</view> |
| | | <view class="c-btns-item bg" v-if="item.status == 1 && item.receiveType ==1" @click="hexiaoOrder(item)">自提核销</view> |
| | | </view> |
| | | </view> |
| | | <view class="d" v-if="item.memberInfo"> |
| | | <view class="d" v-if="item.memberInfo" @click="jumpOrderDetail(item.id)"> |
| | | 订单备注:{{item.memberInfo||''}} |
| | | </view> |
| | | </view> |
| | | <view v-if="!hasNext" class="nomore">已加载全部</view> |
| | | <view v-if="!hasNext" class="nomore">{{total>0?'已加载全部数据':'暂无待处理订单'}}</view> |
| | | </view> |
| | | </view> |
| | | <!-- 确认退出登陆 --> |
| | |
| | | <image :src="shop.programCode||''" mode="widthFix"></image> |
| | | </view> |
| | | </u-popup> |
| | | <u-popup :show="showHaibao" round="15" :safeAreaInsetBottom="false" mode="bottom" @close="openHaibao()" > |
| | | <view class="qrcode" > |
| | | <image :src="shop.programCode||''" mode="widthFix"></image> |
| | | <u-popup :show="showHaibao"border-radius="15" round="15" :safeAreaInsetBottom="false" mode="center" @close="openHaibao()" > |
| | | <view class="haibao" > |
| | | <view class="haibao-img" @click="openHaibao()" > |
| | | <image :src="shop.posterImgCode||''" mode="widthFix"></image> |
| | | </view> |
| | | <view class="haibao-btn"> |
| | | <view class="haibao-btn-item" @click="shareDo(0) "> |
| | | <image src="/static/icon/share_ic_wechat@2x.png" mode="widthFix"></image> |
| | | <!-- <button open-type="share" plain="true" >小程序分享</button> --> |
| | | <text>小程序分享</text> |
| | | </view> |
| | | <view class="haibao-btn-item" style="color: red;" @click="shareDo(1) "> |
| | | <image src="/static/icon/share_ic_friends@2x.png" mode="widthFix"></image> |
| | | <!-- <button open-type="share" plain="true" >分享到朋友圈</button> --> |
| | | <text>分享到朋友圈</text> |
| | | </view> |
| | | <view class="haibao-btn-item" style="color: red;" @click="shareDo(2)"> |
| | | <image src="/static/icon/share_ic_download@2x.png" mode="widthFix"></image> |
| | | <text>下载海报</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | </view> |
| | |
| | | shop:{}, |
| | | linkItem:{}, |
| | | countData:{}, |
| | | backgroundImage: require('@/static/images/bg_card@2x.png') |
| | | backgroundImage:null |
| | | }; |
| | | }, |
| | | onShow() { |
| | |
| | | this.checkShopLogin() |
| | | this.active=0 |
| | | this.shop = this.shopInfo || {} |
| | | this.getCountData() |
| | | this.getCountData(0) |
| | | this.total=0 |
| | | this.hasNext=true |
| | | this.currentPage = 0 |
| | | this.getOrderList() |
| | | // this.getBase64Img('/static/images/bg_card@2x.png') |
| | | console.log(require('@/static/images/bg_card@2x.png')) |
| | | }, |
| | | onShareAppMessage() { |
| | | return { |
| | | title:'鼎元农机微商城', |
| | | path: '/pages/index/index', |
| | | imageUrl: this.shop.posterImgCode |
| | | } |
| | | }, |
| | | onShareTimeline() { |
| | | return { |
| | | title:'鼎元农机微商城', |
| | | query: `ref=${Date.now()}`, |
| | | imageUrl: this.shop.posterImgCode |
| | | } |
| | | }, |
| | | onReachBottom(){ |
| | | this.getOrderList( ); |
| | | }, |
| | | onLoad() { |
| | | var that =this |
| | | this.getBase64Img('/static/images/bg_card@2x.png') |
| | | uni.$on('updateOrder',function(data){ |
| | | if(data.info!=null && data.info.orderId!=null && data.info.orderStatus ==3){ |
| | | if(data.info.orderStatus ==3){ |
| | | that.getCountData() |
| | | } |
| | | that.total=0 |
| | | that.hasNext=true |
| | | that.currentPage = 0 |
| | | that.getOrderList() |
| | | } |
| | | }) |
| | | }, |
| | | methods:{ |
| | | getBase64Img(path){ |
| | | var that =this |
| | | uni.getFileSystemManager().readFile({ |
| | | filePath: path, // 替换为你的图片路径 |
| | | encoding: 'base64', |
| | | success: (res) => { |
| | | const base64Data = 'data:image/png;base64,' + res.data; // 拼接前缀,用于页面显示 |
| | | console.log('图片Base64编码:', base64Data); |
| | | // 可以将 base64Data 绑定到 data 中,用于页面展示 |
| | | that.backgroundImage = base64Data; |
| | | }, |
| | | fail: (err) => { |
| | | console.error('读取图片失败:', err); |
| | | } |
| | | }); |
| | | }, |
| | | shareDo(flag){ |
| | | if(flag ==0){ |
| | | if(!this.shop.posterImgCode){ |
| | | return |
| | | } |
| | | wx.downloadFile({ |
| | | url: this.shop.posterImgCode, |
| | | success: (res) => { |
| | | wx.showShareImageMenu({ |
| | | path: res.tempFilePath |
| | | }) |
| | | } |
| | | }) |
| | | }else if(flag ==1){ |
| | | if(!this.shop.posterImgCode){ |
| | | return |
| | | } |
| | | wx.downloadFile({ |
| | | url: this.shop.posterImgCode, |
| | | success: (res) => { |
| | | wx.showShareImageMenu({ |
| | | path: res.tempFilePath |
| | | }) |
| | | } |
| | | }) |
| | | }else if(flag ==2){ |
| | | if(!this.shop.posterImgCode){ |
| | | return |
| | | } |
| | | this.downloadAndSaveToAlbum(this.shop.posterImgCode) |
| | | } |
| | | }, |
| | | hexiaoOrder(item){ |
| | | uni.navigateTo({ |
| | | url:'/pagesA/pages/write-off-a/write-off-a?id='+item.id |
| | | }) |
| | | }, |
| | | openQrcode(){ |
| | | if(this.shop.programCode){ |
| | | this.showQrcode = !this.showQrcode |
| | | } |
| | | }, |
| | | openHaibao(){ |
| | | if(this.shop.programCode){ |
| | | this.showHaibao = !this.showHaibao |
| | | if(!this.shop.posterImgCode){ |
| | | return |
| | | } |
| | | wx.downloadFile({ |
| | | url: this.shop.posterImgCode, |
| | | success: (res) => { |
| | | if (res.statusCode === 200) { |
| | | wx.showShareImageMenu({ |
| | | path: res.tempFilePath, |
| | | needShowEntrance:false |
| | | }) |
| | | } else { |
| | | reject(new Error('海报下载失败')); |
| | | } |
| | | }, |
| | | fail: (err) => { |
| | | reject(new Error('海报下载失败')); |
| | | } |
| | | }) |
| | | /* if(this.shop.programCode){ |
| | | this.showHaibao = !this.showHaibao |
| | | } */ |
| | | }, |
| | | contactPhone(item){ |
| | | this.showPhone = !this.showPhone |
| | |
| | | that.jumpShopLogin() |
| | | } |
| | | }, |
| | | jumpOrderDetail(id){ |
| | | uni.navigateTo({ |
| | | url: '/pagesA/pages/order-details/order-details?userType=1&id='+id |
| | | }) |
| | | }, |
| | | jumpShopLogin() { |
| | | uni.navigateTo({ |
| | | url: '/pages/login/login' |
| | |
| | | }, |
| | | jumpOrderList() { |
| | | uni.navigateTo({ |
| | | url: '/pagesA/pages/order/order' |
| | | url: '/pagesA/pages/order/order?userType=1' |
| | | }) |
| | | }, |
| | | jumpAccount() { |
| | | uni.navigateTo({ |
| | | url: '/pagesA/pages/virtual-account/virtual-account' |
| | | }) |
| | | }, |
| | | jumpWriteoff() { |
| | | uni.navigateTo({ |
| | | url: '/pagesA/pages/write-off/write-off' |
| | | }) |
| | | }, |
| | | jumpMemberList() { |
| | |
| | | uni.navigateTo({ |
| | | url: '/pagesA/pages/shop_points/shop_points' |
| | | }) |
| | | } |
| | | } , |
| | | async downloadAndSaveToAlbum(url) { |
| | | try { |
| | | // 1. 下载图片 |
| | | const { tempFilePath } = await new Promise((resolve, reject) => { |
| | | uni.downloadFile({ |
| | | url: url, |
| | | success: (res) => { |
| | | if (res.statusCode === 200) { |
| | | resolve(res); |
| | | } else { |
| | | reject(new Error('下载失败')); |
| | | } |
| | | }, |
| | | fail: (err) => { |
| | | reject(err); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 2. 获取相册权限 |
| | | await new Promise((resolve, reject) => { |
| | | uni.getSetting({ |
| | | success: (res) => { |
| | | if (!res.authSetting['scope.writePhotosAlbum']) { |
| | | uni.authorize({ |
| | | scope: 'scope.writePhotosAlbum', |
| | | success: resolve, |
| | | fail: () => { |
| | | uni.showToast({ |
| | | title: '请开启相册权限', |
| | | icon: 'none' |
| | | }); |
| | | reject(new Error('未授权写入相册')); |
| | | } |
| | | }); |
| | | } else { |
| | | resolve(); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | // 3. 保存图片到相册 |
| | | await new Promise((resolve, reject) => { |
| | | uni.saveImageToPhotosAlbum({ |
| | | filePath: tempFilePath, |
| | | success: resolve, |
| | | fail: (err) => { |
| | | reject(err); |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | uni.showToast({ |
| | | title: '保存成功' |
| | | }); |
| | | |
| | | } catch (err) { |
| | | uni.showToast({ |
| | | title: '保存失败', |
| | | icon: 'none' |
| | | }); |
| | | console.error(err); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | |
| | | .a-left { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | .a-left-tips { |
| | | padding: 0 6rpx; |
| | | height: 40rpx; |
| | | line-height: 40rpx; |
| | | background: #00B775; |
| | | border-radius: 8rpx; |
| | | font-weight: 400; |
| | | font-size: 22rpx; |
| | | color: #FFFFFF; |
| | | margin-right: 16rpx; |
| | | } |
| | | .shop-top-tips-a { |
| | | background: #00B775; |
| | | border: 1rpx solid #00B775; |
| | | } |
| | | .shop-top-tips-b { |
| | | background: #004096; |
| | | border: 1rpx solid #004096; |
| | | } |
| | | text { |
| | | font-weight: 400; |
| | |
| | | .data-c-item-top { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | text { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | |
| | | } |
| | | } |
| | | .qrcode{ |
| | | text-align: center; |
| | | width: calc(100vw - 148rpx); |
| | | height: calc(100vw - 148rpx); |
| | | padding: 20px; |
| | |
| | | height: calc(100vw - 188rpx); |
| | | } |
| | | } |
| | | </style> |
| | | .haibao{ |
| | | border-radius: 24rpx; |
| | | background-color: #f2f2f2; |
| | | text-align: center; |
| | | .haibao-img{ |
| | | padding: 54rpx 44rpx 44rpx 44rpx; |
| | | text-align: center; |
| | | width: calc(100vw - 148rpx); |
| | | image{ |
| | | border-radius: 24rpx; |
| | | width: calc(100vw - 188rpx); |
| | | } |
| | | } |
| | | .haibao-btn{ |
| | | width: 100%; |
| | | height: 264rpx; |
| | | background: #FFFFFF; |
| | | border-radius: 24rpx; |
| | | display: flex; |
| | | align-items:center; |
| | | justify-content: space-between; |
| | | .haibao-btn-item{ |
| | | flex:1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items:center; |
| | | justify-content: space-between; |
| | | image{ |
| | | width: 88rpx; |
| | | height: 88rpx; |
| | | } |
| | | button{ |
| | | border:none; |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | margin-top:12rpx; |
| | | color: #333333; |
| | | line-height: 36rpx; |
| | | text-align: center; |
| | | font-style: normal; |
| | | } |
| | | text{ |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | margin-top:12rpx; |
| | | color: #333333; |
| | | line-height: 36rpx; |
| | | text-align: center; |
| | | font-style: normal; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |