提交 97a1ea98 作者: ZhangLingKun

功能:租赁订单退款审批

上级 f84bf515
......@@ -395,3 +395,11 @@ export type platFormCloseOrderType = InterFunction<
{ orderInfoId: number; shutReason: string },
NonNullable<unknown>
>;
// 后台管理——驳回/同意退款
export type refundOrderType = InterFunction<
{
orderInfoId: number;
refund: boolean;
},
NonNullable<unknown>
>;
......@@ -8,6 +8,7 @@ import {
orderImageDetailType,
pfConfirmOrderWareType,
platFormCloseOrderType,
refundOrderType,
renterTakeOrderType,
sendOrderWareType,
} from '~/api/interface/orderManageType';
......@@ -52,4 +53,7 @@ export class OrderManageAPI {
// 后台管理关闭订单
static platFormCloseOrder: platFormCloseOrderType = (params) =>
axios.get('/oms/RentalOrders/platFormCloseOrder', { params });
// 后台管理——驳回/同意退款
static refundOrder: refundOrderType = (params) => axios.post('/oms/refund/refund', params);
}
import { InterListType, InterReqType } from '~/api/interface';
import { listPcWechatOrderType, refundOrderType } from '~/api/interface/orderManageType';
import React from 'react';
import { Form, message, Modal, Radio } from 'antd';
import { OrderManageAPI } from '~/api';
// 表格数据类型
type TableType = InterListType<listPcWechatOrderType>;
// 请求数据的类型
type ReqType = InterReqType<refundOrderType>;
// 传参类型
interface propType {
title: string;
open: boolean;
closed: any;
data?: TableType[0];
}
const OrderRefund: React.FC<propType> = (props) => {
OrderRefund.defaultProps = {
data: undefined,
};
// 参数
const { title, open, closed, data } = props;
// 表单钩子
const [form] = Form.useForm<ReqType>();
// 关闭弹窗
const handleCancel = () => {
form.resetFields();
closed();
};
// 确认事件
const handleOk = () => {
form
.validateFields()
.then(async (values) => {
// console.log('确认事件 --->', values);
await handleSubmit(values);
})
.catch((err) => {
message
.warning({
content: err.errorFields[0].errors[0],
})
.then();
});
};
// 提交事件
const handleSubmit = async (values: ReqType) => {
const res = await OrderManageAPI.refundOrder({
...values,
orderInfoId: Number(data?.id),
});
if (res && res.code === '200') {
message.success('操作成功');
handleCancel();
}
};
return (
<Modal
open={open}
title={title}
onCancel={handleCancel}
onOk={handleOk}
destroyOnClose
width={400}
>
<Form
name='addForm'
form={form}
labelAlign='right'
labelCol={{ span: 6 }}
wrapperCol={{ span: 12 }}
>
<Form.Item
label='是否同意'
name='refund'
rules={[{ required: true, message: '请选择是否同意' }]}
>
<Radio.Group
options={[
{ label: '同意退款', value: true },
{ label: '拒绝退款', value: false },
]}
/>
</Form.Item>
</Form>
</Modal>
);
};
export default OrderRefund;
......@@ -10,6 +10,7 @@ import { OrderManageAPI } from '~/api';
import OrderDeliver from 'src/pages/orderManage/equipmentOrder/comp/orderDeliver';
import OrderConfirm from '~/pages/orderManage/equipmentOrder/comp/orderConfirm';
import OrderClosed from '~/pages/orderManage/equipmentOrder/comp/orderClosed';
import OrderRefund from '~/pages/orderManage/equipmentOrder/comp/orderRefund';
// 表格数据类型
type TableType = InterListType<listPcWechatOrderType>;
......@@ -25,7 +26,7 @@ const orderStatus = [
{ value: '400', label: '待归还' },
{ value: '500', label: '等待卖家确认', button: '确认收货' },
{ value: '600', label: '交易完成' },
{ value: '700', label: '退款中' },
{ value: '700', label: '退款中', button: '退款审批' },
{ value: '999', label: '订单关闭' },
{ value: '1000', label: '已取消' },
];
......@@ -39,6 +40,8 @@ function EquipmentOrderView() {
const [confirmVisible, setConfirmVisible] = useState<boolean>(false);
// 关闭弹窗是否显示
const [closedVisible, setClosedVisible] = useState<boolean>(false);
// 退款弹窗是否显示
const [refundVisible, setRefundVisible] = useState<boolean>(false);
// 当前选择的是第几个按钮
const [statusCodeButtonIndex, setStatusCodeButtonIndex] = useState<number>(0);
// 订单状态搜索列表
......@@ -135,6 +138,9 @@ function EquipmentOrderView() {
if (tranStatus === '500') {
setConfirmVisible(true);
}
if (tranStatus === '700') {
setRefundVisible(true);
}
};
// 关闭弹窗
const handleClosed = () => {
......@@ -142,6 +148,7 @@ function EquipmentOrderView() {
setDeliverVisible(false);
setConfirmVisible(false);
setClosedVisible(false);
setRefundVisible(false);
paginationChange(pagination.current, pagination.pageSize);
};
// componentDidMount
......@@ -340,6 +347,8 @@ function EquipmentOrderView() {
/>
{/*关闭订单*/}
<OrderClosed open={closedVisible} title={'关闭订单'} data={editData} closed={handleClosed} />
{/*退款弹窗*/}
<OrderRefund open={refundVisible} title={'退款审批'} data={editData} closed={handleClosed} />
</>
);
}
......
......@@ -23,6 +23,7 @@ const vcuTypeList = [
{ label: '收货验收', value: 1 },
{ label: '归还验收', value: 2 },
{ label: '平台收货', value: 3 },
{ label: '退货申请', value: 4 },
];
const DetailDelivery: React.FC<PropsType> = (props) => {
const { detail } = props;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论