|
|
@@ -11,6 +11,7 @@ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent,
|
|
|
import { AreaForm } from '../components/AreaForm';
|
|
|
import { AreaTreeAsync } from '../components/AreaTreeAsync';
|
|
|
import type { CreateAreaInput, UpdateAreaInput } from '@d8d/server/modules/areas/area.schema';
|
|
|
+import { toast } from 'sonner';
|
|
|
|
|
|
// 类型提取规范
|
|
|
type AreaResponse = InferResponseType<typeof areaClient.$get, 200>['data'][0];
|
|
|
@@ -91,8 +92,21 @@ export const AreasTreePage: React.FC = () => {
|
|
|
queryClient.invalidateQueries({ queryKey: ['areas-subtree', variables.parentId] });
|
|
|
}
|
|
|
|
|
|
+ // 显示成功提示
|
|
|
+ toast.success('省市区创建成功');
|
|
|
+
|
|
|
+ // 关闭对话框
|
|
|
setIsCreateDialogOpen(false);
|
|
|
+
|
|
|
+ // 如果是创建子节点,还需要关闭子节点对话框
|
|
|
+ if (variables.parentId) {
|
|
|
+ setIsAddChildDialogOpen(false);
|
|
|
+ setParentAreaForChild(null);
|
|
|
+ }
|
|
|
},
|
|
|
+ onError: () => {
|
|
|
+ toast.error('创建失败,请重试');
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// 更新省市区
|
|
|
@@ -115,9 +129,15 @@ export const AreasTreePage: React.FC = () => {
|
|
|
queryClient.invalidateQueries({ queryKey: ['areas-subtree', selectedArea.parentId] });
|
|
|
}
|
|
|
|
|
|
+ // 显示成功提示
|
|
|
+ toast.success('省市区更新成功');
|
|
|
+
|
|
|
setIsEditDialogOpen(false);
|
|
|
setSelectedArea(null);
|
|
|
},
|
|
|
+ onError: () => {
|
|
|
+ toast.error('更新失败,请重试');
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// 删除省市区
|
|
|
@@ -139,9 +159,15 @@ export const AreasTreePage: React.FC = () => {
|
|
|
queryClient.invalidateQueries({ queryKey: ['areas-subtree', selectedArea.parentId] });
|
|
|
}
|
|
|
|
|
|
+ // 显示成功提示
|
|
|
+ toast.success('省市区删除成功');
|
|
|
+
|
|
|
setIsDeleteDialogOpen(false);
|
|
|
setSelectedArea(null);
|
|
|
},
|
|
|
+ onError: () => {
|
|
|
+ toast.error('删除失败,请重试');
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
// 启用/禁用省市区
|
|
|
@@ -164,9 +190,15 @@ export const AreasTreePage: React.FC = () => {
|
|
|
queryClient.invalidateQueries({ queryKey: ['areas-subtree', selectedArea.parentId] });
|
|
|
}
|
|
|
|
|
|
+ // 显示成功提示
|
|
|
+ toast.success(`省市区${selectedArea?.isDisabled === 0 ? '禁用' : '启用'}成功`);
|
|
|
+
|
|
|
setIsStatusDialogOpen(false);
|
|
|
setSelectedArea(null);
|
|
|
},
|
|
|
+ onError: () => {
|
|
|
+ toast.error('状态切换失败,请重试');
|
|
|
+ }
|
|
|
});
|
|
|
|
|
|
|