feat(edit): 编辑页开发

This commit is contained in:
R524809
2026-09-11 17:28:58 +08:00
parent 1b03ea5871
commit da7342b466
21 changed files with 1910 additions and 857 deletions
+24 -8
View File
@@ -19,6 +19,7 @@ import {
import type { MenuProps, TableProps } from 'antd';
import {
ApiOutlined,
BugOutlined,
CloudDownloadOutlined,
DeleteOutlined,
MoreOutlined,
@@ -361,6 +362,14 @@ const ShopsPage = () => {
if (result?.operation) void pollOperation(result.operation.id);
});
const handleSyncCategoryTree = (store: Store) =>
withPending(store, async () => {
const result = await storesApi.requestCategoryTreeSync(store.id);
message.success(
`门店类目已刷新:${result.active_category_count}/${result.category_count} 个可发布类目`
);
});
const handleSyncWarehouses = (store: Store) =>
withPending(store, async () => {
const result = await storesApi.requestWarehouseSync(store.id);
@@ -401,6 +410,7 @@ const ShopsPage = () => {
disabled: store.is_default,
},
{ key: 'verify', icon: <ReloadOutlined />, label: '重新验证凭据' },
{ key: 'sync-category-tree', icon: <CloudDownloadOutlined />, label: '刷新门店类目' },
{ key: 'sync', icon: <CloudDownloadOutlined />, label: '同步仓库' },
{ type: 'divider' },
{ key: 'delete', icon: <DeleteOutlined />, label: '删除店铺', danger: true },
@@ -411,6 +421,7 @@ const ShopsPage = () => {
({ key }) => {
if (key === 'set-default') void handleSetDefault(store);
else if (key === 'verify') void handleVerify(store);
else if (key === 'sync-category-tree') void handleSyncCategoryTree(store);
else if (key === 'sync') void handleSyncWarehouses(store);
else if (key === 'delete') handleDelete(store);
};
@@ -549,14 +560,19 @@ const ShopsPage = () => {
<Card
title={`店铺管理${currentPlatform ? ` · ${currentPlatform.name}` : ''}`}
extra={
<Button
type="primary"
icon={<PlusOutlined />}
disabled={!currentPlatform}
onClick={openCreate}
>
添加店铺
</Button>
<Space>
<Button href="/shops/category-tree-debug" icon={<BugOutlined />}>
类目调试
</Button>
<Button
type="primary"
icon={<PlusOutlined />}
disabled={!currentPlatform}
onClick={openCreate}
>
添加店铺
</Button>
</Space>
}
>
{platforms.length === 0 && !currentPlatform ? (