import React, { useState, useEffect } from "react"; import { getCouponLog, setCouponDelay } from "../api"; import useInitial from "@/hooks/useInitail"; import { Modal, Table, Form, DatePicker, Button, message, } from "antd"; import moment from 'moment'; interface Props { couponLog: { visible: boolean; id: number; no: string, delay?: boolean }; setCouponLog: Function; onChange: () => void; } // 日志类型 enum LogTypeEnum { "创建", "待生效", "待使用", "已锁定", "已使用 ", "已过期", "已作废 ", "激活 ", "延期", } const { Column } = Table; function CouponLog({ couponLog, setCouponLog, onChange }: Props) { const [form] = Form.useForm(); const { data, setParams, params, loading } = useInitial( getCouponLog, [], couponLog.id, !couponLog.id ); useEffect(() => { if (couponLog.visible) { setParams(params, true); } }, [couponLog]); const [confirmLoading, setConfirmLoading] = useState(false); const onFinish = () => { console.log("提交延迟"); form .validateFields() .then((field) => { setConfirmLoading(true); setCouponDelay({ ...field, id: couponLog.id }) .then((res) => { message.success("优惠券延期成功", 2); setCouponLog({ ...couponLog, visible: false }); onChange && onChange(); }) .catch((err) => message.error(err.message)) .finally(() => setConfirmLoading(false)); }) .catch((error) => message.error(error.message, 2)); }; return ( setCouponLog({ visible: false })} afterClose={() => form.resetFields()} footer={ !couponLog.delay ? null : [ , , ] } > {couponLog.delay ? ( <>
{couponLog.no}
) : ( ( {text !== undefined ? LogTypeEnum[text] : "--"} )} /> {text || "--"}} /> {text ? moment(text).format("YYYY-MM-DD HH:mm") : "--"}} /> {text || "--"}} />
)}
); } export default CouponLog;