@microi.net/cli 5.8.5 → 5.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codebuddy-plugin/marketplace.json +2 -2
- package/.codebuddy-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/.workbuddy-plugin/marketplace.json +2 -2
- package/.workbuddy-plugin/plugin.json +1 -1
- package/LICENSE +21 -21
- package/README.md +71 -71
- package/assets/build-meta.json +6 -6
- package/assets/feature-matrix.json +138 -138
- package/assets/logo.svg +4 -4
- package/cordis.patch.yml +1 -1
- package/package.json +1 -1
- package/scripts/codex-marketplace.json +20 -20
- package/scripts/mcp-codex-stdio-adapter.js +189 -189
- package/scripts/mcp-trae-windows-launcher.cmd +21 -21
- package/scripts/microi-cli-mcp.js +7 -7
- package/scripts/microi-cli.js +66 -65
- package/scripts/microi-codex-broker.js +450 -450
- package/scripts/microi-codex-router.js +618 -618
- package/scripts/microi-skills.meta.json +384 -384
- package/skills/.microi-skills-version.json +2 -2
- package/skills/.progressive-disclosure-manifest.json +3566 -3566
- package/skills/README.md +287 -287
- package/skills/ai-engine/SKILL.md +269 -265
- package/skills/ai-engine/agents/openai.yaml +4 -4
- package/skills/ai-engine/references/ai-employees.md +48 -48
- package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
- package/skills/ai-platform-governance/SKILL.md +177 -177
- package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
- package/skills/app-store/SKILL.md +525 -525
- package/skills/app-store/agents/openai.yaml +4 -4
- package/skills/business-blueprint/SKILL.md +193 -193
- package/skills/datasource-engine/SKILL.md +93 -93
- package/skills/datasource-engine/agents/openai.yaml +4 -4
- package/skills/dos-orm/SKILL.md +97 -97
- package/skills/dos-orm/references/api-reference.md +229 -229
- package/skills/email-engine/SKILL.md +81 -81
- package/skills/email-engine/references/v8-email.md +34 -34
- package/skills/job-engine/SKILL.md +176 -176
- package/skills/job-engine/agents/openai.yaml +4 -4
- package/skills/message-notification/SKILL.md +156 -156
- package/skills/message-notification/agents/openai.yaml +5 -5
- package/skills/message-notification/references/contracts.md +102 -102
- package/skills/microi/SKILL.md +14 -14
- package/skills/microi-ai-app-auth.js +652 -652
- package/skills/microi-ai-application/SKILL.md +115 -115
- package/skills/microi-ai-application/agents/openai.yaml +4 -4
- package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
- package/skills/microi-client-frontend/SKILL.md +244 -244
- package/skills/microi-client-frontend/references/progressive-01-3-/345/212/250/346/200/201/346/214/211/351/222/256/347/263/273/347/273/237.md +144 -144
- package/skills/microi-client-frontend/references/progressive-02-8-/350/277/220/350/241/214/346/227/266/351/253/230/351/242/221/345/235/221/345/244/215/347/233/230.md +196 -196
- package/skills/microi-client-frontend/references/progressive-03-vue3-/345/211/215/347/253/257/345/276/256/346/234/215/345/212/241/345/256/277/344/270/273/350/247/204/345/210/231.md +167 -167
- package/skills/microi-codex/SKILL.md +102 -102
- package/skills/microi-codex-installer/SKILL.md +231 -231
- package/skills/microi-codex-installer/agents/openai.yaml +7 -7
- package/skills/microi-datasource-mapping/SKILL.md +122 -122
- package/skills/microi-db-schema/SKILL.md +175 -175
- package/skills/microi-db-schema/agents/openai.yaml +4 -4
- package/skills/microi-db-schema/references/core-tables.md +695 -695
- package/skills/microi-db-schema/references/form-component-options.md +256 -256
- package/skills/microi-db-schema/references/schema-overview.md +202 -202
- package/skills/microi-db-schema/references/schema.md +646 -646
- package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
- package/skills/microi-deployment/SKILL.md +221 -221
- package/skills/microi-deployment/references/deployment-matrix.md +109 -109
- package/skills/microi-docs-coverage/SKILL.md +133 -133
- package/skills/microi-docs-coverage/references/capability-map.md +91 -91
- package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
- package/skills/microi-form-engine/SKILL.md +333 -333
- package/skills/microi-form-engine/references/component-catalog.md +218 -218
- package/skills/microi-form-engine/references/data-source-events.md +124 -124
- package/skills/microi-form-layout/SKILL.md +205 -205
- package/skills/microi-form-layout/references/progressive-01-3-/344/270/211/347/247/215/345/210/206/347/273/204/347/232/204/345/255/230/345/202/250/344/270/216/351/205/215/347/275/256.md +235 -235
- package/skills/microi-frontend-sdk/SKILL.md +194 -194
- package/skills/microi-frontend-sdk/references/progressive-01-token-/345/275/223/345/211/215/347/231/273/345/275/225/347/224/250/346/210/267/344/270/216/345/275/223/345/211/215/347/273/210/347/253/257/347/231/273/345/275/225/345/215/217/350/256/256.md +176 -176
- package/skills/microi-left-right-layout/SKILL.md +141 -141
- package/skills/microi-microservice/SKILL.md +326 -324
- package/skills/microi-microservice/references/runtime-delivery.md +278 -278
- package/skills/microi-mobile-app-quality/SKILL.md +185 -185
- package/skills/microi-mobile-app-quality/references/progressive-01-4-/351/207/215/350/246/201/346/214/211/351/222/256/345/277/205/351/241/273/345/270/246/345/233/276/346/240/207.md +213 -213
- package/skills/microi-mobile-app-quality/references/progressive-02-9-/344/270/273/351/242/230/345/210/207/346/215/242/345/277/205/351/241/273/347/234/237/345/256/236/344/270/224/345/205/250/345/261/200/347/224/237/346/225/210.md +128 -128
- package/skills/microi-solution-quotation/SKILL.md +78 -78
- package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
- package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
- package/skills/microi-sso/SKILL.md +92 -92
- package/skills/microi-sso/references/acceptance.md +49 -49
- package/skills/microi-sso/references/configuration-and-security.md +53 -53
- package/skills/microi-sso/references/inbound.md +53 -53
- package/skills/microi-sso/references/outbound.md +39 -39
- package/skills/microi-system-delivery/SKILL.md +137 -137
- package/skills/microi-system-delivery/references/progressive-01-/346/240/207/345/207/206/345/267/245/344/275/234/346/265/201.md +193 -193
- package/skills/microi-system-delivery/references/progressive-02-/350/207/252/345/212/250/345/214/226/346/265/213/350/257/225/345/277/205/351/241/273/350/246/206/347/233/226/347/232/204/345/235/221.md +217 -217
- package/skills/microi-ui/SKILL.md +192 -192
- package/skills/microi-ui/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/234/272/346/231/257/350/223/235/345/233/276.md +183 -183
- package/skills/microi-uniapp-frontend/SKILL.md +193 -193
- package/skills/microi-uniapp-frontend/references/progressive-01-/347/247/273/345/212/250/347/253/257/345/210/206/347/261/273-/345/217/214/346/240/217/345/210/227/350/241/250/347/213/254/347/253/213/346/273/232/345/212/250.md +225 -225
- package/skills/microi-uniapp-frontend/references/progressive-02-/345/205/263/351/224/256/344/270/232/345/212/241/350/265/204/344/272/247/344/270/215/345/276/227/351/273/230/350/256/244/351/200/211/344/270/255.md +154 -154
- package/skills/microi.v8.js +1921 -1921
- package/skills/module-engine/SKILL.md +255 -255
- package/skills/module-engine/references/module-config.md +204 -204
- package/skills/ocr-engine/SKILL.md +113 -113
- package/skills/ocr-engine/agents/openai.yaml +4 -4
- package/skills/page-engine/SKILL.md +206 -206
- package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
- package/skills/page-engine/references/progressive-01-/346/211/200/346/234/211/347/273/204/344/273/266/347/261/273/345/236/213.md +234 -234
- package/skills/page-engine/references/progressive-02-/347/211/210/346/234/254/345/216/206/345/217/262-/345/271/266/345/217/221/344/277/235/345/255/230/344/270/216/345/233/236/346/273/232.md +60 -60
- package/skills/performance-testing/SKILL.md +221 -221
- package/skills/playwright-e2e/SKILL.md +196 -196
- package/skills/playwright-e2e/references/progressive-01-/345/205/250/350/207/252/345/212/250/347/231/273/345/275/225-/345/205/215/351/252/214/350/257/201/347/240/201-/344/275/206/344/270/215/345/205/215/345/257/206/347/240/201-/345/277/205/350/257/273.md +173 -173
- package/skills/playwright-e2e/references/progressive-02-/346/226/207/345/255/227/345/257/271/346/257/224/345/272/246/344/270/216/345/217/257/350/257/273/346/200/247/350/207/252/345/212/250/345/214/226/346/243/200/346/237/245-/345/277/205/345/201/232.md +183 -183
- package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
- package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
- package/skills/print-engine/SKILL.md +259 -259
- package/skills/production-readonly-audit/SKILL.md +41 -41
- package/skills/report-engine/SKILL.md +71 -71
- package/skills/report-engine/agents/openai.yaml +4 -4
- package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
- package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
- package/skills/scripts/sync-embedded-skills.mjs +46 -46
- package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
- package/skills/search-engine/SKILL.md +75 -75
- package/skills/search-engine/agents/openai.yaml +4 -4
- package/skills/spider-engine/SKILL.md +190 -190
- package/skills/system-observability/SKILL.md +248 -248
- package/skills/system-observability/references/memory-incident-triage.md +77 -77
- package/skills/translate-engine/SKILL.md +140 -140
- package/skills/translate-engine/agents/openai.yaml +4 -4
- package/skills/ui-design/SKILL.md +223 -223
- package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
- package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
- package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
- package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
- package/skills/ui-design/references/design-pattern-library.md +184 -184
- package/skills/ui-design/references/mci-design-contract.md +163 -163
- package/skills/ui-design/references/motion-and-media.md +78 -78
- package/skills/ui-design/references/product-flow-recipes.md +94 -94
- package/skills/ui-design/references/progressive-01-/351/242/234/350/211/262/344/275/223/347/263/273-css-variables-/346/224/257/346/214/201/344/270/273/351/242/230/345/210/207/346/215/242.md +218 -218
- package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
- package/skills/ui-design/references/progressive-03-/345/212/250/346/225/210/350/247/204/350/214/203-/344/270/260/345/257/214/344/275/206/344/270/215/345/215/241.md +235 -235
- package/skills/ui-design/references/progressive-04-/347/273/204/344/273/266/351/243/216/346/240/274/351/200/237/346/237/245.md +152 -152
- package/skills/ui-design/references/progressive-05-/347/247/273/345/212/250/347/253/257/344/270/223/347/224/250/350/247/204/350/214/203.md +238 -238
- package/skills/ui-design/references/progressive-06-/344/270/273/351/242/230/345/210/207/346/215/242/345/256/236/347/216/260.md +194 -194
- package/skills/ui-design/references/progressive-07-/351/200/237/346/237/245-/344/273/216/345/244/264/346/220/255/345/273/272/344/270/200/344/270/252/347/247/273/345/212/250/347/253/257/351/241/265/351/235/242.md +207 -207
- package/skills/ui-design/references/progressive-08-/350/241/250/345/215/225/345/210/206/347/273/204/350/247/204/350/214/203-tabs-vs-collapsegroup-/345/274/272/345/210/266.md +142 -142
- package/skills/uniapp-mall-assets/SKILL.md +176 -176
- package/skills/unity-integration/SKILL.md +171 -171
- package/skills/unity-integration/agents/openai.yaml +4 -4
- package/skills/unity-integration/references/ai-app-delivery.md +119 -119
- package/skills/unity-integration/references/sdk-api.md +82 -82
- package/skills/unity-integration/references/toolbox-migration.md +66 -66
- package/skills/unity-integration/references/webgl-hosting.md +57 -57
- package/skills/v8-api-config/SKILL.md +388 -388
- package/skills/v8-cache-pattern/SKILL.md +312 -312
- package/skills/v8-crud-api/SKILL.md +178 -178
- package/skills/v8-crud-api/references/progressive-01-/346/237/245/350/257/242/345/210/227/350/241/250-/345/210/206/351/241/265.md +226 -226
- package/skills/v8-crud-api/references/progressive-02-where-/346/235/241/344/273/266/350/257/255/346/263/225/351/200/237/346/237/245.md +49 -49
- package/skills/v8-debugging/SKILL.md +284 -284
- package/skills/v8-explorer-tree/SKILL.md +228 -228
- package/skills/v8-export-import/SKILL.md +219 -219
- package/skills/v8-export-import/references/progressive-01-excellayout-/351/253/230/347/272/247/350/207/252/347/224/261/345/270/203/345/261/200.md +211 -211
- package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
- package/skills/v8-export-import/references/progressive-03-/345/256/211/345/205/250-/346/200/247/350/203/275/346/263/250/346/204/217.md +42 -42
- package/skills/v8-file-upload/SKILL.md +284 -284
- package/skills/v8-file-upload/references/progressive-01-/345/205/254/346/234/211/346/241/266-vs-/347/247/201/346/234/211/346/241/266.md +263 -263
- package/skills/v8-file-upload/references/progressive-02-office-/346/226/207/344/273/266/345/234/250/347/272/277/347/274/226/350/276/221/347/211/210/346/234/254/345/217/267/350/247/204/345/210/231.md +161 -161
- package/skills/v8-formengine-http/SKILL.md +238 -238
- package/skills/v8-frontend-events/SKILL.md +180 -180
- package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
- package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
- package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
- package/skills/v8-http-integration/SKILL.md +182 -182
- package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
- package/skills/v8-http-integration/references/progressive-02-/351/224/231/350/257/257/345/244/204/347/220/206/346/250/241/345/274/217.md +44 -44
- package/skills/v8-image-processing/SKILL.md +190 -190
- package/skills/v8-image-processing/agents/openai.yaml +4 -4
- package/skills/v8-image-processing/references/api-reference.md +623 -623
- package/skills/v8-menu-buttons/SKILL.md +186 -186
- package/skills/v8-menu-buttons/references/progressive-01-2-/346/214/211/351/222/256/345/257/271/350/261/241-schema.md +222 -222
- package/skills/v8-menu-buttons/references/progressive-02-8-/346/250/241/345/274/217-f-/345/220/216/345/217/260/344/273/273/345/212/241/346/214/211/351/222/256-/351/225/277/344/273/273/345/212/241.md +228 -228
- package/skills/v8-menu-buttons/references/progressive-03-10-/345/217/215/346/250/241/345/274/217-/351/201/277/345/205/215.md +104 -104
- package/skills/v8-mongodb/SKILL.md +200 -200
- package/skills/v8-mq-mqtt/SKILL.md +176 -176
- package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
- package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
- package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
- package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
- package/skills/v8-security/SKILL.md +210 -210
- package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
- package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
- package/skills/v8-sql-query/SKILL.md +302 -302
- package/skills/v8-table-event/SKILL.md +176 -176
- package/skills/v8-table-event/references/progressive-01-informv8-js-/350/241/250/345/215/225/346/211/223/345/274/200/344/272/213/344/273/266.md +216 -216
- package/skills/v8-table-event/references/progressive-02-/345/211/215/347/253/257/344/272/213/344/273/266/345/220/215-v8-eventname-/345/217/257/350/203/275/347/232/204/345/200/274.md +46 -46
- package/skills/v8-tcp-integration/SKILL.md +147 -147
- package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
- package/skills/v8-template-engine/SKILL.md +167 -167
- package/skills/v8-utilities/SKILL.md +104 -104
- package/skills/v8-utilities/references/client-api-index.md +143 -143
- package/skills/v8-utilities/references/platform-http-routes.md +83 -83
- package/skills/v8-utilities/references/server-api-index.md +188 -188
- package/skills/v8-workflow/SKILL.md +252 -252
- package/skills/v8-workflow/references/progressive-01-/350/212/202/347/202/271/345/274/200/345/247/213-v8-/344/272/213/344/273/266.md +180 -180
- package/skills/v8-workflow/references/workflow-configuration.md +49 -49
- package/skills/vision-engine/SKILL.md +160 -160
- package/skills/vision-engine/agents/openai.yaml +4 -4
- package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
- package/skills/workspace-conventions/SKILL.md +273 -273
- package/skills/workspace-conventions/references/progressive-01-/347/211/210/346/234/254/346/233/264/346/226/260/346/227/245/345/277/227/344/277/235/346/212/244/350/247/204/345/210/231-/345/274/272/345/210/266.md +209 -209
- package/skills/workspace-conventions/references/progressive-02-microi-net-api-/346/234/254/345/234/260/345/220/257/345/212/250/347/272/246/345/256/232.md +217 -217
- package/skills/workspace-conventions/references/progressive-03-cli-/344/270/216-ide-/346/217/222/344/273/266/351/224/231/347/211/210/345/205/261/345/255/230/347/272/246/345/256/232.md +27 -27
|
@@ -1,141 +1,141 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: microi-left-right-layout
|
|
3
|
-
description: Microi 吾码模块引擎“树形+表格/表单”左右结构配置规范。用于通过 MCP、模块引擎或源码配置 `diy_LeftJoinRightView`,把项目、分类、组织等主数据作为左树,并用主外键过滤右侧列表;覆盖字段语义、初始化 V8、移动端自适应、幂等写入和回读验收。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
|
-
|
|
8
|
-
# Microi 左右树表配置规范
|
|
9
|
-
|
|
10
|
-
当需求是“左侧按项目/分类导航,右侧显示该节点的数据列表或表单”时,使用模块组件 `/diy/left-right/LeftTreeJoinRightForm`,配置表为 `diy_LeftJoinRightView`。不要为每个业务菜单复制定制 Vue 页面。
|
|
11
|
-
|
|
12
|
-
## 适用与禁用场景
|
|
13
|
-
|
|
14
|
-
- 适用:项目及其成品、用料、请购、提料、锁料、文档,分类及商品,组织及人员。
|
|
15
|
-
- 左侧必须是稳定的主数据;右侧必须能通过明确的主外键过滤。
|
|
16
|
-
- 左右两边没有关联字段、左侧仅是装饰性筛选,或数据量极大却没有分页/搜索方案时,不应直接套用。
|
|
17
|
-
|
|
18
|
-
## 模块配置
|
|
19
|
-
|
|
20
|
-
目标 `sys_menu` 必须配置:
|
|
21
|
-
|
|
22
|
-
```json
|
|
23
|
-
{
|
|
24
|
-
"ComponentName": "树形+表格",
|
|
25
|
-
"ComponentPath": "/diy/left-right/LeftTreeJoinRightForm"
|
|
26
|
-
}
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
同一菜单只能有一条有效的 `diy_LeftJoinRightView` 配置。创建前先按 `GuanlianCD Like 菜单Id` 回读并复用,禁止重复插入。
|
|
30
|
-
|
|
31
|
-
## `diy_LeftJoinRightView` 字段
|
|
32
|
-
|
|
33
|
-
| 字段 | 必填 | 含义与写法 |
|
|
34
|
-
| --- | --- | --- |
|
|
35
|
-
| `GuanlianCD` | 是 | 当前右侧业务菜单链,JSON 数组;末级必须是当前 `sys_menu.Id`。 |
|
|
36
|
-
| `ShuxingGLCD` | 是 | 左侧主数据菜单链,JSON 数组;末级对应左表模块。 |
|
|
37
|
-
| `GuanlianBD` | 是 | 左侧主表名,例如 `xiangmuguanli`。 |
|
|
38
|
-
| `FubiaoGLZD` | 是 | 左表参与关联的字段,通常为 `Id`。 |
|
|
39
|
-
| `ZibiaoGLZD` | 右表格必填 | 右表外键,例如 `XiangmuID`、`ProjectId`、`Guid`。必须以实时表结构为准。 |
|
|
40
|
-
| `GuanlianPPLJ` | 右表格必填 | 匹配操作符,普通主外键使用 `=`。 |
|
|
41
|
-
| `ZuobianZSZJ` | 是 | 左侧组件,通常为 `树形控件`。 |
|
|
42
|
-
| `YoubianZSZJ` | 是 | `表格`、`表单` 或 `表单/表格`。 |
|
|
43
|
-
| `ShuxianSZDM` | 是 | 左树显示字段,必须与初始化结果的属性名一致。 |
|
|
44
|
-
| `ChushiHDM` | 是 | 初始化 V8。必须读取 `V8.Form._PageIndex/_PageSize/inputText`,最终返回 `Data` 和 `DataCount`。 |
|
|
45
|
-
| `ZuoyouXSZB` | 否 | 24 栅格比例,例如 `6/18`、`4/20`,中间 `/` 必须保留。 |
|
|
46
|
-
| `ShubiaoT` | 否 | 左树标题,例如 `项目目录`。 |
|
|
47
|
-
| `ShumoHSS` | 否 | 模糊搜索开关。 |
|
|
48
|
-
| `ShuxiaLSS` | 否 | 搜索字段下拉开关。 |
|
|
49
|
-
| `ShusouSAN` | 否 | 搜索按钮开关。 |
|
|
50
|
-
| `ShushuaX` | 否 | 刷新按钮开关。 |
|
|
51
|
-
| `ShudingJXZ` | 否 | 是否允许新增顶级树节点。 |
|
|
52
|
-
| `ShuxinZ`、`ShubianJ`、`ShushanC` | 否 | 树节点新增、编辑、删除开关。只在业务允许时开启。 |
|
|
53
|
-
| `ShujieDDJSJ` | 否 | 节点点击 V8;可读取 `V8.Form`,异步结果写入 `V8.Result`。 |
|
|
54
|
-
| `YincangBSF` | 否 | 节点命中该字段时隐藏右侧区域。 |
|
|
55
|
-
| `TanchuangLX`、`TanchuangDX` | 否 | 树节点维护弹窗类型和尺寸。 |
|
|
56
|
-
| `LanjiaZ`、`LanjiaZDM` | 否 | 懒加载开关和代码;大树优先使用。 |
|
|
57
|
-
| `DefaultExpandLevel` | 否 | 左树默认展开层级。未配置、空值或 `0` 均不展开;`1` 展开一级节点,`2` 再展开二级节点,以此类推。 |
|
|
58
|
-
|
|
59
|
-
## 初始化 V8 与分页契约
|
|
60
|
-
|
|
61
|
-
左树按数据表对待,默认每页 20 条,允许 10/20/50/100 条切换。无论当前只有多少数据,都不能用 `_PageSize:500` 一次拉完整主表。搜索时把页码重置为 1,并在服务端按关键字过滤后返回真实总数。
|
|
62
|
-
|
|
63
|
-
当初始化 V8 使用 `V8.FormEngine.GetTableTree/GetTableDataTree` 时,左侧来源 `diy_table.IsTree` 必须为 `1`,并显式配置真实存在的 `TreeParentField`(通常是 `ParentId`);否则接口会成功返回 `Code=0`,页面只显示“暂无数据”。应用包必须同时携带这两项表元数据,并在发布前通过真实树接口回读,不能只验收 `diy_LeftJoinRightView` 配置行。
|
|
64
|
-
|
|
65
|
-
```js
|
|
66
|
-
var form = V8.Form || {};
|
|
67
|
-
var pageIndex = Math.max(1, parseInt(form._PageIndex || 1, 10));
|
|
68
|
-
var pageSize = Math.min(100, Math.max(1, parseInt(form._PageSize || 20, 10)));
|
|
69
|
-
var keyword = String(form.inputText || '').trim();
|
|
70
|
-
var query = {
|
|
71
|
-
_SelectFields: ['Id', 'Code', 'Name'],
|
|
72
|
-
_OrderBy: 'CreateTime',
|
|
73
|
-
_OrderByType: 'DESC',
|
|
74
|
-
_PageIndex: pageIndex,
|
|
75
|
-
_PageSize: pageSize
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
if (keyword) {
|
|
79
|
-
query._Where = [
|
|
80
|
-
['Code', 'Like', keyword],
|
|
81
|
-
['OR', 'Name', 'Like', keyword]
|
|
82
|
-
];
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
var result = await V8.FormEngine.GetTableData('xiangmuguanli', query);
|
|
86
|
-
|
|
87
|
-
if (result.Code !== 1) {
|
|
88
|
-
V8.Result = result;
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
V8.Result = {
|
|
93
|
-
Code: 1,
|
|
94
|
-
Data: (result.Data || []).map(function (item) {
|
|
95
|
-
return {
|
|
96
|
-
Id: item.Id,
|
|
97
|
-
TreeTitle: [item.Code, item.Name].filter(Boolean).join(' '),
|
|
98
|
-
Code: item.Code,
|
|
99
|
-
Name: item.Name
|
|
100
|
-
};
|
|
101
|
-
}),
|
|
102
|
-
DataCount: Number(result.DataCount || 0),
|
|
103
|
-
PageIndex: pageIndex,
|
|
104
|
-
PageSize: pageSize
|
|
105
|
-
};
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
对应配置为 `ShuxianSZDM=TreeTitle`、`FubiaoGLZD=Id`。右侧新增时,组件会通过 `ParentDataAppend` 把父节点、父键和 `ZibiaoGLZD` 传给表格;业务字段仍需由表单事件兜底校验。
|
|
109
|
-
|
|
110
|
-
加载请求期间必须显示明确的“正在加载项目...”状态,不能先渲染“暂无数据”;多次搜索或翻页并发返回时,只应用最后一次请求,防止旧结果覆盖新页。
|
|
111
|
-
|
|
112
|
-
## MCP 实施顺序
|
|
113
|
-
|
|
114
|
-
1. 调用实时 Schema/模块查询,确认左右表、菜单 Id、主键、外键和已有配置。
|
|
115
|
-
2. 读取一个已正常运行的左右结构作为基线,只复用结构,不复制租户或业务字段。
|
|
116
|
-
3. 按当前菜单回读 `diy_LeftJoinRightView`;有记录则更新,无记录才新增。
|
|
117
|
-
4. 更新模块 `ComponentName`、`ComponentPath`,随后回读模块和配置行。
|
|
118
|
-
5. 验证“全部”、单节点切换、右表筛选、右侧新增自动关联、刷新和搜索。
|
|
119
|
-
|
|
120
|
-
## 移动端要求
|
|
121
|
-
|
|
122
|
-
- `<=767px` 时不在列表上方直接堆放左树。右侧业务列表占满宽度,顶部显示当前项目和“项目目录”按钮。
|
|
123
|
-
- 点击“项目目录”后,从左向右打开全高抽屉;推荐宽度 `88%`,保留一段遮罩用于快速关闭。抽屉必须支持关闭按钮、点击遮罩和 Esc 关闭。
|
|
124
|
-
- 左树在抽屉内独立滚动,搜索、分页和每页条数选择都必须可操作;关闭抽屉后右表筛选状态不得丢失。
|
|
125
|
-
- 右表与页面使用正常纵向滚动,禁止祖先容器 `overflow:hidden` 截断内容。
|
|
126
|
-
- 右侧卡片、表格 Tab、列表卡片在移动端必须使用 `height:auto` 和 `overflow:visible`;底部操作栏不得盖住最后一条数据。
|
|
127
|
-
- 至少验收桌面 1440x900、手机 390x844;在手机上分别滚动左树和整页到末尾。
|
|
128
|
-
|
|
129
|
-
## 验收清单
|
|
130
|
-
|
|
131
|
-
- 当前菜单只匹配一条配置,模块路径正确。
|
|
132
|
-
- 使用树接口的左表已启用 `IsTree=1`,`TreeParentField` 与物理父级字段一致。
|
|
133
|
-
- 左树标题无 `undefined`、`{}`、空白重复项。
|
|
134
|
-
- 点击“全部”清空右侧外键条件;点击节点只显示该节点数据。
|
|
135
|
-
- 后端 `_HasChild=true` 表示可展开,Element Plus 的 `isLeaf` 必须映射为独立 `_IsLeaf=!_HasChild`,不得把 `_HasChild` 直接当叶子标记。
|
|
136
|
-
- `DefaultExpandLevel` 未配置时必须保持全部折叠;只展开有子节点且深度不超过配置值的节点,不能把平台默认值改成一级展开。
|
|
137
|
-
- 页面初始已处于“全部”时,再次点击“全部”不得先清空已加载列表;只清除树节点外键条件并避免重复请求。
|
|
138
|
-
- 右侧新增数据自动写入正确外键,切换节点后不会串数据。
|
|
139
|
-
- 普通用户不出现仅管理员可用的“页面配置”。
|
|
140
|
-
- 桌面左树每页默认 20 条,可翻页并切换 10/20/50/100;加载时不出现错误的空状态。
|
|
141
|
-
- 手机初始不显示树,抽屉打开/节点选择自动关闭/遮罩关闭均正常;列表与操作区可滚动到底,无横向挤压和固定高度裁切。
|
|
1
|
+
---
|
|
2
|
+
name: microi-left-right-layout
|
|
3
|
+
description: Microi 吾码模块引擎“树形+表格/表单”左右结构配置规范。用于通过 MCP、模块引擎或源码配置 `diy_LeftJoinRightView`,把项目、分类、组织等主数据作为左树,并用主外键过滤右侧列表;覆盖字段语义、初始化 V8、移动端自适应、幂等写入和回读验收。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
> **Microi吾码基础规范(强制):** 任何 AI 模型与宿主每次新建或接续吾码任务,先完整读取 `../workspace-conventions/SKILL.md`,必须执行版本播报、`@microi.net/cli` 后台自动升级、Skills/MCP 同步和进度播报。安装与诊断读取 `../microi-codex-installer/SKILL.md`;更新失败延后重试,不阻断当前工作。
|
|
7
|
+
|
|
8
|
+
# Microi 左右树表配置规范
|
|
9
|
+
|
|
10
|
+
当需求是“左侧按项目/分类导航,右侧显示该节点的数据列表或表单”时,使用模块组件 `/diy/left-right/LeftTreeJoinRightForm`,配置表为 `diy_LeftJoinRightView`。不要为每个业务菜单复制定制 Vue 页面。
|
|
11
|
+
|
|
12
|
+
## 适用与禁用场景
|
|
13
|
+
|
|
14
|
+
- 适用:项目及其成品、用料、请购、提料、锁料、文档,分类及商品,组织及人员。
|
|
15
|
+
- 左侧必须是稳定的主数据;右侧必须能通过明确的主外键过滤。
|
|
16
|
+
- 左右两边没有关联字段、左侧仅是装饰性筛选,或数据量极大却没有分页/搜索方案时,不应直接套用。
|
|
17
|
+
|
|
18
|
+
## 模块配置
|
|
19
|
+
|
|
20
|
+
目标 `sys_menu` 必须配置:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"ComponentName": "树形+表格",
|
|
25
|
+
"ComponentPath": "/diy/left-right/LeftTreeJoinRightForm"
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
同一菜单只能有一条有效的 `diy_LeftJoinRightView` 配置。创建前先按 `GuanlianCD Like 菜单Id` 回读并复用,禁止重复插入。
|
|
30
|
+
|
|
31
|
+
## `diy_LeftJoinRightView` 字段
|
|
32
|
+
|
|
33
|
+
| 字段 | 必填 | 含义与写法 |
|
|
34
|
+
| --- | --- | --- |
|
|
35
|
+
| `GuanlianCD` | 是 | 当前右侧业务菜单链,JSON 数组;末级必须是当前 `sys_menu.Id`。 |
|
|
36
|
+
| `ShuxingGLCD` | 是 | 左侧主数据菜单链,JSON 数组;末级对应左表模块。 |
|
|
37
|
+
| `GuanlianBD` | 是 | 左侧主表名,例如 `xiangmuguanli`。 |
|
|
38
|
+
| `FubiaoGLZD` | 是 | 左表参与关联的字段,通常为 `Id`。 |
|
|
39
|
+
| `ZibiaoGLZD` | 右表格必填 | 右表外键,例如 `XiangmuID`、`ProjectId`、`Guid`。必须以实时表结构为准。 |
|
|
40
|
+
| `GuanlianPPLJ` | 右表格必填 | 匹配操作符,普通主外键使用 `=`。 |
|
|
41
|
+
| `ZuobianZSZJ` | 是 | 左侧组件,通常为 `树形控件`。 |
|
|
42
|
+
| `YoubianZSZJ` | 是 | `表格`、`表单` 或 `表单/表格`。 |
|
|
43
|
+
| `ShuxianSZDM` | 是 | 左树显示字段,必须与初始化结果的属性名一致。 |
|
|
44
|
+
| `ChushiHDM` | 是 | 初始化 V8。必须读取 `V8.Form._PageIndex/_PageSize/inputText`,最终返回 `Data` 和 `DataCount`。 |
|
|
45
|
+
| `ZuoyouXSZB` | 否 | 24 栅格比例,例如 `6/18`、`4/20`,中间 `/` 必须保留。 |
|
|
46
|
+
| `ShubiaoT` | 否 | 左树标题,例如 `项目目录`。 |
|
|
47
|
+
| `ShumoHSS` | 否 | 模糊搜索开关。 |
|
|
48
|
+
| `ShuxiaLSS` | 否 | 搜索字段下拉开关。 |
|
|
49
|
+
| `ShusouSAN` | 否 | 搜索按钮开关。 |
|
|
50
|
+
| `ShushuaX` | 否 | 刷新按钮开关。 |
|
|
51
|
+
| `ShudingJXZ` | 否 | 是否允许新增顶级树节点。 |
|
|
52
|
+
| `ShuxinZ`、`ShubianJ`、`ShushanC` | 否 | 树节点新增、编辑、删除开关。只在业务允许时开启。 |
|
|
53
|
+
| `ShujieDDJSJ` | 否 | 节点点击 V8;可读取 `V8.Form`,异步结果写入 `V8.Result`。 |
|
|
54
|
+
| `YincangBSF` | 否 | 节点命中该字段时隐藏右侧区域。 |
|
|
55
|
+
| `TanchuangLX`、`TanchuangDX` | 否 | 树节点维护弹窗类型和尺寸。 |
|
|
56
|
+
| `LanjiaZ`、`LanjiaZDM` | 否 | 懒加载开关和代码;大树优先使用。 |
|
|
57
|
+
| `DefaultExpandLevel` | 否 | 左树默认展开层级。未配置、空值或 `0` 均不展开;`1` 展开一级节点,`2` 再展开二级节点,以此类推。 |
|
|
58
|
+
|
|
59
|
+
## 初始化 V8 与分页契约
|
|
60
|
+
|
|
61
|
+
左树按数据表对待,默认每页 20 条,允许 10/20/50/100 条切换。无论当前只有多少数据,都不能用 `_PageSize:500` 一次拉完整主表。搜索时把页码重置为 1,并在服务端按关键字过滤后返回真实总数。
|
|
62
|
+
|
|
63
|
+
当初始化 V8 使用 `V8.FormEngine.GetTableTree/GetTableDataTree` 时,左侧来源 `diy_table.IsTree` 必须为 `1`,并显式配置真实存在的 `TreeParentField`(通常是 `ParentId`);否则接口会成功返回 `Code=0`,页面只显示“暂无数据”。应用包必须同时携带这两项表元数据,并在发布前通过真实树接口回读,不能只验收 `diy_LeftJoinRightView` 配置行。
|
|
64
|
+
|
|
65
|
+
```js
|
|
66
|
+
var form = V8.Form || {};
|
|
67
|
+
var pageIndex = Math.max(1, parseInt(form._PageIndex || 1, 10));
|
|
68
|
+
var pageSize = Math.min(100, Math.max(1, parseInt(form._PageSize || 20, 10)));
|
|
69
|
+
var keyword = String(form.inputText || '').trim();
|
|
70
|
+
var query = {
|
|
71
|
+
_SelectFields: ['Id', 'Code', 'Name'],
|
|
72
|
+
_OrderBy: 'CreateTime',
|
|
73
|
+
_OrderByType: 'DESC',
|
|
74
|
+
_PageIndex: pageIndex,
|
|
75
|
+
_PageSize: pageSize
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
if (keyword) {
|
|
79
|
+
query._Where = [
|
|
80
|
+
['Code', 'Like', keyword],
|
|
81
|
+
['OR', 'Name', 'Like', keyword]
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var result = await V8.FormEngine.GetTableData('xiangmuguanli', query);
|
|
86
|
+
|
|
87
|
+
if (result.Code !== 1) {
|
|
88
|
+
V8.Result = result;
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
V8.Result = {
|
|
93
|
+
Code: 1,
|
|
94
|
+
Data: (result.Data || []).map(function (item) {
|
|
95
|
+
return {
|
|
96
|
+
Id: item.Id,
|
|
97
|
+
TreeTitle: [item.Code, item.Name].filter(Boolean).join(' '),
|
|
98
|
+
Code: item.Code,
|
|
99
|
+
Name: item.Name
|
|
100
|
+
};
|
|
101
|
+
}),
|
|
102
|
+
DataCount: Number(result.DataCount || 0),
|
|
103
|
+
PageIndex: pageIndex,
|
|
104
|
+
PageSize: pageSize
|
|
105
|
+
};
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
对应配置为 `ShuxianSZDM=TreeTitle`、`FubiaoGLZD=Id`。右侧新增时,组件会通过 `ParentDataAppend` 把父节点、父键和 `ZibiaoGLZD` 传给表格;业务字段仍需由表单事件兜底校验。
|
|
109
|
+
|
|
110
|
+
加载请求期间必须显示明确的“正在加载项目...”状态,不能先渲染“暂无数据”;多次搜索或翻页并发返回时,只应用最后一次请求,防止旧结果覆盖新页。
|
|
111
|
+
|
|
112
|
+
## MCP 实施顺序
|
|
113
|
+
|
|
114
|
+
1. 调用实时 Schema/模块查询,确认左右表、菜单 Id、主键、外键和已有配置。
|
|
115
|
+
2. 读取一个已正常运行的左右结构作为基线,只复用结构,不复制租户或业务字段。
|
|
116
|
+
3. 按当前菜单回读 `diy_LeftJoinRightView`;有记录则更新,无记录才新增。
|
|
117
|
+
4. 更新模块 `ComponentName`、`ComponentPath`,随后回读模块和配置行。
|
|
118
|
+
5. 验证“全部”、单节点切换、右表筛选、右侧新增自动关联、刷新和搜索。
|
|
119
|
+
|
|
120
|
+
## 移动端要求
|
|
121
|
+
|
|
122
|
+
- `<=767px` 时不在列表上方直接堆放左树。右侧业务列表占满宽度,顶部显示当前项目和“项目目录”按钮。
|
|
123
|
+
- 点击“项目目录”后,从左向右打开全高抽屉;推荐宽度 `88%`,保留一段遮罩用于快速关闭。抽屉必须支持关闭按钮、点击遮罩和 Esc 关闭。
|
|
124
|
+
- 左树在抽屉内独立滚动,搜索、分页和每页条数选择都必须可操作;关闭抽屉后右表筛选状态不得丢失。
|
|
125
|
+
- 右表与页面使用正常纵向滚动,禁止祖先容器 `overflow:hidden` 截断内容。
|
|
126
|
+
- 右侧卡片、表格 Tab、列表卡片在移动端必须使用 `height:auto` 和 `overflow:visible`;底部操作栏不得盖住最后一条数据。
|
|
127
|
+
- 至少验收桌面 1440x900、手机 390x844;在手机上分别滚动左树和整页到末尾。
|
|
128
|
+
|
|
129
|
+
## 验收清单
|
|
130
|
+
|
|
131
|
+
- 当前菜单只匹配一条配置,模块路径正确。
|
|
132
|
+
- 使用树接口的左表已启用 `IsTree=1`,`TreeParentField` 与物理父级字段一致。
|
|
133
|
+
- 左树标题无 `undefined`、`{}`、空白重复项。
|
|
134
|
+
- 点击“全部”清空右侧外键条件;点击节点只显示该节点数据。
|
|
135
|
+
- 后端 `_HasChild=true` 表示可展开,Element Plus 的 `isLeaf` 必须映射为独立 `_IsLeaf=!_HasChild`,不得把 `_HasChild` 直接当叶子标记。
|
|
136
|
+
- `DefaultExpandLevel` 未配置时必须保持全部折叠;只展开有子节点且深度不超过配置值的节点,不能把平台默认值改成一级展开。
|
|
137
|
+
- 页面初始已处于“全部”时,再次点击“全部”不得先清空已加载列表;只清除树节点外键条件并避免重复请求。
|
|
138
|
+
- 右侧新增数据自动写入正确外键,切换节点后不会串数据。
|
|
139
|
+
- 普通用户不出现仅管理员可用的“页面配置”。
|
|
140
|
+
- 桌面左树每页默认 20 条,可翻页并切换 10/20/50/100;加载时不出现错误的空状态。
|
|
141
|
+
- 手机初始不显示树,抽屉打开/节点选择自动关闭/遮罩关闭均正常;列表与操作区可滚动到底,无横向挤压和固定高度裁切。
|