weaver-e10-builder 1.0.2-beta
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/README.md +200 -0
- package/dist/commands/app.d.ts +3 -0
- package/dist/commands/app.d.ts.map +1 -0
- package/dist/commands/app.js +305 -0
- package/dist/commands/app.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +386 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/check.d.ts +3 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +106 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/compile.d.ts +3 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/compile.js +134 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/docx.d.ts +3 -0
- package/dist/commands/docx.d.ts.map +1 -0
- package/dist/commands/docx.js +54 -0
- package/dist/commands/docx.js.map +1 -0
- package/dist/commands/form-button.d.ts +3 -0
- package/dist/commands/form-button.d.ts.map +1 -0
- package/dist/commands/form-button.js +441 -0
- package/dist/commands/form-button.js.map +1 -0
- package/dist/commands/form-data.d.ts +3 -0
- package/dist/commands/form-data.d.ts.map +1 -0
- package/dist/commands/form-data.js +197 -0
- package/dist/commands/form-data.js.map +1 -0
- package/dist/commands/form-ebuilder-columns.d.ts +3 -0
- package/dist/commands/form-ebuilder-columns.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-columns.js +118 -0
- package/dist/commands/form-ebuilder-columns.js.map +1 -0
- package/dist/commands/form-ebuilder-filter.d.ts +3 -0
- package/dist/commands/form-ebuilder-filter.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-filter.js +135 -0
- package/dist/commands/form-ebuilder-filter.js.map +1 -0
- package/dist/commands/form-ebuilder-scope.d.ts +3 -0
- package/dist/commands/form-ebuilder-scope.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-scope.js +321 -0
- package/dist/commands/form-ebuilder-scope.js.map +1 -0
- package/dist/commands/form-ebuilder-search.d.ts +3 -0
- package/dist/commands/form-ebuilder-search.d.ts.map +1 -0
- package/dist/commands/form-ebuilder-search.js +252 -0
- package/dist/commands/form-ebuilder-search.js.map +1 -0
- package/dist/commands/form-formula.d.ts +12 -0
- package/dist/commands/form-formula.d.ts.map +1 -0
- package/dist/commands/form-formula.js +252 -0
- package/dist/commands/form-formula.js.map +1 -0
- package/dist/commands/form-layout-init.d.ts +15 -0
- package/dist/commands/form-layout-init.d.ts.map +1 -0
- package/dist/commands/form-layout-init.js +162 -0
- package/dist/commands/form-layout-init.js.map +1 -0
- package/dist/commands/form-layout.d.ts +3 -0
- package/dist/commands/form-layout.d.ts.map +1 -0
- package/dist/commands/form-layout.js +236 -0
- package/dist/commands/form-layout.js.map +1 -0
- package/dist/commands/form-list-click.d.ts +3 -0
- package/dist/commands/form-list-click.d.ts.map +1 -0
- package/dist/commands/form-list-click.js +154 -0
- package/dist/commands/form-list-click.js.map +1 -0
- package/dist/commands/form-list-event.d.ts +3 -0
- package/dist/commands/form-list-event.d.ts.map +1 -0
- package/dist/commands/form-list-event.js +203 -0
- package/dist/commands/form-list-event.js.map +1 -0
- package/dist/commands/form-list-filter.d.ts +9 -0
- package/dist/commands/form-list-filter.d.ts.map +1 -0
- package/dist/commands/form-list-filter.js +107 -0
- package/dist/commands/form-list-filter.js.map +1 -0
- package/dist/commands/form-list-group.d.ts +11 -0
- package/dist/commands/form-list-group.d.ts.map +1 -0
- package/dist/commands/form-list-group.js +100 -0
- package/dist/commands/form-list-group.js.map +1 -0
- package/dist/commands/form-list-permission.d.ts +3 -0
- package/dist/commands/form-list-permission.d.ts.map +1 -0
- package/dist/commands/form-list-permission.js +127 -0
- package/dist/commands/form-list-permission.js.map +1 -0
- package/dist/commands/form-list-search-group.d.ts +3 -0
- package/dist/commands/form-list-search-group.d.ts.map +1 -0
- package/dist/commands/form-list-search-group.js +132 -0
- package/dist/commands/form-list-search-group.js.map +1 -0
- package/dist/commands/form-list-stats.d.ts +11 -0
- package/dist/commands/form-list-stats.d.ts.map +1 -0
- package/dist/commands/form-list-stats.js +139 -0
- package/dist/commands/form-list-stats.js.map +1 -0
- package/dist/commands/form-list-unit.d.ts +3 -0
- package/dist/commands/form-list-unit.d.ts.map +1 -0
- package/dist/commands/form-list-unit.js +95 -0
- package/dist/commands/form-list-unit.js.map +1 -0
- package/dist/commands/form-list-utils.d.ts +32 -0
- package/dist/commands/form-list-utils.d.ts.map +1 -0
- package/dist/commands/form-list-utils.js +76 -0
- package/dist/commands/form-list-utils.js.map +1 -0
- package/dist/commands/form-list.d.ts +3 -0
- package/dist/commands/form-list.d.ts.map +1 -0
- package/dist/commands/form-list.js +624 -0
- package/dist/commands/form-list.js.map +1 -0
- package/dist/commands/form-permission.d.ts +3 -0
- package/dist/commands/form-permission.d.ts.map +1 -0
- package/dist/commands/form-permission.js +193 -0
- package/dist/commands/form-permission.js.map +1 -0
- package/dist/commands/form-relate.d.ts +14 -0
- package/dist/commands/form-relate.d.ts.map +1 -0
- package/dist/commands/form-relate.js +140 -0
- package/dist/commands/form-relate.js.map +1 -0
- package/dist/commands/form-serial-mark.d.ts +18 -0
- package/dist/commands/form-serial-mark.d.ts.map +1 -0
- package/dist/commands/form-serial-mark.js +167 -0
- package/dist/commands/form-serial-mark.js.map +1 -0
- package/dist/commands/form-table-view.d.ts +3 -0
- package/dist/commands/form-table-view.d.ts.map +1 -0
- package/dist/commands/form-table-view.js +217 -0
- package/dist/commands/form-table-view.js.map +1 -0
- package/dist/commands/form-validate.d.ts +3 -0
- package/dist/commands/form-validate.d.ts.map +1 -0
- package/dist/commands/form-validate.js +122 -0
- package/dist/commands/form-validate.js.map +1 -0
- package/dist/commands/form-view-permission.d.ts +3 -0
- package/dist/commands/form-view-permission.d.ts.map +1 -0
- package/dist/commands/form-view-permission.js +86 -0
- package/dist/commands/form-view-permission.js.map +1 -0
- package/dist/commands/form-view.d.ts +3 -0
- package/dist/commands/form-view.d.ts.map +1 -0
- package/dist/commands/form-view.js +145 -0
- package/dist/commands/form-view.js.map +1 -0
- package/dist/commands/form.d.ts +3 -0
- package/dist/commands/form.d.ts.map +1 -0
- package/dist/commands/form.js +2467 -0
- package/dist/commands/form.js.map +1 -0
- package/dist/commands/icon.d.ts +3 -0
- package/dist/commands/icon.d.ts.map +1 -0
- package/dist/commands/icon.js +82 -0
- package/dist/commands/icon.js.map +1 -0
- package/dist/commands/matrix.d.ts +3 -0
- package/dist/commands/matrix.d.ts.map +1 -0
- package/dist/commands/matrix.js +587 -0
- package/dist/commands/matrix.js.map +1 -0
- package/dist/commands/menu-permission.d.ts +3 -0
- package/dist/commands/menu-permission.d.ts.map +1 -0
- package/dist/commands/menu-permission.js +188 -0
- package/dist/commands/menu-permission.js.map +1 -0
- package/dist/commands/menu.d.ts +16 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +269 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/project.d.ts +3 -0
- package/dist/commands/project.d.ts.map +1 -0
- package/dist/commands/project.js +345 -0
- package/dist/commands/project.js.map +1 -0
- package/dist/commands/role.d.ts +3 -0
- package/dist/commands/role.d.ts.map +1 -0
- package/dist/commands/role.js +224 -0
- package/dist/commands/role.js.map +1 -0
- package/dist/commands/user.d.ts +3 -0
- package/dist/commands/user.d.ts.map +1 -0
- package/dist/commands/user.js +49 -0
- package/dist/commands/user.js.map +1 -0
- package/dist/commands/workflow-action.d.ts +3 -0
- package/dist/commands/workflow-action.d.ts.map +1 -0
- package/dist/commands/workflow-action.js +1821 -0
- package/dist/commands/workflow-action.js.map +1 -0
- package/dist/commands/workflow-advanced.d.ts +3 -0
- package/dist/commands/workflow-advanced.d.ts.map +1 -0
- package/dist/commands/workflow-advanced.js +290 -0
- package/dist/commands/workflow-advanced.js.map +1 -0
- package/dist/commands/workflow-condition.d.ts +7 -0
- package/dist/commands/workflow-condition.d.ts.map +1 -0
- package/dist/commands/workflow-condition.js +562 -0
- package/dist/commands/workflow-condition.js.map +1 -0
- package/dist/commands/workflow-message.d.ts +3 -0
- package/dist/commands/workflow-message.d.ts.map +1 -0
- package/dist/commands/workflow-message.js +399 -0
- package/dist/commands/workflow-message.js.map +1 -0
- package/dist/commands/workflow-node-overtime.d.ts +3 -0
- package/dist/commands/workflow-node-overtime.d.ts.map +1 -0
- package/dist/commands/workflow-node-overtime.js +150 -0
- package/dist/commands/workflow-node-overtime.js.map +1 -0
- package/dist/commands/workflow-node-reject.d.ts +3 -0
- package/dist/commands/workflow-node-reject.d.ts.map +1 -0
- package/dist/commands/workflow-node-reject.js +115 -0
- package/dist/commands/workflow-node-reject.js.map +1 -0
- package/dist/commands/workflow-node-sign.d.ts +15 -0
- package/dist/commands/workflow-node-sign.d.ts.map +1 -0
- package/dist/commands/workflow-node-sign.js +100 -0
- package/dist/commands/workflow-node-sign.js.map +1 -0
- package/dist/commands/workflow-node-validate.d.ts +16 -0
- package/dist/commands/workflow-node-validate.d.ts.map +1 -0
- package/dist/commands/workflow-node-validate.js +169 -0
- package/dist/commands/workflow-node-validate.js.map +1 -0
- package/dist/commands/workflow-node.d.ts +3 -0
- package/dist/commands/workflow-node.d.ts.map +1 -0
- package/dist/commands/workflow-node.js +347 -0
- package/dist/commands/workflow-node.js.map +1 -0
- package/dist/commands/workflow-numbering.d.ts +17 -0
- package/dist/commands/workflow-numbering.d.ts.map +1 -0
- package/dist/commands/workflow-numbering.js +191 -0
- package/dist/commands/workflow-numbering.js.map +1 -0
- package/dist/commands/workflow-plan-range.d.ts +3 -0
- package/dist/commands/workflow-plan-range.d.ts.map +1 -0
- package/dist/commands/workflow-plan-range.js +116 -0
- package/dist/commands/workflow-plan-range.js.map +1 -0
- package/dist/commands/workflow-setting.d.ts +3 -0
- package/dist/commands/workflow-setting.d.ts.map +1 -0
- package/dist/commands/workflow-setting.js +440 -0
- package/dist/commands/workflow-setting.js.map +1 -0
- package/dist/commands/workflow-title.d.ts +14 -0
- package/dist/commands/workflow-title.d.ts.map +1 -0
- package/dist/commands/workflow-title.js +106 -0
- package/dist/commands/workflow-title.js.map +1 -0
- package/dist/commands/workflow.d.ts +26 -0
- package/dist/commands/workflow.d.ts.map +1 -0
- package/dist/commands/workflow.js +2359 -0
- package/dist/commands/workflow.js.map +1 -0
- package/dist/core/auth.d.ts +36 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +351 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/client.d.ts +27 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +100 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/crypto.d.ts +11 -0
- package/dist/core/crypto.d.ts.map +1 -0
- package/dist/core/crypto.js +102 -0
- package/dist/core/crypto.js.map +1 -0
- package/dist/core/edition.d.ts +4 -0
- package/dist/core/edition.d.ts.map +1 -0
- package/dist/core/edition.js +19 -0
- package/dist/core/edition.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +118 -0
- package/dist/index.js.map +1 -0
- package/dist/services/action-detail.d.ts +112 -0
- package/dist/services/action-detail.d.ts.map +1 -0
- package/dist/services/action-detail.js +443 -0
- package/dist/services/action-detail.js.map +1 -0
- package/dist/services/condition-rules.d.ts +45 -0
- package/dist/services/condition-rules.d.ts.map +1 -0
- package/dist/services/condition-rules.js +207 -0
- package/dist/services/condition-rules.js.map +1 -0
- package/dist/services/form-create.d.ts +102 -0
- package/dist/services/form-create.d.ts.map +1 -0
- package/dist/services/form-create.js +835 -0
- package/dist/services/form-create.js.map +1 -0
- package/dist/services/form-ebuilder-filter.d.ts +60 -0
- package/dist/services/form-ebuilder-filter.d.ts.map +1 -0
- package/dist/services/form-ebuilder-filter.js +562 -0
- package/dist/services/form-ebuilder-filter.js.map +1 -0
- package/dist/services/form-table-view.d.ts +117 -0
- package/dist/services/form-table-view.d.ts.map +1 -0
- package/dist/services/form-table-view.js +882 -0
- package/dist/services/form-table-view.js.map +1 -0
- package/dist/services/form-view-permission.d.ts +30 -0
- package/dist/services/form-view-permission.d.ts.map +1 -0
- package/dist/services/form-view-permission.js +208 -0
- package/dist/services/form-view-permission.js.map +1 -0
- package/dist/services/form-view.d.ts +41 -0
- package/dist/services/form-view.d.ts.map +1 -0
- package/dist/services/form-view.js +334 -0
- package/dist/services/form-view.js.map +1 -0
- package/dist/services/formula-detail.d.ts +31 -0
- package/dist/services/formula-detail.d.ts.map +1 -0
- package/dist/services/formula-detail.js +66 -0
- package/dist/services/formula-detail.js.map +1 -0
- package/dist/services/rich-types.d.ts +35 -0
- package/dist/services/rich-types.d.ts.map +1 -0
- package/dist/services/rich-types.js +105 -0
- package/dist/services/rich-types.js.map +1 -0
- package/dist/services/workflow-layout.d.ts +118 -0
- package/dist/services/workflow-layout.d.ts.map +1 -0
- package/dist/services/workflow-layout.js +279 -0
- package/dist/services/workflow-layout.js.map +1 -0
- package/dist/services/workflow-operator.d.ts +36 -0
- package/dist/services/workflow-operator.d.ts.map +1 -0
- package/dist/services/workflow-operator.js +65 -0
- package/dist/services/workflow-operator.js.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/column-name.d.ts +13 -0
- package/dist/utils/column-name.d.ts.map +1 -0
- package/dist/utils/column-name.js +45 -0
- package/dist/utils/column-name.js.map +1 -0
- package/ecodecmd/package.json +27 -0
- package/ecodecmd/src/build.js +709 -0
- package/ecodecmd/src/compile.js +81 -0
- package/ecodecmd/src/index.js +48 -0
- package/ecodecmd/src/init.js +73 -0
- package/ecodecmd/src/lib/@babel/plugin-proposal-object-rest-spread@7.5.5/index.js +1795 -0
- package/ecodecmd/src/lib/@babel/plugin-proposal-optional-chaining@7.6.0/index.js +135 -0
- package/ecodecmd/src/lib/@babel/preset-env-standalone@7.5.5/babel-preset-env.js +76043 -0
- package/ecodecmd/src/lib/@babel/standalone@7.5.5/babel.js +90802 -0
- package/ecodecmd/src/lib/exec.js +77 -0
- package/ecodecmd/src/loaddep.js +154 -0
- package/ecodecmd/src/util/compress.js +58 -0
- package/ecodecmd/src/util/crypto-util.js +19 -0
- package/ecodecmd/src/util/index.js +153 -0
- package/ecodecmd/src/util/snowflake.js +144 -0
- package/package.json +43 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-search-group.d.ts","sourceRoot":"","sources":["../../src/commands/form-list-search-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4CpC,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAyEpF"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { loadMobileConfig } from './form-list-utils.js';
|
|
4
|
+
/**
|
|
5
|
+
* 分类搜索(list-search-group)命令。
|
|
6
|
+
* 走 saveNListConfig config.searchConditions.groupFilters(视图级,明文;非同事说的页面级 layout/save)。
|
|
7
|
+
* sjr 实测(2026-08-20 抓包):groupFilter 条目结构——
|
|
8
|
+
* id/fieldId=字段id, name/fieldName=field_<id>, compType/componentKey/fieldType/type=组件类型,
|
|
9
|
+
* showName/fieldShowName/text=中文名, objId, expandMethod:"0", showPosition:"0", tabStyle:"select",
|
|
10
|
+
* config{formId(=tableField.browserParams.formId), hideScore:true, groupId:"-1", dataType:["dataOptionObj"],
|
|
11
|
+
* title, type, dataCount:0, selectedNum:"", dataKey(=physicalField), columnName(=physicalField),
|
|
12
|
+
* systemField:true, labelObj:{}, columnTypeSwitch:false, showOrder, placeholder:"", componentKey, fieldId},
|
|
13
|
+
* listFilterDefaultSets{listGroupSets:[], multiSelect:true, enableShowCountNum:1, showCountNumType:"notUpdate",
|
|
14
|
+
* enableShowCountNumLimit:0, enableBrowserFilter:0, showArchiveOption:"1"}
|
|
15
|
+
* **产品边界**:分类搜索**不支持明细字段**(条目无 subTableId,仅主表字段)。传入明细字段 fieldId 会报错。
|
|
16
|
+
* listGroupSets 留空数组(平台运行时据字段 options 生成,CLI 不造)。
|
|
17
|
+
* 仅支持选项类字段(Select/RadioBox/CheckBox,dataType:["dataOptionObj"]);其他类型需抓包确认 dataType。
|
|
18
|
+
*/
|
|
19
|
+
const OPTION_COMP = new Set(['Select', 'RadioBox', 'CheckBox']);
|
|
20
|
+
function buildGroupFilter(t, objId) {
|
|
21
|
+
const id = String(t.id);
|
|
22
|
+
return {
|
|
23
|
+
id, fieldId: id,
|
|
24
|
+
name: `field_${id}`, fieldName: `field_${id}`,
|
|
25
|
+
compType: t.compType, componentKey: t.compType,
|
|
26
|
+
showName: t.text, fieldShowName: t.text, text: t.text,
|
|
27
|
+
objId: t.objId || objId,
|
|
28
|
+
fieldType: t.type, type: t.type,
|
|
29
|
+
expandMethod: '0', showPosition: '0', tabStyle: 'select',
|
|
30
|
+
config: {
|
|
31
|
+
formId: t.browserParams?.formId, hideScore: true, groupId: '-1',
|
|
32
|
+
dataType: ['dataOptionObj'], title: t.text, type: t.type,
|
|
33
|
+
dataCount: 0, selectedNum: '', dataKey: t.physicalField, columnName: t.physicalField,
|
|
34
|
+
systemField: true, labelObj: {}, columnTypeSwitch: false, showOrder: t.showOrder || 0, placeholder: '',
|
|
35
|
+
componentKey: t.compType, fieldId: id,
|
|
36
|
+
},
|
|
37
|
+
listFilterDefaultSets: { listGroupSets: [], multiSelect: true, enableShowCountNum: 1, showCountNumType: 'notUpdate', enableShowCountNumLimit: 0, enableBrowserFilter: 0, showArchiveOption: '1' },
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
export function registerListSearchGroupCommand(form, program) {
|
|
41
|
+
form.command('list-search-group')
|
|
42
|
+
.description('查看/配置台账分类搜索(按选项字段分类筛选;仅主表字段,不支持明细)')
|
|
43
|
+
.argument('<objId>', '表单 objId')
|
|
44
|
+
.argument('<appId>', '应用 ID')
|
|
45
|
+
.argument('<listId>', '台账列表 ID')
|
|
46
|
+
.option('--add <fieldId>', '添加分类搜索字段(须为主表选项类字段:Select/RadioBox/CheckBox)')
|
|
47
|
+
.option('--remove <fieldId>', '按字段 ID 移除一条分类搜索')
|
|
48
|
+
.option('--clear', '清空所有分类搜索')
|
|
49
|
+
.option('--pc-only', '目标明确只使用 PC;移动端配置不存在时允许继续')
|
|
50
|
+
.option('--json', 'JSON 格式输出当前分类搜索')
|
|
51
|
+
.action(async (objId, appId, listId, cmdOpts) => {
|
|
52
|
+
const opts = program.opts();
|
|
53
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
54
|
+
if (!auth)
|
|
55
|
+
process.exit(1);
|
|
56
|
+
const client = new ApiClient(auth);
|
|
57
|
+
const baseUrl = auth.getBaseUrl();
|
|
58
|
+
const isJson = cmdOpts.json || opts.json;
|
|
59
|
+
const getRes = await client.get(`${baseUrl}/api/bs/ebuilder/form/list/getNListConfig/${listId}?apid=${appId}&tpaid=${listId}&terminalType=PC`);
|
|
60
|
+
if (getRes?.code !== 200 || !getRes?.status) {
|
|
61
|
+
console.error(`查询配置失败: ${getRes?.msg}`);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
const cfg = getRes?.data || {};
|
|
65
|
+
const sc = cfg.searchConditions || {};
|
|
66
|
+
const groupFilters = sc.groupFilters || [];
|
|
67
|
+
if (!cmdOpts.add && !cmdOpts.remove && !cmdOpts.clear) {
|
|
68
|
+
if (isJson) {
|
|
69
|
+
console.log(JSON.stringify(groupFilters, null, 2));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (groupFilters.length === 0) {
|
|
73
|
+
console.log('当前无分类搜索');
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
console.log(`分类搜索 (${groupFilters.length}):`);
|
|
77
|
+
for (const g of groupFilters)
|
|
78
|
+
console.log(` - ${g.showName || g.text} (fieldId=${g.fieldId}, type=${g.type})`);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (cmdOpts.clear) {
|
|
82
|
+
sc.groupFilters = [];
|
|
83
|
+
}
|
|
84
|
+
else if (cmdOpts.remove) {
|
|
85
|
+
const before = groupFilters.length;
|
|
86
|
+
sc.groupFilters = groupFilters.filter((g) => String(g.fieldId) !== String(cmdOpts.remove));
|
|
87
|
+
if (sc.groupFilters.length === before) {
|
|
88
|
+
console.error(`分类搜索字段 ${cmdOpts.remove} 不存在`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else if (cmdOpts.add) {
|
|
93
|
+
// 边界:仅主表选项类字段
|
|
94
|
+
const tableField = cfg.tableField || [];
|
|
95
|
+
const t = tableField.find((f) => String(f.id) === String(cmdOpts.add));
|
|
96
|
+
if (!t) {
|
|
97
|
+
console.error(`字段 ${cmdOpts.add} 不在显示列中(分类搜索需先加入显示列:form list-columns --add)`);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
if (t.subTableId && String(t.subTableId) !== '') {
|
|
101
|
+
console.error(`字段「${t.text}」是明细字段,分类搜索不支持明细字段(产品边界,仅主表)`);
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
if (!OPTION_COMP.has(t.compType || t.type)) {
|
|
105
|
+
console.error(`字段「${t.text}」类型 ${t.compType || t.type} 不支持分类搜索(仅选项类:Select/RadioBox/CheckBox)`);
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
if (groupFilters.find((g) => String(g.fieldId) === String(cmdOpts.add))) {
|
|
109
|
+
console.error(`字段 ${cmdOpts.add} 已在分类搜索中`);
|
|
110
|
+
process.exit(1);
|
|
111
|
+
}
|
|
112
|
+
sc.groupFilters = [...groupFilters, buildGroupFilter(t, objId)];
|
|
113
|
+
}
|
|
114
|
+
// 保存前读回真实移动端 mConfig 原样回传(仅改 PC config.searchConditions,移动端保持原样)
|
|
115
|
+
const { mobileConfig, mobilePreserved } = await loadMobileConfig(client, baseUrl, appId, listId, cmdOpts.pcOnly);
|
|
116
|
+
const saveRes = await client.post(`${baseUrl}/api/bs/ebuilder/form/list/saveNListConfig?apid=${appId}`, {
|
|
117
|
+
listId, appId, terminalType: 'PC', config: { ...cfg, searchConditions: sc }, mConfig: mobileConfig,
|
|
118
|
+
});
|
|
119
|
+
if (saveRes?.code === 200 && saveRes?.status) {
|
|
120
|
+
const gf = sc.groupFilters;
|
|
121
|
+
console.log(isJson ? JSON.stringify({ success: true, listId, count: gf.length }) : `分类搜索已保存 (${gf.length} 条)`);
|
|
122
|
+
for (const g of gf)
|
|
123
|
+
console.log(` - ${g.showName || g.text} (fieldId=${g.fieldId})`);
|
|
124
|
+
console.log(` 移动端配置: ${mobilePreserved ? '保持原样' : '目标为 PC-only'}`);
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
|
|
128
|
+
process.exit(1);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=form-list-search-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-search-group.js","sourceRoot":"","sources":["../../src/commands/form-list-search-group.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* 台账顶部统计(list-stats)命令。
|
|
4
|
+
* 走 saveNListConfig config.listStatistics:
|
|
5
|
+
* - 阶段1:千分位 / 单位(万/亿) / 小数位 / 5 种聚合(sum/count/avg/max/min)
|
|
6
|
+
* - 阶段2:条件统计 —— rootdata 直接发明文 JSON 条件树(读回也是明文,无需 LZW 编码,
|
|
7
|
+
* 同事 e10-list-view skill 实证)
|
|
8
|
+
* 平台 statisticsList 是 upsert 语义:删除需标 operation:DELETE(实测 splice 不删、DELETE 删)。
|
|
9
|
+
*/
|
|
10
|
+
export declare function registerListStatsCommand(form: Command, program: Command): void;
|
|
11
|
+
//# sourceMappingURL=form-list-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-stats.d.ts","sourceRoot":"","sources":["../../src/commands/form-list-stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CA4G9E"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
import { fetchFields, loadMobileConfig, buildConditionTree } from './form-list-utils.js';
|
|
4
|
+
/**
|
|
5
|
+
* 台账顶部统计(list-stats)命令。
|
|
6
|
+
* 走 saveNListConfig config.listStatistics:
|
|
7
|
+
* - 阶段1:千分位 / 单位(万/亿) / 小数位 / 5 种聚合(sum/count/avg/max/min)
|
|
8
|
+
* - 阶段2:条件统计 —— rootdata 直接发明文 JSON 条件树(读回也是明文,无需 LZW 编码,
|
|
9
|
+
* 同事 e10-list-view skill 实证)
|
|
10
|
+
* 平台 statisticsList 是 upsert 语义:删除需标 operation:DELETE(实测 splice 不删、DELETE 删)。
|
|
11
|
+
*/
|
|
12
|
+
export function registerListStatsCommand(form, program) {
|
|
13
|
+
form.command('list-stats')
|
|
14
|
+
.description('查看/配置台账顶部统计')
|
|
15
|
+
.argument('<objId>', '表单 objId')
|
|
16
|
+
.argument('<appId>', '应用 ID')
|
|
17
|
+
.argument('<listId>', '台账列表 ID')
|
|
18
|
+
.option('--add <json>', '新增统计项: \'{"fieldId":"...","type":"sum","name":"合计","thousandths":true,"decimalPlaces":"2","unit":"万","conditions":[{"fieldId":"...","func":"eq","value":"...","text":"研发"}]}\' type=sum|count|avg|max|min')
|
|
19
|
+
.option('--remove <statId>', '移除统计项 ID')
|
|
20
|
+
.option('--pc-only', '目标明确只使用 PC;移动端配置不存在时允许继续')
|
|
21
|
+
.option('--json', 'JSON 格式输出当前统计配置')
|
|
22
|
+
.action(async (objId, appId, listId, cmdOpts) => {
|
|
23
|
+
const opts = program.opts();
|
|
24
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
25
|
+
if (!auth)
|
|
26
|
+
process.exit(1);
|
|
27
|
+
const client = new ApiClient(auth);
|
|
28
|
+
const baseUrl = auth.getBaseUrl();
|
|
29
|
+
const isJson = cmdOpts.json || opts.json;
|
|
30
|
+
const getRes = await client.get(`${baseUrl}/api/bs/ebuilder/form/list/getNListConfig/${listId}?apid=${appId}&tpaid=${listId}&terminalType=PC`);
|
|
31
|
+
if (getRes?.code !== 200 || !getRes?.status) {
|
|
32
|
+
console.error(`查询配置失败: ${getRes?.msg}`);
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const cfg = getRes?.data || {};
|
|
36
|
+
const ls = cfg.listStatistics || {};
|
|
37
|
+
const statsList = ls.statisticsList || [];
|
|
38
|
+
if (!cmdOpts.add && !cmdOpts.remove) {
|
|
39
|
+
if (isJson) {
|
|
40
|
+
console.log(JSON.stringify(ls, null, 2));
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
console.log(`统计位置: ${ls.statisticsPosition || 'top'} (${statsList.length} 项):`);
|
|
44
|
+
for (const s of statsList) {
|
|
45
|
+
console.log(` [${s.id}] ${s.statisticsName || s.fieldIdSpan || '(未命名)'} ${s.statisticsType}(${s.statisticsTypeSpan}) fieldId=${s.fieldId}`);
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
if (cmdOpts.add) {
|
|
50
|
+
let rule;
|
|
51
|
+
try {
|
|
52
|
+
rule = JSON.parse(cmdOpts.add);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
console.error('--add JSON 解析失败');
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
if (!rule.fieldId || !rule.type) {
|
|
59
|
+
console.error('--add JSON 需要 fieldId 和 type 字段');
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
const fields = await fetchFields(client, baseUrl, objId);
|
|
63
|
+
const target = fields.find((f) => String(f.id) === String(rule.fieldId));
|
|
64
|
+
if (!target) {
|
|
65
|
+
console.error(`字段 ${rule.fieldId} 在表单 ${objId} 中不存在`);
|
|
66
|
+
process.exit(1);
|
|
67
|
+
}
|
|
68
|
+
const typeMap = { sum: '求和', count: '计数', avg: '平均值', max: '最大值', min: '最小值' };
|
|
69
|
+
// 单位中文 → unitType 枚举(抓包确认:万=tenThousand / 亿=hundredMillion;其余单位待补)
|
|
70
|
+
const unitMap = { '万': 'tenThousand', '亿': 'hundredMillion' };
|
|
71
|
+
const unitType = rule.unitType || (rule.unit ? (unitMap[rule.unit] || rule.unit) : 'none');
|
|
72
|
+
const thousandths = rule.thousandths === true;
|
|
73
|
+
const decimalPlaces = rule.decimalPlaces != null ? String(rule.decimalPlaces) : '-1';
|
|
74
|
+
// showUnit:不开单位=最小 3 字段;开单位=补全模板默认(抓包对齐设计器千分位+单位版)
|
|
75
|
+
const showUnit = unitType === 'none'
|
|
76
|
+
? { formatType: 'divide', formatValue: 1, unitType: 'none' }
|
|
77
|
+
: {
|
|
78
|
+
formatType: 'divide', formatValue: 1, unitType,
|
|
79
|
+
unitSetType: 'fixedUnit', baseTimeType: 'millisecond',
|
|
80
|
+
timeFormatType: [
|
|
81
|
+
{ type: 'year', enable: false, name: '' }, { type: 'month', enable: false, name: '' },
|
|
82
|
+
{ type: 'day', enable: false, name: '' }, { type: 'hour', enable: false, name: '' },
|
|
83
|
+
{ type: 'minute', enable: false, name: '' }, { type: 'second', enable: false, name: '' },
|
|
84
|
+
],
|
|
85
|
+
dynamicUnitType: 'memory', unitBenchmark: 'B', isNew: true,
|
|
86
|
+
};
|
|
87
|
+
// 条件统计:rootdata 直接发明文 JSON 条件树(读回也是明文,无需 LZW 编码——同事 e10-list-view skill 实证)
|
|
88
|
+
const rootdata = buildConditionTree(rule.conditions, fields, objId, false);
|
|
89
|
+
// 统计项 id:18 位以内数字避免超 JS 安全整数
|
|
90
|
+
const id = String(Math.floor(Math.random() * 9000000000000) + 1000000000000);
|
|
91
|
+
statsList.push({
|
|
92
|
+
id,
|
|
93
|
+
listId,
|
|
94
|
+
statisticsName: rule.name || typeMap[rule.type] || '统计',
|
|
95
|
+
statisticsEnable: '1', formType: 'self', formTypeSpan: '本表单',
|
|
96
|
+
statisticsType: rule.type || 'count', statisticsTypeSpan: typeMap[rule.type] || rule.type,
|
|
97
|
+
fieldId: rule.fieldId, fieldIdSpan: target.text, subFormId: '',
|
|
98
|
+
showOrder: statsList.length, decimalPlaces,
|
|
99
|
+
joinField: { joinObj: {}, joinFields: [] },
|
|
100
|
+
isRichText: '0',
|
|
101
|
+
showFormat: thousandths ? 'thousandths' : 'none',
|
|
102
|
+
showUnit,
|
|
103
|
+
operation: 'CREATE', encryptField: false, rootdata,
|
|
104
|
+
});
|
|
105
|
+
ls.statisticsPosition = ls.statisticsPosition || 'top';
|
|
106
|
+
ls.statisticsPositionSpan = ls.statisticsPositionSpan || '顶部显示';
|
|
107
|
+
// 抓包确认设计器带这两个开关,缺省补默认
|
|
108
|
+
if (ls.enableStatisticsFilterData === undefined)
|
|
109
|
+
ls.enableStatisticsFilterData = false;
|
|
110
|
+
if (ls.statisticsManualLoad === undefined)
|
|
111
|
+
ls.statisticsManualLoad = false;
|
|
112
|
+
}
|
|
113
|
+
if (cmdOpts.remove) {
|
|
114
|
+
const idx = statsList.findIndex((s) => String(s.id) === String(cmdOpts.remove));
|
|
115
|
+
if (idx < 0) {
|
|
116
|
+
console.error(`统计项 ${cmdOpts.remove} 不在当前配置中`);
|
|
117
|
+
process.exit(1);
|
|
118
|
+
}
|
|
119
|
+
// 平台对 statisticsList 是 upsert 语义(不在列表里发送的 id 不会被删),删除需把该项标 operation:DELETE 保留在列表里(实测确认)
|
|
120
|
+
statsList[idx].operation = 'DELETE';
|
|
121
|
+
}
|
|
122
|
+
ls.statisticsList = statsList;
|
|
123
|
+
// 保存前读回真实移动端 mConfig 原样回传,避免把移动端台账统计配置清空
|
|
124
|
+
const { mobileConfig, mobilePreserved } = await loadMobileConfig(client, baseUrl, appId, listId, cmdOpts.pcOnly);
|
|
125
|
+
const saveCfg = { ...cfg, listStatistics: ls };
|
|
126
|
+
const saveRes = await client.post(`${baseUrl}/api/bs/ebuilder/form/list/saveNListConfig?apid=${appId}`, {
|
|
127
|
+
listId, appId, terminalType: 'PC', config: saveCfg, mConfig: mobileConfig,
|
|
128
|
+
});
|
|
129
|
+
if (saveRes?.code === 200 && saveRes?.status) {
|
|
130
|
+
console.log(isJson ? JSON.stringify({ success: true, listId }) : '统计配置已保存');
|
|
131
|
+
console.log(` 移动端配置: ${mobilePreserved ? '保持原样' : '目标为 PC-only'}`);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=form-list-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-stats.js","sourceRoot":"","sources":["../../src/commands/form-list-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAa,EAAE,OAAgB;IACtE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;SACvB,WAAW,CAAC,aAAa,CAAC;SAC1B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;SAC/B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;SAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;SAC/B,MAAM,CAAC,cAAc,EAAE,4MAA4M,CAAC;SACpO,MAAM,CAAC,mBAAmB,EAAE,UAAU,CAAC;SACvC,MAAM,CAAC,WAAW,EAAE,0BAA0B,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,KAAa,EAAE,MAAc,EAAE,OAA4E,EAAE,EAAE;QAC3I,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAiB,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAC7B,GAAG,OAAO,6CAA6C,MAAM,SAAS,KAAK,UAAU,MAAM,kBAAkB,CAC9G,CAAC;QACF,IAAI,MAAM,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC1G,MAAM,GAAG,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;QACpC,MAAM,SAAS,GAAU,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,kBAAkB,IAAI,KAAK,MAAM,SAAS,CAAC,MAAM,MAAM,CAAC,CAAC;YACjF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,kBAAkB,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjJ,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,IAAI,IAAS,CAAC;YACd,IAAI,CAAC;gBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACpG,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACvG,MAAM,MAAM,GAAU,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACxF,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACvG,mEAAmE;YACnE,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;YACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3F,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC;YAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrF,mDAAmD;YACnD,MAAM,QAAQ,GAAG,QAAQ,KAAK,MAAM;gBAClC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;gBAC5D,CAAC,CAAC;oBACE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ;oBAC9C,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa;oBACrD,cAAc,EAAE;wBACd,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;wBACrF,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;wBACnF,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;qBACzF;oBACD,eAAe,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI;iBAC3D,CAAC;YACN,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3E,6BAA6B;YAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC;YAC7E,SAAS,CAAC,IAAI,CAAC;gBACb,EAAE;gBACF,MAAM;gBACN,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI;gBACvD,gBAAgB,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK;gBAC5D,cAAc,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;gBACzF,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;gBAC9D,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa;gBAC1C,SAAS,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;gBAC1C,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAChD,QAAQ;gBACR,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ;aACnD,CAAC,CAAC;YACH,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,kBAAkB,IAAI,KAAK,CAAC;YACvD,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC,sBAAsB,IAAI,MAAM,CAAC;YAChE,sBAAsB;YACtB,IAAI,EAAE,CAAC,0BAA0B,KAAK,SAAS;gBAAE,EAAE,CAAC,0BAA0B,GAAG,KAAK,CAAC;YACvF,IAAI,EAAE,CAAC,oBAAoB,KAAK,SAAS;gBAAE,EAAE,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAC7E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACrF,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACjF,yFAAyF;YACzF,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC;QACtC,CAAC;QAED,EAAE,CAAC,cAAc,GAAG,SAAS,CAAC;QAC9B,yCAAyC;QACzC,MAAM,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjH,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,mDAAmD,KAAK,EAAE,EAAE;YACtG,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY;SAC1E,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,IAAI,KAAK,GAAG,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,SAAS,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-unit.d.ts","sourceRoot":"","sources":["../../src/commands/form-list-unit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8CpC,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgElF"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { AuthSession } from '../core/auth.js';
|
|
2
|
+
import { ApiClient } from '../core/client.js';
|
|
3
|
+
/**
|
|
4
|
+
* form list-unit — 台账列显示单位(后缀/前缀)。
|
|
5
|
+
*
|
|
6
|
+
* 平台没有字段级"单位"属性(单位只能写进字段名,如 工时单价(元))。
|
|
7
|
+
* 要在台账列表里显示单位,走列表列配置的 `showTrans[].ruleConfig.suffix/prefix`
|
|
8
|
+
* (浏览器实测:极简结构平台即接受并自动补齐其余格式字段,无需携带完整 format 配置)。
|
|
9
|
+
* 保存走 saveNListConfig:config→PC、mConfig→移动端(与 list-columns 一致,移动端原样回传)。
|
|
10
|
+
*/
|
|
11
|
+
/** 读取 MOBILE 端 nList 配置,保存 PC 改动时原样回传为 mConfig(与 list-columns 同款逻辑) */
|
|
12
|
+
async function loadMobileConfig(client, baseUrl, appId, listId, pcOnly) {
|
|
13
|
+
try {
|
|
14
|
+
const res = await client.get(`${baseUrl}/api/bs/ebuilder/form/list/getNListConfig/${listId}?apid=${appId}&tpaid=${listId}&terminalType=MOBILE`);
|
|
15
|
+
if (res?.code !== 200 || !res?.status || !res?.data || typeof res.data !== 'object') {
|
|
16
|
+
throw new Error(res?.msg || '移动端配置不存在');
|
|
17
|
+
}
|
|
18
|
+
return { mobileConfig: res.data, mobilePreserved: true };
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
if (!pcOnly)
|
|
22
|
+
throw error;
|
|
23
|
+
return { mobileConfig: {}, mobilePreserved: false };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** 构造最小可用的 showTrans(仅后缀/前缀,平台自动补齐其余格式字段) */
|
|
27
|
+
function buildShowTrans(prefix, suffix) {
|
|
28
|
+
return [{
|
|
29
|
+
ruleShow: { ruleTitle: '', ruleContent: '' },
|
|
30
|
+
index: 0,
|
|
31
|
+
dataSetIdMap: {},
|
|
32
|
+
ruleConfig: { prefix, suffix },
|
|
33
|
+
}];
|
|
34
|
+
}
|
|
35
|
+
export function registerFormListUnitCommands(form, program) {
|
|
36
|
+
form.command('list-unit')
|
|
37
|
+
.description('设置台账列显示单位(后缀/前缀)')
|
|
38
|
+
.argument('<objId>', '表单 objId')
|
|
39
|
+
.argument('<appId>', '应用 ID')
|
|
40
|
+
.argument('<listId>', '台账列表 ID')
|
|
41
|
+
.argument('<fieldId>', '列对应字段 ID')
|
|
42
|
+
.argument('[suffix]', '单位后缀,如 "(元)" / "天"(--clear 时省略)')
|
|
43
|
+
.option('--prefix <text>', '前缀,如 "¥"')
|
|
44
|
+
.option('--clear', '清除该列的后缀/前缀')
|
|
45
|
+
.option('--pc-only', '目标明确只使用 PC;移动端配置不存在时允许继续')
|
|
46
|
+
.action(async (objId, appId, listId, fieldId, suffix, cmdOpts) => {
|
|
47
|
+
const opts = program.opts();
|
|
48
|
+
const auth = await AuthSession.fromOptions(opts);
|
|
49
|
+
if (!auth)
|
|
50
|
+
process.exit(1);
|
|
51
|
+
const client = new ApiClient(auth);
|
|
52
|
+
const baseUrl = auth.getBaseUrl();
|
|
53
|
+
if (!cmdOpts.clear && !suffix) {
|
|
54
|
+
console.error('需要 <suffix> 单位后缀,或用 --clear 清除');
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
const getRes = await client.get(`${baseUrl}/api/bs/ebuilder/form/list/getNListConfig/${listId}?apid=${appId}&tpaid=${listId}&terminalType=PC`);
|
|
58
|
+
if (getRes?.code !== 200 || !getRes?.status) {
|
|
59
|
+
console.error(`查询配置失败: ${getRes?.msg || '未知错误'}`);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
const cfg = getRes?.data || {};
|
|
63
|
+
const tableField = cfg.tableField || [];
|
|
64
|
+
const col = tableField.find((f) => String(f.id) === String(fieldId));
|
|
65
|
+
if (!col) {
|
|
66
|
+
console.error(`未找到列 fieldId=${fieldId}。可用列: ${tableField.map((f) => `${f.id}(${f.text || f.name})`).join(', ')}`);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
if (cmdOpts.clear) {
|
|
70
|
+
if (Array.isArray(col.showTrans) && col.showTrans[0]?.ruleConfig) {
|
|
71
|
+
col.showTrans[0].ruleConfig.prefix = '';
|
|
72
|
+
col.showTrans[0].ruleConfig.suffix = '';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
col.showTrans = buildShowTrans(cmdOpts.prefix || '', suffix);
|
|
77
|
+
}
|
|
78
|
+
const { mobileConfig, mobilePreserved } = await loadMobileConfig(client, baseUrl, appId, listId, cmdOpts.pcOnly);
|
|
79
|
+
const saveRes = await client.post(`${baseUrl}/api/bs/ebuilder/form/list/saveNListConfig?apid=${appId}`, {
|
|
80
|
+
listId, appId, terminalType: 'PC', config: cfg, mConfig: mobileConfig,
|
|
81
|
+
});
|
|
82
|
+
if (saveRes?.code === 200 && saveRes?.status) {
|
|
83
|
+
const action = cmdOpts.clear
|
|
84
|
+
? `已清除列 ${fieldId} 的单位`
|
|
85
|
+
: `列 ${fieldId} 单位已设为: ${cmdOpts.prefix || ''}${suffix}`;
|
|
86
|
+
console.log(action);
|
|
87
|
+
console.log(` 移动端配置: ${mobilePreserved ? '保持原样' : '目标为 PC-only'}`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
console.error(`保存失败: ${saveRes?.msg || '未知错误'}`);
|
|
91
|
+
process.exit(1);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=form-list-unit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-unit.js","sourceRoot":"","sources":["../../src/commands/form-list-unit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ApiClient } from '../core/client.js';
|
|
2
|
+
/**
|
|
3
|
+
* 通过 multipart/form-data 的 ds/fields 接口拉取表单字段元数据。
|
|
4
|
+
* 供 list-columns / list-search / list-stats / list-filter 等命令共用。
|
|
5
|
+
*/
|
|
6
|
+
export declare function fetchFields(client: ApiClient, baseUrl: string, objId: string): Promise<any[]>;
|
|
7
|
+
/**
|
|
8
|
+
* 读取当前 MOBILE 端 nList 配置,保存 PC 改动时原样回传为 mConfig,避免把移动端台账清空。
|
|
9
|
+
* 抓包确认:同一 saveNListConfig 里 config→PC 端、mConfig→移动端;移动端列集合/uid 与 PC 各自独立,
|
|
10
|
+
* 所以必须回传真实 mConfig(表单设计页就是这么发的),不能写死 {}。
|
|
11
|
+
*/
|
|
12
|
+
export declare function loadMobileConfig(client: ApiClient, baseUrl: string, appId: string, listId: string, pcOnly?: boolean): Promise<{
|
|
13
|
+
mobileConfig: Record<string, any>;
|
|
14
|
+
mobilePreserved: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
export interface CondInput {
|
|
17
|
+
fieldId: string;
|
|
18
|
+
func?: string;
|
|
19
|
+
value?: any;
|
|
20
|
+
text?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 构造明文 JSON 条件树(平台 rootdata / config.filter 都用此结构)。
|
|
24
|
+
* 实测:可直接发明文保存,读回也是明文,无需 LZW 编码(同事 e10-list-view skill 实证)。
|
|
25
|
+
* @param conditions 条件数组(多条件默认 AND,relationship:'1')
|
|
26
|
+
* @param fields fetchFields 返回的字段表,用于补 fieldType/text/compType
|
|
27
|
+
* @param objId 表单 objId
|
|
28
|
+
* @param filterIsNull 统计 rootdata 用 false、视图数据条件 filter 用 true
|
|
29
|
+
* @returns JSON 字符串(空条件返回 '')
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildConditionTree(conditions: CondInput[], fields: any[], objId: string, filterIsNull: boolean): string;
|
|
32
|
+
//# sourceMappingURL=form-list-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-utils.d.ts","sourceRoot":"","sources":["../../src/commands/form-list-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;GAGG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAYnG;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,eAAe,EAAE,OAAO,CAAA;CAAE,CAAC,CAa1E;AAUD,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,SAAS,EAAE,EACvB,MAAM,EAAE,GAAG,EAAE,EACb,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,OAAO,GACpB,MAAM,CAuBR"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 通过 multipart/form-data 的 ds/fields 接口拉取表单字段元数据。
|
|
3
|
+
* 供 list-columns / list-search / list-stats / list-filter 等命令共用。
|
|
4
|
+
*/
|
|
5
|
+
export async function fetchFields(client, baseUrl, objId) {
|
|
6
|
+
const body = new URLSearchParams({
|
|
7
|
+
groupId: 'weaver-ebuilder-form-service',
|
|
8
|
+
sourceId: objId,
|
|
9
|
+
sourceType: 'LOGIC',
|
|
10
|
+
detailFieldsGroup: 'true',
|
|
11
|
+
enableMerge: 'true',
|
|
12
|
+
needTableName: 'true',
|
|
13
|
+
params: '[]',
|
|
14
|
+
}).toString();
|
|
15
|
+
const res = await client.postForm(`${baseUrl}/api/ebuilder/common/ds/fields`, body);
|
|
16
|
+
return res?.data?.[0]?.fields || [];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* 读取当前 MOBILE 端 nList 配置,保存 PC 改动时原样回传为 mConfig,避免把移动端台账清空。
|
|
20
|
+
* 抓包确认:同一 saveNListConfig 里 config→PC 端、mConfig→移动端;移动端列集合/uid 与 PC 各自独立,
|
|
21
|
+
* 所以必须回传真实 mConfig(表单设计页就是这么发的),不能写死 {}。
|
|
22
|
+
*/
|
|
23
|
+
export async function loadMobileConfig(client, baseUrl, appId, listId, pcOnly) {
|
|
24
|
+
try {
|
|
25
|
+
const res = await client.get(`${baseUrl}/api/bs/ebuilder/form/list/getNListConfig/${listId}?apid=${appId}&tpaid=${listId}&terminalType=MOBILE`);
|
|
26
|
+
if (res?.code !== 200 || !res?.status || !res?.data || typeof res.data !== 'object') {
|
|
27
|
+
throw new Error(res?.msg || '移动端配置不存在');
|
|
28
|
+
}
|
|
29
|
+
return { mobileConfig: res.data, mobilePreserved: true };
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (!pcOnly)
|
|
33
|
+
throw error;
|
|
34
|
+
return { mobileConfig: {}, mobilePreserved: false };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** func 中文映射(rootStr 展示用)。注意:in=属于 / notIn=不属于(选项类 Browser 族算子),
|
|
38
|
+
* like=包含 / notLike=不包含(文本匹配)。原误把 in 标成"包含"导致与 like 合并显示、平台不识别。 */
|
|
39
|
+
const FUNC_CN = {
|
|
40
|
+
eq: '等于', notEq: '不等于', ne: '不等于', in: '属于', notIn: '不属于',
|
|
41
|
+
like: '包含', notLike: '不包含', gt: '大于', lt: '小于', between: '介于',
|
|
42
|
+
isNull: '为空', isNotNull: '不为空', startWith: '以...开头', endWith: '以...结尾',
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* 构造明文 JSON 条件树(平台 rootdata / config.filter 都用此结构)。
|
|
46
|
+
* 实测:可直接发明文保存,读回也是明文,无需 LZW 编码(同事 e10-list-view skill 实证)。
|
|
47
|
+
* @param conditions 条件数组(多条件默认 AND,relationship:'1')
|
|
48
|
+
* @param fields fetchFields 返回的字段表,用于补 fieldType/text/compType
|
|
49
|
+
* @param objId 表单 objId
|
|
50
|
+
* @param filterIsNull 统计 rootdata 用 false、视图数据条件 filter 用 true
|
|
51
|
+
* @returns JSON 字符串(空条件返回 '')
|
|
52
|
+
*/
|
|
53
|
+
export function buildConditionTree(conditions, fields, objId, filterIsNull) {
|
|
54
|
+
if (!Array.isArray(conditions) || conditions.length === 0)
|
|
55
|
+
return '';
|
|
56
|
+
const topKey = String(Date.now());
|
|
57
|
+
const datas = conditions.map((c, i) => {
|
|
58
|
+
const cf = fields.find((x) => String(x.id) === String(c.fieldId));
|
|
59
|
+
return {
|
|
60
|
+
isParent: false, parentNode: topKey, key: topKey + (i + 1),
|
|
61
|
+
id: c.fieldId, fieldName: 'field_' + c.fieldId,
|
|
62
|
+
fieldType: cf?.type || 'String', text: cf?.text || c.fieldId,
|
|
63
|
+
objId, compType: cf?.compType || 'Select', type: 'condition',
|
|
64
|
+
conditions: { func: c.func || 'eq', value: String(c.value ?? ''), type: '', text: c.text || '', isEsb: false },
|
|
65
|
+
multiSelect: 'false', formInfo: { fieldId: c.fieldId },
|
|
66
|
+
module: 'ebuilderform', mainField: true, subTableId: '', dbFieldType: 'STRING',
|
|
67
|
+
config: { options: [], fieldId: c.fieldId },
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
const rootStr = '( ' + datas.map((d) => `${d.text} ${FUNC_CN[d.conditions.func] || d.conditions.func} '${d.conditions.text || d.conditions.value}'`).join(' 并且 ') + ' )';
|
|
71
|
+
return JSON.stringify({
|
|
72
|
+
key: topKey, relationship: '1', isParent: true, isNewFilter: true, parentNode: '',
|
|
73
|
+
datas, version: 1, filterIsNull, isFilterSub: false, rootStr,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=form-list-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list-utils.js","sourceRoot":"","sources":["../../src/commands/form-list-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-list.d.ts","sourceRoot":"","sources":["../../src/commands/form-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwEpC,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAmgB9E"}
|