From efa9bfe98ba906e4c9b8f49c89f5da162a46bb0f Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期一, 13 一月 2025 10:21:24 +0800
Subject: [PATCH] 1.微信一键登录:新增“同意用户协议”之后才可登录

---
 sub_pages/partner/order-manage/order-manage.vue |  622 +++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 520 insertions(+), 102 deletions(-)

diff --git a/sub_pages/partner/order-manage/order-manage.vue b/sub_pages/partner/order-manage/order-manage.vue
index 6209cc1..a21409f 100644
--- a/sub_pages/partner/order-manage/order-manage.vue
+++ b/sub_pages/partner/order-manage/order-manage.vue
@@ -1,74 +1,361 @@
 <template>
-	<view class="list-container order-settlement supplier">
-		<view class="component-tab-container m-t-12">
-			<view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">带配送</view>
-			<view class="tab-item" :class="[tabIndex==1?'cur':'']" @click="changeIndex(1)">已配送</view>
-		</view>
-		
-		<view class="p15" style="min-height: calc(100vh - 160rpx);">
-			<no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
-			<view v-for="(item,index) in list" :key="index" class="m-b-24 order-settlement-list list-container">
-				<view class="order-settlement-item list-item">
-					<view class="title flex">
-						<view>
-							订单:27799880327543
-						</view>
-						<view class="status m-l-a m-r-0">已结算</view>
-					</view>
-					<view class="button-green-1">确认配送完成</view>
-				</view>
-			</view>
-		</view>
+  <view class="list-container order-settlement supplier">
+    <view class="component-tab-container m-t-12">
+      <view class="tab-item" :class="[tabIndex === 0 ? 'cur' : '']" @click="changeIndex(0)">全部</view>
+      <view class="tab-item" :class="[tabIndex === 1 ? 'cur' : '']" @click="changeIndex(1)">待配送</view>
+      <view class="tab-item" :class="[tabIndex === 2 ? 'cur' : '']" @click="changeIndex(2)">待收货</view>
 
-		<!-- 判断是否到底了,自动吧 -->
-		<footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+    </view>
 
-	</view>
+    <view class="p15" style="min-height: calc(100vh - 160rpx);">
+      <no-data v-if="!list || list.length == 0" style="width: 100%;"></no-data>
+
+      <view v-for="(dto, index) in list" :key="index" class="m-t-12">
+        <view class="order-item list-item">
+          <view class="title flex">
+            <view>
+              订单:{{ dto.orderNo }}
+            </view>
+            <!-- <view class="status t-red m-l-a m-r-0">¥{{ dto.paymentAmount || dto.totalAmount || '0' }}</view> -->
+            <view class="status t-red m-l-a m-r-0">{{ dto.paymentAmount || '' }}</view>
+          </view>
+          <view class="flex">
+            <view class="desc flex flex1">
+              <view class="label">
+                订单状态:
+              </view>
+              <view class="value">{{ dto.statusBackendStr }}</view>
+            </view>
+            <view class="desc flex flex1">
+              <view class="label">
+                支付时间:
+              </view>
+              <view class="value">{{ dto.paymentTime || '-' }}</view>
+            </view>
+          </view>
+
+          <view class="flex">
+            <view class="desc flex flex1">
+              <view class="label">
+                收货人:
+              </view>
+              <view class="value">{{ dto.customer || '-' }}</view>
+            </view>
+            <view class="desc flex flex1">
+              <view class="label">
+                收货人手机号码:
+              </view>
+              <view class="value">{{ dto.customerTel || '-' }}</view>
+            </view>
+          </view>
+          <view class="flex">
+            <view class="desc flex flex1">
+              <view class="label">
+                收货地址:
+              </view>
+              <view class="value">{{ dto.customerAddress }}</view>
+            </view>
+          </view>
+
+        
+          <view class="flower-info m-b-5 m-t-8 br-4" v-for="(item, j) of dto.items" :key="j">
+            <!-- <view class="line-gray"></view> -->
+            <!-- <view class="supplier-name w-fit m-l-0 m-r-a" @click.stop="openbrand(item)"> -->
+            <view class="supplier-name w-fit m-l-0 m-r-a" >
+              <image class="icon-dp br-4" src="/static/common/icon-dp.png"></image>
+              {{ item.supplierName || '' }} >
+            </view>
+            <view class="flex m-t-12 flex-wrap-normal">
+              <!-- @click="previewImg(item.flowerCover)" -->
+              <image class="flower-img img100 m-r-6" :src="item.flowerCover" >
+              </image>
+              <!-- <view class="flex1" @click.stop="toFlowerDetail(item)"> -->
+              <view class="flex1">
+
+                <view class=" flex">
+                  <view class="title flex flex1">
+                    <!-- <span class="level">{{ item.flowerCategory }}</span> -->
+                    <span class="m-r-10" >{{ item.flowerName }}</span>
+                    <span class="level" >{{ item.flowerLevelStr }}</span>
+                    <view class="m-l-a m-r-10 flex">
+                      <view class="m-r-10 button-icon" @click="toOrderItemDetail(item, 'lack', '缺货')" v-if="item.lackNum">
+                        缺货<uni-icons type="right" size="14" color="#ffffff"></uni-icons>
+                      </view>
+                      <view class="m-r-10 button-icon" @click="toOrderItemDetail(item, 'reduce', '降级')"
+                        v-if="item.reduceNum">
+                        降级<uni-icons type="right" size="14" color="#ffffff"></uni-icons>
+                      </view>
+                    </view>
+                  </view>
+                </view>
+                <view class="each-list" >
+                  <view class="each-item">
+                    <view class="label">颜色</view>
+                    <view class="value">{{ item.flowerColor || '-' }}</view>
+
+                  </view>
+                  <view class="each-item">
+                    <view class="label">规格</view>
+                    <view class="value">{{ item.flowerUnit || '-' }}</view>
+                  </view>
+
+                  <view class="each-item">
+                    <view class="label">数量</view>
+                    <view class="value">{{ item.num || 0 }}</view>
+
+                  </view>
+                  <view class="each-item">
+                    <view class="label">售价</view>
+                    <view class="value">¥{{ item.price || 0 }}</view>
+
+                  </view>
+                  <view class="each-item">
+                    <view class="label">商品总金额</view>
+                    <view class="value">¥{{ item.total || 0 }}</view>
+
+                  </view>
+                </view>
+              </view>
+            </view>
+
+          </view>
+          <view class="line-gray"></view>
+
+          <view class="flex buttons">
+            <view class="button button-1 m-l-a m-r-0" @click="toDetail(dto)">订单详情</view>
+          </view>
+        </view>
+      </view>
+<!--
+      <view v-for="(item, index) in list" :key="index" class="m-b-24 order-settlement-list list-container">
+        <view class="order-settlement-item list-item">
+          <view class="title flex">
+            <view>
+              订单:{{ item.orderNo }}
+            </view>
+            <view class="status t-red m-l-a m-r-0">{{ item.paymentAmount || '' }}</view>
+          </view>
+          <view class="flex">
+            <view class="desc flex flex1">
+              <view class="label">
+                订单状态:
+              </view>
+              <view class="value">{{ item.statusBackendStr }}</view>
+            </view>
+            <view class="desc flex flex1">
+              <view class="label">
+                支付时间:
+              </view>
+              <view class="value">{{ item.paymentTime || '-' }}</view>
+            </view>
+          </view>
+          <view class="flex">
+            <view class="desc flex flex1">
+              <view class="label">
+                收货人:
+              </view>
+              <view class="value">{{ item.customer || '-' }}</view>
+            </view>
+            <view class="desc flex flex1">
+              <view class="label">
+                收货人手机号码:
+              </view>
+              <view class="value">{{ item.customerTel || '-' }}</view>
+            </view>
+          </view>
+          <view class="desc flex">
+            <view class="label">
+              收货地址:
+            </view>
+            <view class="value">{{ item.customerAddress || '-' }}</view>
+          </view>
+          <view class="flex" style="justify-content: flex-end;">
+            <view class="m-r-0 gwc" @click.stop="toDetail(item)">
+              订单详情
+            </view>
+          </view>
+
+
+          <view class="button-green-1" v-if="false">确认配送完成</view>
+        </view>
+      </view>
+      -->
+
+    </view>
+
+    <!-- 判断是否到底了,自动吧 -->
+    <footer-msg :more="page.total > 0 && page.total > page.current * page.size"></footer-msg>
+
+  </view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				tabIndex: 0,
-			}
-		},
-		onLoad() {
-			this.listApi = '/api/ua/announcement/list'
-			this.getList()
+export default {
+  data() {
+    return {
+      tabIndex: 0,
+      status: ['', 'SEND', 'RECEIVE'],
+      query: {
+        status: '',
+      }
+    }
+  },
+  onLoad() {
+    this.listApi = `/api/partner/order/list`
+    this.getList()
 
-		},
-		onReachBottom() {
-			this.page.current += 1
-			this.getMore()
-		},
-		async onPullDownRefresh() {
-			this.page.current = 1
-			await this.getList()
-			uni.stopPullDownRefresh()
-		},
-		methods: {
-			changeIndex(index) {
-				if (this.tabIndex !== index) {
-					this.tabIndex = index
-					// 刷新 query
-					this.refreshList()
-				}
+  },
+  onReachBottom() {
+    this.getMore()
+  },
+  async onPullDownRefresh() {
+    this.page.current = 1
+    await this.getList()
+    uni.stopPullDownRefresh()
+  },
+  methods: {
+
+    toOrderItemDetail(item, op, opstr) {
+				uni.navigateTo({
+					url: `/sub_pages/partner/order-manage/order-manage-settlement-op-detail?opStr=${opstr}&op=${op}&orderItemId=${item.id || item.orderItemId}`
+				})
 			},
-			toDetail(item) {
-				// uni.navigateTo({
-				// 	url: `/pages/notice/notice?id=${item.id}`
-				// })
-			}
-		}
-	}
+    toDetail(item) {
+      //  订单详情页面
+      uni.navigateTo({
+        url: '/pages/order/order-detail?id=' + item.id
+      })
+    },
+    changeIndex(index) {
+      if (this.tabIndex !== index) {
+        this.tabIndex = index
+        this.query.status = this.status[index]
+        // 刷新 query
+        this.refreshList()
+      }
+    },
+  }
+}
 </script>
 
 <style lang="scss" scope>
-	.order-settlement-list {
-		.order-settlement-item {
+.order-settlement-list {
+  .order-settlement-item {
+    margin-bottom: 20rpx;
+    padding: 28rpx;
+
+    .title {
+      font-weight: 600;
+      font-size: 28rpx;
+      color: #000000;
+      line-height: 40rpx;
+
+      .status {
+        font-weight: 400;
+        font-size: 28rpx;
+        color: #20613D;
+        line-height: 40rpx;
+      }
+
+      .status.red {
+        color: #CF0000;
+      }
+
+      .status.green {
+        color: var(--topiccolor);
+      }
+    }
+
+    .desc {
+      font-weight: 400;
+      font-size: 24rpx;
+      color: #666666;
+      line-height: 34rpx;
+    }
+
+    .line {
+      height: 2rpx solid #EEEEEE;
+      margin-top: 16rpx;
+      margin-bottom: 16rpx;
+    }
+
+    .tj {
+      .label {
+        font-weight: 600;
+        font-size: 28rpx;
+        color: #000000;
+        line-height: 40rpx;
+      }
+
+      .value {
+        font-weight: 400;
+        font-size: 28rpx;
+        color: #CF0000;
+        line-height: 40rpx;
+      }
+    }
+
+    .form {
+      display: flex;
+
+      .form-item {
+        flex: 1;
+        min-width: 26%;
+        max-width: 33%;
+
+        .label {
+          font-weight: 400;
+          font-size: 24rpx;
+          color: #666666;
+          line-height: 34rpx;
+        }
+
+        .label::after {
+          content: ":";
+          font-weight: 400;
+          font-size: 24rpx;
+          color: #666666;
+          line-height: 34rpx;
+        }
+
+        .value {
+          font-weight: 400;
+          font-size: 24rpx;
+          color: #000000;
+          line-height: 34rpx;
+        }
+
+        .value.red {
+          color: #CF0000;
+        }
+      }
+
+
+    }
+  }
+}
+
+.gwc {
+  width: 168rpx;
+  height: 48rpx;
+  border-radius: 30rpx;
+  border: 2rpx solid #20613D;
+  font-size: 24rpx;
+  color: #20613D;
+  line-height: 48rpx;
+  text-align: center;
+}
+</style>
+
+<style lang="scss" scoped>
+	.list-container {
+		padding: 24rpx 30rpx;
+
+		.order-item {
 			margin-bottom: 20rpx;
 			padding: 28rpx;
+			background-color: #fff;
+			border-radius: 8rpx;
 
 			.title {
 				font-weight: 600;
@@ -82,15 +369,15 @@
 					color: #20613D;
 					line-height: 40rpx;
 				}
-
-				.status.red {
-					color: #CF0000;
-				}
-
-				.status.green {
-					color: var(--topiccolor);
-				}
 			}
+
+			.desc {
+				font-weight: 400;
+				font-size: 24rpx;
+				color: #666666;
+				line-height: 34rpx;
+			}
+
 
 			.line {
 				height: 2rpx solid #EEEEEE;
@@ -98,58 +385,189 @@
 				margin-bottom: 16rpx;
 			}
 
-			.tj {
-				.label {
+			.buttons {
+				display: flex;
+				margin-left: auto;
+				width: fit-content;
+
+				.button {
+					// width: 216rpx;
+					padding: 10rpx 20rpx;
+					line-height: 34rpx;
+					font-size: 24rpx;
+					height: 34rpx;
+					background: #20613D;
+					text-align: center;
+					border-radius: 30rpx;
+					min-width: 80rpx;
+
+				}
+
+				.button-1 {
+					background: #fff;
+					color: #333;
+					border: 2rpx solid #333;
+
+				}
+
+				.button-0 {
+					color: #fff;
+					border: 2rpx solid #20613D;
+				}
+			}
+
+			.flower-info {
+				padding: 0rpx;
+
+				background: #FFFFFF;
+				border-radius: 8rpx;
+
+				.supplier-name {
+					border-bottom: 2rpx solid #EEEEEE;
+					font-weight: 600;
+					font-size: 28rpx;
+					color: #000000;
+					padding-bottom: 10rpx;
+					line-height: 40rpx;
+
+					.icon-dp {
+						width: 27rpx;
+						height: 27rpx;
+						display: inline-block;
+						vertical-align: middle;
+					}
+				}
+
+				.title {
 					font-weight: 600;
 					font-size: 28rpx;
 					color: #000000;
 					line-height: 40rpx;
+					flex: 1;
+
+					.level {
+						font-weight: 400;
+						font-size: 28rpx;
+						color: #20613D;
+						line-height: 40rpx;
+						margin-right: 20rpx;
+					}
+
+					.button-icon {
+						color: #fff;
+						padding-left: 10rpx;
+						padding-right: 10rpx;
+						background-color: darkred;
+					}
 				}
 
-				.value {
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #CF0000;
-					line-height: 40rpx;
+				.flower-img {
+					width: 128rpx;
+					height: 118rpx;
+					min-width: 128rpx;
+					min-height: 118rpx;
+
+
 				}
+
+				.each-list {
+					display: flex;
+					flex-wrap: wrap;
+					margin-top: 6rpx;
+
+					.each-item {
+						min-width: 40%;
+						max-width: 50%;
+						text-align: center;
+						margin-left: 0rpx;
+						margin-right: auto;
+						display: flex;
+
+						.label {
+							font-weight: 400;
+							font-size: 24rpx;
+							color: #666666;
+							text-align: left;
+							padding-right: 10rpx;
+						}
+
+						.label::after {
+							content: ": "
+						}
+
+						.value {
+							font-weight: 400;
+							font-size: 24rpx;
+							color: #666666;
+						}
+					}
+				}
+
 			}
 
-			.form {
-				display: flex;
 
-				.form-item {
-					flex: 1;
-					min-width: 26%;
-					max-width: 33%;
+		}
 
-					.label {
-						font-weight: 400;
-						font-size: 24rpx;
-						color: #666666;
-						line-height: 34rpx;
-					}
+		.status-list {
+			overflow-x: scroll;
 
-					.label::after {
-						content: ":";
-						font-weight: 400;
-						font-size: 24rpx;
-						color: #666666;
-						line-height: 34rpx;
-					}
+			.status-each {
+				font-weight: 400;
+				font-size: 28rpx;
+				color: #666666;
+				line-height: 40rpx;
+				margin: 0 auto;
+				//min-width: ;
+				// padding-left: 10rpx;
+				// padding-right: 10rpx;
+				width: fit-content;
+				min-width: 120rpx;
+				text-align: center;
+			}
 
-					.value {
-						font-weight: 400;
-						font-size: 24rpx;
-						color: #000000;
-						line-height: 34rpx;
-					}
+			.status-each.cur {
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #20613D;
+				// line-height: 44rpx;
+			}
 
-					.value.red {
-						color: #CF0000;
-					}
-				}
+			.status-each:first-child {
+				margin-left: 0
+			}
 
+			.status-each:last-child {
+				margin-right: 0;
+			}
+		}
 
+		.order-top {
+			position: relative;
+			min-height: 182rpx;
+			background: #E1F0E7;
+			border-radius: 8rpx;
+			padding: 45rpx 35rpx;
+
+			.title {
+				font-weight: 600;
+				font-size: 30rpx;
+				color: #000000;
+				line-height: 42rpx;
+			}
+
+			.desc {
+				font-weight: 400;
+				font-size: 24rpx;
+				color: #666666;
+				line-height: 34rpx;
+			}
+
+			.image {
+				position: absolute;
+				right: 0rpx;
+				width: 288rpx;
+				height: 148rpx;
+				bottom: 0rpx;
 			}
 		}
 	}

--
Gitblit v1.9.3