|
|
/* eslint-disable new-cap */
|
|
|
/* eslint-disable indent */
|
|
|
/* eslint-disable lines-around-comment */
|
|
|
/* eslint-disable operator-linebreak */
|
|
|
/* eslint-disable space-before-function-paren */
|
|
|
import { orderActionsMap, ownType } from 'constants/order-constants';
|
|
|
import { createNamespacedHelpers } from 'vuex';
|
|
|
import DialogConfirmInfo from '../components/dialog-confirm-info';
|
|
|
import refreshMixin from './refresh';
|
|
|
|
|
|
const { mapActions, mapMutations } = createNamespacedHelpers('order/orderList');
|
|
|
const { mapMutations: addressMutations } = createNamespacedHelpers(
|
|
|
'address/address',
|
|
|
);
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
hasAction: false,
|
|
|
};
|
|
|
},
|
|
|
mixins: [refreshMixin],
|
|
|
methods: {
|
|
|
...mapActions([
|
|
|
'cancelTradeConfirmInfo',
|
...
|
...
|
@@ -19,20 +22,112 @@ export default { |
|
|
'deleteOrder',
|
|
|
'computeChangePrice',
|
|
|
'confirmChangePrice',
|
|
|
'confirmReceipt',
|
|
|
]),
|
|
|
...mapMutations(['filterOrderList', 'resetData', 'resetOrderListItem']),
|
|
|
...addressMutations(['STORE_UPDATE_ADDRESS_INFO']),
|
|
|
|
|
|
async onAction({ action, order, isDetail = false } = {}) {
|
|
|
const { owner = ownType.SELL, type, status } = this.$route.params;
|
|
|
const { owner = ownType.SELL, status } = this.$route.params;
|
|
|
const {
|
|
|
orderCode,
|
|
|
realPrice = '',
|
|
|
bidDepositInfo = {},
|
|
|
goodsInfo = {},
|
|
|
priceInfo = {},
|
|
|
|
|
|
// 订单类表和订单详情地址信息返回地段不一致
|
|
|
addressInfo,
|
|
|
userAddress,
|
|
|
} = order;
|
|
|
const { productId, storageId, skup } = goodsInfo;
|
|
|
|
|
|
if (isDetail) {
|
|
|
this.setIsRefresh(true);
|
|
|
}
|
|
|
|
|
|
switch (action.name) {
|
|
|
// 再次购买
|
|
|
case orderActionsMap.BUY_AGAIN.name: {
|
|
|
this.$router.push({
|
|
|
name: 'ProductDetail',
|
|
|
params: { productId },
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
// 查看详情
|
|
|
case orderActionsMap.SHOW_DETAIL.name: {
|
|
|
this.setIsRefresh(false);
|
|
|
const name =
|
|
|
owner === ownType.SELL ? 'sellOrderDetail' : 'buyOrderDetail';
|
|
|
|
|
|
this.$router.push({
|
|
|
name,
|
|
|
params: { owner, code: orderCode },
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
// 再次出售
|
|
|
case orderActionsMap.SOLD_AGAIN.name:
|
|
|
this.$router.push({
|
|
|
name: 'OrderSellConfirm',
|
|
|
query: { productId, storageId },
|
|
|
});
|
|
|
break;
|
|
|
|
|
|
// 查看物流
|
|
|
case orderActionsMap.SHOW_EXPRESS.name:
|
|
|
this.setIsRefresh(false);
|
|
|
this.$router.push({
|
|
|
name: 'orderLogisticsInfo',
|
|
|
params: { owner, code: orderCode },
|
|
|
});
|
|
|
break;
|
|
|
|
|
|
// 调价
|
|
|
// 非入住商家
|
|
|
case orderActionsMap.NOT_ENTRY_CHANGE_PRICE.name:
|
|
|
this.$router.push({
|
|
|
name: 'PriceChangeNoEntry',
|
|
|
params: { orderCode },
|
|
|
});
|
|
|
break;
|
|
|
|
|
|
// 入住商家
|
|
|
case orderActionsMap.STORAGE_MANAGE.name:
|
|
|
this.$router.push({
|
|
|
name: 'PriceChangeEntry',
|
|
|
params: { orderId: productId },
|
|
|
});
|
|
|
break;
|
|
|
|
|
|
// 我要发货
|
|
|
case orderActionsMap.DELIVER_GOODS.name:
|
|
|
this.$router.push({
|
|
|
name: 'order.deliver',
|
|
|
params: { skup, code: orderCode },
|
|
|
});
|
|
|
break;
|
|
|
|
|
|
// 修改地址
|
|
|
case orderActionsMap.MODIFY_ADDRESS.name: {
|
|
|
// 保存地址到store
|
|
|
let info = JSON.stringify(addressInfo || userAddress || {});
|
|
|
let updateInfo = JSON.parse(info || '{}');
|
|
|
|
|
|
Object.assign(updateInfo, { isUpdate: true, orderCode: orderCode });
|
|
|
this.STORE_UPDATE_ADDRESS_INFO(updateInfo);
|
|
|
this.$router.push({
|
|
|
name: 'addressEdit',
|
|
|
query: {
|
|
|
fromPage: 'OrderList',
|
|
|
},
|
|
|
});
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
case orderActionsMap.DEL_ORDER.name: {
|
|
|
this.$createConfirmDialog({
|
|
|
content: '确认删除订单?',
|
...
|
...
|
@@ -45,19 +140,13 @@ export default { |
|
|
});
|
|
|
|
|
|
if (isOk) {
|
|
|
this.filterOrderList({
|
|
|
orderCode,
|
|
|
owner,
|
|
|
status,
|
|
|
});
|
|
|
if (isDetail) {
|
|
|
this.filterOrderList({
|
|
|
orderCode,
|
|
|
owner,
|
|
|
status,
|
|
|
});
|
|
|
this.$router.back();
|
|
|
} else {
|
|
|
this.filterOrderList({
|
|
|
orderCode,
|
|
|
owner,
|
|
|
status,
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
const txt = isOk ? '删除成功' : '删除失败';
|
...
|
...
|
@@ -95,7 +184,6 @@ export default { |
|
|
if (isOk) {
|
|
|
if (isDetail) {
|
|
|
this.fetchOrderDetail(this.$route.params);
|
|
|
this.hasAction = true;
|
|
|
} else {
|
|
|
this.resetData(this.$route.params);
|
|
|
this.fetchData(this.$route.params);
|
...
|
...
|
@@ -123,7 +211,6 @@ export default { |
|
|
pageBackName = 'OrderList';
|
|
|
|
|
|
if (isDetail) {
|
|
|
this.hasAction = true;
|
|
|
price = priceInfo.realPayPrice;
|
|
|
pageBackName = 'buyOrderDetail';
|
|
|
}
|
...
|
...
|
@@ -149,7 +236,6 @@ export default { |
|
|
// 是否是求购
|
|
|
const isAskForBuy = status === 7;
|
|
|
|
|
|
this.hasAction = true;
|
|
|
this.$createOrderPayType({
|
|
|
orderCode,
|
|
|
price: parseFloat(bidDepositInfo.depositAmount).toFixed(2),
|
...
|
...
|
@@ -180,7 +266,6 @@ export default { |
|
|
|
|
|
if (isOk) {
|
|
|
if (isDetail) {
|
|
|
this.hasAction = true;
|
|
|
this.fetchOrderDetail(this.$route.params);
|
|
|
} else {
|
|
|
this.resetData(this.$route.params);
|
...
|
...
|
@@ -243,7 +328,7 @@ export default { |
|
|
params: isDetail
|
|
|
? {
|
|
|
owner: this.$route.params.owner,
|
|
|
code: bidData.orderCode, //改为新订单号
|
|
|
code: bidData.orderCode, // 改为新订单号
|
|
|
}
|
|
|
: this.$route.params,
|
|
|
},
|
...
|
...
|
|