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