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