调整行为树挂载到平台的逻辑,修复发送平台变量未正确渲染

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
2026-04-20 20:06:08 +08:00
parent 4252b3f514
commit abe0315536
6 changed files with 65 additions and 48 deletions

View File

@@ -101,7 +101,7 @@ import { DeleteOutlined, LinkOutlined, CheckOutlined, SettingOutlined } from '@a
import type { Graph } from '@antv/x6';
import { message } from 'ant-design-vue';
import { substring } from '@/utils/strings';
import { updateBehaviorTree } from './api';
import { updateBehaviorTree, updateBehaviorTreeIdOfPlatform } from './api';
import type { BehaviorTree } from '../designer/tree';
export default defineComponent({
@@ -156,7 +156,7 @@ export default defineComponent({
// 判断行为树是否已挂载到当前节点
const isTreeMounted = (treeId: number): boolean => {
if (!element.value) return false;
const currentTreeId = (element.value as any).behaviorTreeId as number | undefined;
const currentTreeId = (element.value as any).behaviortreeId as number | undefined;
return currentTreeId === treeId;
};
@@ -188,25 +188,23 @@ export default defineComponent({
if (!element.value) return;
try {
// 更新节点的behaviorTreeId属性
const updatedElement = { ...(element.value as any), behaviorTreeId: tree.id };
// 更新节点的behaviortreeId属性
const updatedElement = { ...(element.value as any), behaviortreeId: tree.id };
// 调用后端API更新行为树(将platformId关联到该平台)
const platformIdValue = (element.value as any).platformId as number | undefined;
const treeToUpdate = {
...tree,
platformId: platformIdValue ?? null
};
const updateResponse = await updateBehaviorTree(treeToUpdate);
if (updateResponse.code === 200) {
// 调用后端API:同时更新平台表的 behaviortreeId 和行为树表的 platformId
const platformIdValue = (element.value as any).platformId as number;
const [platformRes, treeRes] = await Promise.all([
updateBehaviorTreeIdOfPlatform({ id: platformIdValue, behaviortreeId: tree.id }),
updateBehaviorTree({ ...tree, platformId: platformIdValue }),
]);
if (platformRes.code === 200 && treeRes.code === 200) {
// 更新本地节点数据
if (_props.node) {
_props.node.setData(updatedElement);
}
message.success(`已成功挂载行为树: ${tree.name}`);
} else {
message.error(updateResponse.msg || '挂载失败');
message.error(platformRes.msg || treeRes.msg || '挂载失败');
}
} catch (error) {
console.error('挂载行为树失败:', error);