@if (className() === '_User' && !draftId()) {
} @else {
@if (className() === 'Model' || className() === 'ModelField') {
仅编辑安全元数据模型编号、表名、字段名、字段类型和排序属于数据库结构,已锁定。新增、删除、复制或改变字段类型需要 PostgreSQL DDL 与旧模板运行时,当前会明确返回迁移阻塞。
}
@if (className() === 'Search') {
现有快捷入口编辑旧数字 ID 在目标兼容层不可写,因此仅允许编辑现有入口;启停、推荐和排序请在列表批量工具中操作。旧全局后台起始页依赖的 SiteConfig 持久层已不存在。
}
@if (className() === 'AdZone' || className() === 'AdInfo') {
现有{{ className() === 'AdZone' ? '广告位' : '广告内容' }}编辑旧数字 ID 与 Parse 保留字段冲突,创建探测不会生成旧编号,因此当前只允许安全编辑现有记录;新增请求会返回明确迁移阻塞。
}
@if (className() === 'FontPicShape' || className() === 'FontPicShapeType') {
现有{{ className() === 'FontPicShape' ? '图形素材' : '图形分类' }}编辑目标兼容层无法生成旧数字 ID,因此仅维护现有记录;新增请求返回明确迁移阻塞。成品字体图和草稿没有目标 Schema,已单独列入数据阻塞。
}
@if (className() === 'DesignAsk' || className() === 'DesignQuestion') {
现有{{ className() === 'DesignAsk' ? '问卷' : '题目' }}编辑兼容层可读取旧 ID,但新增探测证明 sourceKey 不能生成旧数字 ID,因此仅允许维护现有记录;新增请求返回明确迁移阻塞。题目排序、问卷启停和删除请使用列表批量工具。
}
@if (className() === 'DesignAnswer') {
答卷只读详情旧答卷答案明细已折叠在 answer JSON 字段中;可查看与批量删除,不能从后台篡改作答内容。问卷 {{ draft()['askId'] }} · 答卷 {{ draft()['id'] }} · 用户 {{ draft()['userId'] || '匿名' }} · {{ display(draft()['cdate']) }}{{ display(draft()['answer']) }}
}
@if (className() === 'Temp') {
现有客服欢迎语编辑仅展示 useType=12 的客服欢迎语。旧数字 ID 无法安全生成,因此新增请求返回明确迁移阻塞;欢迎语 HTML 作为数据保存,不在管理端执行。
}
@if (className() === 'StoreApplication' || className() === 'StoreStyle') {
现有{{ className() === 'StoreApplication' ? '店铺' : '店铺样式' }}编辑{{ className() === 'StoreApplication' ? '旧模型 6 动态字段创建链和商品主表均已缺失,因此仅维护现有店铺且禁止真实删除;审核与推荐可在列表操作。' : '旧数字 ID 无法安全生成,因此仅维护现有样式;仍被店铺引用的样式不能删除。' }}
}
@if (className() === 'ContentTagKey') {
保存时按旧逻辑移除空白、引号和反斜杠;顺序保持不变。
}
@if (className() === 'UserLevel') {
现有积分等级编辑仅维护旧页面的等级别名、积分阈值、图片和备注。UserLevel.id 与 Parse 保留字段冲突,因此新增请求会返回明确迁移阻塞。
}
@if (className() === 'CRMSAttr') {
CRM 客户类型仅展示旧 ztype=ctype 记录;编号由云函数在帐套内原子分配,名称防重。客户、联系人、服务记录和经销商申请主表未迁入,不会以其他数据类冒充。
}
@if (className() === 'ShopFareTlp') {
商城运费模板模板名称、计价方式、运费规则 JSON 与两项备注由专用云函数校验;旧数字 ID 在帐套内原子分配。DeliveryCenter 是不同业务,不参与本页。
}
@if (className() === 'MisType') {
OA 流程类型名称和说明由专用云函数校验,旧数字 ID 在帐套内原子分配;仍被流程引用的类型不能删除。
}
@if (className() === 'PageStyle') {
用户黄页样式名称、模板路径、缩略图、排序、启用与默认状态由专用云函数校验;旧 PageNodeid 在帐套内原子分配,同一帐套只保留一个默认样式,仍被页面模板引用的样式不能删除。
}
@if (className() === 'PlatComp') {
协同办公企业企业主表与旧 User_Plat 成员已按原字段迁移;企业 ID 由云函数原子分配,创建账号必须是同帐套且具备旧用户 ID。删除会保护仍有成员或 PlatUserRole 角色的企业。
@if (draftId()) {
}
}
@if (['ExamSysPapers', 'ExamSysQuestions', 'PaperQuestions', 'ExamType', 'ContentPublish', 'PublishNode'].includes(className())) {
考试与报刊历史数据只读已保留帐套隔离列表、搜索和详情;试卷题目关系、答案解析、发布父子结构与旧数字 ID 不能通过通用表单修改,等待对应专用写入链完成。
}
@if (className() === 'UserMoneyLog') {
资金积分流水只读旧单表已按余额、银币、经验、积分、虚拟币和信用分拆分为六个规范化账本;管理页只合并查看,不允许篡改历史流水。
}
@if (className() === 'UserPromotion') {
用户推广关系只读从旧用户数据的 ParentUserID 实时还原邀请人和直属推广人数;日期范围按旧逻辑统计该期间注册的直属成员,不修改已建立的邀请链。用户 {{ draft()['userId'] }} · 邀请人 {{ draft()['parentUserName'] || '无' }}({{ draft()['parentUserId'] || 0 }})· 推广 {{ draft()['promotionCount'] || 0 }} 人
}
@if (className() === 'DesignRes') {
历史设计资源元数据可编辑名称、类型、用途、状态及样式/函数字段;原文件和预览图保留旧路径并只读。Parse 文件适配器修复前,新增与替换文件会明确阻断。{{ draft()['vpath'] || '无原文件路径' }} · {{ draft()['previewimg'] || '无预览图路径' }}
}
@if (className() === 'DesignScence') {
普通可视化场景仅编辑旧 SceneAdd 允许的标题、所属用户、积分、状态、搜索标记、预览图、缩略图、说明和 Meta;页面、组件、资源 JSON、路径、旧编号和模板关系保持只读。场景 ID {{ draft()['id'] }} · 用户 {{ draft()['userName'] || '—' }}({{ draft()['userId'] || '—' }})
@if (draftId()) {
@if (designSceneActionError()) { {{ designSceneActionError() }}
}@if (designSceneActionMessage()) { {{ designSceneActionMessage() }}
} }
}
@if (className() === 'DesignTlp') {
可视化模板与模板场景新增模板时同步创建一个空模板场景;模板编号和场景编号均由云函数原子分配。分类主表已经丢失,因此只保留并编辑原始 classId 数字,不伪造分类名称。@if (draftId()) { 模板 ID {{ draft()['id'] }} · 场景 GUID {{ $any(draft()['designScene'])?.['guid'] || '缺失' }} }
@if (draftId()) {
@if (designTemplateActionError()) { {{ designTemplateActionError() }}
}@if (designTemplateActionMessage()) { {{ designTemplateActionMessage() }}
} }
}
@if (className() === 'Role') {
{{ (draft()['ztype'] || filterRoleType()) === 'user' ? '用户角色' : '管理员角色' }}角色编号、类型、状态和创建人由云函数维护;类型创建后不可迁移。旧 B_ARoleAuth 权限校验在交付程序中固定返回 true,下方完整保留旧权限码,但不用它绕过新云函数的管理员校验。@if (draftId()) { 角色 ID {{ draft()['roleId'] }} · {{ draft()['ztype'] }} }
@if (draftId()) {
@for (field of roleAuthorizationFields; track field[0]) { }@if (roleAuthorizationError()) { {{ roleAuthorizationError() }}
}@if (roleAuthorizationMessage()) { {{ roleAuthorizationMessage() }}
}
}
}
@if (className() === 'Baike') {
百科词条只读详情目标仅保留 Baike 主记录;可在列表执行审核和推荐状态操作。旧 BaikeEdit 版本表、版本应用/驳回链与积分奖励运行时已缺失,不提供伪版本操作。
}
@for (field of schema()?.fields || []; track field.name) { @if (field.writable) {
} }
@if (className() === 'AdInfo') {
}
@if (className() === 'AdZone' && draftId()) {
@if (adPreviewError()) { {{ adPreviewError() }}
}
@for (ad of adPreview(); track ad['objectId']) {
{{ ad['name'] }}权重 {{ ad['priority'] || 0 }} · {{ display(ad['sdate']) }} 至 {{ display(ad['edate']) }}@if (ad['image'] || ad['images']) { {{ ad['image'] || ad['images'] }} }@if (ad['text']) { {{ ad['text'] }}
}@if (ad['html']) { {{ ad['html'] }} } } @empty { @if (!adPreviewLoading() && !adPreviewError()) {
当前没有生效广告
} }
}
@if (className() === 'FontPicShape') {
@if (fontShapePreview()) { ![图形素材预览]()
{{ fontShapePreview() }} }
图片替换暂不可用:当前 Parse Server 的 SDK 与 /files REST 接口都错误要求 MongoDB 连接串;本项目数据库为 PostgreSQL。云函数会对此返回明确 501,不会伪装上传成功。
}
@if (className() === 'ServiceSeat') {
}
@if (className() === 'StoreApplication') {
}
@if (className() === 'CommonModel' && draftId()) {
@if (contentStatusValue() === -2) { } @else { }
@if (contentActionError()) { {{ contentActionError() }}
}
@if (contentActionMessage()) { {{ contentActionMessage() }}
}
@if (duplicateContentTitles().length) { @for (item of duplicateContentTitles(); track item['objectId']) { ID {{ item['generalId'] || item['objectId'] }} · 节点 {{ item['nodeId'] || 0 }} · {{ contentStatusLabel($any(item['status'])) }} }
}
}
@if (className() === 'Node') {
@if (draftId()) {
@if (nodeStatusValue() === -2) { } @else { }
@if (nodeActionError()) { {{ nodeActionError() }}
}
@if (nodeActionMessage()) { {{ nodeActionMessage() }}
}
}
}
@if (className() === 'Special') {
}
@if (className() === 'Guestcate') {
}
@if (className() === 'ExamClass') {
}
@if (className() === 'ExamPoint') {
}
@if (className() === 'QuestionsKnowledge') {
}
@if (className() === 'ExTeacher') {
}
@if (className() === 'Datadiccategory') {
}
@if (className() === 'Datadic') {
}
@if (className() === 'GradeCate') {
}
@if (className() === 'Grade') {
}
@if (className() === 'Guestbook' && draftId()) {
@if (selectedGuestbookStatus() === -2) { } @else { }
@if (guestbookActionError()) { {{ guestbookActionError() }}
}
@if (guestbookActionMessage()) { {{ guestbookActionMessage() }}
}
}
@if (className() === 'GuestBar' && draftId()) {
@if (draft()['status'] === -2) { } @else { }
@if (barActionError()) { {{ barActionError() }}
}
@if (barActionMessage()) { {{ barActionMessage() }}
}
}
@if (className() === '_User' && draftId()) {
@if (draft()['isDisabled'] === true) { } @else { }
@if (userActionError()) { {{ userActionError() }}
}
@if (userActionMessage()) { {{ userActionMessage() }}
}
}
}