/* * @Author: wangqiang@feewee.cn * @Date: 2023-02-10 17:52:44 * @LastEditors: wangqiang@feewee.cn * @LastEditTime: 2023-03-01 14:04:28 */ import { Button, DatePicker, Divider, Form, Input, message, Modal, Spin, } from "antd"; import React, { useEffect, useState } from "react"; import { useStore } from "../index"; import ProDescriptions from "@ant-design/pro-descriptions"; import { getIdentifyItemExpandInfoListApi, submitIdentifyAuditApi, } from "@/pages/identify/IdentifyAudit/api"; import moment from "moment"; import FeeweeUploadAttachment from "@/components/FeeweeUploadAttachment"; import DetailItem from "@/pages/ehr/Authentication/Settings/components/DetailItem"; const REMARK_KEY = "fw_other_remark"; export default function IdentifyAuditModal() { const { open, setOpen, current, setCurrent, Types, pagination, Type } = useStore(); const [editData, setEditData] = useState([]); const [form] = Form.useForm(); const [loading, setLoading] = useState(false); useEffect(() => { if (open) { if (current?.identifyCode && current?.extraData) { setLoading(true); getIdentifyItemExpandInfoListApi(current.identifyCode) .then((res) => { const expandListData = res.data || []; const _editData: IdentifyAudit.ExpandItem[] = []; const extraData: { [key: string]: string } = JSON.parse( current.extraData! ); const keys = Object.keys(extraData); const fields = {}; for (let key of keys) { const item = expandListData.find((i) => i.name === key); _editData.push({ name: key, data: extraData[key], ...(item || {}), }); const value = item?.type && Types[item.type] === "Date" ? moment(extraData[key]) : extraData[key]; fields[key] = value; } form.setFieldsValue(fields); setEditData(_editData); setLoading(false); }) .catch((error) => { console.error(error.message); message.error("初始化认证审核表单失败"); setEditData([]); setLoading(false); }); } } }, [open, current]); const cancel = () => { setCurrent(undefined); setOpen(false); }; const submit = (pass: boolean) => { form.validateFields().then((val) => { const remark = val[REMARK_KEY]; delete val[REMARK_KEY]; for (let key of Object.keys(val)) { if (typeof val[key] === "object") { val[key] = moment(val[key]).format("YYYY-MM-DD HH:mm:ss"); } } const auditData = JSON.stringify(val); setLoading(true); submitIdentifyAuditApi({ id: current?.id, pass, auditData, remark }) .then((res) => { message.success(res.result); setLoading(false); cancel(); pagination.setLoading(true); }) .catch((error) => { setLoading(false); message.error(error.message || "保存认证审核失败"); }); }); }; return ( 取消 , , , ]} width="50%" maskClosable={false} afterClose={() => { form.resetFields(); }} > {current?.identifyCode || "-"} {current?.identifyName || "-"} {pagination.innerParams?.type !== Type.员工认证 ? ( {current?.memberId || "-"} ) : null} {pagination.innerParams?.type !== Type.会员认证 ? ( {current?.staffId || "-"} ) : null} {pagination.innerParams?.type === Type.车辆认证 ? ( {current?.vin || "-"} ) : null} {current?.verify || "-"} } /> 可编辑审核数据如下
{editData.map((data) => ( {data.type && Types[data.type] === "Date" ? ( // @ts-ignore ) : ( )} ))}
); }