| | |
| | | <view class="data-c-item"> |
| | | <view class="data-c-item-top"> |
| | | <text>销售额(元)</text> |
| | | <image src="/static/icon/ic_visible@2x.png" mode="widthFix"></image> |
| | | <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>{{(countData.saleTotal||0).toFixed(0)}}</text> |
| | | <text>.{{countData.saleTotalFloat || '00'}}</text> |
| | | <text v-if="showMoney">{{(countData.saleTotalNum||0).toFixed(0)}}</text> |
| | | <text v-if="showMoney">{{countData.saleTotalFloat || '.00'}}</text> |
| | | <text v-if="!showMoney">****</text> |
| | | </view> |
| | | </view> |
| | | <view class="data-c-item"> |
| | |
| | | <text>结算利润(元)</text> |
| | | </view> |
| | | <view class="data-c-item-bottom"> |
| | | <text>{{(countData.profitTotal||0).toFixed(0)}}</text> |
| | | <text>.{{countData.profitTotalFloat || '00'}}</text> |
| | | <text v-if="showMoney">{{(countData.profitTotalNum||0).toFixed(0)}}</text> |
| | | <text v-if="showMoney">{{countData.profitTotalFloat || '.00'}}</text> |
| | | <text v-if="!showMoney">****</text> |
| | | </view> |
| | | </view> |
| | | <view class="data-c-item"> |
| | |
| | | <text>订单数</text> |
| | | </view> |
| | | <view class="data-c-item-bottom"> |
| | | <text>{{countData.orderNum||0}}</text> |
| | | <text v-if="showMoney">{{countData.orderNum||0}}</text> |
| | | <text v-if="!showMoney">****</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <view style="width: 25%; height: 0;"></view> |
| | | <view style="width: 25%; height: 0;"></view> |
| | | </view> |
| | | <view class="title" v-if="!show">待处理订单 (2)</view> |
| | | <view class="title" v-if="!show">待处理订单 ({{total}})</view> |
| | | <view class="list" v-if="!show"> |
| | | <view class="list-item" v-for="(item, index) in 5" :key="index"> |
| | | <view class="list-item" v-for="(item, index) in dataList" :key="index"> |
| | | <view class="a"> |
| | | <view class="a-left"> |
| | | <view class="a-left-tips">自提</view> |
| | | <text>订单号:71379283984239</text> |
| | | <view class="a-left-tips">{{item.receiveType==1?'自提':'快递配送'}}</view> |
| | | <text>订单号:{{item.id}}</text> |
| | | </view> |
| | | <view class="a-right">待自提</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 ==2" class="a-right">待收货</text> |
| | | <text v-if="item.status ==3" class="a-right">交易完成</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"> |
| | | <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])"> |
| | | <view class="b-item-image"> |
| | | <image src="/static/logo.png" mode="widthFix"></image> |
| | | <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image> |
| | | </view> |
| | | <view class="b-item-title">中联艾禾宽齿 适用雷沃/中联/久保田</view> |
| | | <view class="b-item-title">{{item1.name||''}}</view> |
| | | <view class="b-item-jia"> |
| | | <text>¥499.00</text> |
| | | <text>x1</text> |
| | | <text>¥{{(item1.price||0).toFixed(2)}}</text> |
| | | <text>x{{item1.goodsNum||0}}</text> |
| | | </view> |
| | | </view> |
| | | <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> |
| | | <view class="c"> |
| | | <view class="c-label"> |
| | | <view class="c-label-title">需付款:</view> |
| | | <view class="c-label-title">实付款:</view> |
| | | <view class="c-label-price"> |
| | | <text>998</text> |
| | | <text>.00</text> |
| | | <text>{{(item.price||0).toFixed(2)}}</text> |
| | | <text></text> |
| | | </view> |
| | | </view> |
| | | <view class="c-btns"> |
| | | <view class="c-btns-item blue">联系客户</view> |
| | | <view class="c-btns-item blue" @click="contactPhone(item)">联系客户</view> |
| | | <view class="c-btns-item bg">自提核销</view> |
| | | </view> |
| | | </view> |
| | | <view class="d"> |
| | | 订单备注:11月22日来拿 |
| | | <view class="d" v-if="item.memberInfo"> |
| | | 订单备注:{{item.memberInfo||''}} |
| | | </view> |
| | | </view> |
| | | <view v-if="!hasNext" class="nomore">已加载全部</view> |
| | | </view> |
| | | </view> |
| | | <!-- 确认退出登陆 --> |
| | |
| | | </view> |
| | | </view> |
| | | </u-popup> |
| | | <u-popup :show="showPhone" round="15" mode="bottom" :safeAreaInsetBottom="true" @close="contactPhone()" :closeable="true" :closeOnClickOverlay="true"> |
| | | <view class="phone"> |
| | | <view class="phone-head"> |
| | | <view></view> |
| | | <text>联系客户</text> |
| | | </view> |
| | | <!-- <view class="phone-item"> |
| | | <view> |
| | | <image style="width: 36rpx;height: 36rpx" src="/static/icon/ic_kefu.png" mode="widthFix"></image> |
| | | <button open-type="contact" plain="true" bindcontact="handleContact">在线客服</button> |
| | | </view> |
| | | <view class="line" v-if="serverPhone && serverPhone.length"></view> |
| | | </view> --> |
| | | <view class="phone-item" > |
| | | <view> |
| | | <image src="/static/icon/ic_call@2x.png" mode="widthFix" @click="contactPhoneDo()"></image> |
| | | <text>{{linkItem.linkname}} </text> |
| | | <text style="margin-left: 10px;"> {{linkItem.linkphone}}</text> |
| | | </view> |
| | | </view> |
| | | <view style="width: 100%; height: 30rpx;"></view> |
| | | <!-- <view class="phone-botton" @click="contactPhone()" >关闭</view> --> |
| | | </view> |
| | | </u-popup> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | return { |
| | | show:false, |
| | | active:0, |
| | | loading:false, |
| | | showMoney:false, |
| | | showPhone:false, |
| | | currentPage:1, |
| | | total:0, |
| | | hasNext:true, |
| | | dataList:[], |
| | | shop:{}, |
| | | linkItem:{}, |
| | | countData:{}, |
| | | backgroundImage: require('@/static/images/bg_card@2x.png') |
| | | }; |
| | |
| | | onShow() { |
| | | this.shop ={} |
| | | this.checkShopLogin() |
| | | this.active=0 |
| | | this.shop = this.shopInfo || {} |
| | | this.getCountData() |
| | | this.currentPage = 0 |
| | | this.getOrderList() |
| | | }, |
| | | onReachBottom(){ |
| | | |
| | | onReachBottom(){ |
| | | this.getOrderList( ); |
| | | }, |
| | | methods:{ |
| | | contactPhone(item){ |
| | | this.showPhone = !this.showPhone |
| | | this.linkItem = item ||{} |
| | | console.log("==================================",this.showPhone) |
| | | }, |
| | | contactPhoneDo(){ |
| | | if(this.linkItem.linkphone !=null && this.linkItem.linkphone!=''){ |
| | | uni.makePhoneCall({ |
| | | phoneNumber: this.linkItem.linkphone |
| | | }) |
| | | } |
| | | }, |
| | | changeActive(index){ |
| | | this.active = index |
| | | this.getCountData(index) |
| | | }, |
| | | checkShopLogin(){ |
| | | var that =this |
| | | if( this.shopInfo ==null || this.shopInfo.id==null || this.shopToken==null || this.shopToken==''){ |
| | | this.jumpShopLogin() |
| | | } |
| | | }, |
| | | async getCountData(index){ |
| | | var that =this |
| | | let res = await that.$u.api.saleReport({ dateType: index, endDate: null, startDate: null, tokenType:1 }) |
| | | if (res.code === 200) { |
| | | this.active = index |
| | | this.countData = res.data |
| | | this.countData.profitTotal = (this.countData.profitTotal||0.00 ).toFixed(2) |
| | | this.countData.saleTotal = (this.countData.saleTotal||0.00).toFixed(2) |
| | | this.countData.profitTotalNum = Math.floor(this.countData.profitTotal) |
| | | this.countData.saleTotalNum = Math.floor( this.countData.saleTotal) |
| | | var t1 =(this.countData.profitTotal - this.countData.profitTotalNum).toFixed(2) |
| | | var t2 =(this.countData.saleTotal - this.countData.saleTotalNum).toFixed(2) |
| | | this.countData.profitTotalFloat =( t1+'').slice(1, 4) |
| | | this.countData.saleTotalFloat = ( t2+'').slice(1, 4) |
| | | } |
| | | }, |
| | | async getOrderList(){ |
| | | if(this.loading || !this.hasNext){ |
| | | return |
| | | } |
| | | this.loading=true |
| | | this.currentPage = this.currentPage+1 |
| | | if(this.currentPage == 1){ |
| | | this.hasNext =true |
| | | this.dataList=[] |
| | | } |
| | | var that =this |
| | | let res = await that.$u.api.shopOrderPage({ |
| | | capacity:10, |
| | | model: { |
| | | receiveType: 1, |
| | | status: 1 |
| | | }, |
| | | page:this.currentPage |
| | | }); |
| | | console.log(res) |
| | | if (res.code === 200 ) { |
| | | if ( res.data && res.data.page ===this.currentPage) { |
| | | res.data.records = res.data.records||[] |
| | | that.dataList.push(...res.data.records) |
| | | that.total=res.data.total |
| | | if( this.currentPage >= res.data.pageCount||0){ |
| | | that.hasNext=false |
| | | }else{ |
| | | that.hasNext=true |
| | | } |
| | | } |
| | | } |
| | | this.loading=false |
| | | }, |
| | | logoutCom(){ |
| | | this.show=!this.show |
| | |
| | | .list { |
| | | width: 100%; |
| | | margin-top: 30rpx; |
| | | padding-bottom: 60rpx; |
| | | .nomore{ |
| | | width: 100%; |
| | | text-align: center; |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | } |
| | | .list-item { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | |
| | | } |
| | | } |
| | | .b { |
| | | width: 100%; |
| | | height: 136rpx; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-top: 22rpx; |
| | |
| | | font-size: 30rpx; |
| | | color: #222222; |
| | | margin-right: 30rpx; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; /* 限制文本为2行 */ |
| | | -webkit-box-orient: vertical; |
| | | overflow: hidden; |
| | | } |
| | | .b-item-jia { |
| | | flex-shrink: 0; |
| | |
| | | } |
| | | } |
| | | } |
| | | .phone { |
| | | width: 100%; |
| | | padding-top: 40rpx; |
| | | box-sizing: border-box; |
| | | .phone-botton { |
| | | width: 100%; |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | text-align: center; |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | color: #FFFFFF; |
| | | background: #00BC12; |
| | | border-radius: 44rpx; |
| | | margin-top: 60rpx; |
| | | } |
| | | .phone-head { |
| | | width: 100%; |
| | | text-align: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 40rpx; |
| | | text { |
| | | font-weight: 800; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | |
| | | .phone-item { |
| | | width: 100%; |
| | | text-align: center; |
| | | display: flex; |
| | | justify-content: center; |
| | | flex-direction: column; |
| | | // border-bottom: 1rpx solid #eeeeee; |
| | | line-height: 78rpx; |
| | | button{ |
| | | border: 1rpx white solid; |
| | | display: inline; |
| | | width: 300rpx; |
| | | font-weight: 500; |
| | | font-size: 32rpx; |
| | | line-height: 32rpx; |
| | | color: #222222; |
| | | } |
| | | image{ |
| | | width: 28rpx; |
| | | height: 28rpx; |
| | | margin-right: 30rpx; |
| | | } |
| | | .line{ |
| | | width: 100%; |
| | | height: 1rpx; |
| | | background-color: #f2f2f2 |
| | | } |
| | | text { |
| | | font-weight: 500; |
| | | font-size: 28rpx; |
| | | line-height: 28rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |