wallet-generate
Version:
47 lines (42 loc) • 2.13 kB
Plain Text
import {{EntityName}}Service from "@/api/{{EntityVariableName}}";
import { {{EntityName}} } from "@/api/{{EntityVariableName}}/types";
import useUpdate from "@/application/helper/useUpdate";
import withContext from "@/application/helper/withContext";
import I18nContext from "@/application/i18n/I18nContext";
import { formValidateFailHandle, renderSelect, dateNormalizeToSubmit } from "@/application/utils";
import { Button, Form, FormItem, FormMethods, FormSubmitButton, Input, MessageBoxPopup, ModelFooter, Spin, ValidateConfig } from "@/application/xy-libs";
import { API_TYPES } from "@/config/constants";
import { DictItemsMap } from '@/api/dict/types';
import React, { useContext, useRef } from "react";
/**
* {{EntityDesc}}修改对话框
*/
function {{EntityName}}UpdateModal({ {{EntityVariableName}}Service, id, dictMaps }: { {{EntityVariableName}}Service?: {{EntityName}}Service; id: number; dictMaps?: DictItemsMap; }) {
const I18N = useContext(I18nContext);
const [formMethodsRef, loading, submit] = useUpdate<{{EntityName}}>(
I18N.entity.{{EntityName}}.entityName,
() => {{EntityVariableName}}Service.findById(id),
(data) => {{EntityVariableName}}Service.update(data),
);
const ValidConfig = useRef<ValidateConfig<{{EntityName}}>>({
{{ValidConfig}}
});
return (
<Form labelWidth="110px" onSubmit={submit} onValidateFail={formValidateFailHandle} validConfig={ValidConfig.current} getFormMethods={(methods) => (formMethodsRef.current = methods)}>
<div className="fake-modal-body">
<Spin spinning={loading} inline={false}>
{{AddComponent}}
</Spin>
</div>
<ModelFooter>
<Button type="text">{I18N.common.cancel}</Button>
<FormSubmitButton>
<Button className="submit-btn" type="primary">
{I18N.common.Confirm}
</Button>
</FormSubmitButton>
</ModelFooter>
</Form>
);
}
export default withContext({{EntityName}}UpdateModal, [API_TYPES.{{EntityName}}Service]);