Browse Source

Merge branch 'dev'

feat-230721
刘嘉炜 3 years ago
parent
commit
cb9a059f0c
  1. 31
      src/components/order_list/club_rental/club_rental.vue
  2. 84
      src/components/order_list/stored_value_card/stored_value_card.vue
  3. 5
      src/components/order_list/value_card/value_card.vue
  4. 3
      src/js/api.js
  5. 3
      src/manifest.json
  6. 6
      src/pages.json
  7. 10
      src/pages/index/index.vue
  8. 22
      src/pages/order_list/order_list.vue
  9. 6
      src/pages/order_search/order_search.vue
  10. BIN
      src/static/images/code_null.png
  11. BIN
      src/static/images/icon/index/tab_9.png
  12. BIN
      src/static/images/icon/invite.png
  13. BIN
      src/static/images/icon/location.png
  14. BIN
      src/static/images/icon/people.png
  15. BIN
      src/static/images/icon/selected_ring.png
  16. BIN
      src/static/images/icon/success_tip.png
  17. BIN
      src/static/images/icon/x_close.png
  18. BIN
      src/static/images/write_off/mall.png
  19. 1
      src/store/index.js
  20. 2
      src/subpackage/device/components/order/reservation_people_detail/reservation_people_detail.vue
  21. BIN
      src/subpackage/device/static/images/i_voice_1.png
  22. BIN
      src/subpackage/device/static/images/i_voice_2.png
  23. BIN
      src/subpackage/device/static/images/i_voice_3.png
  24. BIN
      src/subpackage/device/static/images/i_voice_4.png
  25. BIN
      src/subpackage/device/static/images/in.png
  26. BIN
      src/subpackage/device/static/images/scan_code.png
  27. BIN
      src/subpackage/device/static/images/selected_987.png
  28. BIN
      src/subpackage/device/static/images/start.png
  29. BIN
      src/subpackage/device/static/images/sunblind.png
  30. BIN
      src/subpackage/device/static/images/sunblind_close.png
  31. BIN
      src/subpackage/device/static/images/sunblind_open.png
  32. BIN
      src/subpackage/device/static/images/timing.png
  33. BIN
      src/subpackage/device/static/images/windows.png
  34. 156
      src/subpackage/order/components/club_rental/end_billing/end_billing.vue
  35. 7
      src/subpackage/order/js/api.js
  36. 427
      src/subpackage/order/pages/club_rental/detail/detail.vue
  37. 2
      src/subpackage/order/pages/order_manage/order_manage.vue
  38. 234
      src/subpackage/order/pages/stored_value_card/detail/detail.vue
  39. 15
      src/subpackage/order/pages/value_card/detail/detail.vue
  40. BIN
      src/subpackage/order/static/images/arrow.png
  41. BIN
      src/subpackage/order/static/images/down_arrow.png
  42. BIN
      src/subpackage/order/static/images/order_manage/order_1.png
  43. BIN
      src/subpackage/order/static/images/order_manage/order_10.png
  44. BIN
      src/subpackage/order/static/images/order_manage/order_12.png
  45. BIN
      src/subpackage/order/static/images/order_manage/order_13.png
  46. BIN
      src/subpackage/order/static/images/order_manage/order_14.png
  47. BIN
      src/subpackage/order/static/images/order_manage/order_15.png
  48. BIN
      src/subpackage/order/static/images/order_manage/order_16.png
  49. BIN
      src/subpackage/order/static/images/order_manage/order_17.png
  50. BIN
      src/subpackage/order/static/images/order_manage/order_2.png
  51. BIN
      src/subpackage/order/static/images/order_manage/order_3.png
  52. BIN
      src/subpackage/order/static/images/order_manage/order_4.png
  53. BIN
      src/subpackage/order/static/images/order_manage/order_5.png
  54. BIN
      src/subpackage/order/static/images/order_manage/order_6.png
  55. BIN
      src/subpackage/order/static/images/order_manage/order_7.png
  56. BIN
      src/subpackage/order/static/images/order_manage/order_8.png
  57. BIN
      src/subpackage/order/static/images/order_manage/order_9.png
  58. BIN
      src/subpackage/order/static/images/selected.png

31
src/components/order_list/club_rental/club_rental.vue

@ -1,7 +1,7 @@
<template>
<!-- 租球机 -->
<view class="club-rental-container" @click="toInfo">
<a-header :source="orderInfo.source || '-'" :status="orderInfo.extension.status_text || '-'">
<view class="club-rental-container" @click="toInfo(0)">
<a-header :source="orderInfo.stadium_name || '-'" :status="orderInfo.extension.status_text || '-'">
<view slot="line" class="crc-line">
<image class="cl-img" mode="aspectFit" src="/static/images/icon/location.png"></image>
<view class="cl-view">{{ orderInfo.hardware_name || '-' }}</view>
@ -31,9 +31,12 @@
</block>
</view>
<view class="vcc-total">
<view class="vcc-total" v-if="orderInfo.pay_status != 1">
<view class="vt-view"><text class="vv-text">合计支付</text>{{ orderInfo.pay_amount || '0' }}</view>
</view>
<view class="vcc-end-btn" v-if="orderInfo.order_type == 'rent'&&orderInfo.status_type == 5">
<view class="veb-item" @click.stop="toInfo(1)">结束计费</view>
</view>
</view>
</template>
@ -57,9 +60,9 @@ export default {
mounted(){
},
methods: {
toInfo(){
toInfo(isEnd=0){
let { orderInfo } = this;
util.routeTo(`/subpackage/order/pages/club_rental/detail/detail?order_no=${orderInfo.order_no}`, 'nT');
util.routeTo(`/subpackage/order/pages/club_rental/detail/detail?order_no=${orderInfo.order_no}&is_end=${isEnd}`, 'nT');
},
getStatusTxt(status = -1){
let _obj = {
@ -81,6 +84,9 @@ export default {
padding: 0 20upx 20upx;
border-radius: 10upx;
}
.vcc-info{
padding-top: 20upx;
}
.crc-line{
margin-top: 10upx;
@include centerFlex(flex-start);
@ -110,4 +116,19 @@ export default {
}
}
}
.vcc-end-btn{
padding-top: 20upx;
@include centerFlex(flex-end);
.veb-item{
width: 192upx;
height: 80upx;
line-height: 80upx;
text-align: center;
border-radius: 10upx;
font-size: 32upx;
font-weight: 500;
color: #fff;
background-color: $themeColor;
}
}
</style>

84
src/components/order_list/stored_value_card/stored_value_card.vue

@ -0,0 +1,84 @@
<template>
<view class="value-card-container" @click="toInfo">
<a-header :source="orderInfo.stadium_name || '-'" :status="getStatus(orderInfo.pay_status)"></a-header>
<view class="vcc-info">
<a-line :value="orderInfo.order_no || '-'">
<block slot="name">订单号</block>
</a-line>
<a-line :value="orderInfo.card_name || '-'">
<block slot="name">储值卡名称</block>
</a-line>
<a-line :value="orderInfo.mobile || '-'">
<block slot="name">手机号码</block>
</a-line>
<a-line :value="orderInfo.pay_time || '-'">
<block slot="name">支付时间</block>
</a-line>
<a-line :value="orderWay(orderInfo.order_way)">
<block slot="name">途径</block>
</a-line>
<view class="svc-total"><text class="st-txt">支付金额</text>{{ orderInfo.pay_amount || 0 }}</view>
</view>
</view>
</template>
<script>
import util from '../../../utils/util';
import a_header from '../a_header/a_header.vue';
import a_line from '../a_line/a_line.vue';
export default {
components: {
'a-header': a_header,
'a-line': a_line,
},
props: {
orderInfo: {
default: {},
type: Object,
}
},
methods: {
orderWay(wayType){
if(wayType == 0)return '购买';
if(wayType == 1)return '升级';
if(wayType == 2)return '充值';
return '-';
},
getStatus(status){
let _obj = {
1: '已付款',
4: '已退款',
}
return _obj[status] || '-'
},
toInfo(){
let { orderInfo } = this;
util.routeTo(`/subpackage/order/pages/stored_value_card/detail/detail?order_no=${orderInfo.order_no}`, 'nT');
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
.value-card-container{
background-color: #fff;
padding: 0 20upx;
border-radius: 10upx;
.vcc-info{
padding: 20upx 0;
}
}
.svc-total{
line-height: 40upx;
text-align: right;
font-size: 28upx;
font-weight: 500;
color: #1a1a1a;
@include textHide(1);
.st-txt{
font-weight: 400;
color: #9A9A9D;
}
}
</style>

5
src/components/order_list/value_card/value_card.vue

@ -11,6 +11,9 @@
<a-line :value="orderInfo.mobile || '-'">
<block slot="name">手机号码</block>
</a-line>
<a-line :value="orderInfo.mark || '-'">
<block slot="name">备注</block>
</a-line>
<a-line :value="'¥' + orderInfo.balance || '-'" value-color="#ff873d">
<block slot="name">余额</block>
</a-line>
@ -61,4 +64,4 @@ export default {
padding: 20upx 0;
}
}
</style>
</style>

3
src/js/api.js

@ -69,6 +69,9 @@ export const API = {
messageList:`${ORIGIN}/admin/brand/message/list`, // 系统消息列表
messageRead:`${ORIGIN}/brand/message/read`, // 查看系统消息
// 20220725
userValueOrderLs:`${ORIGIN}/admin/userValueOrder/list`, // 用户储值卡订单
}
// 员工管理

3
src/manifest.json

@ -57,7 +57,8 @@
/* */
"appid" : "wxf1294b279ad1b845",
"setting" : {
"urlCheck" : false
"urlCheck" : false,
"minified" : true
},
"usingComponents" : true
},

6
src/pages.json

@ -462,6 +462,12 @@
"root": "subpackage/order",
"pages": [
{
"path": "pages/stored_value_card/detail/detail",
"style" : {
"navigationBarTitleText": "储值卡订单详情"
}
},
{
"path": "pages/retail/detail/detail",
"style" : {
"navigationBarTitleText": "零售订单详情"

10
src/pages/index/index.vue

@ -72,7 +72,7 @@
</template>
<script>
import util from '../../utils/util';
import { servers } from '../../js/server';
import { API } from '../../js/api';
@ -131,7 +131,13 @@
name: '课程管理',
path: '/subpackage/course/pages/index/index',
serverKey: 1013 // 1013
}
},
{
id: 9,
name: '储值卡管理',
path: '/pages/order_list/order_list?order_type=18',
serverKey: 1014 // 1014
},
];
const app = getApp();

22
src/pages/order_list/order_list.vue

@ -64,6 +64,7 @@
<rent-and-sale v-if="orderType == 8" :order-info="e"></rent-and-sale>
<retail v-if="orderType == 19" :order-info="e"></retail>
<ym-card v-if="orderType == 20" :order-info="e"></ym-card>
<stored-value-card v-if="orderType == 21" :order-info="e"></stored-value-card>
</view>
</view>
@ -123,7 +124,7 @@
import timing_order from '../../components/timing_order/timing_order.vue';
import organize_order from '../../components/organize_order/organize_order.vue';
// 20210910
import value_card from '../../components/order_list/value_card/value_card.vue';
import value_card from '../../components/order_list/value_card/value_card.vue'; // 20220725
import curriculum from '../../components/order_list/curriculum/curriculum.vue';
import spectacular_monent from '../../components/order_list/spectacular_monent/spectacular_monent.vue';
import club_rental from '../../components/order_list/club_rental/club_rental.vue';
@ -134,6 +135,7 @@
import competition from '../../components/order_list/competition/competition.vue'; //
import retail from '../../components/order_list/retail/retail.vue'; //
import ym_card from '../../components/order_list/ym_card/ym_card.vue'; //
import stored_value_card from '../../components/order_list/stored_value_card/stored_value_card.vue'; //
import util from '../../utils/util';
import { servers } from '../../js/server';
@ -160,6 +162,7 @@
'competition': competition,
'retail': retail,
'ym-card': ym_card,
'stored-value-card': stored_value_card,
},
computed:{
isStoreInfo(){
@ -174,7 +177,7 @@
orderType == 8 || orderType == 7 ||
orderType == 11 || orderType == 6 ||
orderType == 9 || orderType == 19 ||
orderType == 20
orderType == 20 || orderType == 21
)
},
//
@ -384,9 +387,11 @@
page_size=15,
}){
let { orderType } = this;
let _url = this.getApiUrl(orderType);
if(!_url)return;
util.showLoad();
return servers.post({
url: this.getApiUrl(orderType),
url: _url,
data: { ...this.getQueryForList(), page, page_size },
failMsg: '加载失败!'
})
@ -423,6 +428,7 @@
if(type == 2)return API.shop2OrderList; //
if(type == 19)return API.retailOrderList; //
if(type == 20)return API.userMonthlyCardLs; // -
if(type == 21)return API.userValueOrderLs; // -
},
//
isDevice(){
@ -524,7 +530,7 @@
case 12:
return '课程订单';
case 18:
return '储值卡订单';
return '储值卡管理';
case 15:
return '高光时刻订单';
case 16:
@ -547,6 +553,8 @@
return '零售订单';
case 20:
return '年月卡订单';
case 21:
return '储值卡订单';
default:
return '订单'
}
@ -568,8 +576,10 @@
return [ {id: '', name: '全部'}, {id: 1, name: '已付款'}, {id: 2, name: '已完成'}, {id: 4, name: '已退款'}, ];
case 12: // tab ///退 [/0/1/4]
return [ {id: -1, name: '全部'}, {id: 0, name: '待付款'}, {id: 1, name: '进行中'}, {id: 2, name: '已结束'}, {id: 3, name: '已退款'}, ];
case 18: // 01使23退
case 18: // 01使23退 ---> 20220725 14退
// 20220727
return [ {id: '', name: '全部'}, {id: 0, name: '待激活'}, {id: 1, name: '使用中'}, {id: 2, name: '已失效'}, {id: 3, name: '已退卡'},];
// return [ {id: '', name: ''}, {id: 1, name: ''}, {id: 4, name: '退'},];
case 15: // ( 1,2,4 1 3 退 4 pay_status)
return [ {id: '1,2,4', name: '全部'}, {id: 1, name: '生效中'}, {id: 3, name: '已失效'}, {id: 4, name: '已退款'}];
case 16: // (status 1,2,4 1 2 退 4)
@ -590,6 +600,8 @@
return [ {id: 1, name: '交易成功'}, {id: 4, name: '已退款'} ];
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: '已退卡'}];
case 21: // status -> '' -> 1 退-> 4
return [ {id: '', name: '全部'}, {id: 1, name: '已付款'}, {id: 4, name: '已退款'} ];
default:
return []
}

6
src/pages/order_search/order_search.vue

@ -32,7 +32,8 @@
<mall v-if="orderType == 2" :order-info="e"></mall>
<rent-and-sale v-if="orderType == 8" :order-info="e"></rent-and-sale>
<retail v-if="orderType == 19" :order-info="e"></retail>
<ym-card v-if="orderType == 20" :order-info="e"></ym-card>
<ym-card v-if="orderType == 20" :order-info="e"></ym-card>
<stored-value-card v-if="orderType == 21" :order-info="e"></stored-value-card>
</view>
</view>
</view>
@ -58,6 +59,7 @@ import device from '../../components/order_list/device/device.vue'; // 售货
import competition from '../../components/order_list/competition/competition.vue'; //
import retail from '../../components/order_list/retail/retail.vue'; //
import ym_card from '../../components/order_list/ym_card/ym_card.vue'; //
import stored_value_card from '../../components/order_list/stored_value_card/stored_value_card.vue'; //
import { API } from '../../js/api';
import { servers } from '../../js/server';
@ -84,6 +86,7 @@ export default {
'competition': competition,
'retail': retail,
'ym-card': ym_card,
'stored-value-card': stored_value_card,
},
computed: {
...mapState(['brandInfo']),
@ -145,6 +148,7 @@ export default {
if(type == 2)return API.shop2OrderList; //
if(type == 19)return API.retailOrderList; //
if(type == 20)return API.userMonthlyCardLs; // -
if(type == 21)return API.userValueOrderLs; // -
},
//
isDevice(){

BIN
src/static/images/code_null.png

Before

Width: 380  |  Height: 380  |  Size: 7.7 KiB

After

Width: 380  |  Height: 380  |  Size: 7.4 KiB

BIN
src/static/images/icon/index/tab_9.png

After

Width: 52  |  Height: 52  |  Size: 354 B

BIN
src/static/images/icon/invite.png

Before

Width: 52  |  Height: 52  |  Size: 367 B

After

Width: 52  |  Height: 52  |  Size: 354 B

BIN
src/static/images/icon/location.png

Before

Width: 28  |  Height: 28  |  Size: 366 B

After

Width: 28  |  Height: 28  |  Size: 342 B

BIN
src/static/images/icon/people.png

Before

Width: 48  |  Height: 48  |  Size: 444 B

After

Width: 48  |  Height: 48  |  Size: 434 B

BIN
src/static/images/icon/selected_ring.png

Before

Width: 32  |  Height: 32  |  Size: 503 B

After

Width: 32  |  Height: 32  |  Size: 419 B

BIN
src/static/images/icon/success_tip.png

Before

Width: 100  |  Height: 102  |  Size: 1005 B

After

Width: 100  |  Height: 102  |  Size: 974 B

BIN
src/static/images/icon/x_close.png

Before

Width: 34  |  Height: 34  |  Size: 425 B

After

Width: 34  |  Height: 34  |  Size: 233 B

BIN
src/static/images/write_off/mall.png

Before

Width: 128  |  Height: 128  |  Size: 1.4 KiB

After

Width: 128  |  Height: 128  |  Size: 1.4 KiB

1
src/store/index.js

@ -41,6 +41,7 @@ export default new Vuex.Store({
'1010': '设备管理',
'1011': '商品零售',
'1013': '课程管理',
'1014': '储值卡管理',
},
// 场地占用提交页面信息
occupyInfo: {

2
src/subpackage/device/components/order/reservation_people_detail/reservation_people_detail.vue

@ -97,7 +97,7 @@
<view class="rp-box">
<view class="rb-title">支付信息</view>
<view class="rb-line">
<view>支付方式<text>{{zh_pay_type(orderInfo.pay_type)}}</text></view>
<view>支付方式<text>{{ (orderInfo.extension&&orderInfo.extension.pay_type_text) || '-' }}</text></view>
</view>
<view class="rb-line">
<view>支付时间<text>{{orderInfo.pay_time || '-'}}</text></view>

BIN
src/subpackage/device/static/images/i_voice_1.png

Before

Width: 200  |  Height: 200  |  Size: 9.9 KiB

After

Width: 200  |  Height: 200  |  Size: 2.4 KiB

BIN
src/subpackage/device/static/images/i_voice_2.png

Before

Width: 103  |  Height: 50  |  Size: 2.9 KiB

After

Width: 103  |  Height: 50  |  Size: 1001 B

BIN
src/subpackage/device/static/images/i_voice_3.png

Before

Width: 102  |  Height: 100  |  Size: 2.4 KiB

After

Width: 102  |  Height: 100  |  Size: 889 B

BIN
src/subpackage/device/static/images/i_voice_4.png

Before

Width: 103  |  Height: 50  |  Size: 2.9 KiB

After

Width: 103  |  Height: 50  |  Size: 1001 B

BIN
src/subpackage/device/static/images/in.png

Before

Width: 100  |  Height: 100  |  Size: 959 B

After

Width: 100  |  Height: 100  |  Size: 950 B

BIN
src/subpackage/device/static/images/scan_code.png

Before

Width: 48  |  Height: 48  |  Size: 553 B

After

Width: 48  |  Height: 48  |  Size: 293 B

BIN
src/subpackage/device/static/images/selected_987.png

Before

Width: 40  |  Height: 36  |  Size: 381 B

After

Width: 40  |  Height: 36  |  Size: 377 B

BIN
src/subpackage/device/static/images/start.png

Before

Width: 32  |  Height: 32  |  Size: 311 B

After

Width: 32  |  Height: 32  |  Size: 303 B

BIN
src/subpackage/device/static/images/sunblind.png

Before

Width: 676  |  Height: 570  |  Size: 26 KiB

After

Width: 676  |  Height: 570  |  Size: 4.9 KiB

BIN
src/subpackage/device/static/images/sunblind_close.png

Before

Width: 100  |  Height: 100  |  Size: 5.1 KiB

After

Width: 100  |  Height: 100  |  Size: 1.3 KiB

BIN
src/subpackage/device/static/images/sunblind_open.png

Before

Width: 100  |  Height: 100  |  Size: 5.2 KiB

After

Width: 100  |  Height: 100  |  Size: 1.2 KiB

BIN
src/subpackage/device/static/images/timing.png

Before

Width: 100  |  Height: 100  |  Size: 5.1 KiB

After

Width: 100  |  Height: 100  |  Size: 1.3 KiB

BIN
src/subpackage/device/static/images/windows.png

Before

Width: 1014  |  Height: 696  |  Size: 39 KiB

After

Width: 1014  |  Height: 696  |  Size: 6.5 KiB

156
src/subpackage/order/components/club_rental/end_billing/end_billing.vue

@ -0,0 +1,156 @@
<template>
<view class="end-billing">
<view class="end-mask" @click="close">
<view class="em-content" @click.stop="_=>false">
<image class="ec-close" src="/subpackage/order/static/images/close.png" @click="close"></image>
<view class="ec-main">
<view class="em-tit">结束计费</view>
<view class="em-line">订单号{{ orderInfo.order_no || '-' }}</view>
<view class="em-line">时长合计<text class="el-txt">{{ orderInfo.rent_duration || '-' }}</text></view>
<view class="em-settlement">
<view class="es-tit">结算金额()</view>
<view class="es-frame">
<input class="ef-ipt" type="number" v-model="amount" />
</view>
</view>
<view class="em-remark">
<view class="er-view">备注</view>
<view class="er-view">1请确保用户已将球归还到柜子后才手动帮用户结束计费</view>
<view class="er-view">2确认结束计费后将从用户押金里自动扣取相应费用剩余的押金将会原路退还给用户</view>
</view>
</view>
<view class="em-btns">
<view class="eb-btn" @click="close">取消</view>
<view class="eb-btn" @click="confirm">确认</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
props: {
orderInfo: {
type: Object,
default: {}
}
},
data(){
return {
amount: '',
}
},
methods: {
close(){
this.$emit('close');
},
confirm(){
let _amount = this.amount || 0;
this.$emit('confirm', { amount: +_amount });
}
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
.end-mask{
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
background-color: rgba($color: #000000, $alpha: .5);
}
.em-content{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
padding: 78upx 56upx 130upx;
width: 620upx;
border-radius: 10upx;
background-color: #fff;
.ec-main {
.em-tit{
margin-bottom: 34upx;
line-height: 44upx;
text-align: center;
font-weight: 500;
font-size: 32upx;
color: #333;
}
.em-line{
line-height: 48upx;
font-size: 28upx;
color: #1a1a1a;
.el-txt{
color: $themeColor;
}
}
.em-settlement{
margin-top: 8upx;
margin-bottom: 28upx;
.es-tit{
margin-bottom: 8upx;
line-height: 48upx;
font-size: 28upx;
color: #1a1a1a;
}
.es-frame{
padding: 0 24upx;
height: 88upx;
border-radius: 10upx;
border: 2upx solid #D8D8D8;
border-radius: 10upx;
.ef-ipt{
height: 100%;
font-size: 28upx;
color: #333;
}
}
}
}
.em-remark{
.er-view{
line-height: 48upx;
font-size: 28upx;
color: #1a1a1a;
}
}
.em-btns{
padding-top: 52upx;
@include centerFlex(space-between);
.eb-btn{
height: 88upx;
width: 240upx;
border-radius: 10upx;
border: 2upx solid $themeColor;
line-height: 84upx;
text-align: center;
font-size: 32upx;
font-weight: 500;
color: $themeColor;
&+.eb-btn{
background-color: $themeColor;
color: #fff;
}
}
}
.ec-close{
position: absolute;
right: 30upx;
top: 30upx;
width: 34upx;
height: 34upx;
}
}
</style>

7
src/subpackage/order/js/api.js

@ -29,7 +29,12 @@ export const ORDER_API = {
ymCardInfoFace:`${ORIGIN}/upload/file/ym_card_face`, // 年月卡用户头像上传
ymCardInfoFaceSave:`${ORIGIN}/admin/userMonthlyCard/updateFace`, // 年月卡用户头像保存
ymCardUsage:`${ORIGIN}/admin/userMonthlyCard/usages`, // 用户年月卡使用记录-后台
// 20220725
userValueOrderGet:`${ORIGIN}/admin/userValueOrder/get`, // 储值卡订单详情
// 20220726
rentballEndBilling:`${ORIGIN}/admin/stadium/rentball/order/end`, // 结束订单-后台
// 20220727
rentBallOrderDetails:`${ORIGIN}/admin/stadium/hardware/order/rentBallOrderDetails`, // 硬件管理-订单详情_copy
}
export default ORDER_API;

427
src/subpackage/order/pages/club_rental/detail/detail.vue

@ -8,42 +8,96 @@
<view class="ch-user">
<view class="cu-line">
<view><text>手机号码</text>{{ orderInfo.mobile || '-' }}</view>
<view>{{ orderInfo.extension.status_text || '-' }}</view>
<view>{{ extension.status_text || '-' }}</view>
</view>
<view class="cu-line">
<view><text>用户昵称</text>{{ orderInfo.extension.nickname || '-' }}</view>
<view><text>用户昵称</text>{{ extension.nickname || '-' }}</view>
</view>
</view>
</view>
<!-- 押金 -->
<block v-if="orderInfo.order_type == 'deposit'">
<view class="cr-box cr-expense-info">
<view class="cr-tit">押金信息</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>押金金额</text>{{ orderInfo.pay_amount || '0' }}
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>押金订单号</text>{{ orderInfo.order_no || '-' }}
</view>
</view>
</view>
<!-- status_type 1/2/3 状态都显示 -->
<view class="cr-box cr-expense-info">
<view class="cr-tit">租用详情</view>
<a-line :value="orderInfo.cabinet.rent_ball_price.goods_name || '-'">
<block slot="name">租用设备</block>
</a-line>
<a-line :value="orderInfo.deposit_order_no || '-'">
<block slot="name">订单编号</block>
</a-line>
<a-line :value="'¥' + (orderInfo.extension.buy_price || 0)">
<block slot="name">押金金额</block>
</a-line>
<view class="cei-line">
<view>积分抵扣</view>
<view>¥{{ orderInfo.deduction_amount || 0 }}</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>租用商品</text>{{ orderInfo.cabinet.rent_ball_price.goods_name || '-' }}
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>柜子编号</text>{{ orderInfo.hardware_name || '-' }}
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left green">
<text>租用时长</text>{{ orderInfo.rent_duration || '-' }}
</view>
</view>
<view class="cei-line">
<view>折扣金额</view>
<view>-¥{{ orderInfo.discount_amount || 0 }}</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>租用时间</text>{{ orderInfo.start_time || '-' }}
</view>
</view>
<view class="cei-line">
<view>优惠券优惠</view>
<view>-¥{{ orderInfo.coupons_amount || 0 }}</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>订单编号</text>{{ extension.rent_order_no || '-' }}
</view>
<view class="cdl-right main-color" @click="toDepositOrder(extension.rent_order_no)">
查看租用订单
</view>
</view>
<view class="cei-total">
<text>合计支付</text>{{ orderInfo.pay_amount || 0 }}
</view>
<!-- status_type 2/3 状态显示 -->
<view class="cr-box cr-expense-info" v-if="sType&&sType == 2 || sType&&sType == 3">
<view class="cr-tit">费用详情</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>收费标准</text>{{ extension.cost_standard || '-' }}
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left green">
<text>产生费用</text>{{ extension.rent_order.rent_fee || 0 }}
</view>
<view class="cdl-right" v-if="sType&&sType == 3">产生费用已从押金扣取</view>
</view>
<view class="cei-deposit-line" v-if="sType&&sType == 2">
<view class="cdl-left orange">
<text>购买价格</text>{{ orderInfo.pay_amount || 0 }}
</view>
<view class="cdl-right">购买费用已从押金扣取</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>回退押金</text>{{ orderInfo.refund_amount || 0 }}
</view>
</view>
</view>
</block>
<!-- 租用/购买 -->
<block v-else>
<view class="cr-rent-info cr-box">
<view class="cr-tit">租用详情</view>
@ -56,66 +110,107 @@
<a-line :value="orderInfo.cabinet.cabinet_name || '-'">
<block slot="name">柜子编号</block>
</a-line>
<a-line :value="orderInfo.order_no || '-'">
<!-- <a-line :value="orderInfo.order_no || '-'" v-if="sType&&sType!=5">
<block slot="name">订单编号</block>
</a-line>
</a-line> -->
<a-line :value="orderInfo.start_time || '-'">
<block slot="name">租借时间</block>
</a-line>
<a-line :value="orderInfo.end_time || '-'">
<a-line :value="orderInfo.end_time || '-'" v-if="sType&&sType!=5">
<block slot="name">归还时间</block>
</a-line>
<a-line :value="orderInfo.rent_duration || '-'">
<block slot="name">租借时长</block>
</a-line>
</view>
<view class="cr-box cr-expense-info">
<view class="cr-tit">费用详情</view>
<a-line :value="orderInfo.extension.cost_standard || '-'">
<a-line :value="extension.cost_standard || '-'">
<block slot="name">收费标准 </block>
</a-line>
<a-line :value="orderInfo.amount ">
<block slot="name">产生费用</block>
</a-line>
<a-line :value="orderInfo.buy_price " v-if="orderInfo.order_type == 'buy'&&orderInfo.pay_status == 2">
<block slot="name">购买金额</block>
</a-line>
<view class="cei-line">
<view>积分抵扣</view>
<view>¥{{ orderInfo.deduction_amount || 0 }}</view>
</view>
<view class="cei-line">
<view>折扣金额</view>
<view>¥{{ orderInfo.discount_amount || 0 }}</view>
</view>
<view class="cei-line">
<view>优惠券优惠</view>
<view>¥{{ orderInfo.coupons_amount || 0 }}</view>
</view>
<view class="cei-total">
<text>合计支付</text>{{ orderInfo.pay_amount || 0 }}
<view class="cei-deposit-line">
<view class="cdl-left green">
<text>产生费用</text>{{ orderInfo.amount || 0 }}
</view>
<view class="cdl-right" v-if="orderInfo.order_type != 'buy'&&sType&&sType!=5">
产生费用已从押金扣取
</view>
</view>
<block v-if="sType&&sType!=5&&sType!=4">
<view class="cei-deposit-line" v-if="orderInfo.order_type == 'buy'">
<view class="cdl-left orange">
<text>购买金额</text>{{ orderInfo.buy_price || 0 }}
</view>
<view class="cdl-right">
购买费用已从押金扣取
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>已有押金</text>{{ deposit_order.pay_amount || 0 }}
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>退回押金</text>{{ deposit_order.refund_amount || 0 }}
</view>
<view class="cdl-right" v-if="orderInfo.order_type != 'buy'">
回退押金已原路退返账户
</view>
</view>
<view class="cei-deposit-line">
<view class="cdl-left">
<text>押金订单号</text>{{ orderInfo.deposit_order_no || '-' }}
</view>
<view class="cdl-right main-color" @click="toDepositOrder(orderInfo.deposit_order_no)">
查看押金订单
</view>
</view>
<view class="cei-deposit-line" v-if="orderInfo.order_type == 'buy'">
<view class="cdl-left">
<text>备注</text>已购买该商品
</view>
</view>
</block>
</view>
</block>
</block>
<!-- 支付详情 -->
<view class="cr-box cr-pay-info">
<view class="cr-tit">支付详情</view>
<view class="cpi-line">
<view>订单编号</view>
<view>{{ orderInfo.order_no || '-' }}</view>
<view @click="copyOrderNo(orderInfo.order_no)">复制</view>
</view>
<view class="cpi-line">
<view>支付方式</view>
<view>{{ payTypeTxt(orderInfo.pay_type) }}</view>
</view>
<view class="cpi-line">
<view>支付时间</view>
<view>{{ orderInfo.pay_time || '-' }}</view>
</view>
<view class="cpi-line">
<view>交易流水号</view>
<view>{{ orderInfo.trade_no || '-' }}</view>
</view>
<block v-if="orderInfo.pay_status == 4">
<block v-if="orderInfo.pay_status != 0">
<view class="cpi-line">
<view>支付方式</view>
<view>{{ orderInfo.pay_type_text || '-' }}</view>
</view>
<view class="cpi-line">
<view>支付时间</view>
<view>{{ orderInfo.pay_time || '-' }}</view>
</view>
<!-- 只有押金订单才显示 -->
<view class="cpi-line" v-if="orderInfo.order_type == 'deposit'">
<view>交易流水号</view>
<view>{{ orderInfo.trade_no || '-' }}</view>
</view>
</block>
</view>
<!-- 押金退款信息 只有押金订单才显示 -->
<view class="cr-box cr-pay-info" v-if="orderInfo.status_type == 3&&orderInfo.order_type == 'deposit'">
<view class="cr-tit">退款信息</view>
<view class="cpi-line">
<view>退款金额</view>
<view>{{ orderInfo.refund_amount || 0 }}</view>
</view>
<view class="cpi-line">
<view>退款单号</view>
<view>{{ orderInfo.refund_no || '-' }}</view>
@ -125,107 +220,188 @@
<view>{{ orderInfo.refund_time || '-' }}</view>
</view>
<view class="cpi-line">
<view>退款金额</view>
<view>{{ orderInfo.refund_amount || 0 }}</view>
<view>退款原因</view>
<view>{{ orderInfo.refund_reason || '-' }}</view>
</view>
</block>
</view>
<view class="cr-btn" @click="depositRefundBtn" v-if="orderInfo.order_type == 'deposit'&&orderInfo.pay_status == 2">退押金</view>
<view class="cr-btn" @click="overBillingBtn" v-if="orderInfo.order_type != 'deposit'&&orderInfo.pay_status == 1">结束计费</view>
<!-- 20220728 取消退押金操作 -->
<!-- <view class="cr-btn" @click="depositRefundBtn" v-if="orderInfo.order_type == 'deposit'&&orderInfo.pay_status == 2">退押金</view> -->
<view class="cr-btn" @click="overBillingBtn" v-if="orderInfo.order_type == 'rent'&&orderInfo.status_type == 5">结束计费</view>
<!-- <view class="cr-btn" @click="overBillingBtn">结束计费</view> -->
<end-billing
v-if = 'isShowEndBilling'
@close = 'isShowEndBilling = false'
@confirm = 'endBillingBtn'
:orderInfo = 'orderInfo'
></end-billing>
</view>
</template>
<script>
/*
status_type
{ name: '押金-已完成', value: 1 },
{ name: '押金-已抵扣', value: 2 },
{ name: '押金-已退款', value: 3 },
{ name: '租用-待支付', value: 4 },
{ name: '租用-租用中', value: 5 },
{ name: '租用-已完成', value: 6 },
{ name: '租用-已退款', value: 7 }
*/
import { ORDER_API } from '../../../js/api';
import server from '../../../js/server';
import a_line from '../../../../../components/order_list/a_line/a_line.vue';
import end_billing from '../../../components/club_rental/end_billing/end_billing.vue';
import util from '../../../../../utils/util';
// 1 2 退4
// 2,4
export default {
components: {
'a-line': a_line,
'end-billing': end_billing
},
computed: {
sType(){
let { orderInfo } = this;
if(orderInfo.status_type)return orderInfo.status_type;
return ''
},
deposit_order(){
let { extension } = this;
if(extension.deposit_order)return extension.deposit_order || {};
return {};
},
extension(){
let { orderInfo } = this;
if(orderInfo.extension)return orderInfo.extension || {};
return {};
}
},
data(){
return {
orderInfo: {
extension: {},
cabinet: {},
}
},
isShowEndBilling: false,
}
},
onLoad(options){
this.getOrderInfo(options.order_no);
this.getOrderInfo({
order_no: options.order_no,
isEndBilling: !!+options.is_end || false
});
},
methods: {
copyOrderNo(data){
uni.setClipboardData({ data });
},
toDepositOrder(orderNo){
util.routeTo(`/subpackage/order/pages/club_rental/detail/detail?order_no=${orderNo}&is_end=0`, 'rT');
},
endBillingBtn: util.debounce(function(e){
this.isShowEndBilling = false;
util.showModal({
title: '提示',
content: `结算金额为${ e.amount || 0 }`,
showCancel: true,
success: mRes => {
if(mRes.confirm == true)this.endBillingReq(e.amount);
}
})
}, 300, true),
overBillingBtn: util.debounce(function(){
let { orderInfo } = this;
this.getOrderInfo({
order_no: orderInfo.order_no || '',
isEndBilling: true
});
}, 300, true),
endBillingReq(amount = 0){
util.showLoad();
let { orderInfo } = this;
server.post({
url: ORDER_API.rentballOrderEnd,
url: ORDER_API.rentballEndBilling,
data: {
order_no: orderInfo.order_no
order_no: orderInfo.order_no,
pay_amount: amount,
amount
},
isDefaultGet: false,
})
.then(res => {
util.hideLoad();
if(res.data.code == 0){
util.showNone(res.data.message || '操作成功!');
setTimeout(_=>this.getOrderInfo(orderInfo.order_no), 1200);
setTimeout(_=>{
this.getOrderInfo({ order_no: orderInfo.order_no });
util.previousPageFunction({ //
fnName: 'refreshList',
query: null
})
}, 1200);
}else{
util.showNone(res.data.message || '操作失败!');
}
})
.catch(util.hideLoad)
}),
payTypeTxt: util.order_pay_type_txt,
getOrderInfo(order_no = ''){
},
getOrderInfo({
order_no = '',
isEndBilling = false
}){
util.showLoad();
server.get({
url: ORDER_API.hardwareOrderInfo,
url: ORDER_API.rentBallOrderDetails,
data: { order_no },
failMsg: '加载失败!'
})
.then(res=>{
util.hideLoad();
let _order = res || { extension: {} };
let _order = res.order || { extension: {} };
this.orderInfo = _order;
this.isShowEndBilling = isEndBilling;
})
},
depositRefundBtn: util.debounce(function(){
util.showModal({
title: '提示',
content: '是否确认退回押金',
success: mRes=>{
if(mRes.confirm)this.refundReq();
}
})
// 20220728 退
// depositRefundBtn: util.debounce(function(){
// util.showModal({
// title: '',
// content: '退',
// success: mRes=>{
// if(mRes.confirm)this.refundReq();
// }
// })
}, 300, true),
refundReq(){
util.showLoad();
let { orderInfo } = this;
server.post({
url: ORDER_API.rentballRefundDeposit,
data: {
order_no: orderInfo.order_no
},
isDefaultGet: false,
})
.then(res => {
util.hideLoad();
if(res.data.code == 0){
setTimeout(_=>this.getOrderInfo(orderInfo.order_no), 1200);
util.showNone(res.data.message || '操作成功!');
}else{
util.showNone(res.data.message || '操作失败!');
}
})
.catch(util.hideLoad)
}
// }, 300, true),
// refundReq(){
// util.showLoad();
// let { orderInfo } = this;
// server.post({
// url: ORDER_API.rentballRefundDeposit,
// data: {
// order_no: orderInfo.order_no
// },
// isDefaultGet: false,
// })
// .then(res => {
// util.hideLoad();
// if(res.data.code == 0){
// setTimeout(_=>this.getOrderInfo(orderInfo.order_no), 1200);
// util.showNone(res.data.message || '');
// }else{
// util.showNone(res.data.message || '');
// }
// })
// .catch(util.hideLoad)
// }
},
}
</script>
@ -331,9 +507,14 @@ export default {
width: 150upx;
color: #9A9A9D;
}
&+view{
&:nth-child(2){
@include textHide(1);
}
&:nth-child(3){
margin-left: 12upx;
flex-shrink: 0;
color: $themeColor;
}
}
}
}
@ -348,4 +529,34 @@ export default {
background-color: $themeColor;
}
}
.cei-deposit-line{
@include centerFlex(flex-start);
.cdl-left{
line-height: 52upx;
font-size: 28upx;
color: #1a1a1a;
@include textHide(1);
>text{
color: #9a9a9d;
}
&.green{
color: $themeColor;
}
&.orange{
color: #FF873D;
}
}
.cdl-right{
flex-shrink: 0;
margin-left: 12upx;
font-size: 24upx;
color: #9a9a9d;
&.main-color{
color: $themeColor;
}
}
}
</style>

2
src/subpackage/order/pages/order_manage/order_manage.vue

@ -58,7 +58,7 @@ function getTabList(){
{ id: 1, name: '订场订单', key: 1, iconName: 'order_14', orderType: 3 },
{ id: 2, name: '次卡订单', key: 2, iconName: 'order_2', orderType: 3 },
{ id: 3, name: '计时订单', key: 3, iconName: 'order_6', orderType: 1 },
{ id: 4, name: '储值卡订单', key: 4, iconName: 'order_1', orderType: 18 },
{ id: 4, name: '储值卡订单', key: 4, iconName: 'order_1', orderType: 21 },
{ id: 10, name: '年月卡订单', key: 19, iconName: 'order_19', orderType: 20 },
{ id: 5, name: '课程订单', key: 5, iconName: 'order_8', orderType: 12 },
{ id: 6, name: '赛事订单', key: 6, iconName: 'order_9', orderType: 14 },

234
src/subpackage/order/pages/stored_value_card/detail/detail.vue

@ -0,0 +1,234 @@
<template>
<view class="stored-value-card">
<view class="svc-box svc-header">
<view class="sh-stadium">
<image mode="aspectFit" :src="stadiumInfo.stadium_logo"></image>
<view>{{ stadiumInfo.stadium_name || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>订单编号</text>{{ orderInfo.order_no || '-' }}</view>
<view class="sl-status">{{ payStatus(orderInfo.pay_status) }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>创建时间</text>{{ orderInfo.created_at || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>手机号码</text>{{ orderInfo.mobile || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>用户昵称</text>{{ orderInfo.nickname || '-' }}</view>
</view>
</view>
<view class="svc-box svc-card-info">
<view class="sci-tit">储值卡信息</view>
<view class="svc-line">
<view class="sl-txt"><text>储值卡名称</text>{{ cardInfo.card_name || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>储值卡卡号</text>{{ orderInfo.value_card_no || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>储值卡类型</text>{{ cardType(cardInfo.card_kind) }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>赠金金额</text>{{ cardInfo.gift_amount.amount || '0' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>途径</text>{{ orderWay(orderInfo.order_way) }}</view>
</view>
<view class="sci-pay-info">
<s-line :keyname="'金额小计'" :value="'¥' + (orderInfo.amount || '0')"></s-line>
<s-line :keyname="'积分抵扣'" :value="'¥' + (orderInfo.deduction_amount|| '0')"></s-line>
<s-line :keyname="'折扣金额'" :value="'¥' + (orderInfo.discount_amount || '0')"></s-line>
<s-line :keyname="'优惠券优惠'" :value="'¥' + (orderInfo.coupons_amount || '0')"></s-line>
<view class="spi-total"><text>合计支付</text>{{ orderInfo.pay_amount || 0 }}</view>
</view>
</view>
<view class="svc-box">
<view class="svc-line">
<view class="sl-txt" style="margin-bottom: 20rpx;"><text>支付信息</text></view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>支付方式</text>{{ payType(orderInfo.pay_type) }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>支付时间</text>{{ orderInfo.pay_time || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>微信交易号</text>{{ orderInfo.trade_no || '-' }}</view>
</view>
</view>
<view class="svc-box" v-for="(e, i) in orderInfo.refunds" :key="i">
<view class="svc-line">
<view class="sl-txt" style="margin-bottom: 20rpx;"><text>退款信息{{i+1}}</text></view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>退款金额</text>{{ e.amount || 0 }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>退款单号</text>{{ e.refund_no || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>退款时间</text>{{ e.refund_time || '-' }}</view>
</view>
<view class="svc-line">
<view class="sl-txt"><text>退款原因</text>{{ e.reason || '-' }}</view>
</view>
</view>
</view>
</template>
<script>
import s_line from '../../../components/s_line/s_line.vue';
import { ORDER_API } from '../../../js/api';
import server from '../../../js/server';
import util from '../../../../../utils/util';
export default {
components: {
's-line': s_line,
},
computed: {
cardInfo(){
let { orderInfo } = this;
if(orderInfo.card_info)return orderInfo.card_info || {};
return {};
},
stadiumInfo(){
let { orderInfo } = this;
if(orderInfo.stadium)return orderInfo.stadium || {};
return {};
}
},
data(){
return {
orderInfo: {},
}
},
onLoad(options){
this.getOrderInfo({ order_no: options.order_no });
},
methods: {
payStatus(status){
if(status == 1)return '已付款';
if(status == 4)return '已退款';
return '-';
},
orderWay(wayType){
if(wayType == 0)return '购买';
if(wayType == 1)return '升级';
if(wayType == 2)return '充值';
return '-';
},
cardType(type){
if(type == 1)return '个人卡';
if(type == 2 || type == 3)return '团体卡';
return '-'
},
payType: util.order_pay_type_txt,
getOrderInfo({ order_no }){
util.showLoad();
server.get({
url: ORDER_API.userValueOrderGet,
data: { order_no },
failMsg: '加载失败!'
})
.then(res=>{
util.hideLoad();
this.orderInfo = res || {};
})
},
}
}
</script>
<style lang="scss">
@import '~style/public.scss';
.stored-value-card{
}
.svc-box{
margin-bottom: 24upx;
padding: 30upx 24upx;
background-color: #fff;
}
.svc-line{
@include centerFlex(space-between);
.sl-txt{
flex-grow: 1;
line-height: 48upx;
font-size: 28upx;
color: #1a1a1a;
@include textHide(1);
>text{
color: #9C9C9F;
}
}
.sl-status{
margin-left: 24upx;
flex-shrink: 0;
line-height: 40upx;
font-size: 28upx;
color: $themeColor;
}
}
.svc-header{
.sh-stadium{
display: flex;
align-items: center;
justify-content: flex-start;
margin-bottom: 23upx;
padding-bottom: 24upx;
border-bottom: 2upx solid #D8D8D8;
>image {
margin-right: 14upx;
flex-shrink: 0;
width: 40upx;
height: 40upx;
}
>view{
flex-grow: 1;
line-height: 40upx;
font-size: 28upx;
font-weight: 500;
color: #1a1a1a;
@include textHide(1);
}
}
}
.svc-card-info{
.sci-tit{
margin-bottom: 14upx;
line-height: 44upx;
font-size: 32upx;
color: #333;
}
.sci-pay-info{
margin-top: 32upx;
padding-top: 29upx;
border-top: 2upx solid #D8D8D8;
.spi-total{
text-align: right;
font-size: 36upx;
font-weight: 500;
color: #1a1a1a;
@include textHide(1);
>text{
font-weight: 400;
font-size: 28upx;
color: #9A9A9D;
}
}
}
}
</style>

15
src/subpackage/order/pages/value_card/detail/detail.vue

@ -31,12 +31,15 @@
<a-line :value="orderInfo.name || '-'">
<block slot="name">储值卡名称</block>
</a-line>
<a-line :value="orderInfo.kind || '-'">
<a-line :value="cardType(orderInfo.kind)">
<block slot="name">卡类型</block>
</a-line>
<a-line :value="'至' + orderInfo.expired_at || '-'">
<a-line :value="'至' + (orderInfo.expired_at || '-')">
<block slot="name">有效期</block>
</a-line>
<a-line :value="orderInfo.mark || '-'">
<block slot="name">备注</block>
</a-line>
</view>
<view class="i-box vc-record">
<view class="vc-tit">购卡记录</view>
@ -231,7 +234,6 @@
</view>
</view>
</template>
<script>
import a_line from '../../../../../components/order_list/a_line/a_line.vue';
import util from '../../../../../utils/util';
@ -270,6 +272,11 @@ export default {
this.getConsumeTypeList();
},
methods: {
cardType(type){
if(type == 1)return '个人卡';
if(type == 2 || type == 3)return '团体卡';
return '-'
},
rechargeConfirm: util.debounce(function(){
let { rechargeInfo, orderInfo } = this;
if(rechargeInfo.amount< 0)return util.showNone('充值金额有误!');
@ -360,12 +367,14 @@ export default {
util.routeTo(`/subpackage/order/pages/value_card/xpense_tracker/xpense_tracker?card_no=${orderInfo.card_no}`, 'nT');
},
getInfo(card_no){
util.showLoad();
server.get({
url: ORDER_API.userValueCardInfo,
data: { card_no },
failMsg: '加载失败!'
})
.then(res=>{
util.hideLoad();
this.orderInfo = res || {};
})
},

BIN
src/subpackage/order/static/images/arrow.png

Before

Width: 64  |  Height: 64  |  Size: 475 B

After

Width: 64  |  Height: 64  |  Size: 462 B

BIN
src/subpackage/order/static/images/down_arrow.png

Before

Width: 30  |  Height: 30  |  Size: 328 B

After

Width: 30  |  Height: 30  |  Size: 318 B

BIN
src/subpackage/order/static/images/order_manage/order_1.png

Before

Width: 120  |  Height: 120  |  Size: 888 B

After

Width: 120  |  Height: 120  |  Size: 856 B

BIN
src/subpackage/order/static/images/order_manage/order_10.png

Before

Width: 120  |  Height: 120  |  Size: 1.4 KiB

After

Width: 120  |  Height: 120  |  Size: 1.2 KiB

BIN
src/subpackage/order/static/images/order_manage/order_12.png

Before

Width: 120  |  Height: 120  |  Size: 2.0 KiB

After

Width: 120  |  Height: 120  |  Size: 1.6 KiB

BIN
src/subpackage/order/static/images/order_manage/order_13.png

Before

Width: 120  |  Height: 120  |  Size: 1.2 KiB

After

Width: 120  |  Height: 120  |  Size: 1.1 KiB

BIN
src/subpackage/order/static/images/order_manage/order_14.png

Before

Width: 120  |  Height: 120  |  Size: 807 B

After

Width: 120  |  Height: 120  |  Size: 804 B

BIN
src/subpackage/order/static/images/order_manage/order_15.png

Before

Width: 120  |  Height: 120  |  Size: 2.0 KiB

After

Width: 120  |  Height: 120  |  Size: 1.9 KiB

BIN
src/subpackage/order/static/images/order_manage/order_16.png

Before

Width: 120  |  Height: 120  |  Size: 1.9 KiB

After

Width: 120  |  Height: 120  |  Size: 1.9 KiB

BIN
src/subpackage/order/static/images/order_manage/order_17.png

Before

Width: 120  |  Height: 120  |  Size: 1.7 KiB

After

Width: 120  |  Height: 120  |  Size: 1.6 KiB

BIN
src/subpackage/order/static/images/order_manage/order_2.png

Before

Width: 120  |  Height: 120  |  Size: 787 B

After

Width: 120  |  Height: 120  |  Size: 767 B

BIN
src/subpackage/order/static/images/order_manage/order_3.png

Before

Width: 124  |  Height: 120  |  Size: 1.1 KiB

After

Width: 124  |  Height: 120  |  Size: 1.0 KiB

BIN
src/subpackage/order/static/images/order_manage/order_4.png

Before

Width: 120  |  Height: 120  |  Size: 1.3 KiB

After

Width: 120  |  Height: 120  |  Size: 1.3 KiB

BIN
src/subpackage/order/static/images/order_manage/order_5.png

Before

Width: 120  |  Height: 120  |  Size: 1.5 KiB

After

Width: 120  |  Height: 120  |  Size: 1.3 KiB

BIN
src/subpackage/order/static/images/order_manage/order_6.png

Before

Width: 120  |  Height: 120  |  Size: 1.4 KiB

After

Width: 120  |  Height: 120  |  Size: 1.2 KiB

BIN
src/subpackage/order/static/images/order_manage/order_7.png

Before

Width: 120  |  Height: 120  |  Size: 1.3 KiB

After

Width: 120  |  Height: 120  |  Size: 1.1 KiB

BIN
src/subpackage/order/static/images/order_manage/order_8.png

Before

Width: 120  |  Height: 120  |  Size: 1.4 KiB

After

Width: 120  |  Height: 120  |  Size: 1.3 KiB

BIN
src/subpackage/order/static/images/order_manage/order_9.png

Before

Width: 120  |  Height: 120  |  Size: 1.3 KiB

After

Width: 120  |  Height: 120  |  Size: 1.3 KiB

BIN
src/subpackage/order/static/images/selected.png

Before

Width: 32  |  Height: 32  |  Size: 470 B

After

Width: 32  |  Height: 32  |  Size: 400 B

Loading…
Cancel
Save