Browse Source

零售订单管理修改

tags/v1.1.30
张家华 3 years ago
parent
commit
2fbfecf88c
  1. 6
      src/components/order_list/retail/retail.vue
  2. 2
      src/pages/order_list/order_list.vue
  3. 220
      src/subpackage/order/pages/retail/detail/detail.vue

6
src/components/order_list/retail/retail.vue

@ -9,8 +9,8 @@
<a-line :value="getGoodsName || '-'"> <a-line :value="getGoodsName || '-'">
<block slot="name">商品名称</block> <block slot="name">商品名称</block>
</a-line> </a-line>
<a-line :value="orderInfo.sys_optuname || '-'">
<block slot="name">操作</block>
<a-line :value="orderInfo.operator || '-'">
<block slot="name">操作途径</block>
</a-line> </a-line>
<a-line :value="orderInfo.pay_time || '-'"> <a-line :value="orderInfo.pay_time || '-'">
<block slot="name">购买时间</block> <block slot="name">购买时间</block>
@ -29,7 +29,7 @@ export default {
getGoodsName(){ getGoodsName(){
let { orderInfo } = this; let { orderInfo } = this;
let _ls = orderInfo&&orderInfo.retail_order_goods || []; let _ls = orderInfo&&orderInfo.retail_order_goods || [];
let _str = _ls.map(e=>e.name).join(';');
let _str = _ls.map(e=>`${e.name}${e.spec}】x${e.nums}`).join(';');
if(_ls.length)_str += ';' if(_ls.length)_str += ';'
return _str return _str
} }

2
src/pages/order_list/order_list.vue

@ -587,7 +587,7 @@
case 8: // status 1,2,4 1 2 退4 5 case 8: // status 1,2,4 1 2 退4 5
return [ {id: '1,2,4', name: '全部'}, {id: 1, name: '租用中'}, {id: 2, name: '已完成'}, {id: 4, name: '已退款'},{id: 5, name: '已购买'}]; return [ {id: '1,2,4', name: '全部'}, {id: 1, name: '租用中'}, {id: 2, name: '已完成'}, {id: 4, name: '已退款'},{id: 5, name: '已购买'}];
case 19: // status status = 1 case 19: // status status = 1
return [ {id: 1, name: '交易成功'} ];
return [ {id: 1, name: '交易成功'}, {id: 4, name: '已退款'} ];
case 20: // status 0,1,2,3 0 使 1 2 退 3 case 20: // status 0,1,2,3 0 使 1 2 退 3
return [ {id: '', name: '全部'}, {id: 0, name: '待激活'}, {id: 1, name: '使用中'}, {id: 2, name: '已失效'},{id: 3, name: '已退卡'}]; return [ {id: '', name: '全部'}, {id: 0, name: '待激活'}, {id: 1, name: '使用中'}, {id: 2, name: '已失效'},{id: 3, name: '已退卡'}];
default: default:

220
src/subpackage/order/pages/retail/detail/detail.vue

@ -1,28 +1,72 @@
<template> <template>
<view class="retail-container"> <view class="retail-container">
<view class="rc-header"> <view class="rc-header">
<a-header :source="orderInfo.source || '-'" :status="getStatus(orderInfo.pay_status)"></a-header>
<view class="ra-header">
<image mode="aspectFit" src="/static/images/icon/retail/storeIcon.png"></image>
<text>{{ orderInfo.source || '-' }}</text>
<view></view>
</view>
<view class="rh-name"> <view class="rh-name">
<a-line :value="orderInfo.sys_optuname || '-'">
<block slot="name">操作人</block>
</a-line>
<view class="rh-name-line">
<view>
<view>微信昵称</view>
<text>{{ orderInfo.sys_optuname || '-' }}</text>
</view>
<view :style="{color:getStatus(orderInfo.pay_status)==='已退款'?'#EA5061':'#9C9C9F'}">{{ getStatus(orderInfo.pay_status) }}</view>
</view>
<view class="rh-name-line">
<view>
<view>手机号码</view>
<text>{{ orderInfo.mobile || '-' }}</text>
</view>
</view>
<view class="rh-name-line">
<view>
<view>身份</view>
<text>{{ orderInfo.sys_optuname || '-' }}</text>
</view>
</view>
<view class="rh-name-line">
<view>
<view>下单途径</view>
<text>{{ orderInfo.operator || '-' }}</text>
</view>
</view>
</view> </view>
</view> </view>
<view class="rc-goods-info" v-if="orderInfo.retail_order_goods&&orderInfo.retail_order_goods.length"> <view class="rc-goods-info" v-if="orderInfo.retail_order_goods&&orderInfo.retail_order_goods.length">
<view class="rgi-tit">商品详情</view> <view class="rgi-tit">商品详情</view>
<view class="rgi-goods-ls"> <view class="rgi-goods-ls">
<view class="rgl-item" v-for="(e, i) in orderInfo.retail_order_goods" :key="i"> <view class="rgl-item" v-for="(e, i) in orderInfo.retail_order_goods" :key="i">
<!-- 商品名称 咖啡 数量1 价格3 -->
<a-line :value="e.name || '-'">
<block slot="name">商品名称</block>
</a-line>
<a-line :value="e.nums || '0'">
<block slot="name">数量</block>
</a-line>
<a-line :value="'¥' + (e.price || '0')">
<block slot="name">价格</block>
</a-line>
<view class="rgl-item-desc">
<view>{{ e.name || '-' }}</view>
<view>{{ e.price || 0 }}</view>
</view> </view>
<view class="rgl-item-sku">sku{{ e.sku || '-' }}</view>
<view class="rgl-item-type-spec">
<view>型号{{ e.unit || '-' }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;规格{{ e.spec || '-' }}</view>
<text>x{{ e.nums || 0 }}</text>
</view>
<view v-if="orderInfo.retail_order_goods.length - 1 == i ? false : true" class="rgl-item-bottom-line"></view>
</view>
</view>
</view>
<view class="rc-total-amount-info">
<view class="rc-total-amount-line">
<view>金额小计</view>
<text>{{ orderInfo.amount || 0 }}</text>
</view>
<view class="rc-total-amount-line">
<view>积分抵扣</view>
<text>{{ orderInfo.deduction_integral || 0 }}</text>
</view>
<view class="rc-total-amount-line">
<view>折扣金额</view>
<text>-{{ orderInfo.discount_amount || 0 }}</text>
</view>
<view class="rc-total-amount-line">
<view>优惠券优惠</view>
<text>-{{ orderInfo.coupons_amount || 0 }}</text>
</view> </view>
<view class="rgi-total"><text>合计支付</text>{{ orderInfo.pay_amount || 0 }}</view> <view class="rgi-total"><text>合计支付</text>{{ orderInfo.pay_amount || 0 }}</view>
</view> </view>
@ -30,9 +74,18 @@
<!-- 订单编号 --> <!-- 订单编号 -->
<view class="rpi-tit">支付详情</view> <view class="rpi-tit">支付详情</view>
<p-line :keyname="'订单编号'" :value="orderInfo.order_no || '-'" isbtn></p-line> <p-line :keyname="'订单编号'" :value="orderInfo.order_no || '-'" isbtn></p-line>
<p-line :keyname="'支付方式'" :value="payTypeTxt(orderInfo.pay_type)"></p-line>
<p-line :keyname="'支付方式'" :value="payTypeTxt(orderInfo.pay_type, orderInfo.card_no)"></p-line>
<p-line :keyname="'支付时间'" :value="orderInfo.pay_time || '-'"></p-line> <p-line :keyname="'支付时间'" :value="orderInfo.pay_time || '-'"></p-line>
</view> </view>
<view v-if="orderInfo.refunds&&orderInfo.refunds.length">
<view class="rc-refund-info" v-for="(item, index) in orderInfo.refunds" :key="index">
<view class="rpi-tit">退款信息{{ index + 1 }}</view>
<p-line :keyname="'退款金额:'" :value="item.refund_amount ? '¥' + item.refund_amount : '0'"></p-line>
<p-line :keyname="'退款单号:'" :value="item.refund_no || '-'"></p-line>
<p-line :keyname="'退款时间:'" :value="item.refund_time || '-'"></p-line>
<p-line :keyname="'退款原因:'" :value="item.refund_reason || '-'"></p-line>
</view>
</view>
</view> </view>
</template> </template>
@ -40,14 +93,10 @@
import { ORDER_API } from '../../../js/api'; import { ORDER_API } from '../../../js/api';
import server from '../../../js/server'; import server from '../../../js/server';
import util from '../../../../../utils/util'; import util from '../../../../../utils/util';
import a_header from '../../../../../components/order_list/a_header/a_header.vue';
import a_line from '../../../../../components/order_list/a_line/a_line.vue';
import s_line from '../../../components/s_line/s_line.vue'; import s_line from '../../../components/s_line/s_line.vue';
import p_line from '../../../components/p_line/p_line.vue'; import p_line from '../../../components/p_line/p_line.vue';
export default { export default {
components: { components: {
'a-line': a_line,
'a-header': a_header,
's-line': s_line, 's-line': s_line,
'p-line': p_line, 'p-line': p_line,
}, },
@ -60,10 +109,21 @@ export default {
this.getOrderInfo(options.order_no); this.getOrderInfo(options.order_no);
}, },
methods: { methods: {
payTypeTxt: util.order_pay_type_txt,
// payTypeTxt: util.order_pay_type_txt,
payTypeTxt(payType, cardNo) {
let _obj = {
0: '微信支付',
1: '支付宝支付',
2: `储值卡支付 ${cardNo ? '(' + cardNo + ')' : ''}`,
3: '现金支付',
4: '其他'
};
return _obj[payType] || '-'
},
getStatus(status){ getStatus(status){
let _obj = { let _obj = {
1: '交易成功'
1: '交易成功',
4: '已退款'
} }
return _obj[status] || '-' return _obj[status] || '-'
}, },
@ -77,6 +137,10 @@ export default {
.then(res=>{ .then(res=>{
util.hideLoad(); util.hideLoad();
this.orderInfo = res || {}; this.orderInfo = res || {};
// this.orderInfo.refunds = [
// { refund_amount: this.orderInfo.refund_amount, refund_no: this.orderInfo.refund_no, refund_time: this.orderInfo.refund_time, refund_reason: this.orderInfo.refund_reason },
// { refund_amount: this.orderInfo.refund_amount, refund_no: this.orderInfo.refund_no, refund_time: this.orderInfo.refund_time, refund_reason: this.orderInfo.refund_reason }
// ];
}) })
}, },
@ -93,23 +157,116 @@ export default {
margin-bottom: 26upx; margin-bottom: 26upx;
padding: 0 24upx; padding: 0 24upx;
background-color: #fff; background-color: #fff;
.ra-header {
position: relative;
padding-top: 30upx;
padding-bottom: 30upx;
@include centerFlex(flex-start);
>image {
width: 32upx;
height: 30upx;
margin-right: 14upx;
}
>text {
font-size: 28upx;
font-weight: 500;
color: #1A1A1A;
}
>view {
position: absolute;
bottom: 0%;
width: 100%;
height: 2upx;
background-color: #D8D8D8;
}
}
.rh-name{ .rh-name{
padding: 30upx 0;
padding-top: 18upx;
padding-bottom: 18upx;
.rh-name-line {
@include centerFlex(space-between);
font-size: 28upx;
font-weight: 400;
margin-bottom: 10upx;
>view {
&:first-child {
color: #9C9C9F;
@include centerFlex(flex-start);
flex-grow: 1;
>view {
width: 152upx;
flex-shrink: 0;
}
>text {
color: #333333;
@include textHide(1);
}
}
&:nth-child(2) {
flex-shrink: 0;
}
}
}
} }
} }
.rc-goods-info{ .rc-goods-info{
margin-bottom: 24upx; margin-bottom: 24upx;
padding: 0 24upx;
padding: 30upx 24upx 46upx 24upx;
background-color: #fff; background-color: #fff;
font-weight: 500;
.rgi-tit{ .rgi-tit{
padding-top: 20upx;
font-size: 32upx; font-size: 32upx;
font-weight: 500;
color: #1a1a1a; color: #1a1a1a;
} }
.rgi-goods-ls{ .rgi-goods-ls{
.rgl-item{ .rgl-item{
padding: 30upx 0;
border-bottom: 2upx solid #D8D8D8;
padding-top: 30upx;
// border-bottom: 2upx solid #D8D8D8;
color: #9C9C9F;
font-size: 28upx;
.rgl-item-desc {
display: flex;
justify-content: space-between;
margin-bottom: 20upx;
color: #333;
}
.rgl-item-sku {
margin-bottom: 10upx;
}
.rgl-item-type-spec {
display: flex;
justify-content: space-between;
align-items: flex-end;
>text {
color: #333;
}
}
.rgl-item-bottom-line {
width: 100%;
height: 2upx;
background-color: #D8D8D8;
margin-top: 18upx;
}
}
}
}
.rc-total-amount-info{
margin-bottom: 24upx;
padding: 0 24upx;
padding-top: 1upx;
background-color: #fff;
font-size: 28upx;
.rc-total-amount-line {
margin-top: 26upx;
@include centerFlex(space-between);
>text {
font-size: 24upx;
} }
} }
.rgi-total{ .rgi-total{
@ -137,4 +294,15 @@ export default {
color: #333; color: #333;
} }
} }
.rc-refund-info{
padding: 30upx;
margin-top: 24upx;
background-color: #fff;
.rpi-tit{
margin-bottom: 16upx;
line-height: 44upx;
font-size: 28upx;
color: #9C9C9F;
}
}
</style> </style>
Loading…
Cancel
Save