Browse Source

add order

account
刘嘉炜 4 years ago
parent
commit
0736504913
  1. 26
      src/components/order_list/club_rental/club_rental.vue
  2. 8
      src/pages/order_list/order_list.vue
  3. 39
      src/pages/order_search/order_search.vue
  4. BIN
      src/static/images/icon/location.png
  5. 3
      src/subpackage/order/js/api.js
  6. 93
      src/subpackage/order/pages/club_rental/detail/detail.vue

26
src/components/order_list/club_rental/club_rental.vue

@ -1,9 +1,9 @@
<template>
<view class="club-rental-container" @click="toInfo">
<a-header :source="orderInfo.source || '-'" :status="123">
<a-header :source="orderInfo.source || '-'" :status="getStatusTxt(orderInfo.pay_status)">
<view slot="line" class="crc-line">
<image class="cl-img"></image>
<view class="cl-view">欧轩智能租球机-A</view>
<image class="cl-img" mode="aspectFit" src="/static/images/icon/location.png"></image>
<view class="cl-view">{{ orderInfo.hardware_name || '-' }}</view>
</view>
</a-header>
@ -11,10 +11,10 @@
<a-line :value="orderInfo.order_no || '-'">
<block slot="name">订单编号</block>
</a-line>
<a-line :value="orderInfo.price_type_text || '-'">
<a-line :value="orderInfo.rent_duration || '-'">
<block slot="name">租借时长</block>
</a-line>
<a-line :value="orderInfo.venue_name || '-'">
<a-line :value="orderInfo.start_time || '-'">
<block slot="name">租借时间</block>
</a-line>
</view>
@ -39,8 +39,21 @@ export default {
type: Object
}
},
mounted(){
},
methods: {
toInfo(){
let { orderInfo } = this;
util.routeTo(`/subpackage/order/pages/club_rental/detail/detail?order_no=${orderInfo.order_no}`, 'nT');
},
getStatusTxt(status = 0){
let _obj = {
1: '寄存中',
2: '已完成',
4: '已退款',
}
return _obj[status] || '-'
},
}
}
</script>
@ -61,7 +74,6 @@ export default {
margin-right: 12upx;
height: 28upx;
width: 28upx;
background-color: skyblue;
}
.cl-view{
font-size: 24upx;

8
src/pages/order_list/order_list.vue

@ -143,7 +143,13 @@
computed:{
isStoreInfo(){
let { orderType } = this;
return orderType == 3 || orderType == 4 || orderType == 1|| orderType == 10
return (
orderType == 3 || orderType == 4 ||
orderType == 1 || orderType == 10 ||
orderType == 18 || orderType == 12 ||
orderType == 18 || orderType == 12 ||
orderType == 15 || orderType == 16
)
},
//
classifyArr(){

39
src/pages/order_search/order_search.vue

@ -19,6 +19,12 @@
<integral-order :order-info="e" v-if="orderType == 5"></integral-order>
<timing-order :order-info="e" v-if="orderType == 1"></timing-order>
<organize-order :order-info="e" v-if="orderType == 10"></organize-order>
<!-- 20210910 -->
<curriculum :order-info="e" v-if="orderType == 12"></curriculum>
<value-card :order-info="e" v-if="orderType == 18"></value-card>
<spectacular-monent :order-info="e" v-if="orderType == 15"></spectacular-monent>
<club-rental :order-info="e" v-if="orderType == 16"></club-rental>
</view>
</view>
</view>
@ -31,6 +37,11 @@ import integral_order from '../../components/integral_order/integral_order';
import membership_order from '../../components/membership_order/membership_order';
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 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';
import { API } from '../../js/api';
import { servers } from '../../js/server';
@ -44,6 +55,11 @@ export default {
'integral-order': integral_order,
'timing-order': timing_order,
'organize-order': organize_order,
// <!-- 20210910 -->
'spectacular-monent': spectacular_monent,
'value-card': value_card,
'curriculum': curriculum,
'club-rental': club_rental,
},
computed: {
...mapState(['brandInfo']),
@ -96,7 +112,13 @@ export default {
if(type == 5)return API.integralOrder;
if(type == 1)return API.timeOrder;
if(type == 10)return API.organizeOrderList;
// <!-- 20210910 -->
if(type == 12)return API.venueCourseOrderList; //
if(type == 18)return API.userValueCardList; //
if(type == 15)return API.momentOrderList; //
if(type in deviceTypeObj())return API.hardwareOrderList; //
},
getOrderList({
key = "",
page = 1,
@ -135,6 +157,23 @@ export default {
},
}
}
//
function deviceTypeObj(){
/*
VendingOrderType OrderType = "vending_order" 售货柜
WaterValveOrderType OrderType = "water_valve_order" 浴室
LockerOrderType OrderType = "locker_order" 储物柜
LeaseOrderType OrderType = "lease_order" 租售柜
CoffeeOrderType OrderType = "coffee_order" 咖啡机
RentBlllOrderType OrderType = "rent_ball_order" 租球机 16
*/
let _obj = {
16: 'rent_ball_order',
}
return _obj
}
</script>
<style lang="scss" scoped>

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

After

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

3
src/subpackage/order/js/api.js

@ -8,7 +8,8 @@ export const ORDER_API = {
userValueCardDeduct:`${ORIGIN}/admin/userValueCard/deduct`, // 用户储值卡-扣费_copy
userValueCardRecharge:`${ORIGIN}/admin/userValueCard/recharge`, // 用户储值卡-充值_copy
momentOrderInfo:`${ORIGIN}/admin/perfect/moment/order/get`, // 后台-高光时刻订单详情_copy
hardwareOrderInfo:`${ORIGIN}/admin/stadium/hardware/order/details`, // 硬件管理-订单详情_copy
rentballRefundDeposit:`${ORIGIN}/admin/stadium/rentball/order/refundDeposit`, // 退押金-后台
}
export default ORDER_API;

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

@ -2,46 +2,46 @@
<view class="club-rental">
<view class="cr-header cr-box">
<view class="ch-stadium">
<image></image>
<view>欧轩智能场馆(羽毛球永泰店)</view>
<image mode="aspectFit" :src="orderInfo.extension.stadium_logo"></image>
<view>{{ orderInfo.extension.stadium_name || '-' }}</view>
</view>
<view class="ch-user">
<view class="cu-line">
<view><text>手机号码</text>18316535486</view>
<view><text>手机号码</text>{{ orderInfo.mobile || '-' }}</view>
<view>退款完成</view>
</view>
<view class="cu-line">
<view><text>用户昵称</text></view>
<view><text>用户昵称</text>{{ orderInfo.extension.nickname || '-' }}</view>
</view>
</view>
</view>
<view class="cr-rent-info cr-box">
<view class="cr-tit">租用详情</view>
<a-line :value="'欧轩智能租球机'">
<a-line :value="orderInfo.hardware_name || '-'">
<block slot="name">设备名称</block>
</a-line>
<a-line :value="'篮球'">
<block slot="name">租用设备</block>
</a-line>
<a-line :value="'7号柜'">
<a-line :value="orderInfo.cabinet_name || '-'">
<block slot="name">柜子编号</block>
</a-line>
<a-line :value="'cu20200110150245788'">
<a-line :value="orderInfo.deposit_order_no || '-'">
<block slot="name">订单编号</block>
</a-line>
<a-line :value="'2020-01-10 15:02:24'">
<a-line :value="orderInfo.start_time || '-'">
<block slot="name">租借时间</block>
</a-line>
<a-line :value="'2020-01-01 16:00:00'">
<a-line :value="orderInfo.end_time || '-'">
<block slot="name">归还时间</block>
</a-line>
<a-line :value="'1小时35分9秒'">
<a-line :value="orderInfo.end_time || '-'">
<block slot="name">租借时长</block>
</a-line>
</view>
<view class="cr-box cr-expense-info">
<view class="cr-tit">费用详情</view>
<a-line :value="'20元/小时'">
<a-line :value="orderInfo.extension.locker_price_hint || '-'">
<block slot="name">收费标准 </block>
</a-line>
<a-line :value="'¥60'">
@ -49,18 +49,18 @@
</a-line>
<view class="cei-line">
<view>积分抵扣</view>
<view>¥6</view>
<view>¥{{ orderInfo.deduction_amount || 0 }}</view>
</view>
<view class="cei-line">
<view>折扣金额</view>
<view>-¥0</view>
<view>-¥{{ orderInfo.discount_amount || 0 }}</view>
</view>
<view class="cei-line">
<view>优惠券优惠</view>
<view>-¥1</view>
<view>-¥{{ orderInfo.coupons_amount || 0 }}</view>
</view>
<view class="cei-total">
<text>合计支付</text>5
<text>合计支付</text>{{ orderInfo.pay_amount || 0 }}
</view>
</view>
@ -68,44 +68,90 @@
<view class="cr-tit">费用详情</view>
<view class="cpi-line">
<view>订单编号</view>
<view>sc20 0822 0815 6894</view>
<view>{{ orderInfo.order_no || '-' }}</view>
</view>
<view class="cpi-line">
<view>支付方式</view>
<view>微信支付</view>
<view>{{ orderInfo.pay_type || '-' }}</view>
</view>
<view class="cpi-line">
<view>支付时间</view>
<view>2020-08-22 10:12:25</view>
<view>{{ orderInfo.pay_time || '-' }}</view>
</view>
<view class="cpi-line">
<view>交易流水号</view>
<view>20200918125536456461262</view>
<view>{{ orderInfo.trade_no || '-' }}</view>
</view>
<view class="cpi-line">
<view>退款单号</view>
<view>k20201112456556</view>
<view>{{ orderInfo.refund_no || '-' }}</view>
</view>
<view class="cpi-line">
<view>退款时间</view>
<view>2020-08-23 10:12:25</view>
<view>{{ orderInfo.refund_time || '-' }}</view>
</view>
<view class="cpi-line">
<view>退款金额</view>
<view>¥60</view>
<view>{{ orderInfo.refund_amount || 0 }}</view>
</view>
</view>
<view class="cr-btn ">退押金</view>
<view class="cr-btn" @click="depositRefundBtn">退押金</view>
</view>
</template>
<script>
import { ORDER_API } from '../../../js/api';
import server from '../../../js/server';
import a_line from '../../../../../components/order_list/a_line/a_line.vue';
import util from '../../../../../utils/util';
export default {
components: {
'a-line': a_line,
},
data(){
return {
orderInfo: {
extension: {}
}
}
},
onLoad(options){
this.getOrderInfo(options.order_no);
},
methods: {
getOrderInfo(order_no = ''){
server.get({
url: ORDER_API.hardwareOrderInfo,
data: { order_no },
failMsg: '加载失败!'
})
.then(res=>{
let _order = res.order || { extension: {} };
this.orderInfo = _order;
})
},
depositRefundBtn: util.debounce(function(){
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){
util.showNone(res.data.message || '操作成功!');
}else{
util.showNone(res.data.message || '操作失败!');
}
})
.catch(util.hideLoad)
}, 300, true)
},
}
</script>
<style lang="scss">
@ -127,7 +173,6 @@ export default {
margin-right: 14upx;
width: 40upx;
height: 40upx;
background-color: skyblue;
}
>view{
font-size: 28upx;

Loading…
Cancel
Save