|
@@ -9,16 +9,20 @@ import {
|
|
|
ProFormMoney,
|
|
|
} from "@ant-design/pro-components";
|
|
|
import { Button, Space, message } from "antd";
|
|
|
-import { useEffect, useState } from "react";
|
|
|
+import { useEffect, useState, useMemo } from "react";
|
|
|
import Editor from "@/components/Editor";
|
|
|
import { customUploadRequest } from "@/utils";
|
|
|
import { SaveOrUpdateTemplate } from "@/api/templateStore";
|
|
|
-import { APPLICATION_SCENARIOS_OPTIONS, INDUSTRIE_OPTIONS, MODULE_TEMPLATE_TYPE } from "@/constants";
|
|
|
+import {
|
|
|
+ APPLICATION_SCENARIOS_OPTIONS,
|
|
|
+ INDUSTRIE_OPTIONS,
|
|
|
+ MODULE_TEMPLATE_TYPE,
|
|
|
+} from "@/constants";
|
|
|
|
|
|
export default ({
|
|
|
onSuccess,
|
|
|
editData,
|
|
|
- onClose
|
|
|
+ onClose,
|
|
|
}: {
|
|
|
onSuccess: () => void;
|
|
|
onClose: () => void;
|
|
@@ -32,11 +36,32 @@ export default ({
|
|
|
}, [editData]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
- if(!drawerVisit) {
|
|
|
+ if (!drawerVisit) {
|
|
|
onClose();
|
|
|
}
|
|
|
}, [drawerVisit]);
|
|
|
|
|
|
+ const initialValues = useMemo(() => {
|
|
|
+ if (editData) {
|
|
|
+ return {
|
|
|
+ ...editData,
|
|
|
+ industries: JSON.parse(editData.industries),
|
|
|
+ applicationScenarios: JSON.parse(editData.applicationScenarios),
|
|
|
+ icon: editData.icon
|
|
|
+ ? [
|
|
|
+ {
|
|
|
+ uid: editData.icon,
|
|
|
+ name: editData.icon,
|
|
|
+ status: "done",
|
|
|
+ url: `/api/File/Download?fileId=${editData.icon}`,
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ : [],
|
|
|
+ };
|
|
|
+ }
|
|
|
+ return {};
|
|
|
+ }, [editData]);
|
|
|
+
|
|
|
return (
|
|
|
<>
|
|
|
<Space>
|
|
@@ -55,13 +80,14 @@ export default ({
|
|
|
onOpenChange={setDrawerVisit}
|
|
|
title="新增模版"
|
|
|
open={drawerVisit}
|
|
|
+ initialValues={initialValues}
|
|
|
onFinish={async (values: any) => {
|
|
|
await SaveOrUpdateTemplate({
|
|
|
...values,
|
|
|
id: editData?.id,
|
|
|
version: editData?.version,
|
|
|
- icon: values.icon[0]?.response?.id || '',
|
|
|
- tags: values.tags?.replaceAll(',', ','),
|
|
|
+ icon: values?.icon?.[0]?.response.id || values?.icon?.[0].uid || "",
|
|
|
+ tags: values.tags?.replaceAll(",", ","),
|
|
|
detail: html,
|
|
|
isFree: !editData?.price,
|
|
|
});
|
|
@@ -103,7 +129,10 @@ export default ({
|
|
|
label="模版名称"
|
|
|
tooltip="最长为 30 位"
|
|
|
placeholder="请输入名称"
|
|
|
- rules={[{ required: true , message: '请输入名称'}, { max: 30, message: '名称不能超过30个字符' }]}
|
|
|
+ rules={[
|
|
|
+ { required: true, message: "请输入名称" },
|
|
|
+ { max: 30, message: "名称不能超过30个字符" },
|
|
|
+ ]}
|
|
|
/>
|
|
|
|
|
|
<ProFormUploadButton
|
|
@@ -117,6 +146,7 @@ export default ({
|
|
|
}}
|
|
|
name="icon"
|
|
|
label="图标"
|
|
|
+ rules={[{ required: true, message: "请上传应用图标" }]}
|
|
|
/>
|
|
|
</ProForm.Group>
|
|
|
<ProFormTextArea
|