import Taro from '@tarojs/taro';
|
import { Message } from '@12333/utils';
|
import * as orderServices from '@12333/services/api/Order';
|
import { OrderStatus, OrderOperateBtnStatus } from '@12333/constants';
|
|
type UseOrderActionsOptions = {
|
onStopSuccess?: () => any;
|
onDeleteSuccess?: () => any;
|
};
|
|
export function useOrderActions(options: UseOrderActionsOptions = {}) {
|
const { onStopSuccess, onDeleteSuccess } = options;
|
|
function handleEdit(item: API.FrontOrderList) {
|
Taro.navigateTo({
|
url: `${RouterPath.publishOrder}?id=${item.id}&orderOperateBtnStatus=${OrderOperateBtnStatus.Edit}`,
|
});
|
}
|
|
function handleGoDetail(item: API.FrontOrderList) {
|
Taro.navigateTo({
|
url: `${RouterPath.orderDetail}?id=${item.id}`,
|
});
|
}
|
|
async function handleStop(item: API.FrontOrderList) {
|
try {
|
await Message.confirm({
|
message: '确认停止发布该订单吗?',
|
});
|
const res = await orderServices.setOrderStatus({
|
id: item.id,
|
status: OrderStatus.OffShelf,
|
});
|
if (res) {
|
Message.success('已停止发布');
|
onStopSuccess?.();
|
}
|
} catch (error) {}
|
}
|
|
function handleRePublish(item: API.FrontOrderList) {
|
handleEdit(item);
|
}
|
|
async function handleCopy(item: API.FrontOrderList) {
|
Taro.navigateTo({
|
url: `${RouterPath.publishOrder}?id=${item.id}&orderOperateBtnStatus=${OrderOperateBtnStatus.Copy}`,
|
});
|
}
|
|
async function handleDelete(row: API.FrontOrderList) {
|
try {
|
await Message.confirm();
|
const res = await orderServices.deleteOrder({
|
id: row.id,
|
});
|
if (res) {
|
onDeleteSuccess?.();
|
Message.success('操作成功');
|
}
|
} catch (error) {}
|
}
|
|
return {
|
handleEdit,
|
handleGoDetail,
|
handleStop,
|
handleRePublish,
|
handleCopy,
|
handleDelete,
|
};
|
}
|