From 1dcd8399c853ef724133d4d1ad0d700db0f293e7 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 12 二月 2026 18:19:50 +0800
Subject: [PATCH] 经销商管理pay
---
mini-program/pagesA/pages/order-details/order-details.vue | 354 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 288 insertions(+), 66 deletions(-)
diff --git a/mini-program/pagesA/pages/order-details/order-details.vue b/mini-program/pagesA/pages/order-details/order-details.vue
index 043c5c0..11ffc1c 100644
--- a/mini-program/pagesA/pages/order-details/order-details.vue
+++ b/mini-program/pagesA/pages/order-details/order-details.vue
@@ -57,23 +57,22 @@
</view>
</view>
</view>
- <view class="user">
+ <view class="user" v-if="userType!=1">
<view class="user-jxa">
<view class="user-jxa-title">
<image src="/static/icon/ic_address@2x1.png" mode="widthFix"></image>
<text>{{info.shopInfo.name||''}}</text>
</view>
- <view class="user-jxa-lx">
+ <view class="user-jxa-lx" @click="contact( info.shopInfo.phone)">
<image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
- <text v-if="userType==1" @click="contact(info.linkphone)">鑱旂郴瀹㈡埛</text>
- <text v-if="info.orderStatus!=0 && userType==0" @click="contact(info.shopInfo.phone || '')">鑱旂郴缁忛攢鍟�</text>
+ <text > 鑱旂郴缁忛攢鍟�</text>
</view>
</view>
<view class="user-jxtime">
<image class="user-jxtime-icon" src="/static/icon/ic_openinghours@2x.png" mode="widthFix"></image>
<text>钀ヤ笟鏃堕棿锛歿{info.shopInfo.startTime || ''}}</text>
</view>
- <view class="user-jxtime">
+ <view class="user-jxtime" @click="jumpMap()">
<image class="user-jxtime-icon" src="/static/icon/ic_shopaddress@2x.png" mode="widthFix"></image>
<text>{{info.shopInfo.addr || ''}}</text>
<image class="user-jxtime-to" src="/static/icon/ic_ar2@2x.png" mode="widthFix"></image>
@@ -86,29 +85,48 @@
<view class="user-qrcode-btn" @click="copyText(info.exchangeCode)">澶嶅埗鑷彁鐮�</view>
</view>
</view>
- <view class="user" v-if="info.receiveType!=1">
+ <view class="user" v-if="userType==1">
<view class="user-top">
<view class="user-icon">
- <image src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
+ <image :src="info.member && info.member.imgFullUrl? info.member.imgFullUrl:'/static/icon/default.png'" mode="widthFix"></image>
</view>
<view class="user-info">
<view class="user-info-a">
- <text>{{info.linkename || ''}}</text>
- <text>{{info.linkephone || ''}}</text>
+ <text>{{info.linkName || ''}}</text>
+ <view class="user-jxa-lx" @click="contact( info.linkPhone )">
+ <image src="/static/icon/ic_call@2x.png" mode="widthFix"></image>
+ <text > 鑱旂郴瀹㈡埛</text>
+ </view>
</view>
<view class="user-info-b">
- {{info.addr||''}}
+ <!-- <image src="/static/icon/ic_call@2x.png" mode="widthFix"></image> -->
+ <text>{{info.linkPhone || ''}}</text>
</view>
</view>
</view>
- <view class="user-xian"></view>
- <view class="user-kd">
+ <view class="user-remark" v-if="info.memberInfo">
+ <text>璁㈠崟澶囨敞锛�</text>
+ <text>{{info.memberInfo || ''}}</text>
+ </view>
+ <view class="user-xian" v-if="info.receiveType!=1"></view>
+ <view class="user-kd" v-if="info.receiveType!=1">
+ <image src="/static/icon/ic_location@2x.png" mode="widthFix"></image>
+ <text>{{info.linkAddress || ''}}</text>
+ </view>
+ <view class="user-kd" v-if="info.receiveType!=1&& info.kdName && info.kdCode">
<image src="/static/icon/ic_wuliu@2x.png" mode="widthFix"></image>
<text>{{info.kdName || ''}}锝渰{info.kdCode || ''}}</text>
+ <image class="image2" src="/static/icon/ic_cppy@2x.png" @click="copyText(info.kdCode )" mode="widthFix"></image>
</view>
</view>
- <view class="shop">
- <view class="shop-info" style="margin: 0;" v-if="info.status ==6">
+ <view class="user" v-if="userType!=1 &&info.memberInfo" >
+ <view class="user-kd" >
+ <text>璁㈠崟澶囨敞锛�</text>
+ <text>{{info.memberInfo || ''}}</text>
+ </view>
+ </view>
+ <view class="shop" v-if="info.orderStatus ==6">
+ <view class="shop-info" style="margin: 0;" >
<view class="shop-info-item" style="margin-bottom: 12rpx;">
<view class="shop-info-item-label" style="color: #222222; font-size: 30rpx; font-weight: 600;">閫�娆鹃噾棰�</view>
<view class="shop-info-item-price xfk">
@@ -135,13 +153,12 @@
<view :class="'shop-top-tips '+(info.receiveType==1?'shop-top-tips-a':'shop-top-tips-b' )">{{info.receiveType==1?'鑷彁':'閰嶉��'}}</view>
<text>{{info.shopInfo.name || ''}}</text>
</view>
- <view class="b">
- <view class="b-item" v-for="(item, index) in (info.goodsorderDetailList||[])" :key="index">
- <view class="b-item-image">
-<!-- <image v-if="item.imgurl!=null" :src="item.imgurl" mode="widthFix"></image>
- --> <image src="/static/icon/default2.png" mode="widthFix"></image>
+ <view class="b" v-if="info.goodsorderDetailList && info.goodsorderDetailList.length">
+ <view class="b-item" v-for="(item, index) in info.goodsorderDetailList" :key="index" @click="jumpGoodsDetail(item,index)" >
+ <view class="b-item-image" >
+ <image :src="item.imgurl?item.imgurl:'/static/icon/default2.png'" mode="widthFix"></image>
</view>
- <view class="b-item-title">
+ <view class="b-item-title" >
<view class="b-item-title-val">{{item.name || ''}}</view>
<view class="b-item-jia">
<text>楼{{(item.price || 0).toFixed(2)}}</text>
@@ -204,7 +221,49 @@
<text>{{info.createDate || ''}}</text>
</view>
</view>
- <view class="xinxi-list-item">
+ <view class="xinxi-list-item" v-if="info.shopInfo!=null && info.shopInfo.id!=null">
+ <view class="xinxi-list-item-label">缁� 閿� 鍟嗭細</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.shopInfo.name || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.shopInfo!=null && info.shopInfo.id!=null">
+ <view class="xinxi-list-item-label">鑱旂郴鐢佃瘽锛�</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.shopInfo.phone || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.payDate!=null">
+ <view class="xinxi-list-item-label">鏀粯鏃堕棿锛�</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.payDate || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.payStatus != 0">
+ <view class="xinxi-list-item-label">鏀粯鏂瑰紡锛�</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.payMethod==0?'寰俊鏀粯':'绉垎鎶垫墸'}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.payOrderId">
+ <view class="xinxi-list-item-label">浜ゆ槗娴佹按鍙凤細</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.payOrderId || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.cancelDate!=null">
+ <view class="xinxi-list-item-label">鍙栨秷鏃堕棿锛�</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.cancelDate || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="info.doneDate!=null">
+ <view class="xinxi-list-item-label">瀹屾垚鏃堕棿锛�</view>
+ <view class="xinxi-list-item-right">
+ <text>{{info.doneDate || ''}}</text>
+ </view>
+ </view>
+ <view class="xinxi-list-item" v-if="1==2">
<view class="xinxi-list-item-label">璁㈠崟澶囨敞锛�</view>
<view class="xinxi-list-item-right">
<text>{{info.memberInfo||'-'}}</text>
@@ -215,14 +274,19 @@
<view style="width: 100%; height: calc(100rpx + env(safe-area-inset-bottom));"></view>
</view>
<view class="footer">
- <view class="caozuo">
- <view class="caozuo-item">鍙栨秷璁㈠崟</view>
- <view class="caozuo-item" style="border: 1rpx solid #004096; color: #004096;">缁х画鏀粯</view>
+ <view class="caozuo" v-if="userType!=1">
+ <view class="caozuo-item" v-if="info.orderStatus==0 || info.orderStatus ==1" @click="cancelOrder()"> 鍙栨秷璁㈠崟</view>
+ <view class="caozuo-item" @click="deleteOrder()" v-if="info.orderStatus==4"> 鍒犻櫎璁㈠崟</view>
+ <view class="caozuo-item" @click="payOrder()" v-if=" info.orderStatus==0" style="border: 1rpx solid #004096; color: #004096;">缁х画鏀粯</view>
+ <view class="caozuo-item" @click="doneOrder()" v-if=" info.orderStatus==2" style="border: 1rpx solid #004096; color: #004096;">纭鏀惰揣</view>
+ </view>
+ <view class="caozuo" v-if="userType==1">
+ <view class="caozuo-item" @click="hexiaoOrder()" v-if=" info.orderStatus==1 && info.receiveType ==1" style="border: 1rpx solid #004096; color: #004096;">鑷彁鏍搁攢</view>
</view>
<view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
</view>
<!-- 纭鏀惰揣 -->
- <u-popup :show="show" round="15" :safeAreaInsetBottom="false" mode="center">
+ <u-popup :show="showDone" round="15" :safeAreaInsetBottom="false" mode="center">
<view class="tc">
<view class="tc-contemt">
<view class="tc-contemt-title">纭鏀惰揣鎻愰啋</view>
@@ -231,8 +295,38 @@
</view>
</view>
<view class="tc-btn">
- <view class="tc-btn-item" @click="show = false">鍙栨秷</view>
- <view class="tc-btn-item" style="color: #004096;">纭鏀惰揣</view>
+ <view class="tc-btn-item" @click="showDone = false; ">鍙栨秷</view>
+ <view class="tc-btn-item" style="color: #004096;" @click="doneOrderDo()">纭鏀惰揣</view>
+ </view>
+ </view>
+ </u-popup>
+ <!-- 鍙栨秷璁㈠崟 -->
+ <u-popup :show="showCancel" round="15" :safeAreaInsetBottom="false" mode="center">
+ <view class="tc">
+ <view class="tc-contemt">
+ <view class="tc-contemt-title">纭畾鍙栨秷鎻愰啋</view>
+ <view class="tc-contemt-nr">
+ 鎮ㄧ‘璁ゅ彇娑堣璁㈠崟鍚楋紵
+ </view>
+ </view>
+ <view class="tc-btn">
+ <view class="tc-btn-item" @click="showCancel = false; ">鎴戝啀鎯虫兂</view>
+ <view class="tc-btn-item" style="color: red;" @click="cancelOrderDo">纭鍙栨秷</view>
+ </view>
+ </view>
+ </u-popup>
+ <!-- 鍒犻櫎璁㈠崟 -->
+ <u-popup :show="showDelete" round="15" :safeAreaInsetBottom="false" mode="center">
+ <view class="tc">
+ <view class="tc-contemt">
+ <view class="tc-contemt-title">纭鍒犻櫎鎻愰啋</view>
+ <view class="tc-contemt-nr">
+ 鎮ㄧ‘璁ゅ垹闄よ璁㈠崟鍚楋紵
+ </view>
+ </view>
+ <view class="tc-btn">
+ <view class="tc-btn-item" @click="showDelete = false; ">鎴戝啀鎯虫兂</view>
+ <view class="tc-btn-item" style="color: red;" @click="deleteOrderDo">纭鍒犻櫎</view>
</view>
</view>
</u-popup>
@@ -249,6 +343,10 @@
data() {
return {
show: false,
+ showDone:false,
+ showCancel:false,
+ showDelete:false,
+ showPay:false,
qrCodeBase64:'',
id:null,
userType:0,
@@ -267,6 +365,10 @@
}else{
this.getUserDetail()
}
+ this.showDone=false
+ this.showCancel=false
+ this.showDelete=false
+ this.showPay=false
},
onLoad(options) {
this.id = options.id
@@ -274,61 +376,135 @@
this.qrCodeUrl=''
},
methods:{
- copyText(text) {
- try {
- wx.setClipboardData({
- data: text||' ',
- success: function () {
- uni.showToast({ title: '澶嶅埗鎴愬姛' });
- },
- fail: function () {
- uni.showToast({ title: '澶嶅埗澶辫触', icon: 'none' });
- }
- });
- } catch (err) {
- console.error('澶嶅埗澶辫触', err);
- uni.showToast({ title: '澶嶅埗澶辫触', icon: 'none' });
- }
- },
+ hexiaoOrder(item){
+ uni.navigateTo({
+ url:'/pagesA/pages/write-off-a/write-off-a?id='+this.id
+ })
+ },
+ cancelOrder(item){
+ this.showCancel = !this.showCancel
+ },
+ deleteOrder(item){
+ this.showDelete = !this.showDelete
+ },
+ payOrder(item){
+ },
+ doneOrder(item){
+ this.showDone = !this.showDone
+ },
+ async doneOrderDo(){
+ if(this.userType == 1 ) {
+ return
+ }
+ var that =this
+ let res = await this.$u.api.affirmOrder({ orderId: this.info.orderId });
+ if (res.code === 200 ) {
+ //淇敼璁㈠崟鐘舵��
+ this.info.orderStatus = 3
+ uni.$emit('updateOrder',{info:this.info,delete:0})
+ await this.getUserDetail()
+ this.doneOrder()
+ }else{
+ /* uni.showToast({
+ title:res.message||'纭畾鏀惰揣澶辫触锛�',
+ icon:'error'
+ }) */
+ }
+ },
+ async cancelOrderDo(){
+ if(this.userType == 1 ) {
+ return
+ }
+ var that =this
+ let res = await that.$u.api.cancelOrder({ orderId: this.info.orderId });
+ if (res.code === 200 ) {
+ this.info.orderStatus = 4
+ uni.$emit('updateOrder',{info:this.info,delete:0})
+ await this.getUserDetail()
+ this.cancelOrder()
+ }else{
+ /* uni.showToast({
+ title:res.message||'鍙栨秷璁㈠崟澶辫触锛�',
+ icon:'error'
+ }) */
+ }
+ },
+ async deleteOrderDo(){
+ if(this.userType == 1 ) {
+ return
+ }
+ var that =this
+ let res = await that.$u.api.delOrder({ orderId: this.info.orderId });
+ if (res.code === 200 ) {
+ uni.$emit('updateOrder',{info:this.info,delete:1})
+ uni.navigateBack({delta:1})
+ }else{
+ /* uni.showToast({
+ title:res.message||'鍒犻櫎璁㈠崟澶辫触锛�',
+ icon:'error'
+ }) */
+ }
+ },
+ jumpMap(){
+
+ },
+ copyText(text) {
+ try {
+ wx.setClipboardData({
+ data: text||' ',
+ success: function () {
+ uni.showToast({ title: '澶嶅埗鎴愬姛' });
+ },
+ fail: function () {
+ uni.showToast({ title: '澶嶅埗澶辫触', icon: 'none' });
+ }
+ });
+ } catch (err) {
+ console.error('澶嶅埗澶辫触', err);
+ uni.showToast({ title: '澶嶅埗澶辫触', icon: 'none' });
+ }
+ },
async getQrcodeByStr(){
- try {
- const ocanvas = uni.createOffscreenCanvas({ type: "2d" });
- const qrCodeBase64 = await QRCode.toDataURL(ocanvas,this.info.exchangeCode, {
- scale: 1, // 浜岀淮鐮佺殑缂╂斁姣斾緥锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
- width: 300, // 浜岀淮鐮佺殑瀹藉害锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
- margin: 1 // 浜岀淮鐮佸懆鍥寸殑绌虹櫧杈硅窛锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
- });
- this.qrCodeBase64 =qrCodeBase64
- console.log("==================this.info.exchangeCode1:",qrCodeBase64)
- } catch (err) {
- uni.showToast({
- title:'鍒涘缓浜岀淮鐮佸け璐�',
- icon:'error'
- })
- }
+ try {
+ const ocanvas = uni.createOffscreenCanvas({ type: "2d" });
+ const qrCodeBase64 = await QRCode.toDataURL(ocanvas,this.info.exchangeCode, {
+ scale: 1, // 浜岀淮鐮佺殑缂╂斁姣斾緥锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
+ width: 300, // 浜岀淮鐮佺殑瀹藉害锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
+ margin: 1 // 浜岀淮鐮佸懆鍥寸殑绌虹櫧杈硅窛锛屽彲浠ユ牴鎹渶瑕佽皟鏁�
+ });
+ this.qrCodeBase64 =qrCodeBase64
+ } catch (err) {
+ uni.showToast({
+ title:'鐢熸垚鑷彁鐮佸け璐�',
+ icon:'error'
+ })
+ }
},
contact(phone){
- if(phone !=null && phonee!=''){
+ console.log(phone)
+ if(phone !=null && phone!=''){
uni.makePhoneCall({
phoneNumber: phone
})
}
},
- async getShopDetail(index){
+ async getShopDetail(){
var that =this
let res = await that.$u.api.shopOrderDetail({orderId:this.id,tokenType:1 })
if (res.code === 200) {
this.info = res.data
this.info.shopInfo = this.info.shopInfo||{}
-
this.getQrcodeByStr()
+ uni.$emit('updateOrder',{info:this.info,delete:0})
}
},
- async getUserDetail(index){
+ async getUserDetail(){
var that =this
- let res = await that.$u.api.shopOrderDetail({orderId:this.id,tokenType:1 })
+ let res = await this.$u.api.orderDetail({orderId:this.id })
if (res.code === 200) {
this.info = res.data
+ this.getQrcodeByStr()
+ uni.$emit('updateOrder',{info:this.info,delete:0})
}
},
checkShopLogin(){
@@ -342,6 +518,11 @@
jumpBack(){
uni.navigateBack({ delta: 1 });
},
+ jumpGoodsDetail(item){
+ uni.navigateTo({
+ url: '/pages/details/details?id='+item.id
+ })
+ }
}
}
</script>
@@ -841,12 +1022,14 @@
align-items: flex-start;
.user-icon {
flex-shrink: 0;
- width: 48rpx;
- height: 48rpx;
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
margin-right: 22rpx;
image {
width: 100%;
}
+
}
.user-info {
flex: 1;
@@ -856,6 +1039,7 @@
width: 100%;
display: flex;
align-items: center;
+ justify-content: space-between;
text {
&:nth-child(1) {
font-weight: 500;
@@ -869,6 +1053,22 @@
margin-left: 14rpx;
}
}
+ .user-jxa-lx {
+ right:0;
+
+ display: flex;
+ align-items: center;
+ image {
+ width: 26rpx;
+ height: 26rpx;
+ margin-right: 10rpx;
+ }
+ text {
+ font-weight: 400;
+ font-size: 26rpx;
+ color: #222222;
+ }
+ }
}
.user-info-b {
width: 100%;
@@ -876,6 +1076,11 @@
font-size: 26rpx;
color: #666666;
margin-top: 18rpx;
+ image {
+ width: 30rpx;
+ height: 30rpx;
+ margin-right: 10rpx;
+ }
}
}
}
@@ -884,6 +1089,18 @@
height: 1rpx;
margin: 30rpx 0;
background-color: #E5E5E5;
+ }
+ .user-remark{
+ width: 100%;
+ padding: 20rpx 10rpx;
+ margin: 30rpx 30rpx;
+ background: #F8F9FB;
+ border-radius: 8rpx;
+ text {
+ font-weight: 400;
+ font-size: 26rpx;
+ color: #333333;
+ }
}
.user-kd {
width: 100%;
@@ -897,7 +1114,12 @@
text {
font-weight: 400;
font-size: 26rpx;
- color: #333333;
+ color: #333333;
+ }
+ .image2 {
+ width: 24rpx;
+ height: 24rpx;
+ margin-left: 12rpx;
}
}
}
--
Gitblit v1.9.3