@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.
Files changed (211) hide show
  1. package/.codebuddy-plugin/marketplace.json +2 -2
  2. package/.codebuddy-plugin/plugin.json +1 -1
  3. package/.codex-plugin/plugin.json +1 -1
  4. package/.mcp.json +1 -1
  5. package/.workbuddy-plugin/marketplace.json +2 -2
  6. package/.workbuddy-plugin/plugin.json +1 -1
  7. package/LICENSE +21 -21
  8. package/README.md +71 -71
  9. package/assets/build-meta.json +6 -6
  10. package/assets/feature-matrix.json +138 -138
  11. package/assets/logo.svg +4 -4
  12. package/cordis.patch.yml +1 -1
  13. package/package.json +1 -1
  14. package/scripts/codex-marketplace.json +20 -20
  15. package/scripts/mcp-codex-stdio-adapter.js +189 -189
  16. package/scripts/mcp-trae-windows-launcher.cmd +21 -21
  17. package/scripts/microi-cli-mcp.js +7 -7
  18. package/scripts/microi-cli.js +66 -65
  19. package/scripts/microi-codex-broker.js +450 -450
  20. package/scripts/microi-codex-router.js +618 -618
  21. package/scripts/microi-skills.meta.json +384 -384
  22. package/skills/.microi-skills-version.json +2 -2
  23. package/skills/.progressive-disclosure-manifest.json +3566 -3566
  24. package/skills/README.md +287 -287
  25. package/skills/ai-engine/SKILL.md +269 -265
  26. package/skills/ai-engine/agents/openai.yaml +4 -4
  27. package/skills/ai-engine/references/ai-employees.md +48 -48
  28. package/skills/ai-engine/references/self-hosted-digital-human.md +59 -59
  29. package/skills/ai-platform-governance/SKILL.md +177 -177
  30. package/skills/ai-platform-governance/references/progressive-01-/345/212/237/350/203/275/345/274/200/345/205/263.md +190 -190
  31. package/skills/app-store/SKILL.md +525 -525
  32. package/skills/app-store/agents/openai.yaml +4 -4
  33. package/skills/business-blueprint/SKILL.md +193 -193
  34. package/skills/datasource-engine/SKILL.md +93 -93
  35. package/skills/datasource-engine/agents/openai.yaml +4 -4
  36. package/skills/dos-orm/SKILL.md +97 -97
  37. package/skills/dos-orm/references/api-reference.md +229 -229
  38. package/skills/email-engine/SKILL.md +81 -81
  39. package/skills/email-engine/references/v8-email.md +34 -34
  40. package/skills/job-engine/SKILL.md +176 -176
  41. package/skills/job-engine/agents/openai.yaml +4 -4
  42. package/skills/message-notification/SKILL.md +156 -156
  43. package/skills/message-notification/agents/openai.yaml +5 -5
  44. package/skills/message-notification/references/contracts.md +102 -102
  45. package/skills/microi/SKILL.md +14 -14
  46. package/skills/microi-ai-app-auth.js +652 -652
  47. package/skills/microi-ai-application/SKILL.md +115 -115
  48. package/skills/microi-ai-application/agents/openai.yaml +4 -4
  49. package/skills/microi-ai-application/references/frontend-baseline.md +164 -164
  50. package/skills/microi-client-frontend/SKILL.md +244 -244
  51. 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
  52. 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
  53. 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
  54. package/skills/microi-codex/SKILL.md +102 -102
  55. package/skills/microi-codex-installer/SKILL.md +231 -231
  56. package/skills/microi-codex-installer/agents/openai.yaml +7 -7
  57. package/skills/microi-datasource-mapping/SKILL.md +122 -122
  58. package/skills/microi-db-schema/SKILL.md +175 -175
  59. package/skills/microi-db-schema/agents/openai.yaml +4 -4
  60. package/skills/microi-db-schema/references/core-tables.md +695 -695
  61. package/skills/microi-db-schema/references/form-component-options.md +256 -256
  62. package/skills/microi-db-schema/references/schema-overview.md +202 -202
  63. package/skills/microi-db-schema/references/schema.md +646 -646
  64. package/skills/microi-db-schema/references/table-catalog.md +1599 -1599
  65. package/skills/microi-deployment/SKILL.md +221 -221
  66. package/skills/microi-deployment/references/deployment-matrix.md +109 -109
  67. package/skills/microi-docs-coverage/SKILL.md +133 -133
  68. package/skills/microi-docs-coverage/references/capability-map.md +91 -91
  69. package/skills/microi-docs-coverage/scripts/audit-doc-skill-coverage.mjs +894 -894
  70. package/skills/microi-form-engine/SKILL.md +333 -333
  71. package/skills/microi-form-engine/references/component-catalog.md +218 -218
  72. package/skills/microi-form-engine/references/data-source-events.md +124 -124
  73. package/skills/microi-form-layout/SKILL.md +205 -205
  74. 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
  75. package/skills/microi-frontend-sdk/SKILL.md +194 -194
  76. 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
  77. package/skills/microi-left-right-layout/SKILL.md +141 -141
  78. package/skills/microi-microservice/SKILL.md +326 -324
  79. package/skills/microi-microservice/references/runtime-delivery.md +278 -278
  80. package/skills/microi-mobile-app-quality/SKILL.md +185 -185
  81. 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
  82. 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
  83. package/skills/microi-solution-quotation/SKILL.md +78 -78
  84. package/skills/microi-solution-quotation/agents/openai.yaml +4 -4
  85. package/skills/microi-solution-quotation/scripts/build_solution_quote.py +296 -296
  86. package/skills/microi-sso/SKILL.md +92 -92
  87. package/skills/microi-sso/references/acceptance.md +49 -49
  88. package/skills/microi-sso/references/configuration-and-security.md +53 -53
  89. package/skills/microi-sso/references/inbound.md +53 -53
  90. package/skills/microi-sso/references/outbound.md +39 -39
  91. package/skills/microi-system-delivery/SKILL.md +137 -137
  92. 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
  93. 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
  94. package/skills/microi-ui/SKILL.md +192 -192
  95. 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
  96. package/skills/microi-uniapp-frontend/SKILL.md +193 -193
  97. 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
  98. 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
  99. package/skills/microi.v8.js +1921 -1921
  100. package/skills/module-engine/SKILL.md +255 -255
  101. package/skills/module-engine/references/module-config.md +204 -204
  102. package/skills/ocr-engine/SKILL.md +113 -113
  103. package/skills/ocr-engine/agents/openai.yaml +4 -4
  104. package/skills/page-engine/SKILL.md +206 -206
  105. package/skills/page-engine/examples/compact-dashboard.json +1444 -1444
  106. 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
  107. 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
  108. package/skills/performance-testing/SKILL.md +221 -221
  109. package/skills/playwright-e2e/SKILL.md +196 -196
  110. 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
  111. 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
  112. package/skills/playwright-e2e/references/progressive-03-microi-helper-/346/250/241/346/235/277.md +221 -221
  113. package/skills/playwright-e2e/references/progressive-04-ci-/345/273/272/350/256/256.md +115 -115
  114. package/skills/print-engine/SKILL.md +259 -259
  115. package/skills/production-readonly-audit/SKILL.md +41 -41
  116. package/skills/report-engine/SKILL.md +71 -71
  117. package/skills/report-engine/agents/openai.yaml +4 -4
  118. package/skills/scripts/optimize-progressive-disclosure.mjs +204 -204
  119. package/skills/scripts/refresh-progressive-disclosure.mjs +64 -64
  120. package/skills/scripts/sync-embedded-skills.mjs +46 -46
  121. package/skills/scripts/validate-progressive-disclosure.mjs +57 -57
  122. package/skills/search-engine/SKILL.md +75 -75
  123. package/skills/search-engine/agents/openai.yaml +4 -4
  124. package/skills/spider-engine/SKILL.md +190 -190
  125. package/skills/system-observability/SKILL.md +248 -248
  126. package/skills/system-observability/references/memory-incident-triage.md +77 -77
  127. package/skills/translate-engine/SKILL.md +140 -140
  128. package/skills/translate-engine/agents/openai.yaml +4 -4
  129. package/skills/ui-design/SKILL.md +223 -223
  130. package/skills/ui-design/assets/pattern-showcase/app.js +54 -54
  131. package/skills/ui-design/assets/pattern-showcase/index.html +163 -163
  132. package/skills/ui-design/assets/pattern-showcase/styles.css +311 -311
  133. package/skills/ui-design/assets/templates/MCI-DESIGN.md +206 -206
  134. package/skills/ui-design/references/design-pattern-library.md +184 -184
  135. package/skills/ui-design/references/mci-design-contract.md +163 -163
  136. package/skills/ui-design/references/motion-and-media.md +78 -78
  137. package/skills/ui-design/references/product-flow-recipes.md +94 -94
  138. 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
  139. package/skills/ui-design/references/progressive-02-/345/255/227/344/275/223.md +164 -164
  140. 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
  141. 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
  142. 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
  143. 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
  144. 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
  145. 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
  146. package/skills/uniapp-mall-assets/SKILL.md +176 -176
  147. package/skills/unity-integration/SKILL.md +171 -171
  148. package/skills/unity-integration/agents/openai.yaml +4 -4
  149. package/skills/unity-integration/references/ai-app-delivery.md +119 -119
  150. package/skills/unity-integration/references/sdk-api.md +82 -82
  151. package/skills/unity-integration/references/toolbox-migration.md +66 -66
  152. package/skills/unity-integration/references/webgl-hosting.md +57 -57
  153. package/skills/v8-api-config/SKILL.md +388 -388
  154. package/skills/v8-cache-pattern/SKILL.md +312 -312
  155. package/skills/v8-crud-api/SKILL.md +178 -178
  156. 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
  157. 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
  158. package/skills/v8-debugging/SKILL.md +284 -284
  159. package/skills/v8-explorer-tree/SKILL.md +228 -228
  160. package/skills/v8-export-import/SKILL.md +219 -219
  161. 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
  162. package/skills/v8-export-import/references/progressive-02-powerpoint-/345/257/274/345/207/272.md +202 -202
  163. 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
  164. package/skills/v8-file-upload/SKILL.md +284 -284
  165. 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
  166. 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
  167. package/skills/v8-formengine-http/SKILL.md +238 -238
  168. package/skills/v8-frontend-events/SKILL.md +180 -180
  169. package/skills/v8-frontend-events/references/bluetooth-print-api.md +135 -135
  170. package/skills/v8-frontend-events/references/bluetooth-print.md +258 -258
  171. package/skills/v8-frontend-events/references/progressive-01-/345/210/227/350/241/250/344/272/213/344/273/266.md +219 -219
  172. package/skills/v8-http-integration/SKILL.md +182 -182
  173. package/skills/v8-http-integration/references/progressive-01-get-/350/257/267/346/261/202.md +220 -220
  174. 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
  175. package/skills/v8-image-processing/SKILL.md +190 -190
  176. package/skills/v8-image-processing/agents/openai.yaml +4 -4
  177. package/skills/v8-image-processing/references/api-reference.md +623 -623
  178. package/skills/v8-menu-buttons/SKILL.md +186 -186
  179. 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
  180. 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
  181. 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
  182. package/skills/v8-mongodb/SKILL.md +200 -200
  183. package/skills/v8-mq-mqtt/SKILL.md +176 -176
  184. package/skills/v8-mq-mqtt/references/mqtt-production.md +342 -342
  185. package/skills/v8-mq-mqtt/references/progressive-01-v8-mqtt-iot-/347/211/251/350/201/224/347/275/221.md +181 -181
  186. package/skills/v8-mq-mqtt/scripts/check-mqtt-skill-coverage.mjs +203 -203
  187. package/skills/v8-saas-multi-tenant/SKILL.md +305 -305
  188. package/skills/v8-security/SKILL.md +210 -210
  189. package/skills/v8-security/references/progressive-01-2-/346/235/203/351/231/220/346/240/241/351/252/214.md +200 -200
  190. package/skills/v8-security/references/progressive-02-7-/346/227/245/345/277/227/350/256/260/345/275/225.md +160 -160
  191. package/skills/v8-sql-query/SKILL.md +302 -302
  192. package/skills/v8-table-event/SKILL.md +176 -176
  193. 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
  194. 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
  195. package/skills/v8-tcp-integration/SKILL.md +147 -147
  196. package/skills/v8-tcp-integration/agents/openai.yaml +4 -4
  197. package/skills/v8-template-engine/SKILL.md +167 -167
  198. package/skills/v8-utilities/SKILL.md +104 -104
  199. package/skills/v8-utilities/references/client-api-index.md +143 -143
  200. package/skills/v8-utilities/references/platform-http-routes.md +83 -83
  201. package/skills/v8-utilities/references/server-api-index.md +188 -188
  202. package/skills/v8-workflow/SKILL.md +252 -252
  203. 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
  204. package/skills/v8-workflow/references/workflow-configuration.md +49 -49
  205. package/skills/vision-engine/SKILL.md +160 -160
  206. package/skills/vision-engine/agents/openai.yaml +4 -4
  207. package/skills/vision-engine/references/architecture-and-acceptance.md +194 -194
  208. package/skills/workspace-conventions/SKILL.md +273 -273
  209. 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
  210. 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
  211. 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,256 +1,256 @@
1
- # Microi 表单组件配置项参考
2
-
3
- 本参考用于 AI 生成、审查或修复 `diy_field.Config`。事实源仍是 `Microi.Client/src/views/form-engine/diy-field-component/` 与 `diy-component-list.json`;组件源码新增配置时,必须同步更新本文件和官方文档。
4
-
5
- ## 字段级元数据
6
-
7
- | 字段 | 说明 |
8
- | --- | --- |
9
- | `Label` / `Name` | 显示名 / 物理字段名。`Name` 使用 PascalCase 或既有表字段名,不写中文。 |
10
- | `Type` | 物理列类型,只使用平台允许类型:`varchar(N)`、`mediumtext`、`longtext`、`int`、`bigint`、`decimal(18,N)`。日期时间存 `varchar(25)`。 |
11
- | `Component` | 控件类型,例如 `Text`、`Select`、`TableChild`。 |
12
- | `NotEmpty` / `Readonly` | 必填、只读。 |
13
- | `Visible` / `AppVisible` | PC / App 是否显示,默认业务字段为 `1`。 |
14
- | `TableWidth` / `FormWidth` | 列表宽度 / 表单栅格宽度。普通字段一般不设置 `FormWidth`;上传、富文本、代码、地图、子表等整行控件设 `24`。 |
15
- | `Data` | 选项类控件静态数据,常用 KeyValue:`key|label,key2|label2`。 |
16
- | `DefaultValue` / `Placeholder` / `Tab` | 默认值、占位提示、表单 Tab 分组。 |
17
- | `V8Code` / `KeyupV8Code` / `V8TmpEngineTable` / `V8TmpEngineForm` | 字段前端事件或 V8 模板代码。代码必须格式化,不要写成单行。 |
18
-
19
- ## 通用 `Config` 根节点
20
-
21
- | 配置 | 说明 |
22
- | --- | --- |
23
- | `EnableSearch` | 是否作为搜索条件。 |
24
- | `ParamData` | 组件请求或 V8 使用的附加参数。 |
25
- | `Sql` | SQL 数据源查询语句。动态值使用平台占位或后端参数化规则,不拼接用户输入。 |
26
- | `DataSource` | 数据源类型:`Data`、`KeyValue`、`Sql`、`ApiEngine`、`DataSource` 等。 |
27
- | `DataSourceSqlRemote` / `DataSourceSqlRemoteLoading` | SQL 是否远程搜索 / 加载态。 |
28
- | `DataSourceId` / `DataSourceApiEngineKey` | 数据源引擎 Id / 接口引擎 Key。 |
29
- | `SelectLabel` / `SelectSaveField` | 下拉、树、级联等显示字段 / 保存字段。 |
30
- | `SelectSaveFormat` | 保存格式,常用 `Text` 或 `Json`。 |
31
- | `V8Code` / `V8CodeBlur` | 值变更、失焦事件代码。 |
32
- | `TextIcon` / `TextIconPosition` | 输入框图标与位置。 |
33
- | `TextApend` / `TextApendPosition` | 输入框前后缀文本与位置。 |
34
- | `TextShowPassword` / `TextAutocomplete` | 密码显示模式 / 浏览器联想。 |
35
- | `DateTimeType` | 日期控件类型,如 `date`、`datetime`。 |
36
- | `DevComponentName` / `DevComponentPath` | 自定义组件名称和路径。 |
37
- | `MapCompany` | 地图服务商,默认 `Baidu`。 |
38
-
39
- ## 基础输入类
40
-
41
- | 组件 | 推荐类型 | 配置项 |
42
- | --- | --- | --- |
43
- | `Text` | `varchar(200)` | 使用通用文本配置:`TextShowPassword`、`TextIcon`、`TextApend`、`V8CodeBlur`。 |
44
- | `Guid` | `varchar(50)` | 通常只读,用于保存业务关联 GUID。 |
45
- | `Textarea` | `mediumtext` | `Textarea.DefaultRows` 控制默认行数。 |
46
- | `NumberText` | `int` 或 `decimal(18,N)` | `NumberTextStep`、`NumberTextPrecision`、`NumberTextMath`、`NumberTextBtn`、`NumberTextBtnPosition`。 |
47
- | `DateTime` | `varchar(25)` | `DateTimeType` 控制日期、日期时间等模式。 |
48
- | `Switch` | `int` | 存 `1/0`,不要用 `varchar` 或 `boolean`。 |
49
- | `Rate` / `Progress` / `Slider` | `int` | 评分、进度、滑块值。 |
50
- | `ColorPicker` | `varchar(50)` | 保存颜色字符串。 |
51
-
52
- ## 选项和数据源类
53
-
54
- | 组件 | 推荐类型 | 配置项 |
55
- | --- | --- | --- |
56
- | `Select` | `varchar(50)` | 必须配置 `Data` 或 `Config.DataSource`;常用 `SelectLabel`、`SelectSaveField`、`SelectSaveFormat`。 |
57
- | `MultipleSelect` | `varchar(500)` 或 `mediumtext` | 同 `Select`,多选值通常保存 JSON 或分隔文本。 |
58
- | `Radio` | `varchar(50)` | 必须配置选项数据。 |
59
- | `Checkbox` | `varchar(500)` 或 `mediumtext` | 必须配置选项数据,多值保存 JSON。 |
60
- | `Autocomplete` | `varchar(200)` | 可配 SQL/API 数据源,允许输入联想。 |
61
- | `TagInput` | `mediumtext` | `TagInput.Placeholder`、`TagInput.Options`、`TagInput.MaxCount`。 |
62
- | `Transfer` | `mediumtext` | `Transfer.LeftTitle`、`Transfer.RightTitle`、`Transfer.Filterable`、`Transfer.Options`。 |
63
-
64
- ## 布局和说明类
65
-
66
- | 组件 | 说明 | 配置项 |
67
- | --- | --- | --- |
68
- | `Divider` | 分割线,不保存业务值 | `DividerPosition`、`Divider.Icon`。 |
69
- | `CollapseGroup` | 折叠分组 | `CollapseGroup.DefaultCollapsed`、`ScopeMode`、`FieldCount`、`UntilNextGroup`、`Description`、`Icon`、`Theme`、`ShowFieldCount`。 |
70
- | `Tabs` | 字段级页签分组 | `FieldTabs.DefaultActiveKey`、`FieldTabs.Tabs[{Key,Label,Icon,Description}]`。 |
71
- | `Alert` | 表单提示 | `Alert.Title`、`Content`、`Type`、`Effect`、`ShowIcon`。 |
72
- | `StaticText` | 静态文本展示 | `StaticText.Content`、样式类配置。 |
73
- | `Html` | HTML 内容 | 保存 HTML 字符串;注意 XSS 风险。 |
74
- | `Button` | 表单按钮 | `Button.Type`、`Loading`、`Icon`、`Size`、`PreviewCanClick`、`RefreshTableAfterClick`,点击逻辑写格式化 V8。 |
75
-
76
- ## 富文本、代码、上传
77
-
78
- | 组件 | 推荐类型 | 配置项 |
79
- | --- | --- | --- |
80
- | `RichText` | `mediumtext` | 富文本内容,图片上传遵循平台上传配置。 |
81
- | `CodeEditor` | `mediumtext` | `CodeEditor.Height`;`CodeEditor.DisplayMode=Inline/Dialog`,配置项很多或同页多个代码字段时优先 `Dialog`。 |
82
- | `JsonTable` | `mediumtext` | JSON 表格展示/编辑,保存结构化 JSON;配置必须写在 `Config.JsonTable`。 |
83
- | `ImgUpload` | `mediumtext` | `ImgUpload.Limit`、`Multiple`、`Tips`、`MaxCount`、`ShowFileList`、`Preview`、`MaxSize`。 |
84
- | `FileUpload` | `mediumtext` | `FileUpload.Limit`、`Multiple`、`Tips`、`MaxCount`、`ShowFileList`、`MaxSize`。 |
85
- | `ImgUpload` / `FileUpload` | - | `Upload.BeforeUploadV8`、`GetPrivateFileBeforeServerV8`、`GetPrivateFileAfterServerV8`。 |
86
-
87
- ### JsonTable 配置
88
-
89
- `JsonTable` 的事实源是 `Microi.Client/src/views/form-engine/diy-field-component/diy-jsontable.vue`。AI 生成字段时不要只写 `Component=JsonTable`,必须同步生成 `Config.JsonTable.Columns`,否则前端只能显示空表。
90
-
91
- `Config.JsonTable` 根节点:
92
-
93
- | 配置 | 说明 |
94
- | --- | --- |
95
- | `Columns` | JSON 表格列数组,必填。每一项描述一列的显示、编辑控件和数据源。 |
96
- | `DataSource` | 批量导入/候选数据源类型:`KeyValue`、`Sql`、`DataSource`、`ApiEngine` 等。 |
97
- | `Sql` | `DataSource=Sql` 时的 SQL;远程搜索时必须带 `$Keyword$` 条件和 `limit`。 |
98
- | `DataSourceId` | `DataSource=DataSource` 时的数据源引擎 Key/Id。 |
99
- | `ApiEngineKey` / `DataSourceApiEngineKey` | `DataSource=ApiEngine` 时的接口引擎 Key;前端保存到 `ApiEngineKey`,列级配置可用 `DataSourceApiEngineKey`。 |
100
- | `SelectLabel` | 候选数据展示字段。 |
101
- | `DataSourceSqlRemote` | 是否远程搜索。大数据量必须设为 `true`。 |
102
- | `KeyValueList` | 静态键值数据,格式为 `[{ "Key": "A", "Value": "选项A" }]`。 |
103
-
104
- `Config.JsonTable.Columns[]` 列对象:
105
-
106
- | 配置 | 说明 |
107
- | --- | --- |
108
- | `Id` | 列唯一 Id,建议使用 Guid/Ulid。 |
109
- | `Sort` | 列排序。 |
110
- | `Label` | 列标题,必填。 |
111
- | `Key` | JSON 行对象中的属性名,必填,使用英文或既有字段名。 |
112
- | `Component` | 列编辑控件:`Text`、`Number`、`Textarea`、`Password`、`Select`、`MultipleSelect`、`Radio`、`Checkbox`、`Switch`、`Cascader`、`SelectTree`、`DateTime`、`Rate`、`ColorPicker`、`Progress`、`AutoNumber`、`Autocomplete`、`Address`、`Department`、`Map`、`ImgUpload`、`FileUpload`、`RichText`、`CodeEditor`、`Html`、`Fontawesome`、`Qrcode`、`Divider`、`Button`。 |
113
- | `Width` / `MinWidth` | 固定宽度 / 最小宽度,`MinWidth` 默认可用 `120`。 |
114
- | `Required` | 是否必填。 |
115
- | `Visible` | 是否显示,默认 `true`。 |
116
- | `DefaultValue` | 新增行默认值。 |
117
- | `Placeholder` | 占位提示。 |
118
- | `Readonly` | 是否只读。 |
119
- | `Config` | 列控件配置。选择类列使用 `SelectLabel`、`SelectSaveField`、`SelectSaveFormat`、`EnableSearch`、`DataSource`、`Sql`、`DataSourceId`、`DataSourceApiEngineKey`、`DataSourceSqlRemote`。 |
120
- | `Data` | 列级普通静态选项。 |
121
- | `KeyValueList` | 列级键值选项,格式同根节点。 |
122
-
123
- 示例:
124
-
125
- ```json
126
- {
127
- "JsonTable": {
128
- "Columns": [
129
- {
130
- "Id": "col-material",
131
- "Sort": 1,
132
- "Label": "材料名称",
133
- "Key": "MaterialName",
134
- "Component": "Text",
135
- "MinWidth": 160,
136
- "Required": true,
137
- "Visible": true,
138
- "Placeholder": "请输入材料名称"
139
- },
140
- {
141
- "Id": "col-status",
142
- "Sort": 2,
143
- "Label": "状态",
144
- "Key": "Status",
145
- "Component": "Select",
146
- "MinWidth": 120,
147
- "Visible": true,
148
- "Config": {
149
- "DataSource": "KeyValue",
150
- "SelectLabel": "Value",
151
- "SelectSaveField": "Key",
152
- "SelectSaveFormat": "Text"
153
- },
154
- "KeyValueList": [
155
- { "Key": "draft", "Value": "草稿" },
156
- { "Key": "confirmed", "Value": "已确认" }
157
- ]
158
- }
159
- ]
160
- }
161
- }
162
- ```
163
-
164
- ## 树、级联、组织
165
-
166
- | 组件 | 推荐类型 | 配置项 |
167
- | --- | --- | --- |
168
- | `Cascader` | `varchar(500)` 或 `mediumtext` | `Cascader.Lazy`、`Filterable`、`Value`、`Label`、`Children`、`ParentField`、`ParentFields`、`Multiple`、`Disabled`、`Leaf`、`EmitPath`。 |
169
- | `SelectTree` | `varchar(50)` | `SelectTree.Lazy`、`Filterable`、`Value`、`Label`、`Children`、`ParentField`、`ParentFields`、`Multiple`、`Disabled`、`Leaf`。 |
170
- | `TreeCheckbox` | `mediumtext` | `TreeCheckbox.DataSourceType`、`DataSourceApi`、`ShowSearch`、`ShowIcon`、`DefaultExpandAll`、`NameColumnWidth`、`NameColumnLabel`、`PermissionColumnLabel`。 |
171
- | `Department` | `varchar(50)` 或 `varchar(500)` | `Department.Multiple`、`Filterable`、`EmitPath`。 |
172
- | `Address` | `varchar(500)` | 省市区地址选择,通常保存路径或 JSON。 |
173
-
174
- ## 弹表、关联表、子表
175
-
176
- | 组件 | 推荐类型 | 配置项 |
177
- | --- | --- | --- |
178
- | `OpenTable` | `varchar(50)` | `OpenTable.BtnName`、`ShowDialog`、`MultipleSelect`、`BeforeOpenV8`、`SubmitV8`、`SearchAppend`。 |
179
- | `JoinTable` | `varchar(50)` | `JoinTable.TableId`、`ModuleName`、`ModuleId`、`Where`。 |
180
- | `JoinForm` | `varchar(50)` | `JoinForm.TableId`、`TableName`、`JoinFieldName`、`Id`、`FormMode`、`_SearchEqual`。主表字段保存一个目标记录 Id。 |
181
- | `TableChild` | 控件字段通常不承担关系存储 | 根节点:`TableChildTableId`、`TableChildSysMenuId`、`TableChildSysMenuName`、`TableChildFkFieldName`、`TableChildRowClickV8`。真实关系列必须建在子表。 |
182
- | `TableChild` | - | `TableChild.PrimaryTableFieldName`:主表关联字段,默认 `Id`;`DisablePagination`:子表是否禁用分页;`NoneDefaultHeight`:是否不使用默认高度;`Data`、`SearchAppend`、`LastTableId`、`LastSysMenuId`、`LastSysMenuName`。 |
183
- | `TableChild` | - | `TableChild.ImportAutoFillFk`:导入子表时自动补外键;`FieldRelations[[Parent,Child,ImportMatch?]]`:全部关系用于新增回写和导入回填,第三位 `true` 的关系用于导入反查主表。 |
184
-
185
- ### `JoinForm` / `TableChild` 选择门禁
186
-
187
- | 业务问题 | 正确组件 |
188
- | --- | --- |
189
- | 当前记录保存一个目标 Id,并内嵌该独立目标记录的完整表单 | `JoinForm` |
190
- | 一条父记录拥有 0..N 条明细,需要列表、分页或多行增删改 | `TableChild` |
191
- | 只需从列表选择一条/多条,不需要内嵌完整目标表单 | `OpenTable` |
192
-
193
- - “明细、子表、清单、条目、行项目、多个记录”默认选择 `TableChild`;基数不清楚时先询问。
194
- - `JoinForm` 渲染单条 `diy-form`,目标 `TableId/TableName` 必须与当前表不同;指回当前表时
195
- 组件不会初始化。`JoinFieldName` 是**当前主表中保存目标 Id 的字段名**。
196
- - `TableChild` 渲染 `diy-table`。子表必须有物理外键,控件必须同时拿到真实的子表 Id、
197
- 子表菜单 Id 和外键字段名;不得猜 Id 或用 `JoinForm` 代替未完成的两阶段配置。
198
- - 例:订单商品明细应为 `order_detail.OrderId + TableChild`;工单内嵌一个客户档案才是
199
- `work_order.CustomerId + JoinForm`。
200
-
201
- ### JoinForm 示例
202
-
203
- ```json
204
- {
205
- "JoinForm": {
206
- "TableId": "<目标 diy_table.Id>",
207
- "TableName": "",
208
- "JoinFieldName": "CustomerId",
209
- "FormMode": "View",
210
- "Id": "",
211
- "_SearchEqual": {}
212
- }
213
- }
214
- ```
215
-
216
- 字段设计器选择 `TableId` 时会清空 `TableName`;动态配置也可以只给目标 `TableName`,
217
- 二者至少提供一个,不要把当前表作为目标表。
218
-
219
- ### TableChild 完整示例
220
-
221
- ```json
222
- {
223
- "TableChildTableId": "01KNRCSVFK2W4NCWYBTVH9HGM2",
224
- "TableChildSysMenuId": "01KNRM72C6KBG4S8CY341333XJ",
225
- "TableChildSysMenuName": "项目成品清单",
226
- "TableChildFkFieldName": "Guid",
227
- "TableChild": {
228
- "PrimaryTableFieldName": "Id",
229
- "Data": [],
230
- "SearchAppend": {},
231
- "ImportAutoFillFk": true,
232
- "FieldRelations": [
233
- ["Code", "XiangmuBM", true],
234
- ["Name", "XiangmuMC"]
235
- ],
236
- "LastTableId": "",
237
- "LastSysMenuId": "",
238
- "LastSysMenuName": "",
239
- "DisablePagination": false,
240
- "NoneDefaultHeight": false
241
- }
242
- }
243
- ```
244
-
245
- `FieldRelations` 每项依次为主表字段、子表字段、可选的导入匹配标记。上例只用编号反查主表,名称仅回填。通过主表子表区域、左右树形页面或 `V8.OpenAnyTable` 带主表条件打开子表后导入时,即使 Excel 没有 `XiangmuBM` / `XiangmuMC`,后端也应根据固定主表行回填外键和展示列。旧三项配置仍由前后端兼容读取,并在字段下次保存时合并清理。
246
-
247
- ## 地图、二维码、图标、自定义
248
-
249
- | 组件 | 推荐类型 | 配置项 |
250
- | --- | --- | --- |
251
- | `Map` | `varchar(200)` | 地图点位,使用 `MapCompany`。 |
252
- | `MapArea` | `mediumtext` | 地图区域,多边形或区域 JSON。 |
253
- | `Qrcode` | `varchar(500)` | 二维码内容或生成源字段。 |
254
- | `FontAwesome` | `varchar(100)` | 图标类名。 |
255
- | `DevComponent` | 视组件而定 | `DevComponentName`、`DevComponentPath`。 |
256
- | `V8TmpEngine` | `mediumtext` | V8 模板引擎承载控件。 |
1
+ # Microi 表单组件配置项参考
2
+
3
+ 本参考用于 AI 生成、审查或修复 `diy_field.Config`。事实源仍是 `Microi.Client/src/views/form-engine/diy-field-component/` 与 `diy-component-list.json`;组件源码新增配置时,必须同步更新本文件和官方文档。
4
+
5
+ ## 字段级元数据
6
+
7
+ | 字段 | 说明 |
8
+ | --- | --- |
9
+ | `Label` / `Name` | 显示名 / 物理字段名。`Name` 使用 PascalCase 或既有表字段名,不写中文。 |
10
+ | `Type` | 物理列类型,只使用平台允许类型:`varchar(N)`、`mediumtext`、`longtext`、`int`、`bigint`、`decimal(18,N)`。日期时间存 `varchar(25)`。 |
11
+ | `Component` | 控件类型,例如 `Text`、`Select`、`TableChild`。 |
12
+ | `NotEmpty` / `Readonly` | 必填、只读。 |
13
+ | `Visible` / `AppVisible` | PC / App 是否显示,默认业务字段为 `1`。 |
14
+ | `TableWidth` / `FormWidth` | 列表宽度 / 表单栅格宽度。普通字段一般不设置 `FormWidth`;上传、富文本、代码、地图、子表等整行控件设 `24`。 |
15
+ | `Data` | 选项类控件静态数据,常用 KeyValue:`key|label,key2|label2`。 |
16
+ | `DefaultValue` / `Placeholder` / `Tab` | 默认值、占位提示、表单 Tab 分组。 |
17
+ | `V8Code` / `KeyupV8Code` / `V8TmpEngineTable` / `V8TmpEngineForm` | 字段前端事件或 V8 模板代码。代码必须格式化,不要写成单行。 |
18
+
19
+ ## 通用 `Config` 根节点
20
+
21
+ | 配置 | 说明 |
22
+ | --- | --- |
23
+ | `EnableSearch` | 是否作为搜索条件。 |
24
+ | `ParamData` | 组件请求或 V8 使用的附加参数。 |
25
+ | `Sql` | SQL 数据源查询语句。动态值使用平台占位或后端参数化规则,不拼接用户输入。 |
26
+ | `DataSource` | 数据源类型:`Data`、`KeyValue`、`Sql`、`ApiEngine`、`DataSource` 等。 |
27
+ | `DataSourceSqlRemote` / `DataSourceSqlRemoteLoading` | SQL 是否远程搜索 / 加载态。 |
28
+ | `DataSourceId` / `DataSourceApiEngineKey` | 数据源引擎 Id / 接口引擎 Key。 |
29
+ | `SelectLabel` / `SelectSaveField` | 下拉、树、级联等显示字段 / 保存字段。 |
30
+ | `SelectSaveFormat` | 保存格式,常用 `Text` 或 `Json`。 |
31
+ | `V8Code` / `V8CodeBlur` | 值变更、失焦事件代码。 |
32
+ | `TextIcon` / `TextIconPosition` | 输入框图标与位置。 |
33
+ | `TextApend` / `TextApendPosition` | 输入框前后缀文本与位置。 |
34
+ | `TextShowPassword` / `TextAutocomplete` | 密码显示模式 / 浏览器联想。 |
35
+ | `DateTimeType` | 日期控件类型,如 `date`、`datetime`。 |
36
+ | `DevComponentName` / `DevComponentPath` | 自定义组件名称和路径。 |
37
+ | `MapCompany` | 地图服务商,默认 `Baidu`。 |
38
+
39
+ ## 基础输入类
40
+
41
+ | 组件 | 推荐类型 | 配置项 |
42
+ | --- | --- | --- |
43
+ | `Text` | `varchar(200)` | 使用通用文本配置:`TextShowPassword`、`TextIcon`、`TextApend`、`V8CodeBlur`。 |
44
+ | `Guid` | `varchar(50)` | 通常只读,用于保存业务关联 GUID。 |
45
+ | `Textarea` | `mediumtext` | `Textarea.DefaultRows` 控制默认行数。 |
46
+ | `NumberText` | `int` 或 `decimal(18,N)` | `NumberTextStep`、`NumberTextPrecision`、`NumberTextMath`、`NumberTextBtn`、`NumberTextBtnPosition`。 |
47
+ | `DateTime` | `varchar(25)` | `DateTimeType` 控制日期、日期时间等模式。 |
48
+ | `Switch` | `int` | 存 `1/0`,不要用 `varchar` 或 `boolean`。 |
49
+ | `Rate` / `Progress` / `Slider` | `int` | 评分、进度、滑块值。 |
50
+ | `ColorPicker` | `varchar(50)` | 保存颜色字符串。 |
51
+
52
+ ## 选项和数据源类
53
+
54
+ | 组件 | 推荐类型 | 配置项 |
55
+ | --- | --- | --- |
56
+ | `Select` | `varchar(50)` | 必须配置 `Data` 或 `Config.DataSource`;常用 `SelectLabel`、`SelectSaveField`、`SelectSaveFormat`。 |
57
+ | `MultipleSelect` | `varchar(500)` 或 `mediumtext` | 同 `Select`,多选值通常保存 JSON 或分隔文本。 |
58
+ | `Radio` | `varchar(50)` | 必须配置选项数据。 |
59
+ | `Checkbox` | `varchar(500)` 或 `mediumtext` | 必须配置选项数据,多值保存 JSON。 |
60
+ | `Autocomplete` | `varchar(200)` | 可配 SQL/API 数据源,允许输入联想。 |
61
+ | `TagInput` | `mediumtext` | `TagInput.Placeholder`、`TagInput.Options`、`TagInput.MaxCount`。 |
62
+ | `Transfer` | `mediumtext` | `Transfer.LeftTitle`、`Transfer.RightTitle`、`Transfer.Filterable`、`Transfer.Options`。 |
63
+
64
+ ## 布局和说明类
65
+
66
+ | 组件 | 说明 | 配置项 |
67
+ | --- | --- | --- |
68
+ | `Divider` | 分割线,不保存业务值 | `DividerPosition`、`Divider.Icon`。 |
69
+ | `CollapseGroup` | 折叠分组 | `CollapseGroup.DefaultCollapsed`、`ScopeMode`、`FieldCount`、`UntilNextGroup`、`Description`、`Icon`、`Theme`、`ShowFieldCount`。 |
70
+ | `Tabs` | 字段级页签分组 | `FieldTabs.DefaultActiveKey`、`FieldTabs.Tabs[{Key,Label,Icon,Description}]`。 |
71
+ | `Alert` | 表单提示 | `Alert.Title`、`Content`、`Type`、`Effect`、`ShowIcon`。 |
72
+ | `StaticText` | 静态文本展示 | `StaticText.Content`、样式类配置。 |
73
+ | `Html` | HTML 内容 | 保存 HTML 字符串;注意 XSS 风险。 |
74
+ | `Button` | 表单按钮 | `Button.Type`、`Loading`、`Icon`、`Size`、`PreviewCanClick`、`RefreshTableAfterClick`,点击逻辑写格式化 V8。 |
75
+
76
+ ## 富文本、代码、上传
77
+
78
+ | 组件 | 推荐类型 | 配置项 |
79
+ | --- | --- | --- |
80
+ | `RichText` | `mediumtext` | 富文本内容,图片上传遵循平台上传配置。 |
81
+ | `CodeEditor` | `mediumtext` | `CodeEditor.Height`;`CodeEditor.DisplayMode=Inline/Dialog`,配置项很多或同页多个代码字段时优先 `Dialog`。 |
82
+ | `JsonTable` | `mediumtext` | JSON 表格展示/编辑,保存结构化 JSON;配置必须写在 `Config.JsonTable`。 |
83
+ | `ImgUpload` | `mediumtext` | `ImgUpload.Limit`、`Multiple`、`Tips`、`MaxCount`、`ShowFileList`、`Preview`、`MaxSize`。 |
84
+ | `FileUpload` | `mediumtext` | `FileUpload.Limit`、`Multiple`、`Tips`、`MaxCount`、`ShowFileList`、`MaxSize`。 |
85
+ | `ImgUpload` / `FileUpload` | - | `Upload.BeforeUploadV8`、`GetPrivateFileBeforeServerV8`、`GetPrivateFileAfterServerV8`。 |
86
+
87
+ ### JsonTable 配置
88
+
89
+ `JsonTable` 的事实源是 `Microi.Client/src/views/form-engine/diy-field-component/diy-jsontable.vue`。AI 生成字段时不要只写 `Component=JsonTable`,必须同步生成 `Config.JsonTable.Columns`,否则前端只能显示空表。
90
+
91
+ `Config.JsonTable` 根节点:
92
+
93
+ | 配置 | 说明 |
94
+ | --- | --- |
95
+ | `Columns` | JSON 表格列数组,必填。每一项描述一列的显示、编辑控件和数据源。 |
96
+ | `DataSource` | 批量导入/候选数据源类型:`KeyValue`、`Sql`、`DataSource`、`ApiEngine` 等。 |
97
+ | `Sql` | `DataSource=Sql` 时的 SQL;远程搜索时必须带 `$Keyword$` 条件和 `limit`。 |
98
+ | `DataSourceId` | `DataSource=DataSource` 时的数据源引擎 Key/Id。 |
99
+ | `ApiEngineKey` / `DataSourceApiEngineKey` | `DataSource=ApiEngine` 时的接口引擎 Key;前端保存到 `ApiEngineKey`,列级配置可用 `DataSourceApiEngineKey`。 |
100
+ | `SelectLabel` | 候选数据展示字段。 |
101
+ | `DataSourceSqlRemote` | 是否远程搜索。大数据量必须设为 `true`。 |
102
+ | `KeyValueList` | 静态键值数据,格式为 `[{ "Key": "A", "Value": "选项A" }]`。 |
103
+
104
+ `Config.JsonTable.Columns[]` 列对象:
105
+
106
+ | 配置 | 说明 |
107
+ | --- | --- |
108
+ | `Id` | 列唯一 Id,建议使用 Guid/Ulid。 |
109
+ | `Sort` | 列排序。 |
110
+ | `Label` | 列标题,必填。 |
111
+ | `Key` | JSON 行对象中的属性名,必填,使用英文或既有字段名。 |
112
+ | `Component` | 列编辑控件:`Text`、`Number`、`Textarea`、`Password`、`Select`、`MultipleSelect`、`Radio`、`Checkbox`、`Switch`、`Cascader`、`SelectTree`、`DateTime`、`Rate`、`ColorPicker`、`Progress`、`AutoNumber`、`Autocomplete`、`Address`、`Department`、`Map`、`ImgUpload`、`FileUpload`、`RichText`、`CodeEditor`、`Html`、`Fontawesome`、`Qrcode`、`Divider`、`Button`。 |
113
+ | `Width` / `MinWidth` | 固定宽度 / 最小宽度,`MinWidth` 默认可用 `120`。 |
114
+ | `Required` | 是否必填。 |
115
+ | `Visible` | 是否显示,默认 `true`。 |
116
+ | `DefaultValue` | 新增行默认值。 |
117
+ | `Placeholder` | 占位提示。 |
118
+ | `Readonly` | 是否只读。 |
119
+ | `Config` | 列控件配置。选择类列使用 `SelectLabel`、`SelectSaveField`、`SelectSaveFormat`、`EnableSearch`、`DataSource`、`Sql`、`DataSourceId`、`DataSourceApiEngineKey`、`DataSourceSqlRemote`。 |
120
+ | `Data` | 列级普通静态选项。 |
121
+ | `KeyValueList` | 列级键值选项,格式同根节点。 |
122
+
123
+ 示例:
124
+
125
+ ```json
126
+ {
127
+ "JsonTable": {
128
+ "Columns": [
129
+ {
130
+ "Id": "col-material",
131
+ "Sort": 1,
132
+ "Label": "材料名称",
133
+ "Key": "MaterialName",
134
+ "Component": "Text",
135
+ "MinWidth": 160,
136
+ "Required": true,
137
+ "Visible": true,
138
+ "Placeholder": "请输入材料名称"
139
+ },
140
+ {
141
+ "Id": "col-status",
142
+ "Sort": 2,
143
+ "Label": "状态",
144
+ "Key": "Status",
145
+ "Component": "Select",
146
+ "MinWidth": 120,
147
+ "Visible": true,
148
+ "Config": {
149
+ "DataSource": "KeyValue",
150
+ "SelectLabel": "Value",
151
+ "SelectSaveField": "Key",
152
+ "SelectSaveFormat": "Text"
153
+ },
154
+ "KeyValueList": [
155
+ { "Key": "draft", "Value": "草稿" },
156
+ { "Key": "confirmed", "Value": "已确认" }
157
+ ]
158
+ }
159
+ ]
160
+ }
161
+ }
162
+ ```
163
+
164
+ ## 树、级联、组织
165
+
166
+ | 组件 | 推荐类型 | 配置项 |
167
+ | --- | --- | --- |
168
+ | `Cascader` | `varchar(500)` 或 `mediumtext` | `Cascader.Lazy`、`Filterable`、`Value`、`Label`、`Children`、`ParentField`、`ParentFields`、`Multiple`、`Disabled`、`Leaf`、`EmitPath`。 |
169
+ | `SelectTree` | `varchar(50)` | `SelectTree.Lazy`、`Filterable`、`Value`、`Label`、`Children`、`ParentField`、`ParentFields`、`Multiple`、`Disabled`、`Leaf`。 |
170
+ | `TreeCheckbox` | `mediumtext` | `TreeCheckbox.DataSourceType`、`DataSourceApi`、`ShowSearch`、`ShowIcon`、`DefaultExpandAll`、`NameColumnWidth`、`NameColumnLabel`、`PermissionColumnLabel`。 |
171
+ | `Department` | `varchar(50)` 或 `varchar(500)` | `Department.Multiple`、`Filterable`、`EmitPath`。 |
172
+ | `Address` | `varchar(500)` | 省市区地址选择,通常保存路径或 JSON。 |
173
+
174
+ ## 弹表、关联表、子表
175
+
176
+ | 组件 | 推荐类型 | 配置项 |
177
+ | --- | --- | --- |
178
+ | `OpenTable` | `varchar(50)` | `OpenTable.BtnName`、`ShowDialog`、`MultipleSelect`、`BeforeOpenV8`、`SubmitV8`、`SearchAppend`。 |
179
+ | `JoinTable` | `varchar(50)` | `JoinTable.TableId`、`ModuleName`、`ModuleId`、`Where`。 |
180
+ | `JoinForm` | `varchar(50)` | `JoinForm.TableId`、`TableName`、`JoinFieldName`、`Id`、`FormMode`、`_SearchEqual`。主表字段保存一个目标记录 Id。 |
181
+ | `TableChild` | 控件字段通常不承担关系存储 | 根节点:`TableChildTableId`、`TableChildSysMenuId`、`TableChildSysMenuName`、`TableChildFkFieldName`、`TableChildRowClickV8`。真实关系列必须建在子表。 |
182
+ | `TableChild` | - | `TableChild.PrimaryTableFieldName`:主表关联字段,默认 `Id`;`DisablePagination`:子表是否禁用分页;`NoneDefaultHeight`:是否不使用默认高度;`Data`、`SearchAppend`、`LastTableId`、`LastSysMenuId`、`LastSysMenuName`。 |
183
+ | `TableChild` | - | `TableChild.ImportAutoFillFk`:导入子表时自动补外键;`FieldRelations[[Parent,Child,ImportMatch?]]`:全部关系用于新增回写和导入回填,第三位 `true` 的关系用于导入反查主表。 |
184
+
185
+ ### `JoinForm` / `TableChild` 选择门禁
186
+
187
+ | 业务问题 | 正确组件 |
188
+ | --- | --- |
189
+ | 当前记录保存一个目标 Id,并内嵌该独立目标记录的完整表单 | `JoinForm` |
190
+ | 一条父记录拥有 0..N 条明细,需要列表、分页或多行增删改 | `TableChild` |
191
+ | 只需从列表选择一条/多条,不需要内嵌完整目标表单 | `OpenTable` |
192
+
193
+ - “明细、子表、清单、条目、行项目、多个记录”默认选择 `TableChild`;基数不清楚时先询问。
194
+ - `JoinForm` 渲染单条 `diy-form`,目标 `TableId/TableName` 必须与当前表不同;指回当前表时
195
+ 组件不会初始化。`JoinFieldName` 是**当前主表中保存目标 Id 的字段名**。
196
+ - `TableChild` 渲染 `diy-table`。子表必须有物理外键,控件必须同时拿到真实的子表 Id、
197
+ 子表菜单 Id 和外键字段名;不得猜 Id 或用 `JoinForm` 代替未完成的两阶段配置。
198
+ - 例:订单商品明细应为 `order_detail.OrderId + TableChild`;工单内嵌一个客户档案才是
199
+ `work_order.CustomerId + JoinForm`。
200
+
201
+ ### JoinForm 示例
202
+
203
+ ```json
204
+ {
205
+ "JoinForm": {
206
+ "TableId": "<目标 diy_table.Id>",
207
+ "TableName": "",
208
+ "JoinFieldName": "CustomerId",
209
+ "FormMode": "View",
210
+ "Id": "",
211
+ "_SearchEqual": {}
212
+ }
213
+ }
214
+ ```
215
+
216
+ 字段设计器选择 `TableId` 时会清空 `TableName`;动态配置也可以只给目标 `TableName`,
217
+ 二者至少提供一个,不要把当前表作为目标表。
218
+
219
+ ### TableChild 完整示例
220
+
221
+ ```json
222
+ {
223
+ "TableChildTableId": "01KNRCSVFK2W4NCWYBTVH9HGM2",
224
+ "TableChildSysMenuId": "01KNRM72C6KBG4S8CY341333XJ",
225
+ "TableChildSysMenuName": "项目成品清单",
226
+ "TableChildFkFieldName": "Guid",
227
+ "TableChild": {
228
+ "PrimaryTableFieldName": "Id",
229
+ "Data": [],
230
+ "SearchAppend": {},
231
+ "ImportAutoFillFk": true,
232
+ "FieldRelations": [
233
+ ["Code", "XiangmuBM", true],
234
+ ["Name", "XiangmuMC"]
235
+ ],
236
+ "LastTableId": "",
237
+ "LastSysMenuId": "",
238
+ "LastSysMenuName": "",
239
+ "DisablePagination": false,
240
+ "NoneDefaultHeight": false
241
+ }
242
+ }
243
+ ```
244
+
245
+ `FieldRelations` 每项依次为主表字段、子表字段、可选的导入匹配标记。上例只用编号反查主表,名称仅回填。通过主表子表区域、左右树形页面或 `V8.OpenAnyTable` 带主表条件打开子表后导入时,即使 Excel 没有 `XiangmuBM` / `XiangmuMC`,后端也应根据固定主表行回填外键和展示列。旧三项配置仍由前后端兼容读取,并在字段下次保存时合并清理。
246
+
247
+ ## 地图、二维码、图标、自定义
248
+
249
+ | 组件 | 推荐类型 | 配置项 |
250
+ | --- | --- | --- |
251
+ | `Map` | `varchar(200)` | 地图点位,使用 `MapCompany`。 |
252
+ | `MapArea` | `mediumtext` | 地图区域,多边形或区域 JSON。 |
253
+ | `Qrcode` | `varchar(500)` | 二维码内容或生成源字段。 |
254
+ | `FontAwesome` | `varchar(100)` | 图标类名。 |
255
+ | `DevComponent` | 视组件而定 | `DevComponentName`、`DevComponentPath`。 |
256
+ | `V8TmpEngine` | `mediumtext` | V8 模板引擎承载控件。 |