cloud-web-corejs 1.0.281 → 1.1.0-dev.10
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/package.json +6 -2
- package/src/components/VabUpload/image-viewer.vue +442 -442
- package/src/components/VabUpload/index.vue +45 -3
- package/src/components/VabUpload/mixins.js +126 -19
- package/src/components/VabUpload/view.vue +248 -209
- package/src/components/baseTabs/mixins.js +181 -181
- package/src/components/bizTab/BizBillActions.vue +129 -0
- package/src/components/bizTab/BizTabListPage.vue +391 -0
- package/src/components/bizTab/README.md +378 -0
- package/src/components/bizTab/billTableUtil.js +48 -0
- package/src/components/bizTab/billValidators.js +136 -0
- package/src/components/bizTab/bizBillDetailMixin.js +705 -0
- package/src/components/bizTab/index.js +24 -0
- package/src/components/excelExport/exportFieldDialog.vue +23 -12
- package/src/components/excelExport/exportItemConfigUtil.js +30 -0
- package/src/components/excelExport/mixins.js +3 -3
- package/src/components/excelImport/index.vue +156 -156
- package/src/components/jsonImport/index.vue +1 -1
- package/src/components/langImport/index.vue +1 -1
- package/src/components/mobile/statusTag/mixins.js +1 -61
- package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
- package/src/components/mobile/wf/content.vue +1705 -1556
- package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
- package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
- package/src/components/mobile/wf/selectUserDialog.vue +122 -0
- package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
- package/src/components/mobile/wf/urgingDialog.vue +26 -3
- package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
- package/src/components/obsUpload/index.vue +1 -1
- package/src/components/table/config.js +78 -78
- package/src/components/table/index.js +1276 -1276
- package/src/components/table/plugins/cell-area/index.js +1055 -0
- package/src/components/table/plugins/cell-area/index.scss +77 -0
- package/src/components/table/plugins/cell-area/util.js +224 -0
- package/src/components/table/tableForm.vue +330 -330
- package/src/components/table/tableFormMixin.js +318 -318
- package/src/components/table/vxeFilter/index.js +163 -163
- package/src/components/table/vxeFilter/mixin.js +316 -316
- package/src/components/wf/content.vue +1188 -1188
- package/src/components/wf/wf.js +40 -20
- package/src/components/wf/wfActionDropdown.vue +1 -1
- package/src/components/wf/wfActionItems.js +1 -1
- package/src/components/xform/docs/2026-08 xform H5 P0 /345/256/236/347/216/260/350/247/204/346/240/274.md" +528 -0
- package/src/components/xform/docs/2026-08 xform H5 P1 /345/256/236/347/216/260/350/247/204/346/240/274.md" +412 -0
- package/src/components/xform/docs/2026-08 xform H5 P2 /345/256/236/347/216/260/350/247/204/346/240/274.md" +287 -0
- package/src/components/xform/docs/2026-08 xform /347/247/273/345/212/250/347/253/257/345/270/203/345/261/200/345/257/271/351/275/220 bill_setting /346/226/271/346/241/210.md" +400 -0
- package/src/components/xform/form-designer/designer.js +51 -52
- package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
- package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
- package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
- package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
- package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
- package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
- package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
- package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
- package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
- package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
- package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
- package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
- package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
- package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
- package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
- package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
- package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
- package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
- package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
- package/src/components/xform/form-designer/indexMixin.js +35 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
- package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
- package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
- package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
- package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
- package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
- package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
- package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
- package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
- package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
- package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
- package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
- package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
- package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
- package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
- package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
- package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
- package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
- package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
- package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
- package/src/components/xform/form-render/index.vue +153 -147
- package/src/components/xform/form-render/indexMixin.js +35 -3
- package/src/components/xform/lang/en-US.js +14 -0
- package/src/components/xform/lang/zh-CN.js +17 -0
- package/src/components/xform/mixins/defaultHandle.js +707 -707
- package/src/components/xform/styles/h5.scss +2238 -0
- package/src/components/xform/utils/textMaskUtil.js +182 -179
- package/src/components/xform/utils/treeTableUtil.js +1292 -1265
- package/src/components/xform/utils/util.js +56 -11
- package/src/directive/append-to-body/index.js +48 -0
- package/src/index.js +13 -4
- package/src/layout/components/Sidebar/default.vue +1655 -1655
- package/src/layout/components/extractedCode/viewDialog.vue +7 -7
- package/src/router/index.js +48 -27
- package/src/router/modules/customer.js +71 -14
- package/src/store/modules/permission.js +17 -18
- package/src/utils/assetUrl.js +19 -0
- package/src/utils/pdfUtil.js +429 -429
- package/src/utils/resolveViewComponent.js +142 -16
- package/src/utils/vab.js +1283 -1279
- package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
- package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
- package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
- package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
- package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
- package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
- package/src/views/bd/project/branch/form_script/list.vue +31 -0
- package/src/views/bd/project/branch/form_template/list.vue +30 -0
- package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
- package/src/views/bd/project/common/form_script/list.vue +16 -0
- package/src/views/bd/project/common/form_template/list.vue +15 -0
- package/src/views/bd/project/common/menu_kind/list.vue +15 -0
- package/src/views/bd/project/core/branchContext.js +100 -0
- package/src/views/bd/project/core/branchPage.js +78 -0
- package/src/views/bd/project/core/branchPageWrap.vue +225 -0
- package/src/views/bd/project/core/branchScope.js +44 -0
- package/src/views/bd/project/core/branchSearchPage.js +285 -0
- package/src/views/bd/project/core/branchSelect.vue +85 -0
- package/src/views/bd/project/core/branchTreeBar.vue +81 -0
- package/src/views/bd/project/core/httpBranchPatch.js +58 -0
- package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
- package/src/views/bd/project/datatable/table_model/list.vue +15 -0
- package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
- package/src/views/bd/setting/form_template/edit.vue +378 -356
- package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
- package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
- package/src/views/bd/setting/form_template/list.vue +304 -303
- package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
- package/src/views/bd/setting/form_template/mixins/list.js +748 -721
- package/src/views/bd/setting/table_model/edit.vue +1066 -1066
- package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
- package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
- package/src/views/demo/bizTab/bill/billConfig.js +41 -0
- package/src/views/demo/bizTab/bill/detail.vue +436 -0
- package/src/views/demo/bizTab/bill/list.vue +288 -0
- package/src/views/demo/bizTab/bill/productDialog.vue +176 -0
- package/src/views/demo/bizTab/simple/billApi.js +123 -0
- package/src/views/demo/bizTab/simple/detail.vue +407 -0
- package/src/views/demo/bizTab/simple/list.vue +217 -0
- package/src/views/demo/bizTab/standalone/index.vue +121 -0
- package/src/views/demo/bizTab/wf/billConfig.js +44 -0
- package/src/views/demo/bizTab/wf/detail.vue +661 -0
- package/src/views/demo/bizTab/wf/list.vue +242 -0
- package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
- package/src/views/support/form-dialog-demo/index.vue +537 -0
- package/src/views/user/file_view_ins/list.vue +970 -970
- package/src/views/user/form/vform/designer.vue +823 -821
- package/src/views/user/home/default.vue +1117 -1117
- package/src/views/user/home/default2.vue +1 -1
- package/src/views/user/home/index.vue +103 -101
- package/src/views/user/home/wjl/content.vue +1569 -0
- package/src/views/user/notify_message/dialog.vue +139 -137
- package/src/views/user/outLink/cc_form_view.vue +188 -0
- package/src/views/user/outLink/form_view.vue +202 -202
- package/src/views/user/outLink/index.vue +110 -110
- package/src/views/user/outLink/view.vue +3 -3
- package/src/views/user/role/edit.vue +632 -632
- package/src/views/user/role/list.vue +260 -260
- package/src/views/user/wf/iframe/index.vue +51 -51
- package/src/views/user/wf/iframe/index2.vue +64 -64
- package/src/views/user/wf/wf_manage/list.vue +1112 -1116
- package/src/views/user/wf/wf_manage/list2.vue +871 -875
- package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
- package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
- package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
- package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
- package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
- package/src/utils/wf.js +0 -766
|
@@ -36,6 +36,7 @@ modules = {
|
|
|
36
36
|
},
|
|
37
37
|
inject: [
|
|
38
38
|
"getDesignerConfig",
|
|
39
|
+
"getLayoutTypeLocked",
|
|
39
40
|
"saveReportTemplate",
|
|
40
41
|
"getReportTemplate",
|
|
41
42
|
"getFormTemplateTableDTOs",
|
|
@@ -105,6 +106,15 @@ modules = {
|
|
|
105
106
|
layoutType() {
|
|
106
107
|
return this.designer.getLayoutType();
|
|
107
108
|
},
|
|
109
|
+
|
|
110
|
+
/* 布局模式由入口(表单模板类型)锁定时,PC/移动端按钮只回显不可切换 */
|
|
111
|
+
layoutTypeLocked() {
|
|
112
|
+
return !!this.getLayoutTypeLocked();
|
|
113
|
+
},
|
|
114
|
+
|
|
115
|
+
layoutTypeLockedTip() {
|
|
116
|
+
return this.$t1("模板类型由表单模板维护,设计器内不可切换");
|
|
117
|
+
},
|
|
108
118
|
},
|
|
109
119
|
watch: {
|
|
110
120
|
"designer.widgetList": {
|
|
@@ -281,6 +291,9 @@ modules = {
|
|
|
281
291
|
},
|
|
282
292
|
|
|
283
293
|
changeLayoutType(newType) {
|
|
294
|
+
if (this.layoutTypeLocked) {
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
284
297
|
this.designer.changeLayoutType(newType);
|
|
285
298
|
this.$emit("loadWidgets");
|
|
286
299
|
},
|
|
@@ -354,6 +367,7 @@ modules = {
|
|
|
354
367
|
let importObj = JSON.parse(this.importTemplate);
|
|
355
368
|
this.designer.handleImportJson(importObj);
|
|
356
369
|
this.designer.loadFormJson(importObj);
|
|
370
|
+
this.$emit("loadWidgets");
|
|
357
371
|
|
|
358
372
|
this.showImportJsonDialogFlag = false;
|
|
359
373
|
this.$message.success(this.i18nt("designer.hint.importJsonSuccess"));
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<el-tab-pane v-if="showComponentLib" name="componentLib">
|
|
7
7
|
<span slot="label"><i class="el-icon-set-up"></i> {{ i18nt('designer.componentLib') }}</span>
|
|
8
8
|
|
|
9
|
-
<el-collapse v-model="activeNames" class="widget-collapse">
|
|
9
|
+
<el-collapse v-model="activeNames" class="widget-collapse" :key="currentLayoutType">
|
|
10
10
|
<el-collapse-item name="1" :title="i18nt('designer.containerTitle')">
|
|
11
11
|
<draggable tag="ul" :list="containers" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
12
12
|
:clone="handleContainerWidgetClone" ghost-class="ghost" :sort="false"
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
</draggable>
|
|
35
35
|
</el-collapse-item>
|
|
36
36
|
|
|
37
|
+
<template v-if="advancedFields.length">
|
|
37
38
|
<el-collapse-item name="3" :title="i18nt('designer.advancedFieldTitle')">
|
|
38
39
|
<draggable tag="ul" :list="advancedFields" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
39
40
|
:move="checkFieldMove"
|
|
@@ -47,8 +48,9 @@
|
|
|
47
48
|
</li>
|
|
48
49
|
</draggable>
|
|
49
50
|
</el-collapse-item>
|
|
51
|
+
</template>
|
|
50
52
|
|
|
51
|
-
|
|
53
|
+
<template v-if="customFields.length">
|
|
52
54
|
<el-collapse-item name="4" :title="i18nt('designer.customFieldTitle')">
|
|
53
55
|
<draggable tag="ul" :list="customFields" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
54
56
|
:move="checkFieldMove"
|
|
@@ -62,7 +64,7 @@
|
|
|
62
64
|
</li>
|
|
63
65
|
</draggable>
|
|
64
66
|
</el-collapse-item>
|
|
65
|
-
|
|
67
|
+
</template>
|
|
66
68
|
|
|
67
69
|
|
|
68
70
|
</el-collapse>
|
|
@@ -71,7 +73,7 @@
|
|
|
71
73
|
<el-tab-pane v-if="showMetadataLib" name="metadataLib">
|
|
72
74
|
<span slot="label"><i class="el-icon-set-up"></i> {{ i18nt('designer.metadataLib') }}</span>
|
|
73
75
|
|
|
74
|
-
<el-collapse v-model="metadataActiveNames" class="widget-collapse">
|
|
76
|
+
<el-collapse v-model="metadataActiveNames" class="widget-collapse" :key="currentLayoutType">
|
|
75
77
|
<el-collapse-item name="0" :title="i18nt('designer.containerTitle')">
|
|
76
78
|
<draggable tag="ul" :list="commonContainers" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
77
79
|
:clone="handleContainerWidgetClone" ghost-class="ghost" :sort="false"
|
|
@@ -97,6 +99,7 @@
|
|
|
97
99
|
</li>
|
|
98
100
|
</draggable>
|
|
99
101
|
</el-collapse-item>
|
|
102
|
+
<template v-if="commonAdvancedFields.length">
|
|
100
103
|
<el-collapse-item name="3" :title="i18nt('designer.advancedFieldTitle')">
|
|
101
104
|
<draggable tag="ul" :list="commonAdvancedFields" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
102
105
|
:move="checkFieldMove"
|
|
@@ -110,6 +113,7 @@
|
|
|
110
113
|
</li>
|
|
111
114
|
</draggable>
|
|
112
115
|
</el-collapse-item>
|
|
116
|
+
</template>
|
|
113
117
|
|
|
114
118
|
|
|
115
119
|
|
|
@@ -160,7 +164,7 @@
|
|
|
160
164
|
</li>
|
|
161
165
|
</draggable>
|
|
162
166
|
</el-collapse-item>
|
|
163
|
-
<el-collapse-item name="compare" :title="i18nt('对比组件')">
|
|
167
|
+
<el-collapse-item v-if="currentLayoutType !== 'H5'" name="compare" :title="i18nt('对比组件')">
|
|
164
168
|
<draggable tag="ul" :list="compareFields" :group="{name: 'dragGroup', pull: 'clone', put: false}"
|
|
165
169
|
:move="checkFieldMove"
|
|
166
170
|
:clone="handleFieldWidgetClone" ghost-class="ghost" :sort="false">
|
|
@@ -311,8 +315,8 @@ export default {
|
|
|
311
315
|
background: #f1f2f3;
|
|
312
316
|
font-size: 12px;
|
|
313
317
|
padding-left: 12px;
|
|
314
|
-
> span{
|
|
315
|
-
display: flex;align-items: center;white-space: normal;line-height: 1.2;height: 35px;
|
|
318
|
+
> span{
|
|
319
|
+
display: flex;align-items: center;white-space: normal;line-height: 1.2;height: 35px;
|
|
316
320
|
}
|
|
317
321
|
svg {
|
|
318
322
|
display: inline-block;
|
|
@@ -6,7 +6,8 @@ import {
|
|
|
6
6
|
advancedFields,
|
|
7
7
|
customFields,
|
|
8
8
|
businessFields,
|
|
9
|
-
widgetPanelOrder
|
|
9
|
+
widgetPanelOrder,
|
|
10
|
+
h5PanelAllowTypes
|
|
10
11
|
} from "./widgetsConfig"
|
|
11
12
|
import {
|
|
12
13
|
formTemplates
|
|
@@ -115,6 +116,16 @@ modules = {
|
|
|
115
116
|
? !1
|
|
116
117
|
: !!this.designerConfig.metadataLib;
|
|
117
118
|
},
|
|
119
|
+
currentLayoutType() {
|
|
120
|
+
return (this.designer && this.designer.formConfig && this.designer.formConfig.layoutType) || "PC";
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
watch: {
|
|
124
|
+
/* 打开 H5 模板是 setFormJson 后才写入 layoutType;面板 mounted 时仍是默认 PC。
|
|
125
|
+
版式变化后必须按新 layoutType 重筛,否则左侧一直停在 PC 组件列表。 */
|
|
126
|
+
currentLayoutType() {
|
|
127
|
+
this.loadWidgets();
|
|
128
|
+
},
|
|
118
129
|
},
|
|
119
130
|
mounted() {
|
|
120
131
|
this.designerConfig.chartLib && (this.firstTab = "chartLib"),
|
|
@@ -181,7 +192,8 @@ modules = {
|
|
|
181
192
|
|
|
182
193
|
this.commonContainers = this.containers.filter(con => !!con.commonFlag && this.getIsShow(con));
|
|
183
194
|
|
|
184
|
-
|
|
195
|
+
/* 每次从 widgetsConfig 原表筛,不能拿 this.xxx(已被上次 layoutType 滤过)再滤一遍 */
|
|
196
|
+
this.basicFields = basicFields.map(fld => {
|
|
185
197
|
return {
|
|
186
198
|
...fld,
|
|
187
199
|
displayName: this.i18n2t(`designer.widgetLabel.${fld.type}`, `extension.widgetLabel.${fld.type}`)
|
|
@@ -190,13 +202,13 @@ modules = {
|
|
|
190
202
|
return !this.isBanned(fld.type) && this.getIsShow(fld);
|
|
191
203
|
});
|
|
192
204
|
|
|
193
|
-
this.advancedFields =
|
|
205
|
+
this.advancedFields = advancedFields.map(fld => {
|
|
194
206
|
return {
|
|
195
207
|
...fld,
|
|
196
208
|
displayName: this.i18n2t(`designer.widgetLabel.${fld.type}`, `extension.widgetLabel.${fld.type}`)
|
|
197
209
|
};
|
|
198
210
|
}).filter(fld => {
|
|
199
|
-
return !this.isBanned(fld.type) && this.getIsShow(fld);
|
|
211
|
+
return !fld.internal && !this.isBanned(fld.type) && this.getIsShow(fld);
|
|
200
212
|
});
|
|
201
213
|
|
|
202
214
|
/* 面板分组归一:表单数据字段(搜索框/自动完成/级联/凭证/状态等)展示在基础字段分组 */
|
|
@@ -209,7 +221,7 @@ modules = {
|
|
|
209
221
|
);
|
|
210
222
|
this.advancedFields = this.sortByPanelOrder(this.advancedFields, widgetPanelOrder.advancedFields);
|
|
211
223
|
|
|
212
|
-
this.businessFields =
|
|
224
|
+
this.businessFields = businessFields.map(fld => {
|
|
213
225
|
return {
|
|
214
226
|
...fld,
|
|
215
227
|
displayName: this.i18n2t(`designer.widgetLabel.${fld.type}`, `extension.widgetLabel.${fld.type}`)
|
|
@@ -229,7 +241,7 @@ modules = {
|
|
|
229
241
|
&& moveTypes.indexOf(fld.type) === -1;
|
|
230
242
|
}), widgetPanelOrder.advancedFields);
|
|
231
243
|
|
|
232
|
-
this.customFields =
|
|
244
|
+
this.customFields = customFields.map(fld => {
|
|
233
245
|
return {
|
|
234
246
|
...fld,
|
|
235
247
|
displayName: this.i18n2t(`designer.widgetLabel.${fld.type}`, `extension.widgetLabel.${fld.type}`)
|
|
@@ -257,6 +269,14 @@ modules = {
|
|
|
257
269
|
return !this.isBanned(fld.type) && this.getIsShow(fld);
|
|
258
270
|
});
|
|
259
271
|
|
|
272
|
+
/* 空分组不渲染(见 index.vue 的 v-if),展开项按当前版式重算:
|
|
273
|
+
不能只做减法,否则从 H5 切回 PC 时分组回来了却是收起状态 */
|
|
274
|
+
this.activeNames = ["1", "2"]
|
|
275
|
+
.concat(this.advancedFields.length ? ["3"] : [])
|
|
276
|
+
.concat(this.customFields.length ? ["4"] : []);
|
|
277
|
+
this.metadataActiveNames = ["0", "1", "2", "4"]
|
|
278
|
+
.concat(this.commonAdvancedFields.length ? ["3"] : []);
|
|
279
|
+
|
|
260
280
|
},
|
|
261
281
|
|
|
262
282
|
/* 按 widgetPanelOrder 排序面板展示列表;未列出的类型(含扩展组件)排在末尾,保持原有相对顺序 */
|
|
@@ -343,6 +363,10 @@ modules = {
|
|
|
343
363
|
let flag = !ftd.layoutType || ftd.layoutType === layoutType;
|
|
344
364
|
let flag2 = this.checkColumnFlag(ftd)
|
|
345
365
|
let flag3 = !!ftd.commonFlag
|
|
366
|
+
/* H5 面板按白名单收口,PC 不受影响 */
|
|
367
|
+
if (layoutType === "H5") {
|
|
368
|
+
flag = flag && h5PanelAllowTypes.indexOf(ftd.type) > -1;
|
|
369
|
+
}
|
|
346
370
|
return flag && flag2 && flag3;
|
|
347
371
|
}
|
|
348
372
|
}
|
|
@@ -51,6 +51,7 @@ export const containers = [
|
|
|
51
51
|
category: "container",
|
|
52
52
|
icon: "table",
|
|
53
53
|
commonFlag: !0,
|
|
54
|
+
layoutType: "PC",
|
|
54
55
|
columnFlag: true,
|
|
55
56
|
rows: [],
|
|
56
57
|
options: {
|
|
@@ -341,6 +342,7 @@ export const containers = [
|
|
|
341
342
|
category: "container",
|
|
342
343
|
icon: "text-field",
|
|
343
344
|
commonFlag: !0,
|
|
345
|
+
layoutType: "PC",
|
|
344
346
|
formItemFlag: !0,
|
|
345
347
|
widgetList: [],
|
|
346
348
|
options: {
|
|
@@ -445,6 +447,26 @@ export const containers = [
|
|
|
445
447
|
customClass: ""
|
|
446
448
|
}
|
|
447
449
|
},*/
|
|
450
|
+
{
|
|
451
|
+
type: "detail-temp",
|
|
452
|
+
category: "container",
|
|
453
|
+
icon: "form",
|
|
454
|
+
commonFlag: !0,
|
|
455
|
+
layoutType: "PC",
|
|
456
|
+
panes: [],
|
|
457
|
+
widgetList: [],
|
|
458
|
+
options: {
|
|
459
|
+
name: "",
|
|
460
|
+
hidden: !1,
|
|
461
|
+
label: "模板模块",
|
|
462
|
+
detailTempContainer: true,
|
|
463
|
+
styleTempClass: 'd-temp-1',
|
|
464
|
+
customClass: "",
|
|
465
|
+
wfEnabled: false,
|
|
466
|
+
onCreated: "",
|
|
467
|
+
onMounted: "",
|
|
468
|
+
},
|
|
469
|
+
},
|
|
448
470
|
{
|
|
449
471
|
type: "detail",
|
|
450
472
|
category: "container",
|
|
@@ -548,6 +570,7 @@ export const containers = [
|
|
|
548
570
|
detailH5Container: true,
|
|
549
571
|
// colHeight: null,
|
|
550
572
|
customClass: "",
|
|
573
|
+
// 底栏平铺个数不做成选项,写死在 detail-h5-item 的 H5_BOTTOM_MAX_BUTTONS(=3)
|
|
551
574
|
wfEnabled: false,
|
|
552
575
|
onCreated: "",
|
|
553
576
|
onMounted: "",
|
|
@@ -573,6 +596,8 @@ export const containers = [
|
|
|
573
596
|
listH5: true,
|
|
574
597
|
// colHeight: null,
|
|
575
598
|
customClass: "",
|
|
599
|
+
// 明细行样式:'plain'=原有朴素列表(默认,保持存量表现);'card'=卡片皮肤
|
|
600
|
+
itemStyle: "plain",
|
|
576
601
|
isQueryTable: false,
|
|
577
602
|
|
|
578
603
|
accessUrl: null,
|
|
@@ -693,6 +718,7 @@ export const containers = [
|
|
|
693
718
|
category: "container",
|
|
694
719
|
icon: "tree-pane",
|
|
695
720
|
commonFlag: !0,
|
|
721
|
+
layoutType: "PC",
|
|
696
722
|
leftWidgetList: [],
|
|
697
723
|
widgetList: [],
|
|
698
724
|
options: {
|
|
@@ -748,7 +774,7 @@ export const containers = [
|
|
|
748
774
|
name: "",
|
|
749
775
|
hidden: !1,
|
|
750
776
|
customClass: "",
|
|
751
|
-
fullWidth:
|
|
777
|
+
fullWidth: true,
|
|
752
778
|
},
|
|
753
779
|
},
|
|
754
780
|
{
|
|
@@ -772,6 +798,7 @@ export const containers = [
|
|
|
772
798
|
icon: "tree",
|
|
773
799
|
category: "container",
|
|
774
800
|
commonFlag: !0,
|
|
801
|
+
layoutType: "PC",
|
|
775
802
|
widgetList: [],
|
|
776
803
|
options: {
|
|
777
804
|
name: "tree",
|
|
@@ -1151,6 +1178,7 @@ export const basicFields = [
|
|
|
1151
1178
|
type: "input-batch",
|
|
1152
1179
|
icon: "input-batch",
|
|
1153
1180
|
commonFlag: !0,
|
|
1181
|
+
layoutType: "PC",
|
|
1154
1182
|
formItemFlag: !0,
|
|
1155
1183
|
columnFlag: true,
|
|
1156
1184
|
tableField: null,
|
|
@@ -2048,6 +2076,7 @@ export const basicFields = [
|
|
|
2048
2076
|
type: "html-text",
|
|
2049
2077
|
icon: "html-text",
|
|
2050
2078
|
commonFlag: !0,
|
|
2079
|
+
layoutType: "PC",
|
|
2051
2080
|
formItemFlag: !1,
|
|
2052
2081
|
columnFlag: false,
|
|
2053
2082
|
options: {
|
|
@@ -2374,6 +2403,7 @@ export const advancedFields = [
|
|
|
2374
2403
|
type: "echart-pie",
|
|
2375
2404
|
icon: "echart-pie",
|
|
2376
2405
|
commonFlag: !0,
|
|
2406
|
+
layoutType: "PC",
|
|
2377
2407
|
formItemFlag: false,
|
|
2378
2408
|
options: {
|
|
2379
2409
|
name: "",
|
|
@@ -2478,6 +2508,7 @@ export const advancedFields = [
|
|
|
2478
2508
|
type: "echart-bar",
|
|
2479
2509
|
icon: "echart",
|
|
2480
2510
|
commonFlag: !0,
|
|
2511
|
+
layoutType: "PC",
|
|
2481
2512
|
formItemFlag: false,
|
|
2482
2513
|
options: {
|
|
2483
2514
|
name: "",
|
|
@@ -2668,6 +2699,7 @@ export const advancedFields = [
|
|
|
2668
2699
|
type: "echart-category",
|
|
2669
2700
|
icon: "echart-category",
|
|
2670
2701
|
commonFlag: !0,
|
|
2702
|
+
layoutType: "PC",
|
|
2671
2703
|
formItemFlag: false,
|
|
2672
2704
|
options: {
|
|
2673
2705
|
name: "",
|
|
@@ -3241,6 +3273,7 @@ export const advancedFields = [
|
|
|
3241
3273
|
icon: "el-icon-upload",
|
|
3242
3274
|
formItemFlag: !1,
|
|
3243
3275
|
commonFlag: !0,
|
|
3276
|
+
layoutType: "PC",
|
|
3244
3277
|
columnFlag: true,
|
|
3245
3278
|
tableField: null,
|
|
3246
3279
|
options: {
|
|
@@ -3270,6 +3303,7 @@ export const advancedFields = [
|
|
|
3270
3303
|
icon: "el-icon-upload",
|
|
3271
3304
|
formItemFlag: !1,
|
|
3272
3305
|
commonFlag: !0,
|
|
3306
|
+
layoutType: "PC",
|
|
3273
3307
|
columnFlag: true,
|
|
3274
3308
|
options: {
|
|
3275
3309
|
name: "",
|
|
@@ -3301,6 +3335,7 @@ export const advancedFields = [
|
|
|
3301
3335
|
icon: "el-icon-upload",
|
|
3302
3336
|
formItemFlag: !1,
|
|
3303
3337
|
commonFlag: !0,
|
|
3338
|
+
layoutType: "PC",
|
|
3304
3339
|
columnFlag: true,
|
|
3305
3340
|
options: {
|
|
3306
3341
|
name: "",
|
|
@@ -3318,6 +3353,10 @@ export const advancedFields = [
|
|
|
3318
3353
|
showImageAtTable: false,
|
|
3319
3354
|
selectExportItemFlag: 1,
|
|
3320
3355
|
exportItemConditionEnabled: !1,
|
|
3356
|
+
// 按钮级明细导出配置:三项各自独立,留空的那项沿用数据表格属性上维护的
|
|
3357
|
+
exportItemColumns: [],
|
|
3358
|
+
exportItemScriptCode: null,
|
|
3359
|
+
exportItemParam: "",
|
|
3321
3360
|
|
|
3322
3361
|
onCreated: "",
|
|
3323
3362
|
onMounted: "",
|
|
@@ -3369,6 +3408,7 @@ export const advancedFields = [
|
|
|
3369
3408
|
type: "import-button",
|
|
3370
3409
|
icon: "el-icon-download",
|
|
3371
3410
|
commonFlag: !0,
|
|
3411
|
+
layoutType: "PC",
|
|
3372
3412
|
columnFlag: true,
|
|
3373
3413
|
formItemFlag: !1,
|
|
3374
3414
|
options: {
|
|
@@ -3421,6 +3461,7 @@ export const advancedFields = [
|
|
|
3421
3461
|
type: "import2-button",
|
|
3422
3462
|
icon: "el-icon-download",
|
|
3423
3463
|
commonFlag: !0,
|
|
3464
|
+
layoutType: "PC",
|
|
3424
3465
|
columnFlag: true,
|
|
3425
3466
|
formItemFlag: !1,
|
|
3426
3467
|
options: {
|
|
@@ -3469,6 +3510,7 @@ export const advancedFields = [
|
|
|
3469
3510
|
type: "print-button",
|
|
3470
3511
|
icon: "el-icon-printer",
|
|
3471
3512
|
commonFlag: !0,
|
|
3513
|
+
layoutType: "PC",
|
|
3472
3514
|
columnFlag: true,
|
|
3473
3515
|
formItemFlag: !1,
|
|
3474
3516
|
options: {
|
|
@@ -3510,6 +3552,7 @@ export const advancedFields = [
|
|
|
3510
3552
|
type: "print-detail-button",
|
|
3511
3553
|
icon: "el-icon-printer",
|
|
3512
3554
|
commonFlag: !0,
|
|
3555
|
+
layoutType: "PC",
|
|
3513
3556
|
columnFlag: false,
|
|
3514
3557
|
formItemFlag: !1,
|
|
3515
3558
|
options: {
|
|
@@ -3627,6 +3670,7 @@ export const advancedFields = [
|
|
|
3627
3670
|
type: "census",
|
|
3628
3671
|
icon: "census",
|
|
3629
3672
|
commonFlag: !0,
|
|
3673
|
+
layoutType: "PC",
|
|
3630
3674
|
formItemFlag: false,
|
|
3631
3675
|
options: {
|
|
3632
3676
|
name: "",
|
|
@@ -3693,6 +3737,7 @@ export const advancedFields = [
|
|
|
3693
3737
|
category: "container",
|
|
3694
3738
|
icon: "tree-table",
|
|
3695
3739
|
commonFlag: !0,
|
|
3740
|
+
layoutType: "PC",
|
|
3696
3741
|
formItemFlag: !0,
|
|
3697
3742
|
rows: [],
|
|
3698
3743
|
options: {
|
|
@@ -3769,6 +3814,7 @@ export const advancedFields = [
|
|
|
3769
3814
|
type: "gantt",
|
|
3770
3815
|
icon: "chart",
|
|
3771
3816
|
commonFlag: !0,
|
|
3817
|
+
layoutType: "PC",
|
|
3772
3818
|
formItemFlag: !1,
|
|
3773
3819
|
options: {
|
|
3774
3820
|
name: "",
|
|
@@ -3791,6 +3837,7 @@ export const advancedFields = [
|
|
|
3791
3837
|
type: "download-button",
|
|
3792
3838
|
icon: "el-icon-download",
|
|
3793
3839
|
commonFlag: !0,
|
|
3840
|
+
layoutType: "PC",
|
|
3794
3841
|
columnFlag: true,
|
|
3795
3842
|
formItemFlag: !1,
|
|
3796
3843
|
options: {
|
|
@@ -3829,6 +3876,7 @@ export const advancedFields = [
|
|
|
3829
3876
|
type: "vue-page",
|
|
3830
3877
|
icon: "vue-sfc",
|
|
3831
3878
|
commonFlag: !0,
|
|
3879
|
+
layoutType: "PC",
|
|
3832
3880
|
formItemFlag: !1,
|
|
3833
3881
|
columnFlag: false,
|
|
3834
3882
|
options: {
|
|
@@ -4077,6 +4125,8 @@ export const businessFields = [
|
|
|
4077
4125
|
commonFlag: !0,
|
|
4078
4126
|
columnFlag: true,
|
|
4079
4127
|
formItemFlag: !0,
|
|
4128
|
+
/* H5 业务组件只保留创建人/更新人/创建时间/更新时间 */
|
|
4129
|
+
layoutType: "PC",
|
|
4080
4130
|
tableField: null,
|
|
4081
4131
|
options: {
|
|
4082
4132
|
...vabsearchConfig,
|
|
@@ -4100,6 +4150,7 @@ export const businessFields = [
|
|
|
4100
4150
|
commonFlag: !0,
|
|
4101
4151
|
columnFlag: true,
|
|
4102
4152
|
formItemFlag: !0,
|
|
4153
|
+
layoutType: "PC",
|
|
4103
4154
|
tableField: null,
|
|
4104
4155
|
options: {
|
|
4105
4156
|
...vabsearchConfig,
|
|
@@ -4124,6 +4175,7 @@ export const businessFields = [
|
|
|
4124
4175
|
commonFlag: !0,
|
|
4125
4176
|
columnFlag: true,
|
|
4126
4177
|
formItemFlag: !0,
|
|
4178
|
+
layoutType: "PC",
|
|
4127
4179
|
tableField: null,
|
|
4128
4180
|
options: {
|
|
4129
4181
|
...projectTagConfig,
|
|
@@ -4145,6 +4197,7 @@ export const businessFields = [
|
|
|
4145
4197
|
commonFlag: !0,
|
|
4146
4198
|
columnFlag: true,
|
|
4147
4199
|
formItemFlag: !0,
|
|
4200
|
+
layoutType: "PC",
|
|
4148
4201
|
tableField: null,
|
|
4149
4202
|
options: {
|
|
4150
4203
|
...projectTagConfig,
|
|
@@ -4207,6 +4260,7 @@ export const businessFields = [
|
|
|
4207
4260
|
commonFlag: !0,
|
|
4208
4261
|
columnFlag: true,
|
|
4209
4262
|
formItemFlag: !1,
|
|
4263
|
+
layoutType: "PC",
|
|
4210
4264
|
options: {
|
|
4211
4265
|
name: "",
|
|
4212
4266
|
label: "复制",
|
|
@@ -4237,6 +4291,7 @@ export const businessFields = [
|
|
|
4237
4291
|
commonFlag: !0,
|
|
4238
4292
|
columnFlag: true,
|
|
4239
4293
|
formItemFlag: !1,
|
|
4294
|
+
layoutType: "PC",
|
|
4240
4295
|
options: {
|
|
4241
4296
|
name: "",
|
|
4242
4297
|
// label: "暂存",
|
|
@@ -4259,6 +4314,7 @@ export const businessFields = [
|
|
|
4259
4314
|
type: "oplog",
|
|
4260
4315
|
icon: "list",
|
|
4261
4316
|
commonFlag: !0,
|
|
4317
|
+
layoutType: "PC",
|
|
4262
4318
|
formItemFlag: !1,
|
|
4263
4319
|
options: {
|
|
4264
4320
|
name: "",
|
|
@@ -4281,6 +4337,7 @@ export const businessFields = [
|
|
|
4281
4337
|
icon: "file-upload-field",
|
|
4282
4338
|
commonFlag: !0,
|
|
4283
4339
|
formItemFlag: !0,
|
|
4340
|
+
layoutType: "PC",
|
|
4284
4341
|
tableField: null,
|
|
4285
4342
|
options: {
|
|
4286
4343
|
name: "",
|
|
@@ -4544,6 +4601,7 @@ export const widgetPanelOrder = {
|
|
|
4544
4601
|
"detail-tabs",
|
|
4545
4602
|
"detail-plain",
|
|
4546
4603
|
"detail-pane",
|
|
4604
|
+
"detail-temp",
|
|
4547
4605
|
"tree-pane",
|
|
4548
4606
|
"tree",
|
|
4549
4607
|
"vf-dialog",
|
|
@@ -4625,18 +4683,68 @@ export const widgetPanelOrder = {
|
|
|
4625
4683
|
],
|
|
4626
4684
|
};
|
|
4627
4685
|
|
|
4686
|
+
/**
|
|
4687
|
+
* H5 版式左侧组件面板白名单(仅影响面板展示,不影响已有模板渲染与按 type 查找)。
|
|
4688
|
+
* 容器:H5详情 / H5列表 / H5卡片 / h5表格
|
|
4689
|
+
* 基础字段:文本、状态、凭证、下拉选项
|
|
4690
|
+
* (status / vabUpload 定义在 advancedFields,面板会归入基础字段)
|
|
4691
|
+
* 业务组件:创建人、更新人、创建时间、更新时间
|
|
4692
|
+
*/
|
|
4693
|
+
export const h5PanelAllowTypes = [
|
|
4694
|
+
"detail-h5",
|
|
4695
|
+
"list-h5",
|
|
4696
|
+
"h5-card",
|
|
4697
|
+
"h5-table",
|
|
4698
|
+
"text",
|
|
4699
|
+
"status",
|
|
4700
|
+
"vabUpload",
|
|
4701
|
+
"select",
|
|
4702
|
+
"create_by-text",
|
|
4703
|
+
"modify_by-text",
|
|
4704
|
+
"create_date-text",
|
|
4705
|
+
"modify_date-text",
|
|
4706
|
+
];
|
|
4707
|
+
|
|
4708
|
+
/**
|
|
4709
|
+
* H5 版式:所有表单字段统一具备 h5Span(整宽/半宽)。
|
|
4710
|
+
*
|
|
4711
|
+
* 为什么用后处理而不是在 42 个字段定义里逐个展开 ...defaultH5Config:
|
|
4712
|
+
* 1) 一处逻辑覆盖全部字段,不会漏;
|
|
4713
|
+
* 2) 顺带覆盖 extension 通过 add*Schema 动态注册的组件;
|
|
4714
|
+
* 3) 用函数调用而非展开运算符,不踩本文件头部注释里那个 Babel TDZ 的坑。
|
|
4715
|
+
*
|
|
4716
|
+
* 属性面板显不显示「H5 占宽」由 designer.hasConfig 决定,它查的是**原型 widget
|
|
4717
|
+
* 的 options**(不是实例),所以必须在这里写进原型。
|
|
4718
|
+
* 详见 docs/2026-08 xform H5 P0 实现规格.md §3.1。
|
|
4719
|
+
*/
|
|
4720
|
+
export const defaultH5Config = {
|
|
4721
|
+
h5Span: "full", // 'full' | 'half'
|
|
4722
|
+
};
|
|
4723
|
+
|
|
4724
|
+
function applyH5FieldDefaults(schema) {
|
|
4725
|
+
if (!schema || !schema.formItemFlag || !schema.options) return schema;
|
|
4726
|
+
if (!Object.prototype.hasOwnProperty.call(schema.options, "h5Span")) {
|
|
4727
|
+
Object.assign(schema.options, defaultH5Config);
|
|
4728
|
+
}
|
|
4729
|
+
return schema;
|
|
4730
|
+
}
|
|
4731
|
+
|
|
4732
|
+
[basicFields, advancedFields, businessFields, customFields].forEach((list) =>
|
|
4733
|
+
list.forEach(applyH5FieldDefaults)
|
|
4734
|
+
);
|
|
4735
|
+
|
|
4628
4736
|
export function addContainerWidgetSchema(containerSchema) {
|
|
4629
4737
|
containers.push(containerSchema);
|
|
4630
4738
|
}
|
|
4631
4739
|
|
|
4632
4740
|
export function addBasicFieldSchema(fieldSchema) {
|
|
4633
|
-
basicFields.push(fieldSchema);
|
|
4741
|
+
basicFields.push(applyH5FieldDefaults(fieldSchema));
|
|
4634
4742
|
}
|
|
4635
4743
|
|
|
4636
4744
|
export function addAdvancedFieldSchema(fieldSchema) {
|
|
4637
|
-
advancedFields.push(fieldSchema);
|
|
4745
|
+
advancedFields.push(applyH5FieldDefaults(fieldSchema));
|
|
4638
4746
|
}
|
|
4639
4747
|
|
|
4640
4748
|
export function addCustomWidgetSchema(widgetSchema) {
|
|
4641
|
-
customFields.push(widgetSchema);
|
|
4749
|
+
customFields.push(applyH5FieldDefaults(widgetSchema));
|
|
4642
4750
|
}
|