diff --git a/packages/admin/src/components/UpdateModal/index.tsx b/packages/admin/src/components/UpdateModal/index.tsx
new file mode 100644
index 000000000..4aba79b1a
--- /dev/null
+++ b/packages/admin/src/components/UpdateModal/index.tsx
@@ -0,0 +1,148 @@
+import { getAllCategories, getTags, updateArticle, updateDraft } from '@/services/van-blog/api';
+import { ModalForm, ProFormSelect, ProFormText } from '@ant-design/pro-form';
+import { message } from 'antd';
+
+export default function (props: {
+ currObj: any;
+ setLoading: any;
+ onFinish: any;
+ type: 'article' | 'draft' | 'about';
+}) {
+ const { currObj, setLoading, type, onFinish } = props;
+ return (
+
+ 修改信息
+
+ }
+ width={450}
+ autoFocusFirstInput
+ submitTimeout={3000}
+ initialValues={currObj || {}}
+ onFinish={async (values) => {
+ if (!currObj || !currObj.id) {
+ return false;
+ }
+ setLoading(true);
+ if (type == 'article') {
+ await updateArticle(currObj?.id, values);
+ onFinish();
+ message.success('修改文章成功!');
+ setLoading(false);
+ } else if (type == 'draft') {
+ await updateDraft(currObj?.id, values);
+ onFinish();
+ message.success('修改草稿成功!');
+ setLoading(false);
+ } else {
+ return false;
+ }
+
+ return true;
+ }}
+ layout="horizontal"
+ labelCol={{ span: 6 }}
+ key="editForm"
+ // wrapperCol: { span: 14 },
+ >
+
+ {
+ const msg = await getTags();
+ return msg?.data?.map((item) => ({ label: item, value: item })) || [];
+ }}
+ />
+ {
+ const { data: categories } = await getAllCategories();
+ return categories?.map((e) => {
+ return {
+ label: e,
+ value: e,
+ };
+ });
+ }}
+ />
+ {type == 'article' && (
+ <>
+
+ {
+ return [
+ {
+ label: '否',
+ value: false,
+ },
+ {
+ label: '是',
+ value: true,
+ },
+ ];
+ }}
+ />
+
+ {
+ return [
+ {
+ label: '否',
+ value: false,
+ },
+ {
+ label: '是',
+ value: true,
+ },
+ ];
+ }}
+ />
+ >
+ )}
+
+ );
+}
diff --git a/packages/admin/src/pages/Editor/index.jsx b/packages/admin/src/pages/Editor/index.jsx
index ccdc3746d..9bbc7adaa 100644
--- a/packages/admin/src/pages/Editor/index.jsx
+++ b/packages/admin/src/pages/Editor/index.jsx
@@ -1,18 +1,16 @@
import Editor from '@/components/Editor';
import PublishDraftModal from '@/components/PublishDraftModal';
import Tags from '@/components/Tags';
+import UpdateModal from '@/components/UpdateModal';
import {
getAbout,
- getAllCategories,
getArticleById,
getDraftById,
- getTags,
updateAbout,
updateArticle,
updateDraft,
} from '@/services/van-blog/api';
import { DownOutlined } from '@ant-design/icons';
-import { ModalForm, ProFormSelect, ProFormText } from '@ant-design/pro-components';
import { PageContainer } from '@ant-design/pro-layout';
import { Button, Dropdown, Menu, message, Modal, Space, Tag } from 'antd';
import { debounce } from 'lodash';
@@ -138,142 +136,14 @@ export default function () {
},
type != 'about'
? {
- key: 'updateBtn',
+ key: 'updateModalBtn',
label: (
-
- 修改信息
-
- }
- width={450}
- autoFocusFirstInput
- submitTimeout={3000}
- initialValues={currObj || {}}
- onFinish={async (values) => {
- if (!currObj || !currObj.id) {
- return false;
- }
- setLoading(true);
- if (type == 'article') {
- await updateArticle(currObj?.id, values);
- await fetchData();
- message.success('修改文章成功!');
- setLoading(false);
- } else if (type == 'draft') {
- await updateDraft(currObj?.id, values);
- await fetchData();
- message.success('修改草稿成功!');
- setLoading(false);
- } else {
- return false;
- }
-
- return true;
- }}
- layout="horizontal"
- labelCol={{ span: 6 }}
- key="editForm"
- // wrapperCol: { span: 14 },
- >
-
- {
- const msg = await getTags();
- return msg?.data?.map((item) => ({ label: item, value: item })) || [];
- }}
- />
- {
- const { data: categories } = await getAllCategories();
- return categories?.map((e) => {
- return {
- label: e,
- value: e,
- };
- });
- }}
- />
- {type == 'article' && (
- <>
-
- {
- return [
- {
- label: '否',
- value: false,
- },
- {
- label: '是',
- value: true,
- },
- ];
- }}
- />
-
- {
- return [
- {
- label: '否',
- value: false,
- },
- {
- label: '是',
- value: true,
- },
- ];
- }}
- />
- >
- )}
-
+
),
}
: null,