From 8978272cb6ccb79e1267b61c2881623803ef6ba5 Mon Sep 17 00:00:00 2001 From: JY <1140938202@qq.com> Date: Mon, 7 Jul 2025 16:52:19 +0800 Subject: [PATCH] fix --- src/ts/core/thing/resource.ts | 4 ++++ src/ts/core/thing/standard/view/baseView.ts | 19 ++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/ts/core/thing/resource.ts b/src/ts/core/thing/resource.ts index 5481e0774..46d25d2e8 100644 --- a/src/ts/core/thing/resource.ts +++ b/src/ts/core/thing/resource.ts @@ -32,6 +32,7 @@ import { XAssignTask, XAssignTaskTree, XAssignTaskTreeNode, XOrder, + XAttribute, } from '../../base/schema'; import { BucketOpreates, ChatMessageType, Transfer } from '@/ts/base/model'; import { kernel, model } from '@/ts/base'; @@ -91,6 +92,7 @@ export class DataResource { this.orderColl = this.genTargetColl('mall-order'); this.assignTaskTreePublicColl = this.genTargetColl('-assign-task-tree'); + this.attributeColl = this.genTargetColl('standard-form-attribute'); } /** 表单集合 */ formColl: XCollection; @@ -166,6 +168,8 @@ export class DataResource { orderColl: XCollection; /** 任务树公共集合 */ assignTaskTreePublicColl: XCollection; + /** 属性集合 */ + attributeColl: XCollection; /** 资源对应的用户信息 */ get targetMetadata() { return this.target; diff --git a/src/ts/core/thing/standard/view/baseView.ts b/src/ts/core/thing/standard/view/baseView.ts index d9e1e38b8..7bf9bd9c3 100644 --- a/src/ts/core/thing/standard/view/baseView.ts +++ b/src/ts/core/thing/standard/view/baseView.ts @@ -128,7 +128,24 @@ export class BaseView extends StandardFileInfo implements IBaseVie let data = await this.directory.resource.viewColl.find([this.id]); // 兼容历史 表单视图 查看 if (data.length === 0) { - data = (await this.directory.resource.formColl.find([this.id])) as any; + if (this._metadata.primaryId && this._metadata.primaryId.length > 0) { + var attrs = await this.directory.resource.attributeColl.loadSpace({ + options: { + match: { + formId: this.id, + isDeleted: false, + }, + }, + }); + this.metadata.attributes = attrs.map((a) => { + return { ...a, id: a.primaryId ?? a.id }; + }); + if (this.metadata.attributes.length >= 0) { + data = { ...this._metadata, attributes: attrs } as any; + } + } else { + data = (await this.directory.resource.formColl.find([this.id])) as any; + } } if (data.length > 0) { this._metadata = data[0]; -- Gitee