From f837b731f571bb53cee99f9bc22a6f74855f3e6c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期一, 12 八月 2024 02:43:20 +0800
Subject: [PATCH] add 商品结算测试
---
sub_pages/supplier/order-settlement/order-settlement.vue | 18 -
sub_pages/supplier/order-manage/order-manage.vue | 101 +++++++++++
manifest.json | 2
pages/home/supplier-home.vue | 21 ++
pages.json | 21 ++
sub_pages/supplier/flower-manage/flower-manage.vue | 36 +++
sub_pages/supplier/order-manage/order-manage-settlement.vue | 175 +++++++++++++++++++
sub_pages/supplier/order-manage/order-manage-flower.vue | 139 +++++++++++++++
8 files changed, 497 insertions(+), 16 deletions(-)
diff --git a/manifest.json b/manifest.json
index 2848179..782394c 100644
--- a/manifest.json
+++ b/manifest.json
@@ -49,7 +49,7 @@
"quickapp" : {},
/* 快应用特有相关 */
"mp-weixin" : {
- "appid" : "wx1441324401626290",
+ "appid" : "wx6d0ecc4e18710458",
"setting" : {
"urlCheck" : false,
"es6" : true,
diff --git a/pages.json b/pages.json
index c5995e0..4165edf 100644
--- a/pages.json
+++ b/pages.json
@@ -215,6 +215,27 @@
"style": {
"navigationBarTitleText": "结算单详情"
}
+ },
+ {
+ "path": "order-manage/order-manage",
+ "style": {
+ "navigationBarTitleText": "订单管理",
+ "enablePullDownRefresh": true
+ }
+ },
+ {
+ "path" : "order-manage/order-manage-settlement",
+ "style" :
+ {
+ "navigationBarTitleText" : "配送结算明细"
+ }
+ },
+ {
+ "path" : "order-manage/order-manage-flower",
+ "style" :
+ {
+ "navigationBarTitleText" : "配送商品明细"
+ }
}
// #endif
// #ifdef PUB_PARTNER
diff --git a/pages/home/supplier-home.vue b/pages/home/supplier-home.vue
index cc67058..3faafc4 100644
--- a/pages/home/supplier-home.vue
+++ b/pages/home/supplier-home.vue
@@ -135,6 +135,14 @@
</view>
<view class="order-desc tg">订单管理</view>
</view>
+ <!-- <view class="nav row margin-tb" v-if="selftype==='supplier'"
+ @click="goto('/sub_pages/supplier/order-manage/order-manage',true)">
+ <view class="img-c">
+ <image class="icon margin-bottom order-icon ddgl"
+ src="/static/images/partner/user/user-icon-ddgl.png" mode="scaleToFill" />
+ </view>
+ <view class="order-desc tg">订单统计</view>
+ </view> -->
<view class="nav row margin-tb"
@click="goto('/sub_pages/supplier/order-settlement/order-settlement',true)">
@@ -241,7 +249,18 @@
},
created() {
//公告
- this.$http.request('get', '/api/pub/announcement/list', {
+ var type = ''
+ // #ifdef PUB_CUSTOMER
+ type = 'customer'
+ // #endif
+ // #ifdef PUB_SUPPLIER
+ type = 'supplier'
+ // #endif
+ // #ifdef PUB_PARTNER
+ type = 'partner'
+ // #endif
+
+ this.$http.request('get', '/api/pub/announcement/list/'+type, {
params: {
size: 5,
status: 'A'
diff --git a/sub_pages/supplier/flower-manage/flower-manage.vue b/sub_pages/supplier/flower-manage/flower-manage.vue
index 8eea3fe..6d2ce88 100644
--- a/sub_pages/supplier/flower-manage/flower-manage.vue
+++ b/sub_pages/supplier/flower-manage/flower-manage.vue
@@ -13,9 +13,17 @@
<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 flow-manage-list">
<view class="flow-manage-list-item">
- <view class="flex">
- <image class="flower-img img100 m-r-6" :src="item.cover" @click="previewImg(item.cover)">
- </image>
+ <view class="flex m-r-6">
+ <view class="img flower-img m-r-6">
+ <image class="flower-img img100 " :src="item.cover"
+ :class="[!item.stock?'component-stock-zero':'']" @click="previewImg(item.cover)">
+
+ </image>
+ <view class="status" :class="[!item.stock?'zero':'']" v-if="item.statusStr">
+ {{ item.statusStr}}
+ </view>
+ </view>
+
<view class="flex1">
<view class=" flex">
<view class="title">{{item.name}}<span class="level">{{item.levelStr}}</span></view>
@@ -347,6 +355,28 @@
height: 118rpx;
min-width: 128rpx;
min-height: 118rpx;
+ position: relative;
+
+ .status {
+ position: absolute;
+ min-width: 66rpx;
+ height: 34rpx;
+ background: #20613D;
+ left: 0;
+ top: 0;
+ border-top-left-radius: 8rpx;
+ border-bottom-right-radius: 8rpx;
+ color: #FFFFFF;
+ line-height: 34rpx;
+ font-size: 22rpx;
+ text-align: center;
+ }
+
+ .status.zero {
+ // background: unset;
+ // font-size: 24rpx;
+
+ }
}
.each-list {
diff --git a/sub_pages/supplier/order-manage/order-manage-flower.vue b/sub_pages/supplier/order-manage/order-manage-flower.vue
new file mode 100644
index 0000000..8f706f8
--- /dev/null
+++ b/sub_pages/supplier/order-manage/order-manage-flower.vue
@@ -0,0 +1,139 @@
+<template>
+ <view class="list-container order-sale supplier">
+ <view class="p15" style="min-height: calc(100vh - 20rpx);">
+ <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
+ <view v-for="(item,index) in list" :key="index" @click="toDetail(item)"
+ class="m-b-24 order-sale-list list-container">
+ <view class="order-sale-item br-4 list-item bg-white">
+ <view class="form">
+ <view class="flex">
+ <view class="form-item flex1">
+ <view class="label">商品名称</view>
+ <view class="value">{{item.flowerName||'-'}}</view>
+ </view>
+ <view class="form-item flex1">
+ <view class="label">数量</view>
+ <view class="value">{{item.num||0}}</view>
+ </view>
+ </view>
+ <view class="flex">
+ <view class="form-item">
+ <view class="label">等级</view>
+ <view class="value">{{item.flowerLevelStr}}</view>
+ </view>
+ <view class="form-item">
+ <view class="label">价格</view>
+ <view class="value">¥{{item.price||'0.00'}}</view>
+ </view>
+ </view>
+ </view>
+
+ </view>
+ </view>
+ </view>
+
+ <!-- 判断是否到底了,自动吧 -->
+ <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+
+ </view>
+</template>
+
+<script>
+ import moment from 'moment'
+ export default {
+ data() {
+ return {
+ tabIndex: 0,
+ query: {
+ day: ''
+ }
+ }
+ },
+ onLoad(options) {
+ this.query.day = options.day || ''
+
+
+ this.listApi = '/api/supplier/delivery/mine/list/flower'
+
+ this.getList()
+
+ },
+ onReachBottom() {
+ this.getMore()
+ },
+ async onPullDownRefresh() {
+ this.page.current = 1
+ await this.getList()
+ uni.stopPullDownRefresh()
+ },
+ methods: {
+
+ }
+ }
+</script>
+
+<style lang="scss" scope>
+ .order-sale-list {
+ .order-sale-item {
+ margin-bottom: 20rpx;
+ padding: 22rpx;
+
+ .title {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+ }
+
+ .line {
+ min-height: 2rpx;
+ background-color: #EEEEEE;
+ margin-top: 16rpx;
+ margin-bottom: 16rpx;
+ }
+
+ .form {
+ // display: flex;
+ // flex-wrap: wrap;
+
+ .form-item {
+ flex: 1;
+ // min-width: 40%;
+ // max-width: 50%;
+
+ .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;
+ text-align: center;
+ flex: 1;
+ }
+
+ .value.red {
+ color: #CF0000;
+ }
+ }
+
+ .form-item.width100 {
+ max-width: unset;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/supplier/order-manage/order-manage-settlement.vue b/sub_pages/supplier/order-manage/order-manage-settlement.vue
new file mode 100644
index 0000000..53ece42
--- /dev/null
+++ b/sub_pages/supplier/order-manage/order-manage-settlement.vue
@@ -0,0 +1,175 @@
+<template>
+ <view class="list-container order-sale supplier">
+ <view class="p15" style="min-height: calc(100vh - 20rpx);">
+ <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
+ <view v-for="(item,index) in list" :key="index" @click="toDetail(item)"
+ class="m-b-24 order-sale-list list-container">
+ <view class="order-sale-item br-4 list-item bg-white">
+ <view class="form">
+ <view class="flex">
+ <view class="form-item flex1">
+ <view class="label">结算单价/均价</view>
+ <view class="value">¥{{item.price||'0.00'}}</view>
+ </view>
+ <view class="form-item flex1">
+ <view class="label">商品数量</view>
+ <view class="value">{{item.flowerNum||0}}</view>
+ </view>
+ </view>
+ <view class="flex">
+ <view class="form-item">
+ <view class="label">订单数量</view>
+ <view class="value">{{item.orderNum}}</view>
+ </view>
+ <view class="form-item">
+ <view class="label">买家数量</view>
+ <view class="value">{{item.customerNum}}</view>
+ </view>
+ </view>
+ <view class="flex">
+ <view class="form-item">
+ <view class="label">服务费</view>
+ <view class="value">{{item.serviceFee}}</view>
+ </view>
+ <view class="form-item">
+ <view class="label">售后理赔</view>
+ <view class="value">{{item.salesFee}}</view>
+ </view>
+ </view>
+ <view class="flex">
+ <view class="form-item">
+ <view class="label">质检扣款</view>
+ <view class="value">{{item.checkFee}}</view>
+ </view>
+ <view class="form-item">
+ <view class="label">集货站运费</view>
+ <view class="value">{{item.stationFee}}</view>
+ </view>
+ </view>
+ </view>
+ <!-- <view class="line"></view> -->
+ <view class="form">
+ <view class="flex">
+ <view class="form-item">
+ <view class="label title-bold">交易合计</view>
+ <view class="value t-red">¥{{item.totalAmount||0}}</view>
+ </view>
+ <view class="form-item">
+ <view class="label title-bold">结算金额</view>
+ <view class="value t-red">¥{{item.settlementAmount||0}}</view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <!-- 判断是否到底了,自动吧 -->
+ <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+
+ </view>
+</template>
+
+<script>
+ import moment from 'moment'
+ export default {
+ data() {
+ return {
+ tabIndex: 0,
+ query: {
+ day: ''
+ }
+ }
+ },
+ onLoad(options) {
+ this.query.day = options.day || ''
+
+
+ this.listApi = '/api/supplier/delivery/mine/list/settlement'
+
+ this.getList()
+
+ },
+ onReachBottom() {
+ this.getMore()
+ },
+ async onPullDownRefresh() {
+ this.page.current = 1
+ await this.getList()
+ uni.stopPullDownRefresh()
+ },
+ methods: {
+ toDetail(item) {
+ uni.navigateTo({
+ url: `/sub_pages/supplier/order-settlement/order-settlement-detail?id=${item.id}`
+ })
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scope>
+ .order-sale-list {
+ .order-sale-item {
+ margin-bottom: 20rpx;
+ padding: 22rpx;
+
+ .title {
+ font-weight: 600;
+ font-size: 28rpx;
+ color: #000000;
+ line-height: 40rpx;
+ }
+
+ .line {
+ min-height: 2rpx;
+ background-color: #EEEEEE;
+ margin-top: 16rpx;
+ margin-bottom: 16rpx;
+ }
+
+ .form {
+ // display: flex;
+ // flex-wrap: wrap;
+
+ .form-item {
+ flex: 1;
+ // min-width: 40%;
+ // max-width: 50%;
+
+ .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;
+ text-align: center;
+ flex: 1;
+ }
+
+ .value.red {
+ color: #CF0000;
+ }
+ }
+
+ .form-item.width100 {
+ max-width: unset;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/supplier/order-manage/order-manage.vue b/sub_pages/supplier/order-manage/order-manage.vue
new file mode 100644
index 0000000..019226d
--- /dev/null
+++ b/sub_pages/supplier/order-manage/order-manage.vue
@@ -0,0 +1,101 @@
+<template>
+ <!-- 列表页面 -->
+ <view>
+ <view class="p15" style="min-height: calc(100vh - 260rpx);">
+ <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">
+ <view class="notice-item flex">
+ <view>{{item.date}}</view>
+ <view class="num m-auto">{{item.num || 0}}</view>
+ <view class="price t-red m-auto">¥{{item.price || 0}}</view>
+ <view class="buttons m-l-a m-r-0">
+ <view @click.stop="toDetailFlower(item)" class="button button-1 m-r-10">
+ 商品详情
+ </view>
+ <view @click.stop="toDetailSettlement(item)" class="m-l-10 button button-0">
+ 结算详情
+ </view>
+ </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 {
+ query: {}
+ }
+ },
+ onLoad() {
+ this.listApi = '/api/supplier/delivery/mine/list'
+ this.getList()
+
+ },
+ onReachBottom() {
+ this.getMore()
+ },
+ async onPullDownRefresh() {
+ this.page.current = 1
+ await this.getList()
+ uni.stopPullDownRefresh()
+ },
+ methods: {
+ toDetailFlower(item) {
+ uni.navigateTo({
+ url: `/sub_pages/supplier/order-manage/order-manage-flower?date=${item.date}`
+ })
+ },
+ toDetailSettlement(item) {
+ uni.navigateTo({
+ url: `/sub_pages/supplier/order-manage/order-manage-settlement?date=${item.date}`
+ })
+ },
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .notice-item {
+ padding: 20rpx;
+ font-size: 28rpx;
+ font-weight: 600;
+ background-color: #fff;
+
+ .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;
+
+ }
+
+ .button-1 {
+ background: #fff;
+ color: #333;
+ border: 2rpx solid #333;
+
+ }
+
+ .button-0 {
+ color: #fff;
+ border: 2rpx solid #20613D;
+ }
+ }
+ }
+</style>
\ No newline at end of file
diff --git a/sub_pages/supplier/order-settlement/order-settlement.vue b/sub_pages/supplier/order-settlement/order-settlement.vue
index 47e859f..f76c55c 100644
--- a/sub_pages/supplier/order-settlement/order-settlement.vue
+++ b/sub_pages/supplier/order-settlement/order-settlement.vue
@@ -59,8 +59,7 @@
</view>
</view>
</view>
-
- <view class="line"></view>
+ <!-- <view class="line"></view> -->
<view class="form">
<view class="flex">
<view class="form-item">
@@ -98,8 +97,8 @@
onLoad() {
var currentMonthStr = this.$util.toDate(new Date()).substring(0, 8) + '01'
this.query.startDateStr = currentMonthStr
- var lastMonthDate = new Date(new Date(this.$util.toDate(new Date(currentMonthStr).getTime() + 3600_000 * 24 *
- 40).substring(0, 8) + '01').getTime() - 3600_000 * 24 * 1)
+ var lastMonthDate = new Date(new Date(this.$util.toDate(new Date(currentMonthStr).getTime() + 3600000 * 24 *
+ 40).substring(0, 8) + '01').getTime() - 3600000 * 24 * 1)
this.query.endDateStr = this.$util.toDate(lastMonthDate)
// #ifdef PUB_PARTNER
this.listApi = '/api/partner/settlement/list'
@@ -143,11 +142,6 @@
}
},
- toDetail(item) {
- // uni.navigateTo({
- // url: `/pages/notice/notice?id=${item.id}`
- // })
- }
}
}
</script>
@@ -173,8 +167,8 @@
}
.form {
- display: flex;
- flex-wrap: wrap;
+ // display: flex;
+ // flex-wrap: wrap;
.form-item {
flex: 1;
@@ -201,6 +195,8 @@
font-size: 24rpx;
color: #000000;
line-height: 34rpx;
+ text-align: center;
+ flex: 1;
}
.value.red {
--
Gitblit v1.9.3