fix: 1. 重新对齐交叉评查的接口。
2. 确认评查结果的接口对接。 3. 新增评查点适配省级创建的响应数据和其他用户创建的单条响应数据。 4. 文档列表的文档类型通过通用的查询接口查询文档类型。优化加载状态的时机。
This commit is contained in:
@@ -853,11 +853,43 @@ export default function RuleNew() {
|
||||
setIsLoading(false);
|
||||
} else if (response.data) {
|
||||
// 获取新创建或更新的评查点ID
|
||||
const savedPointId = response.data.id;
|
||||
let savedPointId: number | undefined;
|
||||
let successMessage = '';
|
||||
|
||||
if (isEditMode) {
|
||||
// 编辑模式:直接从 response.data.id 获取
|
||||
savedPointId = response.data.id;
|
||||
successMessage = '评查点更新成功!';
|
||||
} else {
|
||||
// 创建模式:从 items 数组中找到 code 不包含 '--' 后缀的基础评查点
|
||||
const responseData = response.data as {
|
||||
success?: boolean;
|
||||
total_created?: number;
|
||||
message?: string;
|
||||
items?: Array<{ id: number; code: string; [key: string]: unknown }>;
|
||||
};
|
||||
|
||||
if (responseData.items && Array.isArray(responseData.items) && responseData.items.length > 0) {
|
||||
// 查找 code 不包含 '--' 的评查点(基础评查点)
|
||||
const baseItem = responseData.items.find(item => !item.code.includes('--'));
|
||||
if (baseItem) {
|
||||
savedPointId = baseItem.id;
|
||||
} else {
|
||||
// 如果所有 code 都包含 '--',取第一个
|
||||
savedPointId = responseData.items[0].id;
|
||||
}
|
||||
// 使用后端返回的消息,或生成默认消息
|
||||
successMessage = responseData.message || `评查点创建成功! 共创建 ${responseData.total_created || responseData.items.length} 个地区的评查点`;
|
||||
} else if (response.data.id) {
|
||||
// 兼容旧格式:直接返回单个评查点
|
||||
savedPointId = response.data.id;
|
||||
successMessage = '评查点创建成功!';
|
||||
}
|
||||
}
|
||||
|
||||
if (savedPointId) {
|
||||
// 显示成功消息
|
||||
toastService.success(`评查点${isEditMode ? '更新' : '创建'}成功!`);
|
||||
toastService.success(successMessage);
|
||||
|
||||
// 保存成功后跳转到编辑页面并重新加载数据
|
||||
navigate(`/rules/new?id=${savedPointId}`, { replace: true });
|
||||
|
||||
Reference in New Issue
Block a user