134 lines
3.6 KiB
JavaScript
134 lines
3.6 KiB
JavaScript
![]() |
// +----------------------------------------------------------------------
|
|||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
|
|||
|
import {
|
|||
|
preOrderApi,refundOrderRevokeApi
|
|||
|
} from '@/api/order.js';
|
|||
|
import util from '@/utils/util'
|
|||
|
import animationType from '@/utils/animationType.js'
|
|||
|
import { ProductMarketingTypeEnum, ProductTypeEnum } from "@/enums/productEnums";
|
|||
|
|
|||
|
/**
|
|||
|
* 去订单详情
|
|||
|
*/
|
|||
|
export function goOrderDetail(orderNo) {
|
|||
|
return new Promise(resolve => {
|
|||
|
if (!orderNo) return that.$util.Tips({
|
|||
|
title: '缺少订单号无法查看订单详情'
|
|||
|
});
|
|||
|
// #ifdef MP
|
|||
|
uni.navigateTo({
|
|||
|
url: '/pages/goods/order_details/index?orderNo=' + orderNo
|
|||
|
})
|
|||
|
// #endif
|
|||
|
// #ifndef MP
|
|||
|
uni.navigateTo({
|
|||
|
animationType: animationType.type,
|
|||
|
animationDuration: animationType.duration,
|
|||
|
url: '/pages/goods/order_details/index?orderNo=' + orderNo
|
|||
|
})
|
|||
|
// #endif
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 去商品详情
|
|||
|
*/
|
|||
|
export function goProductDetail(id, marketingType, params) {
|
|||
|
return new Promise(resolve => {
|
|||
|
// #ifdef MP
|
|||
|
uni.navigateTo({
|
|||
|
url: `/pages/goods/goods_details/index?id=${id}&mt=${marketingType}${params}`
|
|||
|
})
|
|||
|
// #endif
|
|||
|
// #ifndef MP
|
|||
|
uni.navigateTo({
|
|||
|
animationType: animationType.type,
|
|||
|
animationDuration: animationType.duration,
|
|||
|
url: `/pages/goods/goods_details/index?id=${id}&mt=${marketingType}${params}`
|
|||
|
})
|
|||
|
// #endif
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 活动商品、普通商品、购物车、再次购买预下单
|
|||
|
*/
|
|||
|
export function onGetPreOrder(preOrderType, orderDetails) {
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
preOrderApi({
|
|||
|
"preOrderType": preOrderType,
|
|||
|
"orderDetails": orderDetails
|
|||
|
}).then(res => {
|
|||
|
uni.navigateTo({
|
|||
|
url: '/pages/goods/order_confirm/index?orderNo=' + res.data.orderNo
|
|||
|
});
|
|||
|
}).catch(err => {
|
|||
|
return util.Tips({
|
|||
|
title: err
|
|||
|
});
|
|||
|
})
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 售后,撤销售后申请
|
|||
|
*/
|
|||
|
export function onRevokeRefund(refundOrderNo) {
|
|||
|
return new Promise((resolve, reject) => {
|
|||
|
uni.showModal({
|
|||
|
title: '提示',
|
|||
|
content: '确定要撤销本次退款申请吗?',
|
|||
|
success: function(res) {
|
|||
|
if (res.confirm) {
|
|||
|
refundOrderRevokeApi(refundOrderNo).then(res => {
|
|||
|
resolve()
|
|||
|
}).catch(err => {
|
|||
|
return util.Tips({
|
|||
|
title: err
|
|||
|
});
|
|||
|
})
|
|||
|
} else if (res.cancel) {
|
|||
|
console.log('用户点击取消');
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
/**
|
|||
|
* 去协议详情
|
|||
|
*/
|
|||
|
export function goToAgreement(from) {
|
|||
|
return new Promise(resolve => {
|
|||
|
// #ifdef MP
|
|||
|
uni.navigateTo({
|
|||
|
url: `/pages/goods/agreement_info/index?from=${from}`
|
|||
|
})
|
|||
|
// #endif
|
|||
|
// #ifndef MP
|
|||
|
uni.navigateTo({
|
|||
|
animationType: animationType.type,
|
|||
|
animationDuration: animationType.duration,
|
|||
|
url: `/pages/goods/agreement_info/index?from=${from}`
|
|||
|
})
|
|||
|
// #endif
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
// 普通商品、虚拟(开启可申请退款开关)、视频号可申请退款
|
|||
|
export function isRefund(orderInfo) {
|
|||
|
return (
|
|||
|
orderInfo.type === ProductMarketingTypeEnum.Normal &&
|
|||
|
(orderInfo.secondType === ProductTypeEnum.Normal ||
|
|||
|
orderInfo.secondType === ProductTypeEnum.Fictitious ||
|
|||
|
orderInfo.secondType === ProductTypeEnum.Video)
|
|||
|
)
|
|||
|
}
|