weaver-e10-builder 1.5.13 → 1.5.14
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/dist/commands/actionflow.d.ts.map +1 -1
- package/dist/commands/actionflow.js +1 -0
- package/dist/commands/actionflow.js.map +1 -1
- package/dist/commands/designer-setters.d.ts.map +1 -1
- package/dist/commands/designer-setters.js +148 -47
- package/dist/commands/designer-setters.js.map +1 -1
- package/dist/commands/form-add-detail-table.d.ts.map +1 -1
- package/dist/commands/form-add-detail-table.js +53 -7
- package/dist/commands/form-add-detail-table.js.map +1 -1
- package/dist/commands/form-browser-definition.d.ts +14 -0
- package/dist/commands/form-browser-definition.d.ts.map +1 -0
- package/dist/commands/form-browser-definition.js +493 -0
- package/dist/commands/form-browser-definition.js.map +1 -0
- package/dist/commands/form-code.d.ts +5 -0
- package/dist/commands/form-code.d.ts.map +1 -0
- package/dist/commands/form-code.js +276 -0
- package/dist/commands/form-code.js.map +1 -0
- package/dist/commands/form-engine-linkage.d.ts +3 -0
- package/dist/commands/form-engine-linkage.d.ts.map +1 -0
- package/dist/commands/form-engine-linkage.js +199 -0
- package/dist/commands/form-engine-linkage.js.map +1 -0
- package/dist/commands/form-formula.d.ts.map +1 -1
- package/dist/commands/form-formula.js +7 -19
- package/dist/commands/form-formula.js.map +1 -1
- package/dist/commands/form-layout-template-advanced.d.ts +3 -0
- package/dist/commands/form-layout-template-advanced.d.ts.map +1 -0
- package/dist/commands/form-layout-template-advanced.js +115 -0
- package/dist/commands/form-layout-template-advanced.js.map +1 -0
- package/dist/commands/form-layout-template-easy.d.ts +3 -0
- package/dist/commands/form-layout-template-easy.d.ts.map +1 -0
- package/dist/commands/form-layout-template-easy.js +59 -0
- package/dist/commands/form-layout-template-easy.js.map +1 -0
- package/dist/commands/form-layout.d.ts.map +1 -1
- package/dist/commands/form-layout.js +77 -0
- package/dist/commands/form-layout.js.map +1 -1
- package/dist/commands/form-list-filter.js +1 -1
- package/dist/commands/form-list-filter.js.map +1 -1
- package/dist/commands/form-list-utils.d.ts +5 -0
- package/dist/commands/form-list-utils.d.ts.map +1 -1
- package/dist/commands/form-list-utils.js +23 -3
- package/dist/commands/form-list-utils.js.map +1 -1
- package/dist/commands/form-permission.d.ts.map +1 -1
- package/dist/commands/form-permission.js +55 -19
- package/dist/commands/form-permission.js.map +1 -1
- package/dist/commands/form-physical-table.d.ts.map +1 -1
- package/dist/commands/form-physical-table.js +8 -2
- package/dist/commands/form-physical-table.js.map +1 -1
- package/dist/commands/form.d.ts.map +1 -1
- package/dist/commands/form.js +143 -5
- package/dist/commands/form.js.map +1 -1
- package/dist/commands/menu.d.ts +68 -2
- package/dist/commands/menu.d.ts.map +1 -1
- package/dist/commands/menu.js +186 -41
- package/dist/commands/menu.js.map +1 -1
- package/dist/commands/page.d.ts.map +1 -1
- package/dist/commands/page.js +29 -6
- package/dist/commands/page.js.map +1 -1
- package/dist/commands/special.d.ts.map +1 -1
- package/dist/commands/special.js +3 -2
- package/dist/commands/special.js.map +1 -1
- package/dist/commands/wf-form.d.ts.map +1 -1
- package/dist/commands/wf-form.js +76 -31
- package/dist/commands/wf-form.js.map +1 -1
- package/dist/commands/workflow-auth-resp.js +2 -2
- package/dist/commands/workflow-auth-resp.js.map +1 -1
- package/dist/commands/workflow-base-settings.d.ts +3 -0
- package/dist/commands/workflow-base-settings.d.ts.map +1 -0
- package/dist/commands/workflow-base-settings.js +73 -0
- package/dist/commands/workflow-base-settings.js.map +1 -0
- package/dist/commands/workflow-condition.d.ts.map +1 -1
- package/dist/commands/workflow-condition.js +59 -450
- package/dist/commands/workflow-condition.js.map +1 -1
- package/dist/commands/workflow-export.d.ts +9 -0
- package/dist/commands/workflow-export.d.ts.map +1 -0
- package/dist/commands/workflow-export.js +121 -0
- package/dist/commands/workflow-export.js.map +1 -0
- package/dist/commands/workflow-node.d.ts.map +1 -1
- package/dist/commands/workflow-node.js +28 -53
- package/dist/commands/workflow-node.js.map +1 -1
- package/dist/commands/workflow-operator-batch.d.ts +3 -0
- package/dist/commands/workflow-operator-batch.d.ts.map +1 -0
- package/dist/commands/workflow-operator-batch.js +35 -0
- package/dist/commands/workflow-operator-batch.js.map +1 -0
- package/dist/commands/workflow-subprocess.d.ts.map +1 -1
- package/dist/commands/workflow-subprocess.js +21 -33
- package/dist/commands/workflow-subprocess.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +18 -33
- package/dist/commands/workflow.js.map +1 -1
- package/dist/index.js +18 -1
- package/dist/index.js.map +1 -1
- package/dist/services/actionflow/browser_source.d.ts +9 -0
- package/dist/services/actionflow/browser_source.d.ts.map +1 -0
- package/dist/services/actionflow/browser_source.js +12 -0
- package/dist/services/actionflow/browser_source.js.map +1 -0
- package/dist/services/actionflow/components/date_trigger.js +1 -1
- package/dist/services/actionflow/components/date_trigger.js.map +1 -1
- package/dist/services/actionflow/components/document_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/document_actions.js +178 -25
- package/dist/services/actionflow/components/document_actions.js.map +1 -1
- package/dist/services/actionflow/components/enquiry_form.js +1 -1
- package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
- package/dist/services/actionflow/components/logic_flow_set.d.ts.map +1 -1
- package/dist/services/actionflow/components/logic_flow_set.js +80 -8
- package/dist/services/actionflow/components/logic_flow_set.js.map +1 -1
- package/dist/services/actionflow/components/meeting_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/meeting_create.js +1 -0
- package/dist/services/actionflow/components/meeting_create.js.map +1 -1
- package/dist/services/actionflow/components/schedule_create.d.ts.map +1 -1
- package/dist/services/actionflow/components/schedule_create.js +2 -0
- package/dist/services/actionflow/components/schedule_create.js.map +1 -1
- package/dist/services/actionflow/components/time_batch_trigger.js +1 -1
- package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.d.ts.map +1 -1
- package/dist/services/actionflow/components/workflow_actions.js +6 -2
- package/dist/services/actionflow/components/workflow_actions.js.map +1 -1
- package/dist/services/actionflow/context_preflight.d.ts.map +1 -1
- package/dist/services/actionflow/context_preflight.js +103 -6
- package/dist/services/actionflow/context_preflight.js.map +1 -1
- package/dist/services/actionflow/form_source.d.ts +2 -0
- package/dist/services/actionflow/form_source.d.ts.map +1 -1
- package/dist/services/actionflow/form_source.js +8 -0
- package/dist/services/actionflow/form_source.js.map +1 -1
- package/dist/services/actionflow/formula_service.d.ts.map +1 -1
- package/dist/services/actionflow/formula_service.js +35 -19
- package/dist/services/actionflow/formula_service.js.map +1 -1
- package/dist/services/actionflow/logicflow_source.d.ts +5 -0
- package/dist/services/actionflow/logicflow_source.d.ts.map +1 -0
- package/dist/services/actionflow/logicflow_source.js +15 -0
- package/dist/services/actionflow/logicflow_source.js.map +1 -0
- package/dist/services/actionflow/preflight_service.d.ts +15 -0
- package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
- package/dist/services/actionflow/preflight_service.js +558 -26
- package/dist/services/actionflow/preflight_service.js.map +1 -1
- package/dist/services/actionflow/runtime_metadata.d.ts +8 -0
- package/dist/services/actionflow/runtime_metadata.d.ts.map +1 -1
- package/dist/services/actionflow/runtime_metadata.js +25 -0
- package/dist/services/actionflow/runtime_metadata.js.map +1 -1
- package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_compiler.js +50 -10
- package/dist/services/actionflow/workflow_compiler.js.map +1 -1
- package/dist/services/actionflow/workflow_source.d.ts +2 -0
- package/dist/services/actionflow/workflow_source.d.ts.map +1 -1
- package/dist/services/actionflow/workflow_source.js +7 -0
- package/dist/services/actionflow/workflow_source.js.map +1 -1
- package/dist/services/auth-resp-condition.d.ts +7 -3
- package/dist/services/auth-resp-condition.d.ts.map +1 -1
- package/dist/services/auth-resp-condition.js +58 -63
- package/dist/services/auth-resp-condition.js.map +1 -1
- package/dist/services/browser.d.ts +5 -0
- package/dist/services/browser.d.ts.map +1 -1
- package/dist/services/browser.js +16 -4
- package/dist/services/browser.js.map +1 -1
- package/dist/services/condition-rules.d.ts +2 -30
- package/dist/services/condition-rules.d.ts.map +1 -1
- package/dist/services/condition-rules.js +3 -219
- package/dist/services/condition-rules.js.map +1 -1
- package/dist/services/designer-dataset.d.ts +45 -0
- package/dist/services/designer-dataset.d.ts.map +1 -0
- package/dist/services/designer-dataset.js +156 -0
- package/dist/services/designer-dataset.js.map +1 -0
- package/dist/services/form-association.d.ts +7 -0
- package/dist/services/form-association.d.ts.map +1 -1
- package/dist/services/form-association.js +22 -1
- package/dist/services/form-association.js.map +1 -1
- package/dist/services/form-code.d.ts +53 -0
- package/dist/services/form-code.d.ts.map +1 -0
- package/dist/services/form-code.js +370 -0
- package/dist/services/form-code.js.map +1 -0
- package/dist/services/form-create.d.ts +20 -0
- package/dist/services/form-create.d.ts.map +1 -1
- package/dist/services/form-create.js +73 -1
- package/dist/services/form-create.js.map +1 -1
- package/dist/services/form-field-build.d.ts +1 -1
- package/dist/services/form-field-build.d.ts.map +1 -1
- package/dist/services/form-field-build.js +20 -1
- package/dist/services/form-field-build.js.map +1 -1
- package/dist/services/form-field-drop.d.ts +2 -0
- package/dist/services/form-field-drop.d.ts.map +1 -1
- package/dist/services/form-field-drop.js +2 -0
- package/dist/services/form-field-drop.js.map +1 -1
- package/dist/services/form-layout-detail-insert.d.ts +58 -0
- package/dist/services/form-layout-detail-insert.d.ts.map +1 -0
- package/dist/services/form-layout-detail-insert.js +293 -0
- package/dist/services/form-layout-detail-insert.js.map +1 -0
- package/dist/services/form-layout-insert.d.ts.map +1 -1
- package/dist/services/form-layout-insert.js +34 -2
- package/dist/services/form-layout-insert.js.map +1 -1
- package/dist/services/form-layout-source/compile.d.ts.map +1 -1
- package/dist/services/form-layout-source/compile.js +11 -4
- package/dist/services/form-layout-source/compile.js.map +1 -1
- package/dist/services/form-layout-template-advanced.d.ts +330 -0
- package/dist/services/form-layout-template-advanced.d.ts.map +1 -0
- package/dist/services/form-layout-template-advanced.js +1437 -0
- package/dist/services/form-layout-template-advanced.js.map +1 -0
- package/dist/services/form-layout-template-easy.d.ts +34 -0
- package/dist/services/form-layout-template-easy.d.ts.map +1 -0
- package/dist/services/form-layout-template-easy.js +159 -0
- package/dist/services/form-layout-template-easy.js.map +1 -0
- package/dist/services/form-layout-template-flow.d.ts +23 -0
- package/dist/services/form-layout-template-flow.d.ts.map +1 -0
- package/dist/services/form-layout-template-flow.js +99 -0
- package/dist/services/form-layout-template-flow.js.map +1 -0
- package/dist/services/form-permission-archive.d.ts +23 -1
- package/dist/services/form-permission-archive.d.ts.map +1 -1
- package/dist/services/form-permission-archive.js +54 -2
- package/dist/services/form-permission-archive.js.map +1 -1
- package/dist/services/form-physical-table.d.ts +10 -0
- package/dist/services/form-physical-table.d.ts.map +1 -1
- package/dist/services/form-physical-table.js +20 -0
- package/dist/services/form-physical-table.js.map +1 -1
- package/dist/services/form-view-linkage-functions.d.ts +19 -0
- package/dist/services/form-view-linkage-functions.d.ts.map +1 -0
- package/dist/services/form-view-linkage-functions.js +90 -0
- package/dist/services/form-view-linkage-functions.js.map +1 -0
- package/dist/services/matrix-condition.d.ts +32 -1
- package/dist/services/matrix-condition.d.ts.map +1 -1
- package/dist/services/matrix-condition.js +169 -6
- package/dist/services/matrix-condition.js.map +1 -1
- package/dist/services/menu-catalog.d.ts +24 -1
- package/dist/services/menu-catalog.d.ts.map +1 -1
- package/dist/services/menu-catalog.js +49 -2
- package/dist/services/menu-catalog.js.map +1 -1
- package/dist/services/workflow-base-settings.d.ts +117 -0
- package/dist/services/workflow-base-settings.d.ts.map +1 -0
- package/dist/services/workflow-base-settings.js +504 -0
- package/dist/services/workflow-base-settings.js.map +1 -0
- package/dist/services/workflow-condition-core.d.ts +48 -0
- package/dist/services/workflow-condition-core.d.ts.map +1 -0
- package/dist/services/workflow-condition-core.js +316 -0
- package/dist/services/workflow-condition-core.js.map +1 -0
- package/dist/services/workflow-context.d.ts +10 -0
- package/dist/services/workflow-context.d.ts.map +1 -0
- package/dist/services/workflow-context.js +15 -0
- package/dist/services/workflow-context.js.map +1 -0
- package/dist/services/workflow-export.d.ts +80 -0
- package/dist/services/workflow-export.d.ts.map +1 -0
- package/dist/services/workflow-export.js +150 -0
- package/dist/services/workflow-export.js.map +1 -0
- package/dist/services/workflow-field-permission-route.d.ts +75 -0
- package/dist/services/workflow-field-permission-route.d.ts.map +1 -0
- package/dist/services/workflow-field-permission-route.js +52 -0
- package/dist/services/workflow-field-permission-route.js.map +1 -0
- package/dist/services/workflow-field-permission.d.ts +18 -0
- package/dist/services/workflow-field-permission.d.ts.map +1 -0
- package/dist/services/workflow-field-permission.js +40 -0
- package/dist/services/workflow-field-permission.js.map +1 -0
- package/dist/services/workflow-node-layout.d.ts +11 -10
- package/dist/services/workflow-node-layout.d.ts.map +1 -1
- package/dist/services/workflow-node-layout.js +24 -62
- package/dist/services/workflow-node-layout.js.map +1 -1
- package/dist/services/workflow-operator-batch-condition.d.ts +23 -0
- package/dist/services/workflow-operator-batch-condition.d.ts.map +1 -0
- package/dist/services/workflow-operator-batch-condition.js +56 -0
- package/dist/services/workflow-operator-batch-condition.js.map +1 -0
- package/package.json +1 -1
- package/skill-docs/SKILL.md +155 -154
- package/skill-docs/_catalog.md +9 -2
- package/skill-docs/actionflows/references/components/document/GetDocumentInfo.md +17 -17
- package/skill-docs/actionflows/references/components/logic/LogicFlowSet.md +23 -17
- package/skill-docs/assets/form-template/style-templates-advanced-base-example.json +1420 -0
- package/skill-docs/assets/form-template/style-templates-advanced-base.css +33 -0
- package/skill-docs/assets/form-template/style-templates-advanced-blue-crystal-example.json +1094 -0
- package/skill-docs/assets/form-template/style-templates-advanced-document-example.json +1251 -0
- package/skill-docs/assets/form-template/style-templates-advanced-grid-example.json +39 -0
- package/skill-docs/assets/form-template/style-templates-advanced-page-example.json +38 -0
- package/skill-docs/assets/form-template/style-templates-advanced-placements-example.json +30 -0
- package/skill-docs/assets/form-template/style-templates-advanced-standard-example.json +53 -0
- package/skill-docs/assets/form-template/style-templates-advanced-structure-example.json +25 -0
- package/skill-docs/assets/form-template/style-templates-advanced-table-example.json +1420 -0
- package/skill-docs/references/code-block/guide-code-block.md +141 -0
- package/skill-docs/references/code-block/guide-layout-css.md +107 -0
- package/skill-docs/references/code-block/ref-controls.md +60 -0
- package/skill-docs/references/code-block/ref-coverage.md +32 -0
- package/skill-docs/references/code-block/ref-details.md +57 -0
- package/skill-docs/references/code-block/ref-events-validation.md +42 -0
- package/skill-docs/references/code-block/ref-foundations-fields.md +56 -0
- package/skill-docs/references/code-block/ref-recipes.md +164 -0
- package/skill-docs/references/code-block/ref-troubleshooting.md +49 -0
- package/skill-docs/references/code-block/ref-ui-global.md +47 -0
- package/skill-docs/references/common/guide-plan-template.md +168 -167
- package/skill-docs/references/common/map.md +2 -1
- package/skill-docs/references/common/ref-cli-commands.md +54 -15
- package/skill-docs/references/ebuilder-designer/guide-designer-factory.md +8 -4
- package/skill-docs/references/form/form-template/style-templates-advanced-css-guide.md +167 -0
- package/skill-docs/references/form/form-template/style-templates-advanced.md +315 -0
- package/skill-docs/references/form/form-template/style-templates-easy.md +55 -0
- package/skill-docs/references/form/form-template/style-templates-flow.md +27 -0
- package/skill-docs/references/form/form-template/style-templates.md +29 -0
- package/skill-docs/references/form/guide-browser-definition.md +148 -0
- package/skill-docs/references/form/guide-create-form.md +258 -250
- package/skill-docs/references/form/guide-form-archive-permission.md +29 -6
- package/skill-docs/references/form/guide-form-formula-functions.md +354 -354
- package/skill-docs/references/form/guide-form-layout-incremental.md +28 -0
- package/skill-docs/references/form/guide-form-layout-planning.md +11 -0
- package/skill-docs/references/form/guide-form-layout-source.md +4 -0
- package/skill-docs/references/form/guide-form-linkage.md +295 -259
- package/skill-docs/references/form/guide-form-physical-table.md +2 -0
- package/skill-docs/references/form/guide-form-view.md +3 -0
- package/skill-docs/references/form/ref-form-fields.md +301 -293
- package/skill-docs/references/form/ref-list-filter-date-params.md +83 -0
- package/skill-docs/references/menu/system-menus.md +12 -0
- package/skill-docs/references/workflow/condition-core-contract.md +63 -0
- package/skill-docs/references/workflow/guide-base-auth-share-remind.md +126 -0
- package/skill-docs/references/workflow/guide-workflow-condition.md +476 -447
- package/skill-docs/references/workflow/guide-workflow-node-layout.md +6 -0
- package/skill-docs/references/workflow/guide-workflow.md +28 -2
- package/skill-docs/references/form/style-templates.md +0 -97
|
@@ -34,6 +34,24 @@
|
|
|
34
34
|
|
|
35
35
|
## Ebuilder 应用 & 表单
|
|
36
36
|
|
|
37
|
+
### 表单布局样式模板
|
|
38
|
+
|
|
39
|
+
| 命令 | 说明 |
|
|
40
|
+
| --- | --- |
|
|
41
|
+
| `e10-cli form-engine layout-template advanced scaffold --out <文件>` | 生成高级 PC 模板最小设计配置 |
|
|
42
|
+
| `e10-cli form-engine layout-template advanced create --config @<文件>` | 创建高级 PC 模板;配置可含 `layoutStyle` 设置已支持的布局样式 |
|
|
43
|
+
| `e10-cli form-engine layout-template advanced list|get <模板ID>` | 列出模板或读取指定模板概要 |
|
|
44
|
+
| `e10-cli form-engine layout-template advanced style show <模板ID>` | 查看模板当前布局样式 |
|
|
45
|
+
| `e10-cli form-engine layout-template advanced style update <模板ID> --config @<文件>` | 按设置组修改自定义模板的布局样式,保留未指定项;保存后回读并预览 |
|
|
46
|
+
| `e10-cli form-engine layout-template advanced grid show <模板ID>` | 查看主表和明细表的行列、单元格样式及合并范围 |
|
|
47
|
+
| `e10-cli form-engine layout-template advanced grid update <模板ID> --config @<文件>` | 按坐标修改行高、列宽、静态文字/表单标题参数、字体、对齐、换行、背景、四侧边框及合并/拆分,保留组件关联;保存后回读并预览 |
|
|
48
|
+
| `e10-cli form-engine layout-template advanced enable <模板ID> [更多ID...]` | 批量启用自定义高级 PC 模板,回读状态 |
|
|
49
|
+
| `e10-cli form-engine layout-template advanced disable <模板ID> [更多ID...]` | 批量禁用自定义高级 PC 模板,回读状态 |
|
|
50
|
+
| `e10-cli form-engine layout-template advanced delete <模板ID> [更多ID...]` | 批量删除自定义高级 PC 模板,预先检查并回读确认 |
|
|
51
|
+
| `e10-cli form-engine layout-template easy delete <模板ID> [更多ID...]` | 批量删除自定义简易模板,预先检查并回读确认 |
|
|
52
|
+
|
|
53
|
+
配置项和适用范围见 `references/form/form-template/style-templates-advanced.md`。
|
|
54
|
+
|
|
37
55
|
| 命令 | 说明 |
|
|
38
56
|
|------|------|
|
|
39
57
|
| `e10-cli app create <name> [desc]` | 新建 Ebuilder 应用(scope=PC_MOBILE,INTERNAL 类型)。`--json` 输出 `{id,name}` |
|
|
@@ -53,7 +71,7 @@
|
|
|
53
71
|
| `e10-cli form read <objId> [--app-id <appId>] [--out <file>]` | 读取表单字段。`--app-id` 含明细表字段+Select/RadioBox/CheckBox 选项、**并标注每个字段属于哪张物理表**(`· 物理表: 表1`,JSON 里是 `formTable` 键;多物理表见 `form physical-table list`);**输出里的字段名(文本那栏 / JSON 的 `fieldName`)就是字段标题** —— 与设计器「字段管理」里看到的是同一个值,它为空就说明标题没写进去;`--out fields.json` 写 UTF-8 JSON(推荐,机器可读)。旧版 `[dir]` 参数写 memo.md,已过时 |
|
|
54
72
|
| `e10-cli form read <objId> --app-id <appId> --out fields.json` | 读取字段含选项(Select/RadioBox/CheckBox 自动带 options)。**含明细表字段**,配动作流/联动拿明细 fieldId 用这个 |
|
|
55
73
|
| `e10-cli form list <appId>` | 列出应用下的所有表单 |
|
|
56
|
-
| `e10-cli form create <appId> <name> <dir> --fields @<json文件>` | 创建表单。`--fields` **必填**。支持 DetailTable(嵌套formFields)、EBuilder(sformId+dataTitle)、relateFrom(联动)
|
|
74
|
+
| `e10-cli form create <appId> <name> <dir> --fields @<json文件>` | 创建表单。`--fields` **必填**。支持 DetailTable(嵌套formFields)、EBuilder(sformId+dataTitle,**明细 `formFields` 内的 EBuilder 同样绑定**)、relateFrom(联动)。**开关 `Switch` 自动配置固定选项 开启=1 / 关闭=0**(主表/明细/后续加字段同)。fields.json 字段可带 `"required":true`/`"readOnly":true` 直标(写进布局 comps)。**字段名与平台系统字段重名(标题/创建者/创建时间/数据ID/最后更新人/数据状态)→ 不新建物理字段、复用系统字段**,并把该字段在**布局置为可见**(platform 系统字段默认隐藏;可写 `"singleRow":true` 独占一行、`"hidden":true` 保持隐藏)。`--json` 返回 `skippedSys`。**默认不加菜单**,要入口传 `--menu`(台账菜单 VIEWPORT);漏加 `e10-cli menu add-table <appId> <objId>` 补。**`--table-name <名>` 自定义数据库表名**(平台前缀如 `uf_` 由 CLI 自动补,传 `cs_khxx` 与 `uf_cs_khxx` 等价;字母开头、只含字母数字下划线;自定义部分受平台长度上限约束——`uf_` + 总长 30 时最多 27 位,越界直接报错不建半张表;建成后回读校验实际表名;仅物理表应用适用) |
|
|
57
75
|
| `e10-cli form virtual source-groups` / `sources <groupId>` | 查询 EB 表单和系统业务数据源分组、数据源列表 |
|
|
58
76
|
| `e10-cli form virtual dataset-groups` / `datasets <groupId>` / `dataset-info <id>` | 查询数据加工分组、数据集和数据集定义 |
|
|
59
77
|
| `e10-cli form virtual fields <appId> --source-id ... --source-group ...` | 校验数据源 ID 字段并读取可映射字段 |
|
|
@@ -61,6 +79,8 @@
|
|
|
61
79
|
| `e10-cli form virtual read <objId> <appId>` | 读取虚拟表来源、字段映射和默认视图信息 |
|
|
62
80
|
| `e10-cli form virtual add-fields <objId> <appId> <formId> --source-id ... --source-group ... --fields @json` | 从原数据源向虚拟表增加字段 |
|
|
63
81
|
| `e10-cli form add-field <objId> <appId> <name> <type> [title]` | 添加字段。`<type>`=componentKey(Text/Select/Employee/Money/DetailTable 等同 form create);`[title]` 字段显示名,不传同 name。Select 类型需单独 `field-options` 配选项。**默认「增量插入」——只往布局里加这一个字段,不动其它组件、不动样式模板、不动位置**(读快照 → 加一对组件 → 保存)。**`--reinit` 改成整表重建**(initLayout:换样式模板 + 重排所有已有位置 + 标签组件全部换新 id)——**只在是自己建的表上用**;不是自己建的表(尤其字段多、手工调过版式的)绝不能用。**布局里没有同类型字段可参照时命令会中止**并说明,这是设计如此(新组件的键集只能从同类型的现成组件抄,按类型名拼会静默渲染异常);此时要么先在设计器里手工加一个同类型字段,要么显式 `--reinit`。**`--required` 设为必填**(写布局组件)。**`--sub-form-id <明细表subFormId>` 在明细表里加字段**(同样走增量)。**自动为字段标题建立多语言标签**并写进字段记录。Number 类型:**`--percent` 百分比显示**(numberType=percentage,缺省 1 位小数)、**`--default <值>` 默认值**(如 `--default 1000` 工时单价默认 1000)、`--precision <n>` 精度。**EBuilder/Flow 类型**:`--sform-id <目标表单objId>`(EBuilder 表关联 / Flow 浏览-流程字段,数据来源=浏览流程)。EBuilder 字段**自动配关联浏览弹窗显示列**(=目标表全部业务字段,去系统字段)。**`--multiple` 多选**(人员/部门/EBuilder/Browser 默认单选;**下拉 Select --multiple → SelectMultiple 类型**)。**`--max-len <n>` 文本最大长度**(Text 缺省 100、TextArea 缺省 4000)。**`--single-row` 独占一行显示**。**`--option-template <模板ID或名>` Select 绑定选项预设模板**(选项来自模板,与 `field-options` 二选一)。**`--data-key` / `--column-name` 分别指定字段编码与数据库列名**(两者是两个独立的东西,可分别指定;只给 `--data-key` 时列名跟随,都不给则同为字段名拼音首字母) |
|
|
82
|
+
| `e10-cli form add-field <objId> <appId> <名> Browser --browser-name <浏览框名>` | 按当前环境的准确名称检索并绑定自定义浏览框;优先于 `--browser-type`。批量建表在 `fields.json` 的 Browser/RelateBrowser 字段写 `browserName`。 |
|
|
83
|
+
| `e10-cli form browser-source [--keyword <关键词>]` | 只读检索当前环境的关联浏览数据源,返回名称、ID、模块和类型;选中准确名称后用于 `browserName` / `--browser-name`。 |
|
|
64
84
|
| `e10-cli form detail-table list/read <objId> <appId> [...]` | 列出明细表,或读取指定明细表的二级明细开关与配置 |
|
|
65
85
|
| `e10-cli form detail-table sub-detail candidates <objId> <appId> <父明细表>` | 查询当前父明细可选择的子明细;列表排除自身、直属父级和祖先。反转父子方向时,先 `remove` 原关系,再查询新父级候选并 `add` 反向关系 |
|
|
66
86
|
| `e10-cli form detail-table sub-detail add <objId> <appId> <父明细表> --target <子明细表> --target-field <子级文本标识> [--parent-field <父级标识>] [--default-expand]` | 保留已有关系并增加或更新一条二级明细关系。父级标识缺省 `rowId`,也支持 Text/RadioBox/Select;子级标识必须是 Text。表和字段可写名称或 ID,保存后自动回读 |
|
|
@@ -73,6 +93,7 @@
|
|
|
73
93
|
| `e10-cli form option-template <list\|read\|create\|copy\|delete>` | **Select 选项预设模板管理**(下拉选项复用:多个表单共享一套选项,模板改了各表单跟着变)。`list [--system]` 列模板(默认自定义模板,--system 看系统内置);`read <模板ID> [--flat]` 看选项树;`create <名称> --options @<json> [--level 1] [--describe 文本]` 建模板(options.json: `[{"name":"低","valueKey":"10","children":[]}]`,**valueKey 必须数字**,children 嵌套=多级);`copy <模板ID>` 复制(系统 default 模板不可复制);`delete <模板ID>` 删模板(被引用时平台拒绝)。**字段引用模板**:`form add-field --option-template <模板ID或名>` 或 fields.json 写 `"optionTemplate":"模板名"`(Select 专有,选项不内联) |
|
|
74
94
|
| `e10-cli form linkage add <appId> <objId> <name> --config @<json> [--disabled]` | 新增显示属性联动,默认启用。条件可用 `conditions[]`(含字段对字段和结构化常量),或布尔 `formula` / `formulaId`;`detailType` 为 AND/OR,`effect` 可指定表单或布局。动作对象支持字段、选项、明细表及布局组件。详见 `form/guide-form-linkage.md` |
|
|
75
95
|
| `e10-cli form linkage list|get|layout-targets|state|update|delete ...` | `list` 查列表,`get <appId> <objId> <id> --json` 读详情,`layout-targets <appId> <objId>` 查可选布局组件,`state <appId> <objId> <id> --set on\|off` 启停,`update <appId> <objId> <id> [--name] [--config @json]` 读-改-写,`delete <appId> <objId> <id>` 删除并回读。更新只替换显式提供的部分;`actions` 为整组替换 |
|
|
96
|
+
| `e10-cli form-engine linkage fields|targets|add|list|get|state|update|delete ... --module workflow\|biaoge` | 非 EB 表单引擎模块的显示属性联动。先查系统/表单触发字段及可变更目标;`add <formId> <名称> --config @json`,其余命令按 `<formId> [规则ID]` 定位。原生流程的流程/节点生效范围可加 `--workflow-id`;具体 JSON 与支持边界见 `form/guide-form-linkage.md` |
|
|
76
97
|
| `e10-cli form relate <appId> <objId> <目标字段> --from <源字段>` | **HRM 值带出联动**:源字段为表内 Employee(人员)或 Department(部门)类型,换源自动填目标字段(换申请人→填邮箱/工号/部门;换所属部门→填部门编号/上级部门)。`--key` 从平台清单校验(默认 Employee=department、Department=name),`--title` 指定显示名(默认属性中文名)。详见 `form/guide-form-linkage.md` |
|
|
77
98
|
| `e10-cli form delete-field <objId> <appId> <fieldId...>` | **删除字段**(可一次多个,批量)。**仍被布局引用的字段平台不允许删除**(报「当前字段已被布局引用,不允许删除」);加 `--force` 时 CLI 先从布局移除再重试——会**连字段的标题组件一起摘**(一个字段在布局里是「字段本体 + 标题标签」两个组件),否则表单上会留下孤儿标签。字段**有数据**时同样删不掉 |
|
|
78
99
|
| `e10-cli form delete <objId> <appId>` | 删除**整个表单**(不是字段;删字段用上面的 delete-field) |
|
|
@@ -81,7 +102,7 @@
|
|
|
81
102
|
| `e10-cli form title set <objId> <appId> [--show-name <文本>] [--form-page-name <文本>] [--hide-header\|--no-hide-header] [--hide-title\|--no-hide-title] [--page-name-all-in 0\|1]` | 修改自定义标题(至少要给一项)。先读回现有标题、叠上改动再整份提交,改完逐项回读校验。⚠ **标题处于隐藏状态时,改了标题文本界面上也看不出变化**(`get` 会提示) |
|
|
82
103
|
| `e10-cli form permission data add <objId> <appId> --org-type <类型> [--org-id <id>] --rights <view/edit/delete...> [--file-rights <view/download...>]` | **表单数据权限**,`1/view=查看`、`2/edit=编辑`、`3/delete=删除`,可任意组合;附件 `401/view=查看`、`402/download=下载`。固定写入 `obj_data_admin` 并按新增权限 ID 回读。授权对象支持 all/role/department/company/employee/group/post;all 的 orgId 自动为 0 |
|
|
83
104
|
| `e10-cli form permission imp-exp <list\|add> <objId> <appId> ...` | **导入导出权限**(独立分类 `data_imp_exp`,⚠ 勿用 `data add` 加——共享权限只有 查看/编辑/删除 三种,导出/导入不在其中)。`list` 查看;`add --org-type <类型> [--org-id] --rights <export/import/delete-import...> [--update-import] [--export-details] [--export-attachment] [--export-field-range listShowField|all]`。`export=8`、`import=9`、`delete-import=93`(93 须与 import 同选,自动带更新导入);添加后按权限 ID 回读 `impRightList` 校验。删除同 `permission remove --right-id` |
|
|
84
|
-
| `e10-cli form permission archive <list\|add\|remove\|card> <objId> <appId> --workflow <workflowId>` | **流程归档权限**(归档后数据对谁可见/可改/可删,**按流程各一套**,与共享权限不同)。`add --target <general/creator/field/matrix>`:`general` 通用对象配 `--org-type`+`--org-id`;`creator` 创建人相关配 `--creator-related 0~7`;`field` 字段相关配 `--field <字段id或名>`(`--sub-form-id` 支持明细字段,未收录的字段类型需 `--org-type field_xxx` 显式指定);`matrix` 矩阵相关配 `--matrix`(真矩阵)或 `--eb-form`(e-Builder 表单)+ `--matrix-value
|
|
105
|
+
| `e10-cli form permission archive <list\|add\|remove\|card> <objId> <appId> --workflow <workflowId>` | **流程归档权限**(归档后数据对谁可见/可改/可删,**按流程各一套**,与共享权限不同)。`add --target <general/creator/field/matrix>`:`general` 通用对象配 `--org-type`+`--org-id`;`creator` 创建人相关配 `--creator-related 0~7`;`field` 字段相关配 `--field <字段id或名>`(`--sub-form-id` 支持明细字段,未收录的字段类型需 `--org-type field_xxx` 显式指定);`matrix` 矩阵相关配 `--matrix`(真矩阵)或 `--eb-form`(e-Builder 表单)+ `--matrix-value`(e-Builder 表单按名取它自己的人员字段/创建者,人员字段 valueType=resource),另可加**矩阵条件**(e-Builder 表单的条件列自动取该表单主表字段) `--matrix-condition '<json>'`(可重复 / `@文件` 给数组;右值三选一 `value` 固定值 / `field` 引本表单字段 / `fieldRef` 直给字段描述符)+ `--matrix-condition-relation and\|or`。权限码 `5/view` 归档查看、`6/edit` 归档编辑、`7/delete` 归档删除(**归档查看是系统默认必选,界面不可取消;`--rights` 没传 view 会自动并入**);归档附件另算 `501/view`、`502/download`、`503/edit`(**不是**共享权限的 401/402)。保存后按 ID 回读逐项核对;`card <workflowId> <appId> [--set 0\|1]` 读写归档卡片开关。详见 `form/guide-form-archive-permission.md` |
|
|
85
106
|
| `e10-cli form permission <list\|add\|remove\|rebuild> <objId> <appId>` | 权限通用管理及兼容入口。新建权限与数据权限分开;旧 `add --right-type` 保留兼容。`list` 查看全部分类;`remove --right-id <id[,id...]>` 删除一条或多条权限;添加后提示 `isShowRebuild=2` 时执行 `rebuild` |
|
|
86
107
|
| `e10-cli form list-view <objId> <appId>` | 查看台账/数据列表(获取 viewId 用于菜单配置) |
|
|
87
108
|
| `e10-cli form list-columns <objId> <appId> <listId> [--add <fieldId...>] [--remove <fieldId...>] [--set @columns.json] [--terminal pc/mobile] [--pc-only]` | 查看/批量设置台账显示列。增量追加、移除或整组指定顺序/列宽/格式;整组模式与增删互斥。支持主表和明细子字段,保留已有列未指定属性、事件及数据主键;一次保存并回读核对目标列和另一终端。详见 `references/form/guide-list-columns.md` |
|
|
@@ -90,12 +111,14 @@
|
|
|
90
111
|
| `e10-cli form list-click <objId> <appId> <listId> <fieldId> [--target <formObjId>] [--open-mode <模式>] [--win-size <尺寸>] [--clear] [--pc-only]` | 设置台账列**点击跳转**。`--open-mode` 支持当前页面/新窗口/弹出窗口/右侧滑出/右侧推出;`--win-size` 仅用于滑出/推出,具体数值按需求填写:百分比使用 `%`(0~100),像素使用 `px`,两种单位不可混用。缺省 `800px` |
|
|
91
112
|
| `e10-cli form ebuilder-columns <objId> <appId> <fieldId> [字段名/ID...] [--clear]` | 设置 EBuilder 关联字段的**浏览显示列**(存在字段配置 `ffDisplayColumns:{id,name}[]`)。**缺省查看**:列出当前显示列 + 目标表单全部**业务字段候选**(系统字段已自动过滤,不设显示列时浏览走平台默认列会带系统字段);**传目标表业务字段名/ID 设置**,系统字段会被拦截提示"系统字段不能设为显示列";`--clear` 清空。关联浏览显示哪些字段(只留业务字段) |
|
|
92
113
|
| `e10-cli form ebuilder-scope <get\|set\|clear> <objId> <appId> <fieldId>` | **浏览数据定义 → 数据范围设置**(关联浏览字段,限定被关联数据须满足条件才可选,如关联客户只选"客户状态=启用"的)。走 `browserDataScope` 接口(独立于字段布局)。`set --rules '[{"field":"客户状态","operator":"eq","value":"启用"}]'`(选项类 value 用选项名,CLI 自动解析 valueKey);`--logic and/or` 多规则关系;`--fill-null` 关联字段为空时填充;`get` 读已设条件;`clear` 清空。**这是关联浏览筛选的正解**,旧 `ebuilder-filter` 走 layout/save 不被设计器识别 |
|
|
114
|
+
| `e10-cli form-engine browser-definition inspect\|describe <formId> [<fieldId>] --module ebuilderform\|workflow\|biaoge [--app-id <appId>] [--workflow-id <id>]` | 先列出表单内可配置的浏览字段、各字段高级搜索/范围/Tab 的平台支持和 CLI 适配状态;再查询指定字段的候选项与当前配置。EB 表单须提供 `--app-id`。工作流程表单在表单引擎中没有独立入口,须到所属工作流程的「高级设置 → 浏览数据定义」配置;CLI 用关联表单 ID 加 `--module workflow --workflow-id <流程ID>`。详见 `form/guide-browser-definition.md` |
|
|
115
|
+
| `e10-cli form-engine browser-definition search\|scope\|tabs get\|set <formId> <fieldId> --module ...` | 按字段已开放的能力分别配置高级搜索、数据范围和浏览 Tab;`get` 先读候选结构与现值,`set` 写入并回读。不同浏览来源走不同适配器,未适配项明确拒绝。详见 `form/guide-browser-definition.md` |
|
|
93
116
|
| `e10-cli form validate list <objId> <appId>` | 查看表单**查重规则**(字段重复校验,多字段 AND)。`add <objId> <appId> <字段名...> [--help 提示] [--remind]` 新增(缺省禁止提交 NOSUBMISSION,`--remind` 仅提醒)。**`--help` 会建成多语言标签、存的是标签 id**(平台只收 id,传文本会被拒「提示内容格式不正确」;`list` 会解回文本显示,缓存原因刚建完约 10 秒内可能仍显示 id);`update <objId> <appId> <ruleId> [--fields <名...>] [--help <文本>] [--remind\|--no-remind]` **修改**(只改传入项,其余保持;**checkFields 是整组替换**,命令内部会把完整字段一起回传,不会丢字段;`--help` 支持 `#[字段名]#` 插入变量,自动转成平台片段 `<a>#[字段id]#</a>`,也支持 `@文件`);`delete <objId> <appId> <ruleId>` 删除。项目名称重名/工时日期重复不允许 |
|
|
94
|
-
| `e10-cli form add-detail-table <objId> <appId> <明细表名> [首字段名] [--init]` | 给**已存在的主表**加明细子表(saveSubForm 建子表 +
|
|
117
|
+
| `e10-cli form add-detail-table <objId> <appId> <明细表名> [首字段名] [--no-place] [--init]` | 给**已存在的主表**加明细子表(saveSubForm 建子表 + 加首字段使其可见),**默认增量放进现有布局**(复制临时布局取平台生成的容器组件,原布局不重建)。`--data-key <物理表名>`、`--first-field-type <类型>`(默认 Text)。⚠ **空子表平台会过滤掉、布局里看不见**,首字段名强烈建议传;`--no-place` 只建表不排布局;`--init` 改用整表重建(会换样式模板并重排已有位置)。后续往明细里加字段用 `form add-field --sub-form-id <subFormId>`:建表时一次性带明细用 `form create` 的 fields.json `DetailTable`+`formFields`。详见 `references/form/guide-form-layout-incremental.md` |
|
|
95
118
|
| `e10-cli form rename-detail-table <objId> <appId> <subFormId\|明细表名> <新名称> [--describe <描述>]` | **修改明细表名称**(同步子表标题、字段引用名与布局 DetailTable 标题)。按 subFormId 或当前名称定位;保存后回读子表标题与布局标题。当前名称与旧值同名、明细表重名、读不到物理表记录 id 或回读不一致会报错;`--describe` 可选同时改描述。流程表单暂不提供 |
|
|
96
119
|
| `e10-cli form delete-detail-table <objId> <appId> <subFormId\|明细表名>` | **删除明细表**(连带表里的字段)。平台不允许删**仍被布局引用**的明细表(报「当前【X】明细表已被布局引用,不允许删除」)—— 明细表只要在表单上就必然被引用,所以多数情况要加 `--force`:先把这张表的组件(本体 + 每列的「字段本体 + 标题标签」)从布局摘掉、清掉 workbook 里的残留,再删。删除是**软删**,记录仍在但不再算数 |
|
|
97
120
|
| `e10-cli form physical-table list <objId> <appId>` | 列出表单的**全部物理表**(含主表),带 `formTableId` / 显示名 / 库表名 / 表类型(`MAIN`\|`SUBSIDIARY`) / 字段数。走 `getFormAGroupList`(设计器「字段管理」那排 chip 的数据源)。**只列物理表**,明细表要用 `form detail-table list` |
|
|
98
|
-
| `e10-cli form add-physical-table <objId> <appId> --name <名> --table-name <uf_xxx>` | 给**已存在的表单**加一张**附属物理表**(设计器「字段管理 → **其他**」页签,用于一个表单的字段分散到多张物理表、字段数过多时的容量兜底)。走 `saveFormTable`,`tableType=SUBSIDIARY`;输出 **`formTableId`**(后续加字段/改名/删除都要用它,忘了用 `form physical-table list` 找)。`--table-name`
|
|
121
|
+
| `e10-cli form add-physical-table <objId> <appId> --name <名> --table-name <uf_xxx>` | 给**已存在的表单**加一张**附属物理表**(设计器「字段管理 → **其他**」页签,用于一个表单的字段分散到多张物理表、字段数过多时的容量兜底)。走 `saveFormTable`,`tableType=SUBSIDIARY`;输出 **`formTableId`**(后续加字段/改名/删除都要用它,忘了用 `form physical-table list` 找)。`--table-name` **必填**(平台的建议命名规则未抓到报文,不猜)。**主表至少要有一个业务字段**,空主表会直接拦截(先 `form add-field` 加字段)。⚠ 与明细表是两根轴,别混 —— 见 `references/form/guide-form-physical-table.md` |
|
|
99
122
|
| `e10-cli form add-physical-field <objId> <appId> <formTableId> <字段名> <类型> [标题]` | 往**已有的附属物理表**里加字段。机制是 `saveFormFieldNew` + jsonObj 里的 `formTableId`(**不是**批量端点)。选项与 `form add-field` 同名同义,**两者共用同一份字段构造器**。⚠ **不碰布局** —— 字段不会自动进表单布局。每次写完**回读确认**(平台对形状不认的字段会回 200 却静默不落库) |
|
|
100
123
|
| `e10-cli form rename-physical-table <objId> <appId> <formTableId> --name <新名> --table-name <原表名>` | 改物理表**显示名**(同一个 `saveFormTable` 端点,带 `formTable.id` 即改名)。`--table-name` 要**原样回传** |
|
|
101
124
|
| `e10-cli form delete-physical-table <objId> <appId> <formTableId...>` | 删除物理表(`deleteFormTable`,可一次删多张)。⚠ **表里的字段一并删除,不可逆**。表 id 用 `form physical-table list` 查 |
|
|
@@ -103,7 +126,7 @@
|
|
|
103
126
|
| `e10-cli form list-sort <objId> <appId> <listId> [--field <fieldId...>] [--order ASC\|DESC] [--clear] [--pc-only]` | 查看/配置台账**排序**。`--field` 支持多个(按传入顺序多级排序,`--order` 对所有字段生效)、`--clear` 清除。**自动保留移动端配置** |
|
|
104
127
|
| `e10-cli form list-stats <objId> <appId> <listId> [--add <json或@文件>] [--remove <statId>] [--enable <statIds>] [--disable <statIds>] [--position <位置>] [--manual-load <on\|off>] [--filter-data <on\|off>] [--pc-only]` | 主表/明细顶部统计,sum/count/avg/max/min、条件及格式;明细 count 支持 `{ "type":"count", "subFormId":"..." }`;`enable:false` 建出来即停用,`--enable` / `--disable`(逗号分隔 id)改已有项。面板三项:`--position top\|topSimple\|topRight`(顶部显示 / 顶部简约显示 / 右上角显示,也收中文标签)、`--manual-load` 手动加载统计值、`--filter-data` 点击统计结果过滤列表数据 —— 三态 `on\|off`,**不传=不动**。统计条件里的日期区间可用快捷档 `quick`。保存后回读、保护移动端;平台可能共享两端统计,输出 mobileStatistics。详见 `references/form/guide-list-stats.md` |
|
|
105
128
|
| `e10-cli form list-stats detail <objId> <appId> <listId> <subFormId> [--fields <fieldId...>] [--name-prefix <文本>] [--pc-only]` | 为明细数值字段批量生成 sum 和一项子表 count;重复运行复用同名同配置项 |
|
|
106
|
-
| `e10-cli form list-filter <objId> <appId> <listId> [--add '<json或@文件>'] [--replace '<json或@文件>'] [--remove <fieldId>] [--relation <and\|or>] [--clear] [--pc-only]` | 查看/配置**视图数据条件**(台账只显示满足条件的数据)。`--add` 是**叠加**(往现有条件上加,不整体覆盖),`--replace` 才整体覆盖。**支持 OR 与嵌套条件组**:条目里有 `conditions` 数组就是一层组,带 `relation: "and"\|"or"`,可任意嵌套 —— `'{"conditions":[{"relation":"or","conditions":[A,B]},C]}'` 就是 `A OR (B AND C)` 那类;`--relation` 设**顶层**关系(整层,不给=沿用现有)。`--remove <fieldId>` 按字段摘(该字段的**所有**条件都摘,组被摘空整组拿掉;只摘一条用 `--replace`)。条件写法:`{"fieldId":"...","func":"eq","value":"研发valueKey","text":"研发"}`(func: eq 等于 / notEq 不等于 / in 属于 / notIn 不属于 / like 包含 / notLike 不包含 / gt 大于 / lt 小于 / between 介于 / isNull 为空 / isNotNull 不为空,单选 Select 用 eq;value 填选项 valueKey、text 填显示名)。**日期区间的快捷档**:`{"fieldId":"创建时间id","quick":"今年"}` 代替 `func`/`value`,16 档(今天/昨天/明天/本周/上一周/下一周/本月/上一月/下一月/本季/上一季/下一季/今年/上半年/下半年/去年,或英文别名 `thisYear` / `lastWeek` …;周从**周一**起算)。⚠
|
|
129
|
+
| `e10-cli form list-filter <objId> <appId> <listId> [--add '<json或@文件>'] [--replace '<json或@文件>'] [--remove <fieldId>] [--relation <and\|or>] [--clear] [--pc-only]` | 查看/配置**视图数据条件**(台账只显示满足条件的数据)。`--add` 是**叠加**(往现有条件上加,不整体覆盖),`--replace` 才整体覆盖。**支持 OR 与嵌套条件组**:条目里有 `conditions` 数组就是一层组,带 `relation: "and"\|"or"`,可任意嵌套 —— `'{"conditions":[{"relation":"or","conditions":[A,B]},C]}'` 就是 `A OR (B AND C)` 那类;`--relation` 设**顶层**关系(整层,不给=沿用现有)。`--remove <fieldId>` 按字段摘(该字段的**所有**条件都摘,组被摘空整组拿掉;只摘一条用 `--replace`)。条件写法:`{"fieldId":"...","func":"eq","value":"研发valueKey","text":"研发"}`(func: eq 等于 / notEq 不等于 / in 属于 / notIn 不属于 / like 包含 / notLike 不包含 / gt 大于 / lt 小于 / between 介于 / isNull 为空 / isNotNull 不为空,单选 Select 用 eq;value 填选项 valueKey、text 填显示名)。**日期区间的快捷档**:`{"fieldId":"创建时间id","quick":"今年"}` 代替 `func`/`value`,16 档(今天/昨天/明天/本周/上一周/下一周/本月/上一月/下一月/本季/上一季/下一季/今年/上半年/下半年/去年,或英文别名 `thisYear` / `lastWeek` …;周从**周一**起算)。⚠ 与设计器一样落成**静态**起止日期,不是运行期动态。**日期字段用 `eq` 时 `value` 可写系统参数占位符**(`{date}` / `{date:+7}` / `{thisyear}` / `{curryear}` …,平台原样存储、运行期求值;`text` 写界面显示名;完整清单见 `references/form/ref-list-filter-date-params.md`)。`--clear` 清空。走 saveNListConfig config.filter(明文条件树,非独立接口),保存后回读核对条数。**自动保留移动端配置** |
|
|
107
130
|
| `e10-cli form list-event <objId> <appId> <listId> [--add-page '<json>'] [--add-field '<json>'] [--open-mode <模式>] [--modal-width <pct>] [--modal-height <pct>] [--win-size <pct>] [--clear] [--pc-only]` | 查看/配置**行事件**(点击行数据 NewPage 打开表单布局)。`--add-page '{"pageId":"1/<objId>","pageName":"新建数据","openMode":"右侧滑出"}'` 选页面方式(pageId 缺省 `1/<objId>` 新建布局,`0/<objId>`=显示布局)、`--add-field '{"urlFieldId":"字段id"}'` 选字段方式(URL取自行内字段值,urlFieldText/Type自动补)、`--clear` 清空。**打开方式** `--open-mode`(或在 JSON 里写 `openMode`):当前页面/新窗口/弹出窗口/右侧滑出(缺省)/右侧推出;弹出/滑出/推出 用 `--modal-width`/`--modal-height`(缺省 50%),滑出/推出 用 `--win-size`(缺省 100%)。走 saveNListConfig config.eventGroup(明文 JSON,config+mConfig 都写)。**自动保留移动端配置** |
|
|
108
131
|
| `e10-cli form list-group <objId> <appId> <listId> [--enable --group-field <fieldId> [--group-size N]] [--disable] [--pc-only]` | 查看/配置**启用分组**(台账按某字段分组聚合显示)。`--enable --group-field <分组字段id> [--group-size N 默认100]` 启用/换分组字段、`--disable` 禁用(保留 groupField/groupSize 仅 enable=false)。走 saveNListConfig config.enableGroup(对象,持久化,不走 layout/save LZW)。**自动保留移动端配置** |
|
|
109
132
|
| `e10-cli form list-hierarchy <objId> <appId> <listId> [--enable --parent-field <名称或fieldId> [--expand-level N]] [--disable] [--pc-only]` | 查看/配置**上下级树形展示**。上级字段必须是主表中单选、关联当前表单自身的 EBuilder 字段(常见名称“上级类型”);与普通 `list-group` 分组聚合不是同一能力。走 `saveNListConfig config.superiorField`,保存后独立回读并自动保留移动端配置 |
|
|
@@ -123,6 +146,9 @@
|
|
|
123
146
|
| `e10-cli form message enable \| disable <appId> <triggerId> [--obj-id <objId>]` | 启用 / 停用消息提醒。停用后不再推,配置保留 |
|
|
124
147
|
| `e10-cli form native <子命令>` | **原生表单引擎**(formdatareport/biaoge,非 Ebuilder;只有 formId、无 objId、无 appId)的命令组:`create <名称>` 建表、`read <formId>` 读字段、`add-field` / `add-detail-table` / `init` / `field-group`,以及 `list [--keyword]`(存活表单,名称模糊搜)、`trash`(回收站)、`delete <formId...>`(停用→检查→删除,进回收站,删后回读确认)。**注意与 EB 表单不通用**:URL 前缀 `/api/formdatareport/...`、body module `biaoge` 或 `formdatareport` 视接口而定 |
|
|
125
148
|
| `e10-cli form layout read <objId> [--view-id <id>] [--raw] [--out <file>]` | 读表单布局结构;raw/out 获取完整原生快照,含 workbook。不传 view-id 读默认布局 |
|
|
149
|
+
| `e10-cli form layout add-detail-table <objId> <appId> <subFormId\|明细表名>` | 把**已存在但还没进布局**的明细子表增量放进布局(不重建)。幂等:已在布局里时只提示不重复添加。明细表至少要有 1 个字段(空子表平台不返回) |
|
|
150
|
+
| `e10-cli form code layout read/set <objId> --app-id <appId> --layout-id <id> --terminal PC\|MOBILE [--js <文件>] [--css <文件>]` | 读取或写入指定 EB 布局的 JS/CSS 源码;写入一项保留另一项。代码写法读 `references/code-block/guide-code-block.md`;**源码 ecode 必须用 `encodeURI`(设计器用 `decodeURI` 读取),不能用 `encodeURIComponent`,CLI 已内置写入/回读自检** |
|
|
151
|
+
| `e10-cli form code ecode list/read/add/edit/status <objId> --app-id <appId> ...` | 表单级 ecode 的独立配置,作用范围与布局源码不同;具体参数见命令 help 与代码块指南 |
|
|
126
152
|
| `e10-cli form layout image-context <image> --out <file>` | 离线获取真实原图路径和 SHA256,供 Agent 实际查看后产出图片观察 |
|
|
127
153
|
| `e10-cli form layout style-review --source @json [--spec @json] [--overrides @json] [--confirm] --out <file> [--report <file>]` | 主动展示字体/字号/颜色/对齐及表格线粗细/外框;gridBorderStyle 调整已声明表格内的线型、粗细和颜色,用户修改逐项映射,失败项保留图片值;只有用户已确认或明确修改才用 --confirm,新图片保存前必查确认状态 |
|
|
128
154
|
| `e10-cli form layout extract <file> --out <file> [--observation @json]` | XLSX 确定性提取;图片绑定结构化观察;不创建业务字段 |
|
|
@@ -131,7 +157,8 @@
|
|
|
131
157
|
| `e10-cli form layout apply <id> --artifact @json [--out <file>]` | 单次保存并独立回读;旧快照阻断,写结果未知先查询,不自动重建 |
|
|
132
158
|
| `e10-cli form layout verify <id> --artifact @json [--out <file>]` | 独立验证布局、支持样式和字段保持;不发写请求;详见源样式指南 |
|
|
133
159
|
| `e10-cli form layout style-audit <id> --artifact @json [--context @json] [--out <file>]` | 图片样式三层差异诊断;context 模式无登录;区分观察/投影/回读与像素验收 |
|
|
134
|
-
| `e10-cli form layout init <objId> [--style-template <名\|id>] [--view-id <id>] [--read-only] [--required] [--disable-edit] [--single-row]` | 初始化/重建表单布局(initLayout
|
|
160
|
+
| `e10-cli form layout init <objId> [--style-template <名\|id>] [--view-id <id>] [--read-only] [--required] [--disable-edit] [--single-row]` | 初始化/重建表单布局(initLayout):按实际布局类型解析并应用模板,同时可覆盖字段 readOnly/required/disableEdit/singleRow(不传则保留已有设置)。跨布局类型的模板 ID 会被 CLI 拒绝;平台直接接收跨类型 ID 时可能静默忽略。建表后再调用此命令。模板分类及规则见 `form/form-template/style-templates.md`。 |
|
|
161
|
+
| `e10-cli form layout save-as-template <id> --view-id <布局ID> --name <模板名> [--module workflow] [--enabled]` | 将实际 PC 流式布局的样式另存为模板;eBuilder 传 objId,流程表单传 formId 并指定 workflow。默认禁用,不复制业务字段和布局组件。 |
|
|
135
162
|
| `e10-cli form layout copy <objId> <appId> --from <源布局ID> [--name <新名>] [--describe <文本>]` | 复制一套已有布局(设计器里的「复制」)。**响应体不含新布局 ID**(平台只回一句「复制成功!」),命令靠**复制前后各回读一次视图列表**反查并把新 ID 报出来。`--name` 缺省沿用源布局名;布局类型自动跟随源(表格式复制出来仍是表格式)。**复制出来的不是默认布局**,要设为默认续跑 `form layout set-default` |
|
|
136
163
|
| `e10-cli form layout set-default <objId> <appId> <布局ID> [--for all\|add\|view\|edit]` | 把某套布局设为默认(设计器右键「设为默认布局」)。⚠ `--for` 是**用途档位**、不是布局类型:`all` 全部布局 / `add` 新建布局 / `view` 显示布局 / `edit` 编辑布局(也收中文说法,缺省 `all`)。**一套布局同时只承担一个档位** —— 换档位会把旧档位摘掉;「新建/显示/编辑各用一套」是靠**三套不同布局各占一档**。设完回读 `defaultType` 确认;只有 `all` 才会让视图的 `default` 变 `true` |
|
|
137
164
|
| `e10-cli form layout delete <objId> <appId> <布局ID>` | 删除一套布局(设计器的「删除」)。⚠ **不可逆**。删完**回读确认列表里确实没了**才算成功;该布局原先占的用途档位会一并打印。删掉正占着 `all` 的那套会怎样**未验证**,慎用 |
|
|
@@ -220,6 +247,9 @@
|
|
|
220
247
|
|
|
221
248
|
| 命令 | 说明 |
|
|
222
249
|
|------|------|
|
|
250
|
+
| `e10-cli workflow authset <get\|create\|update> <workflowId>` | 工作流基础权限:维护、统计、统计导出;修改用 `--data`,先读后合并并回读 |
|
|
251
|
+
| `e10-cli workflow shareset <get\|create\|update\|default\|rule\|condition\|field-permission\|system-field-permission>` | 共享开关、默认共享、条件规则及字段权限;详见 `references/workflow/guide-base-auth-share-remind.md` |
|
|
252
|
+
| `e10-cli workflow remind <get\|create\|update\|detail\|nodes\|templates>` | 提醒方式、渠道详情、指定节点及邮件/短信/系统模板;按环境能力限制短信审核模板,详见同一指南 |
|
|
223
253
|
| `e10-cli workflow create <appId> <formObjId> <name> [desc]` | 创建 EB 流程,当前命令按固定模式创建并自动设置所有人可发起。**默认不加菜单**,要入口传 `--menu`(发起菜单 LAYOUT,指向表单新建页 `/sp/ebdfpage/card/1/<formObjId>/0`,点开即触发流程);漏加 `e10-cli menu add-start <appId> <formObjId>` 补 |
|
|
224
254
|
| `e10-cli workflow create-workflow <name>` | **非默认路径**。仅当用户明确强调「用流程表单 / 工作流程 / 流程中心建流程、不在应用下」时才用;默认走上一条 `workflow create`(eb 应用内)。关联流程表单:不传 `--form-id` 自建(`relateForm=0`,服务端建表回吐 `data.formId`)/ `--form-id <已有>` 绑定(`relateForm=1`)。`--odoc` 创建公文流程(两种表单方式均支持,增加 `bridgeService=odoc`);`--workflow-type`(默认 -1=其它)、`--sub-company <机构>`、`--belong-type <0个人/1团队>`(默认 1)、`--table-name`、`--desc`、`--is-free`、`--layout <FLOW流式(默认)/EXCEL表格式>`(自建模式下 EXCEL 走 formmanage/saveForm 建表后绑定;建表后不可切换)。不带 source/messageParams |
|
|
225
255
|
| `e10-cli workflow auth-resp <list\|create\|update\|read\|configure\|save-design>` | 独立权责表管理。`configure <id> --config @json` 从零创建变量、开始/结束节点、中间节点及操作者、分支条件和路径并保存回读;条件支持统一的 `system` / `form` 业务来源与原始 `childrens`;`save-design` 用于完整设计结构的保留式保存 |
|
|
@@ -252,12 +282,15 @@
|
|
|
252
282
|
| `e10-cli wf-form field-options <formId> <fieldId> --options '[{"name":"事假"},...]' [--default <序号>]` | 给流程表单 Select/SelectMultiple 配选项(read-modify-write:getFormField 读全字段→改 options→saveFormFieldNew 重存)。`--options` 支持 `@文件`;`--default` 默认选项 valueKey |
|
|
253
283
|
| `e10-cli wf-form layout init <formId> [--layout-id <布局ID>]` | 初始化/重建流程表单布局(initLayout,按 layoutType 选模板,默认 FLOW)。**`--layout-id` 指定要重建哪一套**(节点独立布局的 layoutId),不传则重建默认布局;字段属性用 `--read-only`/`--required`/`--single-row` 覆盖 |
|
|
254
284
|
| `e10-cli wf-form layout add <formId> --name <布局名>` | 新增一套流程表单布局。`--layout-type FLOW|EXCEL`(默认 FLOW)、`--terminal-type PC|MOBILE`(默认 PC)、`--describe`、`--workflow-id`;返回 `layoutId`,多套布局并存且不覆盖原布局 |
|
|
285
|
+
| `e10-cli wf-form code layout read/set <formId> --layout-id <id> --terminal PC\|MOBILE [--js <文件>] [--css <文件>]` | 读取或写入指定原生工作流程表单布局源码;代码写法读代码块指南。**源码 ecode 必须用 `encodeURI`,不能用 `encodeURIComponent`(设计器 `decodeURI` 读取)** |
|
|
286
|
+
| `e10-cli wf-form code ecode list/read/add/edit/status <formId> ...` | 原生工作流程表单级 ecode 的独立配置,非布局源码 |
|
|
255
287
|
| `e10-cli wf-form layout delete <formId> <layoutId>` | 删除指定流程表单布局。`layoutId` 取自 `layout add` 返回值;可传 `--workflow-id`、`--terminal PC|MOBILE`(默认 PC)。该操作从布局列表移除目标布局 |
|
|
256
288
|
| `e10-cli wf-form field-prop <formId>` | 设置运行时布局字段属性:`--required <字段...>`、`--no-required <字段...>`、`--readonly <字段...>`、`--editable <字段...>`、`--single-row <字段...>`。字段可传名称或 ID;内部 getConfig 读取并由 initLayout 保存,同时保留已有分组和独占一行设置 |
|
|
257
289
|
| `e10-cli wf-form group <formId> --groups '{"基本信息":["字段名/ID",...]}'` | 给**已建好的流程表单**加字段分组(折叠容器,对齐 eb 表 `form group`)。建组 saveFieldGroup → 分配 updateFormFieldGroup → initLayout generateCollapse 渲染。`--groups` 可 `@文件`;同名分组复用不重复建(去重) |
|
|
258
290
|
| `e10-cli workflow list <appId>` | 列出应用下的所有流程 |
|
|
259
291
|
| `e10-cli workflow search` | 通用搜索流程(不依赖 appId)。`--name`/`--id`/`--type`/`--belong`。⚠ 列表只回 id/名称/类型名/描述这一层,**不含「绑了哪张表」** |
|
|
260
292
|
| `e10-cli workflow info <workflowId>` | 单个流程的基础信息 + **它关联的表单**(流程 → 表单反查)。给出 `formId`、表单名、启用状态、是 eb 表还是流程表单。⚠ **formId 不是 objId**,表单类命令要 objId,而平台没有直通的 formId → objId 接口 —— 得先确认表单在哪个应用下再按 formId 匹配 |
|
|
293
|
+
| `e10-cli workflow export <workflowId>` | 把流程导出为本地 zip(含流程绑定的表单 / 应用,平台异步打包)。`-o/--out <路径>` 指定文件或目录(缺省用平台返回的文件名);`--name <名称>` 自定义导出名(缺省取流程名);`--timeout <秒>` 默认 600、`--interval <秒>` 默认 2。打包期间打印进度,完成后自动下载写入;`--json` 输出任务与文件信息 |
|
|
261
294
|
| `e10-cli workflow nodes <workflowId>` | 查看流程节点详情(名称、类型、操作者、连线含 linkId) |
|
|
262
295
|
| `e10-cli workflow nodes <wf> --mode list` | 列表视图:展示全节点含 nodeAttr、合流方式(比 chart XML 更全) |
|
|
263
296
|
| `e10-cli workflow set-operator <wf> <node> [keyword]` | 设置节点操作者。`--type user`(指定人) / `role`(指定角色) / `dept`(指定部门) / `position`(指定岗位) / `all`(所有人) / `free`(自由选择) / `superior`(发起人上级) / `initiator`(流程发起人本人) / `prev-node`(上一节点) / `form`(表单相关人员) / `matrix`(矩阵对应,需 `--matrix-id` `--value-config-id`;条件用 `--matrix-rule` 或 `--matrix-rules JSON/@文件`,互斥;支持部门/分部系统来源、表单字段与指定组织,详见 guide-workflow)。`--sign-order` 会签/非会签/竞签/依次处理/抄送/抄送需批注(概念见 guide-workflow);**`--type form` 另支持「或签」**,等价于竞签(表单字段里多人任一人签,语义一致),已登记的签署顺序里没有单独一档。**依次处理倒序**用 `--execute-order 2-2`(默认)/`2-1`正序/`1-1,2-2`安全级别正序+倒序。**`--dept-scope 本部门`**=单个部门内会签/`本及下级`默认。**一个节点多人用逗号分隔 keyword**(如 `"区域经理,部门领导"`,user/dept 都支持);默认每次全量重建操作者组(先清空再新建),重复设置不堆积。**`--type role` 的角色匹配**:按「角色 ID 精确 → 名称精确 → 唯一子串」解析;子串命中多个会列出候选 ID 与名称并要求改用完整名称或 ID,**不静默取首条**(例如「总经理」不会选成「副总经理人事行政」)。**多操作者组叠加(如「部门领导矩阵 + 门店经理矩阵」双组会签):先用 set-operator 配第一组,再用 `--append` 配第二组**,`--append` 不清空已有组,两组合起来就是双矩阵会签 |
|
|
@@ -305,7 +338,7 @@
|
|
|
305
338
|
| `e10-cli workflow node reject <wf> <nodeId>` | ⚠ **已弃用**,请改用 `workflow node-reject`(get / set)。旧命令只有 4 个数值开关,配不了退回范围/提醒节点、也控制不了「自定义 / 全局」 |
|
|
306
339
|
| `e10-cli workflow node timeout <wf> <nodeId>` | ⚠ **已弃用**,请改用 `workflow node-overtime`。旧命令的超时时长与提醒字段名平台不认(时长恒为 0、提醒直接报错),且配不了退回/提交目标节点 |
|
|
307
340
|
| `e10-cli workflow node field-permission get <wf> <nodeId>` | 查看节点字段权限(各字段 显示/隐藏)。表单字段在节点上可见与否 |
|
|
308
|
-
| `e10-cli workflow node field-permission set <wf> <nodeId> --hide
|
|
341
|
+
| `e10-cli workflow node field-permission set <wf> <nodeId> [--hide/--show/--readonly/--editable/--disable-manual-edit/--required/--no-required <字段...>] [--enable]` | 设置节点字段权限,字段可用名称或 ID、可多个;已设权限则更新、未设则新建。**界面约束自动收口**:`--editable`(编辑)会同时勾选「显示」;`--disable-manual-edit`(禁止手动编辑)需要编辑,会自动勾选「编辑」与「显示」;`--readonly` 会清除「禁止手动编辑」。`--enable` 保存前先打勾「允许修改流程表单内容」 |
|
|
309
342
|
| `e10-cli workflow node sign <wf> <nodeId>` | 全部签字意见设置;旧必填参数保留,`--data JSON/@文件` 局部修改签批签名、隐藏输入框/区域、显示类型/范围、反馈;`--schema` 字段定义,`--options` 查询完整候选。先读后改并回读 |
|
|
310
343
|
| `e10-cli workflow node empty-handle get <wf> <nodeId>` | 查看节点**流程异常处理**(无可处理人时怎么办) |
|
|
311
344
|
| `e10-cli workflow node empty-handle set <wf> <nodeId> --handle-way <1-5>` | 设置节点流程异常处理:1=指定人员(`--person 名称/ID`) / 2=用户指定 / 3=发起人 / 4=自动流转下一节点 / 5=提交指定节点(`--assign-node <节点ID>`);`--off` 关闭;`--sync` 同步所有节点 |
|
|
@@ -328,6 +361,10 @@
|
|
|
328
361
|
| `e10-cli workflow save-layout <wf> @xmlfile` | 保存完整流程图 XML(浏览器 mxGraph 格式:数字 cell id + nodeId/linkId)。服务器只认浏览器格式,勿转 node_X。新增节点/连线会自动注入 flag="add" |
|
|
329
362
|
| `e10-cli workflow auto-layout <wf>` | **节点自动排版**(分层布局,全量重排坐标)。`--direction ltr/ttb`(默认ltr)、`--gap-x/--gap-y` 间距、`--dry-run` 只算不打回、`--out` 配合 dry-run 输出新 XML。忽略退回线分层,分支自然融入 |
|
|
330
363
|
| `e10-cli workflow condition add <wf> <sourceId> <nodeId> <name> --rule "..."` | **简化语法**添加条件。`sourceId` 是连线 ID(linkId),`nodeId` 是该连线的来源节点 ID(srcNodeId),不是目标节点 ID;可从 `workflow nodes --json` / `link-list` 取得。`--rule "system:流程标题:包含:关键词"` 或 `--rule "form:字段ID|字段名|dataKey:大于:1000"`(fieldId/名/dataKey 均可匹配)。按 fieldType 自动判族校验算子,`--relation AND/OR`。**增强语法**:字段vs字段 `form:字段:大于:field:值字段`(range 用 `form:字段:范围:field:左:右`);明细量词 规则末尾 `:任一`/`:所有`;多值属于 `form:字段:包含:值1,值2`;人员/部门字段 `form:人员字段:包含:张三,李四` 自动解析成对象;系统字段 `system:紧急程度:等于:紧急`;嵌套 OR 用 `\|` 分隔 `form:关联项目:不为空\|form:关联客户:不为空`。详见 `workflow/guide-workflow-condition.md` |
|
|
364
|
+
| `e10-cli workflow operator-batch list <wf> <nodeId>` | 查询操作组及 operatorSetId |
|
|
365
|
+
| `e10-cli workflow operator-batch set-condition <wf> <nodeId> <groupId> <operatorSetId> --rule "..."` | 所有操作者类型均支持批次条件,公共编译→保存→指定行绑定→回读;保留操作者设置与其他批次。支持 --rules-json/--preview |
|
|
366
|
+
| `e10-cli workflow condition get <wf> <key> --tree` | 回读平台持久化条件树 |
|
|
367
|
+
| `e10-cli workflow condition schema <wf> <sourceId> --source 2` | 查询条件编辑器契约 |
|
|
331
368
|
| `e10-cli workflow save-condition @jsonfile --app-id <appId>` | 保存条件规则(原始 JSON)。CLI 自动生成 ID 并绑定到连线 |
|
|
332
369
|
| `e10-cli workflow condition list <wf>` | 列出工作流下所有连线绑定的条件(连线名 + 条件名 + 表达式 + mapId),支持 `--name` 过滤 |
|
|
333
370
|
| `e10-cli workflow condition get <wf> <id>` | 查看单个条件详情。`<id>` 可用 conditionKey / mapId / conditionId |
|
|
@@ -387,11 +424,12 @@
|
|
|
387
424
|
|------|------|
|
|
388
425
|
| `e10-cli menu list <appId>` | 列出当前Ebuilder应用下的菜单。**递归展开嵌套菜单**(如「设置 → 个人设置 → 个人菜单设置」),列表即全量 —— 在这里没找到就是真没有,不必再怀疑被折叠。`--raw [菜单ID]` 打印菜单的**原始报文**(读侧记录与写侧报文形状不同,核对某一项到底存了什么时看它) |
|
|
389
426
|
| `e10-cli menu rename <appId> <菜单ID或名称> <新名>` | 重命名已有菜单(含嵌套菜单)。名称在应用内重复时必须改用 ID,命令会列出候选让你选。平台系统菜单(回收站/设置等)不能改 |
|
|
390
|
-
| `e10-cli menu add <name> <path> <appId> [--parent <父菜单ID或名称>]` | 将页面加入左侧导航(LINK 类型,URL path)。ecode 页面 path 如 `/sp/custom/ecode/project-list`。**表单台账/流程发起菜单用下面两条专用命令**(VIEWPORT/LAYOUT 类型,非 URL)。`--parent` 挂到父菜单下做子菜单(缺省 `0
|
|
391
|
-
| `e10-cli menu add-dir <appId> <name> [--parent <父菜单ID或名称>]` | 加**上级目录**菜单 —— **空链接**的纯分类节点,只用来给子菜单分组,点它不跳页面。设计器里建「上级目录」就是这个(存下来 `pageType=EMPTY`、`pageId/pageName` 空、**没有 `menuUrl`**、`menuType="0"`)。`--parent` 支持菜单 ID 或名称(缺省 `0
|
|
392
|
-
| `e10-cli menu add-table <appId> <objId> [name] [--parent <父菜单ID或名称>]` | 给表单加**台账菜单**(VIEWPORT,指向数据列表页)。`form create --menu` 才自动加(默认不加),此处用于事后补加。**`--parent` 挂到某个父菜单下做子菜单**(缺省 `0`=顶级;既收菜单 ID 也收名称,同名多条会报错并列 ID
|
|
393
|
-
| `e10-cli menu add-start <appId> <formObjId> [name] [--parent <父菜单ID或名称>]` | 给流程绑定的表单加**发起菜单**(LAYOUT,指向表单新建页,点开触发流程)。`workflow create --menu` 才自动加(默认不加)。`--parent`
|
|
394
|
-
|
|
|
427
|
+
| `e10-cli menu add <name> <path> <appId> [--parent <父菜单ID或名称>] [--first\|--show-order <n>]` | 将页面加入左侧导航(LINK 类型,URL path)。ecode 页面 path 如 `/sp/custom/ecode/project-list`。**表单台账/流程发起菜单用下面两条专用命令**(VIEWPORT/LAYOUT 类型,非 URL)。`--parent` 挂到父菜单下做子菜单(缺省 `0`=顶级)。**排序**:平台按同级 `showOrder` 升序显示,新建默认 1(落在最后);`--first` 排到同级最前,`--show-order <n>` 指定任意排序号。**建完会回读确认**菜单 ID、层级与排序;回读不到就报错退出,不谎报成功 |
|
|
428
|
+
| `e10-cli menu add-dir <appId> <name> [--parent <父菜单ID或名称>] [--first\|--show-order <n>]` | 加**上级目录**菜单 —— **空链接**的纯分类节点,只用来给子菜单分组,点它不跳页面。设计器里建「上级目录」就是这个(存下来 `pageType=EMPTY`、`pageId/pageName` 空、**没有 `menuUrl`**、`menuType="0"`)。`--parent` 支持菜单 ID 或名称(缺省 `0`=顶级),排序参数同上。**建完回读确认**并核对层级与排序,另外**核对 `pageType` 确实是 `EMPTY`** —— 不是就说明链接没留空,直接报错而不是谎报成功。⚠ 与 `menu add` 的区别:要指向某个页面的父菜单(点得开)用 `menu add`,纯分组的用这条 |
|
|
429
|
+
| `e10-cli menu add-table <appId> <objId> [name] [--parent <父菜单ID或名称>] [--first\|--show-order <n>]` | 给表单加**台账菜单**(VIEWPORT,指向数据列表页)。`form create --menu` 才自动加(默认不加),此处用于事后补加。**`--parent` 挂到某个父菜单下做子菜单**(缺省 `0`=顶级;既收菜单 ID 也收名称,同名多条会报错并列 ID),`--first`/`--show-order` 控制同级顺序。**建完回读确认**,并**核对层级与排序** —— 只确认菜单存在不够,`pid` / `showOrder` 没生效时菜单照样建出来、只是跑到顶级或最后 |
|
|
430
|
+
| `e10-cli menu add-start <appId> <formObjId> [name] [--parent <父菜单ID或名称>] [--first\|--show-order <n>]` | 给流程绑定的表单加**发起菜单**(LAYOUT,指向表单新建页,点开触发流程)。`workflow create --menu` 才自动加(默认不加)。`--parent` / 排序参数同上。**建完回读确认**并核对层级与排序 |
|
|
431
|
+
| `e10-cli menu order <appId> <menu> [--first\|--show-order <n>]` | **调整已有菜单在同级里的顺序**(不改父级)。`--first` 排到同级最前(排序号取同级非系统菜单最小值 - 1);`--show-order <n>` 直接指定整数排序号,越小越靠前。改完回读 `showOrder` 与同级位置,并确认名字/页面/链接等其它字段没被改动。系统菜单(设置/回收站)拒绝调整 |
|
|
432
|
+
| ↳ 搭「父菜单 + 子菜单」 | 设计器里的二级菜单 = 先建父菜单(**纯分组用 `menu add-dir`**;父菜单自己也要指向某页才用 `menu add`),再把台账/发起菜单用 `--parent <父菜单>` 挂上去。父菜单 ID 从 `menu list` 拿(输出就是完整菜单树)。新建的子菜单默认排在同级最后;要放第一个加 `--first`,已建好的用 `menu order <appId> <menu> --first` |
|
|
395
433
|
| `e10-cli menu permission list <appId> <menuId>` | 列菜单可见范围授权(**默认所有人**;无输出=全可见) |
|
|
396
434
|
| `e10-cli menu permission add <appId> <menuId> <目标> --type role\|dept\|user\|all` | 给菜单授权。默认语义:**加角色/人/部门后自动撤「所有人」→ 只有授权对象可见**;`--keep-all` 保留所有人;`--type all` 恢复"所有人可见" |
|
|
397
435
|
| `e10-cli menu permission remove <appId> <menuId> <目标> --type role\|dept\|user\|all` | 撤销菜单授权(撤销所有人用 `--type all`) |
|
|
@@ -409,7 +447,7 @@
|
|
|
409
447
|
| `e10-cli page create <name> <appId> [--scope PC,MOBILE] [--layout-type GRID] [--module EB_PAGE]` | 创建页面(**参数顺序:名称在前、appId 在后,写反会 401**)。免登录页 `--module EB_ANONYMOUS_PAGE` 不支持 Comment/SearchGlobal/FastCreate |
|
|
410
448
|
| `e10-cli page get <pageId>` | 页面详情(模块/终端/权限视图) |
|
|
411
449
|
| `e10-cli page delete <pageIds...>` | 删除页面(软删除,可多个) |
|
|
412
|
-
| `e10-cli page publish-menu <pageId> <appId> [name]` | 页面发布为应用菜单(默认所有人可见,`menu permission` 收窄)。**发布前先 save+unlock
|
|
450
|
+
| `e10-cli page publish-menu <pageId> <appId> [name] [--parent <父菜单ID或名称>] [--first\|--show-order <n>]` | 页面发布为应用菜单(默认所有人可见,`menu permission` 收窄)。**发布前先 save+unlock**,否则设计器/预览弹「布局未保存」。`--parent` 挂到目录下做二级菜单(缺省 `0`=顶级);`--first` 放到同级最前,`--show-order <n>` 指定排序号。发布后按菜单 ID 回读层级与排序 |
|
|
413
451
|
| `e10-cli designer info <pageId>` | 页面元信息。**看 `allowEdit`/`isLock`**:isLock=1 先 unlock 再 save |
|
|
414
452
|
| `e10-cli designer layout <pageId> [--json] [--terminal pc\|mobile]` | 读布局(`--json` 输出完整两端 JSON 供 save 复用;摘要模式看组件 id/type/标题/坐标) |
|
|
415
453
|
| `e10-cli designer save <pageId> --layouts <json\|@file> [--page-name] [--sync-outdate]` | 保存布局(自动 LZ 压缩)。**入参取自 layout --json、只改 comps;必须含 PC+MOBILE 两端**(缺端丢另一端),CLI 强校验 |
|
|
@@ -418,8 +456,9 @@
|
|
|
418
456
|
| `e10-cli designer comp-add <pageId> --template <名\|路径> [--type <Type>] [--x --y --w --h]` | 加组件:内置模板直接传名(`pie`/`bar`/`nlist`/`slide`…28 个,`designer factory-list` 查全表);也可传任意布局 JSON 路径,或 `--from <srcPage> --comp <id>` 从活页克隆。自动生成新 id + PC/MOBILE refCompId 互连并保存。**克隆时会同时重映射组件内部的机器 id**(数字面板卡、图表 axisId、列表列 uid、导航菜单项、幻灯片图片等;PC/MOBILE 同一对象保持一致),不会和源组件撞内部 id;字段/表单引用不动 |
|
|
419
457
|
| `e10-cli designer comp-remove <pageId> <compId>` | 移除组件(PC/MOBILE 按 refCompId 联动删) |
|
|
420
458
|
| `e10-cli designer factory-list` | 列出 28 个内置 factory 模板(名称↔组件 type 对照) |
|
|
421
|
-
| `e10-cli designer chart dataset-set\|measure-add\|dimension-add\|title\|height` | **图表配置(全 11 种)**。dataset-set
|
|
422
|
-
| `e10-cli designer digital-panel panel-add ...` | 数字面板加 KPI 卡(`--field-id --aggregator SUM\|COUNT\|AVG\|MAX\|MIN --label
|
|
459
|
+
| `e10-cli designer chart dataset-set\|measure-add\|dimension-add\|title\|height` | **图表配置(全 11 种)**。dataset-set 绑数据源:表单源传 `--obj-id`(+可选 `--app-id`),数据加工源加 `--source-type ETEAMS --source-group <分组ID> [--dataset-type sql]`;measure-add 加度量(SUM/AVG/MAX/MIN 用 `--field-id`,COUNT 用 `--count-records`);dimension-add 加维度(字段 ID/显示名/字段编码均可,Date 自动按月);title 设业务标题;height 设像素高。**Gauge:COUNT+无维度;堆积:2 度量+1 维度;Bubble:只能 1 度量** |
|
|
460
|
+
| `e10-cli designer digital-panel panel-add ...` | 数字面板加 KPI 卡(`--field-id --aggregator SUM\|COUNT\|AVG\|MAX\|MIN --label`)。数据源参数同图表(`--source-type ETEAMS --source-group` 支持数据加工)。可选 `--icon <path>` + `--icon-color` / `--icon-bg` 配卡片图标(`panels[].icon`,不给就不发该键;形状与导航面板不同:`fillType:'backgroundColor'`、底色键是 `bgColor`)。**每张卡的 `id` 自动避开已占用的**,保存前复查,重复即中止 |
|
|
461
|
+
| `e10-cli designer repair <pageId> [--dry-run]` | 修复历史布局:给图表 `measures`/`dimensions` 补缺失的 `axisId`/`shortKey`(缺 shortKey 时取数结果挂在空键下、图表空白),给数字面板重复/缺失的 `panels[].id` 换新 id(重复 id 会让 MAX/MIN 等多张卡共用同一个聚合值)。修完自动保存 PC+MOBILE |
|
|
423
462
|
| `e10-cli designer list dataset-set\|field-add\|order-add` | NList 绑数据源/加显示列(`--type` `--comp-type` 同值传字段类型)/加排序 |
|
|
424
463
|
| `e10-cli designer calendar dataset-bind\|field-map\|title` | 日历绑数据源(`--start --end --title-field`,内置全视图渲染)/调映射(`--end clear` 全天单日)/设标题 |
|
|
425
464
|
| `e10-cli designer slide pic-add\|title` | 幻灯片加轮播图(**平台资源路径**,已防 Git Bash 路径转换)/设标题 |
|
|
@@ -160,13 +160,17 @@ factory 模板 = 平台纯拖拽初始态的 comp(PC+MOBILE 对,config 字
|
|
|
160
160
|
|
|
161
161
|
factory 模板是平台初始态(绑定全空),克隆后须把数据绑到**你自己的表单**。**下列 6 类组件有 setter 子命令,全部 CLI 直配**(2026-09-07 验证全通;绑定条目由 CLI 从 `/api/ebuilder/common/ds/fields` 取平台原样字段对象自动构造,physicalField/browserParams/formInfo 填齐,**不会出现维度错填/幽灵空槽**;`--field-id` 传字段名或 fieldId 均可):
|
|
162
162
|
|
|
163
|
-
- **数字面板(DigitalPanel)**:`designer digital-panel panel-add <pageId> <compId> --obj-id --app-id --field-id
|
|
164
|
-
- **图表(全 11 种)**:`designer chart dataset-set <pageId> <compId> --obj-id --app-id --text "
|
|
163
|
+
- **数字面板(DigitalPanel)**:`designer digital-panel panel-add <pageId> <compId> --obj-id <数据源ID> [--app-id <表单应用ID>] --field-id <字段id|名|编码> --aggregator <SUM|COUNT|AVG|MAX|MIN> --label "<标题>"`。每项聚合一个字段。
|
|
164
|
+
- **图表(全 11 种)**:`designer chart dataset-set <pageId> <compId> --obj-id <数据源ID> [--app-id <表单应用ID>] --text "<数据源名>"` → `chart measure-add`(SUM/AVG/MAX/MIN 用 `--field-id`;COUNT 用 `--count-records`)→ `chart dimension-add --field-id <id|名|编码> --text`(**不再需要 --type/--template**)→ `chart title --text`。Date 维度自动按月。像素高度 `chart height --px <n>`。
|
|
165
|
+
- **数据加工数据源**:上面两条命令加 `--source-type ETEAMS --source-group <数据加工分组ID> [--dataset-type sql]`,`--obj-id` 传数据集 ID;分组与数据集用 `form virtual dataset-groups` / `form virtual datasets <groupId>` 查。字段读取会按数据源类型自动切换。
|
|
166
|
+
- **双端同步**:图表与数字面板的 setter 改完会自动同步到 MOBILE 孪生组件(按 `refCompId` 配对),不需要再手工补移动端。
|
|
165
167
|
|
|
166
168
|
> **组件标题用业务名(必做)**:comp-add 出来的 title 是 factory 默认占位("标题"/"饼图"/"折线图"/"柱状图"/"图片"/"按钮"/"导航面板"等),**配完每个组件必须设业务标题**——图表 `designer chart title <pageId> <compId> --text "<业务名>" --enabled on --yes`(标题=维度+度量描述:饼图→分布占比如"订单状态分布"、柱图→对比如"客户等级消费对比"、折线→趋势如"月度销售趋势"、堆积→构成分解如"各月订单金额与运费");非图表脚本改 `config.title/titleEnabled`(NavPanel→"业务导航"、DigitalPanel→"销售KPI指标"、NList→"销售订单明细"、CollapsePanel→"业务模块"等)。**别留 factory 默认占位名**,不美观也不专业。
|
|
167
169
|
|
|
168
|
-
- **数字面板(DigitalPanel)**:`designer digital-panel panel-add <pageId> <compId> --obj-id --app-id --field-id
|
|
169
|
-
- **图表(Pie/Bar/Line + 新增 Circular/BarStack/HBar/HBarStack/Nightingale/Gauge/Treemap/Bubble)**:同用 `designer chart dataset-set <pageId> <compId> --obj-id --app-id --text "
|
|
170
|
+
- **数字面板(DigitalPanel)**:`designer digital-panel panel-add <pageId> <compId> --obj-id <数据源ID> [--app-id] --field-id <字段id|名|编码> --aggregator <SUM|COUNT|AVG|MAX|MIN> --label "<标题>"`。每项聚合一个 Number 字段;fieldId 一次写对并核对(手误少几位会取数错)。
|
|
171
|
+
- **图表(Pie/Bar/Line + 新增 Circular/BarStack/HBar/HBarStack/Nightingale/Gauge/Treemap/Bubble)**:同用 `designer chart dataset-set <pageId> <compId> --obj-id <数据源ID> [--app-id] --text "<数据源名>"` 绑顶层 dataset(数据加工源加 `--source-type ETEAMS --source-group <分组ID>`);`designer chart measure-add` 加度量(COUNT 用 `--count-records` 按主键;SUM/AVG/MAX/MIN 用 `--field-id` 指 Number 字段);`designer chart dimension-add <pageId> <compId> --field-id <id|名|编码> --text "<维度名>"`。factory 模板的 `measures`/`dimensions` 已清空(初始态),必须用上面 setter 加。
|
|
172
|
+
|
|
173
|
+
> **图表条目必须带 `axisId` / `shortKey`**:setter 会自动生成;手工改布局时不能省 —— 缺 `shortKey` 时取数结果把值挂在空键下(`{"":"1"}`),图表渲染空白。数字面板的 `panels[].id` 必须两两不同,重复会让 MAX/MIN 等多张卡共用同一聚合值。存量页面可用 `designer repair <pageId> [--dry-run]` 一次补齐 / 去重。
|
|
170
174
|
|
|
171
175
|
> **factory 图表模板字段完整性(2026-08-05 已修)**:8 个新增图表(Circular/BarStack/HBar/HBarStack/Nightingale/Gauge/Treemap/Bubble)的 factory 模板曾**缺 22 个 config 字段**(`xAxis`/`yAxis`/`scatterColor`/`scatterSize`/`dataset`/`filter`/`markLine`/`dataListDisplay`/`eventGroup`/`nodesShowRange`/`measureName`/`yoyDimensions` 等)→ 平台崩页「设计页/预览页不显示」(尤以 Bubble 明显,旧记 Circular/Nightingale/Gauge 预览不显示同因)+ `measure-add` 后出现幽灵空 measure 槽 `{format:NONEFORMAT}`(须运行时 node 删)。**已修**:factory 模板按 `example-configured-2.json` 同类型 comp 补全这 22 字段(绑定类 `dataset.id/text/appId`、`eventGroup`、`dataListDisplay.fieldList` 留空,结构类 `xAxis`/`markLine` 等照范例默认值),comp-add 出来即结构完整、`measure-add` 不再产生空槽。**维护者换样本时务必保留这 22 字段**(别在清洗时剥掉它们),否则回归崩页+空槽。
|
|
172
176
|
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# 表格式高级模板:CSS 编写指南
|
|
2
|
+
|
|
3
|
+
本篇适用于 **PC 表格式高级模板**。先在模板设置中确定字段与重复区域的位置、行列尺寸、合并和单元格样式,再用 CSS 设置页面主题、组件状态和交互效果。下述组件路径已在实际模板预览页中找到;不同字段类型的内部元素不同,使用规则前应确认目标表单含有该元素。
|
|
4
|
+
|
|
5
|
+
## 一、样式写在哪一层
|
|
6
|
+
|
|
7
|
+
| 目标 | 首选位置 | 原因 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| 字段顺序、重复区域、列宽、行高、合并 | 模板结构与网格 | CSS 不能改变占位组件及迭代关系 |
|
|
10
|
+
| 某个模板单元格的文字、底色、对齐、边框、缩进 | `grid.main`/`grid.detail` 或完整配置的 `workbook` | 样式随字段占位单元格迭代,位置明确 |
|
|
11
|
+
| 所有普通字段或明细字段的输入框/浏览框边框与背景 | `layoutStyle.field`/`layoutStyle.detailFields` | 设计器为相应组件生成样式,无需逐个字段写 CSS |
|
|
12
|
+
| 主题色、按钮与选择状态、隔行色、悬停色、特定控件的额外包裹层 | CSS 源码 | 一套选择器可用于整个模板 |
|
|
13
|
+
| 单个业务字段的专属外观 | 目标表单的组件设置 | 模板内没有稳定的业务字段 ID,不应把预览页的 `#widget_…` 写入通用 CSS |
|
|
14
|
+
|
|
15
|
+
源码直接写 `.ebpage`、`.weapp-form-detail-table-wrapper` 等选择器。平台会给编译结果加当前模板作用域,如 `#ebpage_…`;不要手写这类 ID。布局规则还会出现 `#weapp-form-layout__…`,具体字段规则可能带 `#widget_…`。这两类 ID 也不适合作可复用选择器。
|
|
16
|
+
|
|
17
|
+
## 二、页面结构与组件选择器
|
|
18
|
+
|
|
19
|
+
页面根容器为 `.weapp-de-excel-render.ebpage.ebpage-pc`。主网格是 `table.weapp-de-excel-render-main`,分组内另有 `table.weapp-de-excel-sheet-render-main`。表格 `td` 是**单元格边线**所在层,字段控件在 `td` 内。分组容器为 `.weapp-form-widget__Collapse`,明细表容器为 `.weapp-form-detail-table-wrapper`。
|
|
20
|
+
|
|
21
|
+
| 对象 | 页面中可用的类或路径 | 样式关注点 |
|
|
22
|
+
| --- | --- | --- |
|
|
23
|
+
| 单行文本、数字、金额 | `.weapp-form-widget__Text`、`.weapp-form-widget__Number`、`.weapp-form-widget__Money` 下的 `.weapp-form-input-wrapper` 与 `.weapp-form-input-style` | 输入区边框、背景、字体;金额单位在旁边,应保留 |
|
|
24
|
+
| 多行文本 | `.weapp-form-widget__TextArea .weapp-form-textarea-wrapper textarea` | 边框、背景、内边距、高度与换行 |
|
|
25
|
+
| 邮箱、电话、手机、身份证 | 对应字段类下的 `.ui-input-wrap.ui-input-suffix-wrap` | 输入包裹层边框;保留 `.ui-input-suffix` 图标 |
|
|
26
|
+
| 日期、日期区间 | `.weapp-form-date-wrapper .ui-input-wrap`;`.weapp-form-date-range-wrapper .ui-date-picker-rangeWrap` | 日期包裹层边框;保留日历图标和“至” |
|
|
27
|
+
| 下拉、级联 | `.weapp-form-widget__Select .ui-select-input`;`.weapp-form-widget__Cascader .ui-cascader-picker` | 输入外观;选项面板和箭头是其他元素 |
|
|
28
|
+
| 人员、部门及组织浏览 | `.weapp-form-widget__Employee`、`.weapp-form-widget__Department`、`.weapp-form-widget__EmployeeOrganization`、`.weapp-form-widget__EmployeeScope` 下的 `.ui-browser` | 浏览输入和已选内容;人员范围还有 `.ui-browser-types-select-wrap` |
|
|
29
|
+
| 树形、分部、收发文单位选择 | `.weapp-form-widget__TreeSelect`、`.weapp-form-widget__SubCompany`、`.weapp-form-widget__ODocReceive` 下的 `.ui-browser` | 与人员浏览结构相近,仍应逐个核对包裹层 |
|
|
30
|
+
| 单选、复选 | `.weapp-form-widget__RadioBox`、`.weapp-form-widget__CheckBox` 下的 `.ui-radio`/`.ui-checkbox` | 选中态和间距;圆点、方框是可操作标记 |
|
|
31
|
+
| 附件、图片 | `.weapp-form-widget__File`、`.weapp-form-widget__Image` 下的上传包裹层和 `.ui-upload` | 上传区域尺寸、底色;保留虚线框及按钮 |
|
|
32
|
+
| 其他可见组件 | `Paragraph`、`Rate`、`Position`、`ProgressBar`、`Switch`、`Sign`、`Monitor`、`SerialNum`、`DivideLine` 等字段类 | 描述、评分、位置、进度、开关、签名、编号及分割线需分别处理,不能假定都使用 `.weapp-form-input-style` |
|
|
33
|
+
| 分组 | `.weapp-form-widget__Collapse` 下的 `.weapp-form-collapse-title`、`.weapp-form-collapse-content` | 标题装饰和内容区域;标题也可用 `layoutStyle.group` 设置 |
|
|
34
|
+
|
|
35
|
+
同一行列出的不同字段类型需分别指定,或用逗号列出完整选择器。页面中可见组件结构,并不等于其全部样式属性都已验证;先使用已确认的通用配置,再核对特殊组件。
|
|
36
|
+
|
|
37
|
+
## 三、主题变量
|
|
38
|
+
|
|
39
|
+
把主题色集中写在 `.ebpage`。蓝色和红色主题可沿用同一组变量,只改 `--primary` 及需要区分的悬停色。
|
|
40
|
+
|
|
41
|
+
| 变量 | 对应状态 |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `--primary`、`--btn-primary-hover-bg` | 主题色与主按钮悬停色 |
|
|
44
|
+
| `--checkbox-active-border-color`、`--checkbox-active-background-color` | 复选选中边框与背景 |
|
|
45
|
+
| `--radio-active-border-color`、`--radio-active-inner-background-color` | 单选选中边框与圆点 |
|
|
46
|
+
| `--switch-checked-bc`、`--switch-checked-border` | 开关开启态背景与边框 |
|
|
47
|
+
| `--input-focus-shadow`、`--input-focus-border-color` | 输入区聚焦强调色 |
|
|
48
|
+
| `--title-icon-border` | 标题边线;已有写法为 `calc(var(--hd) * 1) solid var(--primary)`,使用前确认页面定义了 `--hd` |
|
|
49
|
+
| `--m-chk-check-bc`、`--m-chk-check-border-color`、`--m-switch-checked-bc` | 另一组选择与开关状态变量;具体组件和终端范围需在实际页面核对 |
|
|
50
|
+
|
|
51
|
+
```css
|
|
52
|
+
.ebpage {
|
|
53
|
+
--primary: #347FCB;
|
|
54
|
+
--btn-primary-hover-bg: #286DAF;
|
|
55
|
+
--checkbox-active-border-color: var(--primary);
|
|
56
|
+
--checkbox-active-background-color: var(--primary);
|
|
57
|
+
--radio-active-border-color: var(--primary);
|
|
58
|
+
--radio-active-inner-background-color: var(--primary);
|
|
59
|
+
--switch-checked-bc: var(--primary);
|
|
60
|
+
--switch-checked-border: var(--primary);
|
|
61
|
+
--input-focus-border-color: var(--primary);
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
变量只有被当前组件读取时才改变显示;不能仅凭变量名称断定其已覆盖某个组件的全部状态。应查看选中、悬停和聚焦后的实际效果。
|
|
66
|
+
|
|
67
|
+
## 四、边框的层级与去边框方法
|
|
68
|
+
|
|
69
|
+
截图中的双列信息表需要**单元格边线**,明细表需要**外框和内部分隔线**;文本、日期、下拉和浏览输入本身通常不再画一层框。单行文本的结构是 `td` → `.weapp-form-widget__Text` → `.weapp-form-widget-content-container` → `.weapp-form-input-wrapper` → `input.ui-input.weapp-form-input-style`。有边框时先判断画在哪一层:
|
|
70
|
+
|
|
71
|
+
1. `td` 或明细表的 `th`、`td`:这是表格线,通常保留。
|
|
72
|
+
2. `.weapp-form-input-style`、`.ui-input-wrap`、`.ui-select-input`:字段输入框,可按类型去掉。
|
|
73
|
+
3. 浏览组件可能还有 `.ui-input-suffix-wrap`:通用浏览框设置未消掉它时,再加定向 CSS。
|
|
74
|
+
4. 单选/复选标记、附件/图片上传虚线框是操作提示,不应套用文本框去边框规则。
|
|
75
|
+
|
|
76
|
+
模板配置优先用以下结构去掉通用输入与浏览框边线:
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"layoutStyle": {
|
|
81
|
+
"field": {
|
|
82
|
+
"input": { "backgroundColor": "#FFFFFF00", "border": "none" },
|
|
83
|
+
"browser": { "backgroundColor": "#FFFFFF00", "border": "none" }
|
|
84
|
+
},
|
|
85
|
+
"detailFields": {
|
|
86
|
+
"content": { "border": "none" },
|
|
87
|
+
"input": { "backgroundColor": "#FFFFFF00", "border": "none" },
|
|
88
|
+
"browser": { "backgroundColor": "#FFFFFF00", "border": "none" }
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
当前页面可见,文本类 `.weapp-form-input-style`、日期 `.ui-input-wrap`、日期区间 `.ui-date-picker-rangeWrap`、下拉 `.ui-select-input` 和部分浏览输入会获得 `border: 0px none transparent`。由于结构不同,不要写 `.ebpage input, .ebpage * { border: none; }` 这种全局清除规则。
|
|
95
|
+
|
|
96
|
+
人员范围与共享浏览输入存在额外包裹层时,可补:
|
|
97
|
+
|
|
98
|
+
```css
|
|
99
|
+
.weapp-form-widget-content-container .ui-browser-types-select-wrap .ui-input-suffix-wrap,
|
|
100
|
+
.weapp-form-widget-content-container .ui-browser-share-select-wrap .ui-input-suffix-wrap {
|
|
101
|
+
border: none;
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
第二个选择器是已有模板中的写法;目标页面是否含共享浏览组件,应按页面结构核对。其他浏览类型仍有边框时,应先定位真正画线的元素,再添加该类型的规则。
|
|
106
|
+
|
|
107
|
+
## 五、明细表表头、网格与行状态
|
|
108
|
+
|
|
109
|
+
实际页面中明细表不只一张表:固定表头使用 `.excelTableView-content-excel-table-fixed-first-row`,内容表使用 `.excelTableView-content-excel-table`。内容表中有 `thead`、`tbody`;数据行可通过 `tr[data-id]` 选择。滚动后固定表头也需保持配色时,应同时核对两张表。下例给内容表设置边框与行色,并同时覆盖固定表头的表头颜色:
|
|
110
|
+
|
|
111
|
+
```css
|
|
112
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table {
|
|
113
|
+
border: 1px solid #DCE3EB;
|
|
114
|
+
border-collapse: collapse;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table th,
|
|
118
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table td {
|
|
119
|
+
border: 1px solid #DCE3EB;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table thead th,
|
|
123
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table thead td,
|
|
124
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table-fixed-first-row thead th,
|
|
125
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table-fixed-first-row thead td {
|
|
126
|
+
background-color: #347FCB;
|
|
127
|
+
color: #FFFFFF;
|
|
128
|
+
text-align: center;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table tbody tr[data-id]:nth-child(even) > td {
|
|
132
|
+
background-color: #F8FAFD;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table tbody tr[data-id]:hover > td {
|
|
136
|
+
background-color: #E9F2FC;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.weapp-form-detail-table-wrapper .excelTableView-content-excel-table tbody tr[data-id]:focus-within > td {
|
|
140
|
+
background-color: #DAEAFA;
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
给 `tr` 设背景时,已有 `td` 背景可能遮住行色;针对 `> td` 更稳妥。`:nth-child(even)` 按同一 `tbody` 的实际子元素位置计数,若插入额外行,隔行顺序可能变化。表头字段标题的基础对齐也应在明细子网格设置,不只依赖 CSS。
|
|
145
|
+
|
|
146
|
+
## 六、分组与不同字段类型
|
|
147
|
+
|
|
148
|
+
分组标题左侧蓝线、背景、字重和间距优先写在 `layoutStyle.group` 或对应网格单元格。白色分组卡片与浅灰页面底色可用模板设置和 CSS 配合。图片中的多个“分组”标题会按模板迭代;不要在 CSS 中写死第一组或第二组的业务名称。
|
|
149
|
+
|
|
150
|
+
预览页同时有分组内字段和分组外字段。仅写 `.weapp-form-widget__Collapse .weapp-form-widget__Text` 只会命中分组内单行文本;希望普通字段统一生效时,优先使用 `layoutStyle.field`。明细字段又在 `.weapp-form-custom-style__DetailTable .weapp-form-detail-table__body-wrapper` 下,应使用 `layoutStyle.detailFields` 或明细表专用选择器。
|
|
151
|
+
|
|
152
|
+
日期、下拉、级联和人员选择常由**外层包裹层**画边框,并非最内侧的 `<input>`。例如日期可定位 `.weapp-form-widget__Date .weapp-form-date-wrapper .ui-input-wrap`,下拉可定位 `.weapp-form-widget__Select .ui-select-input`。仅清除 `input.ui-input` 的边框,外层仍可能有线。应保留日历、下拉、邮件、电话等尾部图标和日期区间中间的“至”。
|
|
153
|
+
|
|
154
|
+
附件、图片、评分、进度条、开关、地理位置、签名和描述文字有各自的组件结构。先确定 `.weapp-form-widget__File`、`.weapp-form-widget__Image`、`.weapp-form-widget__Rate`、`.weapp-form-widget__ProgressBar`、`.weapp-form-widget__Switch`、`.weapp-form-widget__Position`、`.weapp-form-widget__Sign` 或 `.weapp-form-widget__Paragraph` 容器,再限定内部元素。状态色优先考虑主题变量;上传虚线框、签名区和评分星形等可操作提示应按具体需求单独调整。
|
|
155
|
+
|
|
156
|
+
## 七、覆盖顺序与验证
|
|
157
|
+
|
|
158
|
+
页面同时存在底层渲染器 CSS、模板生成的网格/字段样式、模板 CSS 和业务字段自己的样式。渲染器提供 `.weapp-de-excel-render-main`、`.weapp-de-excel-sheet-render-main` 的表格基础规则,并给 `td` 基础内边距;模板网格生成类似 `.cell_…` 的类。**不要把自动 `.cell_…` 或 `#widget_…` 写成通用规则**。具体单元格样式回到模板网格配置修改。
|
|
159
|
+
|
|
160
|
+
如果 CSS 写入后没有效果,按顺序检查:
|
|
161
|
+
|
|
162
|
+
1. 目标元素是否命中选择器。输入框、外层包裹层与表格单元格常是不同元素。
|
|
163
|
+
2. `advanced css show <模板ID>` 的源码与编译结果是否含该规则;源码不应手写模板 ID。
|
|
164
|
+
3. 实际页面是否有优先级更高的布局样式、业务字段样式或元素内联样式。先改对应设置;确需 CSS 覆盖时再补足组件上下文,不先全局加 `!important`。
|
|
165
|
+
4. 普通、只读、聚焦、选中、悬停及滚动固定表头状态是否符合预期。保存后的不落库预览和目标表单显示都要检查。
|
|
166
|
+
|
|
167
|
+
新建时把 CSS 存为独立文件,执行 `advanced create --config @模板.json --css-file 模板.css`;已有模板执行 `advanced css update <模板ID> --file 模板.css`,再用 `advanced css show <模板ID>` 回读。具体命令与完整配置方法见[高级模板手册](style-templates-advanced.md)。
|