- 添加订单 info

pull/1/head
sin 2019-04-14 18:16:28 +08:00
parent 0ca854587e
commit daf3f4c8c7
3 changed files with 184 additions and 107 deletions

View File

@ -10,6 +10,7 @@
},
"dependencies": {
"axios": "^0.18.0",
"moment": "^2.24.0",
"vant": "^1.3.1",
"vue": "^2.5.17",
"vue-router": "^3.0.1",

View File

@ -1,5 +1,19 @@
import request from "../config/request";
// order
export function createOrder(params) {
return request({
headers: {
'Content-Type': 'application/json',
},
url: '/order-api/users/order/create_order',
method: 'post',
data: {
...params,
},
});
}
export function getOrderPage(params) {
return request({
@ -32,21 +46,19 @@ export function getOrderConfirmCreateOrder(skuId, quantity) {
});
}
export function createOrder(params) {
export function getOrderInfo(orderId) {
return request({
headers: {
'Content-Type': 'application/json',
},
url: '/order-api/users/order/create_order',
method: 'post',
data: {
...params,
},
url: '/order-api/users/order/info',
method: 'get',
params: {
orderId,
}
});
}
export function createOrderFromCart(userAddressId,
remark) {
// Cart
export function createOrderFromCart(userAddressId, remark) {
return request({
url: '/order-api/users/order/create_order_from_cart',
method: 'post',
@ -57,8 +69,6 @@ export function createOrderFromCart(userAddressId,
});
}
// Cart
export function addCart(skuId, quantity) {
return request({
url: '/order-api/users/cart/add',

View File

@ -6,8 +6,14 @@
<van-step>配送中</van-step>
<van-step>交易完成</van-step>
</van-steps>
<van-cell class="logistics" to="/user/order/logistics/1" title="您的订单已由本人签收(已在配送员处采用无纸化方式签收本订单)。感谢您在京东购物,欢迎再次光临。参加评价还能赢取京豆哟。" label="2018-08-31 21:04:03" icon="logistics" is-link />
<van-cell v-if="orderInfo.status >= 2 "
class="logistics"
to="/user/order/logistics/1"
:title="latestLogisticsDetail.logisticsInformation"
:label="latestLogisticsDetail.logisticsTimeText"
icon="logistics"
is-link
/>
<div style="height:15px;"></div>
<van-cell-group>
<van-cell
@ -15,8 +21,8 @@
:border="false"
>
<template>
<div>张三 138****6520</div>
<div>广东省深圳市南山区科技园 </div>
<div>{{recipient.name}} {{recipient.mobile}}</div>
<div>{{recipient.address}}</div>
</template>
</van-cell>
</van-cell-group>
@ -27,20 +33,21 @@
</div>
<div style="height:15px;"></div>
<van-cell-group>
<van-cell title="订单编号" value="18081609422771742" />
<van-cell title="下单时间" value="2018-08-16 09:42:27" />
<van-cell title="订单状态" value="配送中" />
<van-cell title="订单编号" :value="orderInfo.orderNo"/>
<van-cell title="下单时间" :value="orderInfo.createTimeText"/>
<van-cell title="订单状态" :value="orderInfo.statusText"/>
</van-cell-group>
<div style="height:15px;"></div>
<van-cell-group class="total">
<van-cell title="商品总额" value="9.99" />
<van-cell title="运费" value="+ 0.00" />
<van-cell title="实付金额" value="9.99" style="font-weight: 700;" />
<van-cell title="商品总额" :value="orderInfo.price"/>
<van-cell title="运费" :value="'+' + orderInfo.logisticsPrice / 100"/>
<van-cell title="实付金额" :value="orderInfo.payAmount" style="font-weight: 700;"/>
</van-cell-group>
<div class="footer">
<div class="munu">
<van-button size="small">确认收货</van-button>
<van-button size="small" type="danger">支付</van-button>
<van-button v-if="orderInfo.status === 3 " size="small">退</van-button>
<van-button v-if="orderInfo.status === 3 " size="small" v-on:click="clickConfirmReceiving(orderId)"></van-button>
<van-button v-if="orderInfo.status === 1 " size="small" type="danger"></van-button>
</div>
</div>
</div>
@ -48,10 +55,17 @@
<script>
import moment from 'moment';
import { getOrderInfo, confirmReceiving } from '../../../api/order';
export default {
data() {
return {
active:1,
active: 0,
orderId: 0,
orderInfo: {},
recipient: {},
latestLogisticsDetail: {},
products: [
{
imageURL: 'https://pop.nosdn.127.net/19e33c9b-6c22-4a4b-96da-1cb7afb32712',
@ -67,6 +81,48 @@ export default {
},
]
}
},
methods: {
clickConfirmReceiving(orderId) {
confirmReceiving(orderId).then(res => {
this.queryOrderPage(this.queryParams)
})
},
},
mounted() {
const { id } = this.$route.params;
this.orderId = id;
getOrderInfo(id).then(res => {
const { status, recipient, latestLogisticsDetail} = res;
//
if ([1, 2].indexOf(status) !== -1) {
this.active = 0
} else if (status === 3) {
this.active = 1
} else if (status >= 4) {
this.active = 2
}
//
this.recipient = recipient;
// info
this.orderInfo = {
...res,
createTimeText: moment(res.createTime).format("YYYY-MM-DD HH:mm"),
};
//
let logisticsTimeText = '';
if (latestLogisticsDetail) {
logisticsTimeText = moment(latestLogisticsDetail.logisticsTime).format("YYYY-MM-DD HH:mm");
}
this.latestLogisticsDetail = {
...latestLogisticsDetail,
logisticsTimeText: logisticsTimeText,
}
})
}
}
</script>
@ -74,9 +130,12 @@ export default {
<style lang="less">
.logistics {
margin-top: 15px;
i {
line-height: 60px; font-size: 20px;
line-height: 60px;
font-size: 20px;
}
.van-cell__title span {
overflow: hidden;
text-overflow: ellipsis;
@ -84,15 +143,21 @@ export default {
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.van-cell__label {
color: #999;
}
}
.total {
.van-cell__value{color: red;}
.van-cell__value {
color: red;
}
}
.footer {
height: 50px;
.munu {
position: fixed;
height: 49px;
@ -102,6 +167,7 @@ export default {
width: 100%;
line-height: 24px;
text-align: right;
.van-button {
margin-right: 10px;
}