From 50f7b99bbe689a15b033355f9342a8c9f9a798af Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Tue, 23 Jan 2024 18:03:32 +0800 Subject: [PATCH] Optimize code --- src/pages/System/Tools/Base.tsx | 1 - src/pages/System/Tools/Template.tsx | 135 +++++++++++++++------------- 2 files changed, 71 insertions(+), 65 deletions(-) diff --git a/src/pages/System/Tools/Base.tsx b/src/pages/System/Tools/Base.tsx index e0b0596..d4a4907 100644 --- a/src/pages/System/Tools/Base.tsx +++ b/src/pages/System/Tools/Base.tsx @@ -136,7 +136,6 @@ const Base = () => { )} ), - dataIndex: 'enable', width: '12em', align: 'center', render: (_, record) => ( diff --git a/src/pages/System/Tools/Template.tsx b/src/pages/System/Tools/Template.tsx index 882f445..f9a2eed 100644 --- a/src/pages/System/Tools/Template.tsx +++ b/src/pages/System/Tools/Template.tsx @@ -74,10 +74,6 @@ const Template = () => { ) const handleOnAddBtnClick = () => { - if (Object.keys(hasEdited).length) { - void message.warning('新增前请保存修改') - return - } setIsDrawerEdit(false) setIsDrawerOpen(true) form.setFieldValue('id', undefined) @@ -105,21 +101,21 @@ const Template = () => { { title: '创建时间', dataIndex: 'createTime', - width: '20%', + width: '0', align: 'center', render: (value: string) => utcToLocalTime(value) }, { title: '修改时间', dataIndex: 'updateTime', - width: '20%', + width: '0', align: 'center', render: (value: string) => utcToLocalTime(value) }, { title: '状态', dataIndex: 'enable', - width: '5%', + width: '0', align: 'center', render: (value) => value ? 启用 : 禁用 @@ -127,15 +123,20 @@ const Template = () => { { title: ( <> - 操作 ( - - 新增 - - ) + 操作 + {!Object.keys(hasEdited).length && ( + <> + {' '} + ( + + 新增 + + ) + + )} ), - dataIndex: 'enable', - width: '15em', + width: '8em', align: 'center', render: (_, record) => ( <> @@ -150,14 +151,16 @@ const Template = () => { )} - - - 编辑 - - + {!Object.keys(hasEdited).length && ( + + + 编辑 + + + )} { const handleOnEditBtnClick = (value: ToolTemplateVo) => { return () => { - if (Object.keys(hasEdited).length) { - void message.warning('编辑前请保存修改') - return - } - setIsDrawerEdit(true) setIsDrawerOpen(true) form.setFieldValue('id', value.id) @@ -362,6 +360,16 @@ const Template = () => { ...templateDetailData, [record.id]: response.data! }) + setTemplateData( + templateData.map((value) => + value.id === response.data!.id + ? { + ...response.data!, + source: { id: response.data!.source.id } + } + : value + ) + ) break default: void message.error(`获取模板 ${record.name} 文件内容失败,请稍后重试`) @@ -382,11 +390,6 @@ const Template = () => { } const handleOnAddFile = () => { - if (Object.keys(hasEdited).length) { - void message.warning('新建文件前请先保存更改') - return - } - void modal.confirm({ title: '新建文件', content: ( @@ -493,11 +496,17 @@ const Template = () => { { title: ( <> - 操作 ( - - 新增 - - ) + 操作 + {!Object.keys(hasEdited).length && ( + <> + {' '} + ( + + 新增 + + ) + + )} ), dataIndex: 'enable', @@ -514,22 +523,26 @@ const Template = () => { 编辑 - - - 重命名 - - - - - 删除 - - + {!Object.keys(hasEdited).length && ( + + + 重命名 + + + )} + {!Object.keys(hasEdited).length && ( + + + 删除 + + + )} ) @@ -551,10 +564,6 @@ const Template = () => { const handleOnRenameFile = (fileName: string) => { return () => { - if (Object.keys(hasEdited).length) { - void message.warning('重命名文件前请先保存更改') - return - } renameFileForm.setFieldValue('fileName', fileName) void modal.confirm({ title: '重命名文件', @@ -655,11 +664,6 @@ const Template = () => { const handleOnDeleteFile = (fileName: string) => { return () => { - if (Object.keys(hasEdited).length) { - void message.warning('删除文件前请先保存更改') - return - } - modal .confirm({ title: '确定删除', @@ -726,7 +730,9 @@ const Template = () => { const handleOnChangeFileContent = (_content: string, _fileName: string, files: IFiles) => { setEditingFiles({ ...editingFiles, [editingTemplateId]: files }) - setHasEdited({ ...hasEdited, [editingTemplateId]: true }) + if (!hasEdited[editingTemplateId]) { + setHasEdited({ ...hasEdited, [editingTemplateId]: true }) + } } const getBaseData = () => { @@ -859,6 +865,7 @@ const Template = () => { onChangeFileContent={handleOnChangeFileContent} showFileSelector={false} tsconfig={tsconfig} + readonly={isLoading || templateDetailLoading[editingTemplateId]} />
@@ -868,7 +875,7 @@ const Template = () => {