From 9fb9e0b5b7c2664552f06a683fe1204525d8fd4e Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 11 二月 2026 15:59:56 +0800
Subject: [PATCH] 合并

---
 mini-program/pagesA/pages/order/order.vue |  213 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 178 insertions(+), 35 deletions(-)

diff --git a/mini-program/pagesA/pages/order/order.vue b/mini-program/pagesA/pages/order/order.vue
index 9db8856..2149f3b 100644
--- a/mini-program/pagesA/pages/order/order.vue
+++ b/mini-program/pagesA/pages/order/order.vue
@@ -1,60 +1,199 @@
 <template>
 	<view class="box">
 		<view class="cate">
-			<view @click="i = index" :class="i === index ? 'cate-item active' : 'cate-item'" v-for="(item, index) in list" :key="index">
-				{{item}}
-				<view class="cate-item-xiab" v-if="i === index"></view>
+			<view @click="changeRow(index)" :class="active === index ? 'cate-item active' : 'cate-item'" v-for="(item, index) in cate" :key="'cate_'+index">
+				{{item.name}}
+				<view class="cate-item-xiab" v-if="active === index"></view>
 			</view>
 		</view>
 		<view class="list">
-			<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>榧庡厓鍐滄満涓�鍙风粡閿�鍟�</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 grey">浜ゆ槗瀹屾垚</text>
+					<text  v-if="item.status ==4" class="a-right grey">宸插彇娑�</text>
+					<text  v-if="item.status ==6" class="a-right grey">宸查��娆�</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 bluebg">鑷彁鏍搁攢</view>
+						<view class="c-btns-item blue" @click="contactPhone(item)">鑱旂郴瀹㈡埛</view>
+						<view class="c-btns-item bg" v-if="item.status==1 && item.receiveType==1">鑷彁鏍搁攢</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>
+		<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>
 
 <script>
+	import { mapState } from 'vuex'
 	export default {
+		computed: {
+			...mapState(['navHeight', 'statusbarHeight','shopInfo', 'shopToken'])
+		},
 		data() {
 			return {
-				i: 0,
-				list: ['鍏ㄩ儴', '寰呮敮浠�', '寰呰嚜鎻�']
+				i: '',
+				active:0,
+				showPhone:false,
+				loading:false,
+				currentPage:1,
+				total:0,
+				hasNext:true,
+				dataList:[],
+				shop:{}, 
+				linkItem:{},
+				cate: [
+					{ name: '鍏ㄩ儴', id: '' },
+					{ name: '寰呮敮浠�', id: 0 },
+					{ name: '寰呭彂璐�/鑷彁', id: 1 }
+				]
 			};
+		},
+		onLoad(options) {
+			if (options.status) {
+				this.i = Number(options.status)
+			}
+		},
+		onShow() {
+			this.shop  ={}
+			this.checkShopLogin()
+			this.shop = this.shopInfo || {}
+			this.getFirstPageData()
+		},
+		onReachBottom(){
+			this.getDataList();
+		},
+		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  
+					})
+				}
+			},
+			changeRow(index) {
+				this.active=index
+				this.i = this.cate[index].id
+				this.getFirstPageData()
+			},
+			getFirstPageData(){
+				this.currentPage = 0
+				this.hasNext=true
+				this.total=0
+				this.dataList=[]
+				this.getDataList()
+			},
+			async getDataList(){
+					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: this.i
+							},
+							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
+			},
+			checkShopLogin(){
+				var that =this
+				if( this.shopInfo ==null || this.shopInfo.id==null ||  this.shopToken==null || this.shopToken==''){
+					uni.navigateTo({
+						url: '/pages/login/login'
+					})
+				} 
+			}
 		}
 	}
 </script>
@@ -69,6 +208,7 @@
 		.list {
 			width: 100%;
 			padding: 22rpx 30rpx;
+			padding-bottom: 60rpx;
 			box-sizing: border-box;
 			.list-item {
 				width: 100%;
@@ -110,10 +250,12 @@
 						font-size: 26rpx;
 						color: #E4001D;
 					}
+					.grey{
+						color: #999999 !important;
+					}
 				}
 				.b {
 					width: 100%;
-					height: 136rpx;
 					display: flex;
 					flex-direction: column;
 					margin-top: 22rpx;
@@ -145,6 +287,10 @@
 							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;
@@ -211,9 +357,17 @@
 							border: 1rpx solid #004096;
 							color: #004096 !important;
 						}
-						.bluebg {
-							background: #004096 !important;
+						.bg{
+							background: #004096;
+							border-radius: 34rpx;
+							border: 1rpx solid #004096;
+							font-family: PingFangSC, PingFang SC;
+							font-weight: 400;
+							font-size: 28rpx;
 							color: #FFFFFF !important;
+							line-height: 40rpx;
+							text-align: center;
+							font-style: normal;
 						}
 						.c-btns-item {
 							padding: 0 24rpx;
@@ -233,17 +387,6 @@
 							}
 						}
 					}
-				}
-				.d {
-					width: 100%;
-					padding: 20rpx;
-					box-sizing: border-box;
-					background: #F8F9FB;
-					border-radius: 8rpx;
-					font-weight: 400;
-					font-size: 26rpx;
-					color: #666666;
-					margin-top: 24rpx;
 				}
 			}
 		}

--
Gitblit v1.9.3