DictEdit.tsx 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. import { useIntl } from "react-intl";
  2. import { ProForm } from "@ant-design/pro-components";
  3. import { message } from "antd";
  4. import type { IApiResponseDict, IDictRequest } from "../../api/Dict";
  5. import { get, put } from "../../request";
  6. import DictEditInner from "./DictEditInner";
  7. import type { IDictFormData } from "./DictCreate";
  8. interface IWidget {
  9. wordId?: string;
  10. }
  11. const DictEditWidget = ({ wordId }: IWidget) => {
  12. const intl = useIntl();
  13. return (
  14. <>
  15. <ProForm<IDictFormData>
  16. onFinish={async (values: IDictFormData) => {
  17. console.log(values);
  18. const request: IDictRequest = {
  19. id: values.id,
  20. word: values.word,
  21. type: values.type,
  22. grammar: values.grammar,
  23. mean: values.meaning,
  24. parent: values.parent,
  25. note: values.note,
  26. factors: values.factors,
  27. factormean: values.factormeaning,
  28. language: values.lang,
  29. confidence: values.confidence,
  30. };
  31. const res = await put<IDictRequest, IApiResponseDict>(
  32. `/v2/userdict/${wordId}`,
  33. request
  34. );
  35. console.log(res);
  36. if (res.ok) {
  37. message.success(intl.formatMessage({ id: "flashes.success" }));
  38. } else {
  39. message.success(res.message);
  40. }
  41. }}
  42. formKey="dict_edit"
  43. request={async () => {
  44. const res: IApiResponseDict = await get(`/v2/userdict/${wordId}`);
  45. return {
  46. id: 1,
  47. wordId: res.data.id,
  48. word: res.data.word,
  49. type: res.data.type,
  50. grammar: res.data.grammar,
  51. parent: res.data.parent,
  52. meaning: res.data.mean,
  53. note: res.data.note,
  54. factors: res.data.factors,
  55. factormeaning: res.data.factormean,
  56. lang: res.data.language,
  57. confidence: res.data.confidence,
  58. };
  59. }}
  60. >
  61. <DictEditInner />
  62. </ProForm>
  63. </>
  64. );
  65. };
  66. export default DictEditWidget;