cloud-web-corejs 1.1.0-dev.56 → 1.1.0-dev.59
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 +1 -1
- package/src/boot-assets.legacy.js +6 -0
- package/src/components/hiprint/view/json-view.vue +4 -4
- package/src/components/mobile/wf/content.vue +1734 -1734
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +228 -93
- package/src/components/xform/form-designer/setting-panel/property-editor/container-tab/tab-lazyRender-editor.vue +27 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabChange-editor.vue +28 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onTabClick-editor.vue +28 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +2 -4
- package/src/components/xform/form-designer/setting-panel/propertyRegister.js +8 -3
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +9 -0
- package/src/components/xform/form-render/container-item/containerItemMixin.js +93 -8
- package/src/components/xform/form-render/container-item/panel-item.vue +1 -1
- package/src/components/xform/form-render/container-item/tab-item.vue +41 -2
- package/src/components/xform/icon-picker/index.vue +1 -1
- package/src/components/xform/lang/en-US.js +3 -0
- package/src/components/xform/lang/zh-CN.js +3 -0
- package/src/router/modules/customer.js +14 -14
- package/src/styles/legacy-base.scss +19 -0
|
@@ -9,27 +9,17 @@
|
|
|
9
9
|
@submit.native.prevent
|
|
10
10
|
>
|
|
11
11
|
<el-collapse v-model="formActiveCollapseNames" class="setting-collapse">
|
|
12
|
-
<el-collapse-item
|
|
13
|
-
name="1"
|
|
14
|
-
:title="i18nt('designer.setting.basicSetting')"
|
|
15
|
-
>
|
|
16
|
-
<el-form-item
|
|
17
|
-
v-if="formConfig.layoutType === 'PC'"
|
|
18
|
-
class="form-item-label-top"
|
|
19
|
-
label="业务弹框作用域"
|
|
20
|
-
>
|
|
21
|
-
<el-radio-group v-model="dialogScopeValue">
|
|
22
|
-
<el-radio label="global">全局</el-radio>
|
|
23
|
-
<el-radio label="page">当前页面</el-radio>
|
|
24
|
-
</el-radio-group>
|
|
25
|
-
<div style="line-height: 1.6; color: #909399; font-size: 12px">
|
|
26
|
-
列表和详情模板需分别设置。当前页面模式只遮挡表单内容,顶部页签和左侧菜单仍可操作。
|
|
27
|
-
</div>
|
|
28
|
-
</el-form-item>
|
|
29
|
-
<el-form-item class="form-item-label-top" :label="i18nt('数据库表')">
|
|
12
|
+
<el-collapse-item
|
|
13
|
+
name="1"
|
|
14
|
+
:title="i18nt('designer.setting.basicSetting')"
|
|
15
|
+
>
|
|
16
|
+
<el-form-item class="form-item-label-top" :label="i18nt('数据库表')">
|
|
30
17
|
<el-input type="text" v-model="formConfig.entity"></el-input>
|
|
31
18
|
</el-form-item>
|
|
32
|
-
<el-form-item
|
|
19
|
+
<el-form-item
|
|
20
|
+
class="form-item-label-top"
|
|
21
|
+
:label="i18nt('数据保存脚本编码')"
|
|
22
|
+
>
|
|
33
23
|
<el-input
|
|
34
24
|
type="text"
|
|
35
25
|
v-model="formConfig.saveScriptCode"
|
|
@@ -67,12 +57,28 @@
|
|
|
67
57
|
{{ i18nt("designer.setting.addCss") }}
|
|
68
58
|
</el-button>
|
|
69
59
|
</el-form-item>
|
|
60
|
+
<el-form-item
|
|
61
|
+
v-if="formConfig.layoutType === 'PC'"
|
|
62
|
+
class="form-item-label-top"
|
|
63
|
+
label="业务弹框作用域"
|
|
64
|
+
>
|
|
65
|
+
<el-radio-group v-model="dialogScopeValue">
|
|
66
|
+
<el-radio label="global">全局</el-radio>
|
|
67
|
+
<el-radio label="page">当前页面</el-radio>
|
|
68
|
+
</el-radio-group>
|
|
69
|
+
<div style="line-height: 1.6; color: #909399; font-size: 12px">
|
|
70
|
+
列表和详情模板需分别设置。当前页面模式只遮挡表单内容,顶部页签和左侧菜单仍可操作。
|
|
71
|
+
</div>
|
|
72
|
+
</el-form-item>
|
|
70
73
|
</el-collapse-item>
|
|
71
74
|
<el-collapse-item name="2" title="详情表单信息">
|
|
72
75
|
<el-form-item :label="i18nt('加载详情数据')">
|
|
73
76
|
<el-switch v-model="formConfig.isLoadEntity"></el-switch>
|
|
74
77
|
</el-form-item>
|
|
75
|
-
<el-form-item
|
|
78
|
+
<el-form-item
|
|
79
|
+
class="form-item-label-top"
|
|
80
|
+
:label="i18nt('详情数据脚本编码')"
|
|
81
|
+
>
|
|
76
82
|
<el-input
|
|
77
83
|
type="text"
|
|
78
84
|
v-model="formConfig.formScriptCode"
|
|
@@ -99,7 +105,10 @@
|
|
|
99
105
|
<i class="el-icon-edit"></i>
|
|
100
106
|
</a>
|
|
101
107
|
</el-form-item>
|
|
102
|
-
<el-form-item
|
|
108
|
+
<el-form-item
|
|
109
|
+
class="form-item-label-top"
|
|
110
|
+
:label="i18nt('查看页面表单编码')"
|
|
111
|
+
>
|
|
103
112
|
<el-input
|
|
104
113
|
class="search-input"
|
|
105
114
|
max="200"
|
|
@@ -121,7 +130,10 @@
|
|
|
121
130
|
<el-form-item :label="i18nt('查看页面表单名称')">
|
|
122
131
|
{{ formConfig.editFormName }}
|
|
123
132
|
</el-form-item>
|
|
124
|
-
<el-form-item
|
|
133
|
+
<el-form-item
|
|
134
|
+
class="form-item-label-top"
|
|
135
|
+
:label="i18nt('新增页面表单编码')"
|
|
136
|
+
>
|
|
125
137
|
<el-input
|
|
126
138
|
class="search-input"
|
|
127
139
|
max="200"
|
|
@@ -215,24 +227,27 @@
|
|
|
215
227
|
@change="changeWfEnabled"
|
|
216
228
|
></el-switch>
|
|
217
229
|
</el-form-item>
|
|
218
|
-
<el-form-item
|
|
230
|
+
<el-form-item
|
|
231
|
+
class="form-item-label-top"
|
|
232
|
+
:label="i18nt('默认流程单据类型名称')"
|
|
233
|
+
>
|
|
219
234
|
<el-input
|
|
220
235
|
type="text"
|
|
221
236
|
v-model="designer.vueInstance.reportTemplate.objTypeName"
|
|
222
237
|
></el-input>
|
|
223
|
-
</el-form-item>
|
|
224
|
-
<el-form-item v-if="formConfig.wfEnabled" label="隐藏流程信息的角色">
|
|
225
|
-
<el-input
|
|
226
|
-
:value="formConfig.wfInfoHiddenRoleCodes"
|
|
227
|
-
@input="$set(formConfig, 'wfInfoHiddenRoleCodes', $event)"
|
|
228
|
-
placeholder="角色编码,多个用英文逗号分隔"
|
|
229
|
-
clearable
|
|
230
|
-
/>
|
|
231
|
-
<div style="line-height: 1.6; color: #909399; font-size: 12px">
|
|
232
|
-
当前公司角色命中任意编码时,隐藏流程信息及审批入口,保留启动流程按钮;脚本可调用
|
|
233
|
-
this.setWfInfoHidden(true/false)。
|
|
234
|
-
</div>
|
|
235
|
-
</el-form-item>
|
|
238
|
+
</el-form-item>
|
|
239
|
+
<el-form-item v-if="formConfig.wfEnabled" label="隐藏流程信息的角色">
|
|
240
|
+
<el-input
|
|
241
|
+
:value="formConfig.wfInfoHiddenRoleCodes"
|
|
242
|
+
@input="$set(formConfig, 'wfInfoHiddenRoleCodes', $event)"
|
|
243
|
+
placeholder="角色编码,多个用英文逗号分隔"
|
|
244
|
+
clearable
|
|
245
|
+
/>
|
|
246
|
+
<div style="line-height: 1.6; color: #909399; font-size: 12px">
|
|
247
|
+
当前公司角色命中任意编码时,隐藏流程信息及审批入口,保留启动流程按钮;脚本可调用
|
|
248
|
+
this.setWfInfoHidden(true/false)。
|
|
249
|
+
</div>
|
|
250
|
+
</el-form-item>
|
|
236
251
|
<el-form-item>
|
|
237
252
|
<span slot="label"
|
|
238
253
|
>流程主题
|
|
@@ -365,7 +380,10 @@
|
|
|
365
380
|
</el-form-item>
|
|
366
381
|
|
|
367
382
|
<div class="wf-group-title">高级</div>
|
|
368
|
-
<el-form-item
|
|
383
|
+
<el-form-item
|
|
384
|
+
class="form-item-label-top"
|
|
385
|
+
:label="i18nt('引用流程的表单编码')"
|
|
386
|
+
>
|
|
369
387
|
<el-input
|
|
370
388
|
type="text"
|
|
371
389
|
v-model="designer.vueInstance.reportTemplate.fromWfFormCode"
|
|
@@ -385,16 +403,24 @@
|
|
|
385
403
|
<el-collapse-item name="4" title="列表标签页信息(仅列表表单生效)">
|
|
386
404
|
<el-form-item label-width="0">
|
|
387
405
|
<el-tooltip placement="left" popper-class="xform-setting-help">
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
406
|
+
<span slot="content">
|
|
407
|
+
本组配置只从「查询列表页」所用的表单读取,在详情/编辑表单里设置不会生效
|
|
408
|
+
</span>
|
|
409
|
+
<span
|
|
410
|
+
>适用范围<i
|
|
411
|
+
class="el-icon-info setting-help-icon"
|
|
412
|
+
tabindex="0"
|
|
413
|
+
></i
|
|
414
|
+
></span>
|
|
392
415
|
</el-tooltip>
|
|
393
416
|
</el-form-item>
|
|
394
417
|
<el-form-item :label="i18nt('列表启用详情多标签')">
|
|
395
418
|
<el-switch v-model="formConfig.multiTabEnabled"></el-switch>
|
|
396
419
|
</el-form-item>
|
|
397
|
-
<el-form-item
|
|
420
|
+
<el-form-item
|
|
421
|
+
class="form-item-label-top"
|
|
422
|
+
:label="i18nt('标签名称字段')"
|
|
423
|
+
>
|
|
398
424
|
<el-input
|
|
399
425
|
type="text"
|
|
400
426
|
v-model="formConfig.multiTabLabelField"
|
|
@@ -407,15 +433,32 @@
|
|
|
407
433
|
>
|
|
408
434
|
<el-switch v-model="formConfig.addTabEnabled"></el-switch>
|
|
409
435
|
<span style="margin-left: 8px; color: #999; font-size: 12px">
|
|
410
|
-
<el-tooltip
|
|
411
|
-
|
|
436
|
+
<el-tooltip
|
|
437
|
+
content="开启后新增打开独立可关闭页签,需配置标签名称字段。"
|
|
438
|
+
placement="left"
|
|
439
|
+
popper-class="xform-setting-help"
|
|
440
|
+
>
|
|
441
|
+
<i
|
|
442
|
+
class="el-icon-info setting-help-icon"
|
|
443
|
+
tabindex="0"
|
|
444
|
+
aria-label="新增页签说明"
|
|
445
|
+
></i>
|
|
412
446
|
</el-tooltip>
|
|
413
447
|
</span>
|
|
414
448
|
</el-form-item>
|
|
415
449
|
<el-form-item class="stacked-setting submit-behavior-setting">
|
|
416
|
-
<span slot="label"
|
|
417
|
-
|
|
418
|
-
|
|
450
|
+
<span slot="label"
|
|
451
|
+
>{{ i18nt("流程启动后行为") }}
|
|
452
|
+
<el-tooltip
|
|
453
|
+
content="详情页保存并提交、直接启动流程成功后的行为,不填默认刷新当前页签。"
|
|
454
|
+
placement="left"
|
|
455
|
+
popper-class="xform-setting-help"
|
|
456
|
+
>
|
|
457
|
+
<i
|
|
458
|
+
class="el-icon-info setting-help-icon"
|
|
459
|
+
tabindex="0"
|
|
460
|
+
aria-label="流程启动后行为说明"
|
|
461
|
+
></i>
|
|
419
462
|
</el-tooltip>
|
|
420
463
|
</span>
|
|
421
464
|
<el-radio-group v-model="formConfig.submitBehavior">
|
|
@@ -425,7 +468,10 @@
|
|
|
425
468
|
</el-form-item>
|
|
426
469
|
</el-collapse-item>
|
|
427
470
|
<el-collapse-item name="5" title="其他标签页信息">
|
|
428
|
-
<el-form-item
|
|
471
|
+
<el-form-item
|
|
472
|
+
class="form-item-label-top"
|
|
473
|
+
:label="i18nt('自定义列表标签名称')"
|
|
474
|
+
>
|
|
429
475
|
<el-input
|
|
430
476
|
type="text"
|
|
431
477
|
v-model="formConfig.customListTabLabel"
|
|
@@ -438,7 +484,10 @@
|
|
|
438
484
|
<el-form-item :label="i18nt('隐藏常规标签')">
|
|
439
485
|
<el-switch v-model="formConfig.hideNormalTab"></el-switch>
|
|
440
486
|
</el-form-item>
|
|
441
|
-
<el-form-item
|
|
487
|
+
<el-form-item
|
|
488
|
+
:label="i18nt('其他标签页配置')"
|
|
489
|
+
class="stacked-setting other-tabs-setting"
|
|
490
|
+
>
|
|
442
491
|
<div>
|
|
443
492
|
<draggable
|
|
444
493
|
tag="ul"
|
|
@@ -491,7 +540,10 @@
|
|
|
491
540
|
>
|
|
492
541
|
</el-input>
|
|
493
542
|
</el-form-item>
|
|
494
|
-
<el-form-item
|
|
543
|
+
<el-form-item
|
|
544
|
+
class="form-item-label-top"
|
|
545
|
+
:label="i18nt('数据唯一标识')"
|
|
546
|
+
>
|
|
495
547
|
<el-input
|
|
496
548
|
class="search-input"
|
|
497
549
|
max="200"
|
|
@@ -1286,16 +1338,16 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1286
1338
|
this.designer.emitEvent("form-css-updated", deepClone(this.cssClassList));
|
|
1287
1339
|
});
|
|
1288
1340
|
},
|
|
1289
|
-
computed: {
|
|
1290
|
-
dialogScopeValue: {
|
|
1291
|
-
get() {
|
|
1292
|
-
return this.formConfig.dialogScope === "page" ? "page" : "global";
|
|
1293
|
-
},
|
|
1294
|
-
set(value) {
|
|
1295
|
-
this.$set(this.formConfig, "dialogScope", value);
|
|
1296
|
-
},
|
|
1297
|
-
},
|
|
1298
|
-
// formDialog/formDrawer 底部操作按钮配置(存 formConfig,随模板保存)
|
|
1341
|
+
computed: {
|
|
1342
|
+
dialogScopeValue: {
|
|
1343
|
+
get() {
|
|
1344
|
+
return this.formConfig.dialogScope === "page" ? "page" : "global";
|
|
1345
|
+
},
|
|
1346
|
+
set(value) {
|
|
1347
|
+
this.$set(this.formConfig, "dialogScope", value);
|
|
1348
|
+
},
|
|
1349
|
+
},
|
|
1350
|
+
// formDialog/formDrawer 底部操作按钮配置(存 formConfig,随模板保存)
|
|
1299
1351
|
actionButtons() {
|
|
1300
1352
|
return this.formConfig.actionButtons || [];
|
|
1301
1353
|
},
|
|
@@ -1754,7 +1806,7 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1754
1806
|
|
|
1755
1807
|
<style lang="scss" scoped>
|
|
1756
1808
|
.setting-form {
|
|
1757
|
-
::v-deep .el-form-item{
|
|
1809
|
+
::v-deep .el-form-item {
|
|
1758
1810
|
.el-form-item__label {
|
|
1759
1811
|
font-size: 13px;
|
|
1760
1812
|
//text-overflow: ellipsis;
|
|
@@ -1764,11 +1816,20 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1764
1816
|
&.el-form-item--mini.el-form-item {
|
|
1765
1817
|
margin-bottom: 6px;
|
|
1766
1818
|
}
|
|
1767
|
-
&.el-form-item-second{
|
|
1768
|
-
.el-form-item__label{
|
|
1769
|
-
padding-left:4px;
|
|
1770
|
-
&:before{
|
|
1771
|
-
|
|
1819
|
+
&.el-form-item-second {
|
|
1820
|
+
.el-form-item__label {
|
|
1821
|
+
padding-left: 4px;
|
|
1822
|
+
&:before {
|
|
1823
|
+
content: "";
|
|
1824
|
+
width: 5px;
|
|
1825
|
+
height: 2px;
|
|
1826
|
+
background: #ff4d4f;
|
|
1827
|
+
display: inline-block;
|
|
1828
|
+
margin-right: 4px;
|
|
1829
|
+
}
|
|
1830
|
+
span {
|
|
1831
|
+
flex: 1;
|
|
1832
|
+
}
|
|
1772
1833
|
}
|
|
1773
1834
|
}
|
|
1774
1835
|
}
|
|
@@ -1800,24 +1861,33 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1800
1861
|
margin: 16px 0 8px;
|
|
1801
1862
|
padding-left: 8px;
|
|
1802
1863
|
//border-left: 3px solid #0073E5;
|
|
1803
|
-
color: rgba(0,0,0
|
|
1864
|
+
color: rgba(0, 0, 0, 0.65);
|
|
1804
1865
|
font-size: 13px;
|
|
1805
1866
|
font-weight: 600;
|
|
1806
1867
|
line-height: 1.3;
|
|
1807
|
-
background: rgba(0,0,0,0.04);
|
|
1868
|
+
background: rgba(0, 0, 0, 0.04);
|
|
1808
1869
|
padding: 4px 0 4px 8px;
|
|
1809
1870
|
&:first-child {
|
|
1810
1871
|
margin-top: 0;
|
|
1811
1872
|
}
|
|
1812
|
-
~ .el-form-item{
|
|
1813
|
-
.el-form-item__label{
|
|
1814
|
-
padding-left:4px;
|
|
1815
|
-
&:before{
|
|
1816
|
-
|
|
1873
|
+
~ .el-form-item {
|
|
1874
|
+
.el-form-item__label {
|
|
1875
|
+
padding-left: 4px;
|
|
1876
|
+
&:before {
|
|
1877
|
+
content: "";
|
|
1878
|
+
width: 5px;
|
|
1879
|
+
height: 2px;
|
|
1880
|
+
background: #0073e5;
|
|
1881
|
+
display: inline-block;
|
|
1882
|
+
margin-right: 4px;
|
|
1883
|
+
}
|
|
1884
|
+
span {
|
|
1885
|
+
flex: 1;
|
|
1886
|
+
}
|
|
1817
1887
|
}
|
|
1818
|
-
&.form-item-label-red{
|
|
1819
|
-
.el-form-item__label:before{
|
|
1820
|
-
background
|
|
1888
|
+
&.form-item-label-red {
|
|
1889
|
+
.el-form-item__label:before {
|
|
1890
|
+
background: #ff4d4f;
|
|
1821
1891
|
}
|
|
1822
1892
|
}
|
|
1823
1893
|
}
|
|
@@ -1851,12 +1921,32 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1851
1921
|
}
|
|
1852
1922
|
.el-form-item__content > .el-input,
|
|
1853
1923
|
.el-form-item__content > .el-select,
|
|
1854
|
-
.el-form-item__content > .el-textarea {
|
|
1855
|
-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
.el-
|
|
1859
|
-
|
|
1924
|
+
.el-form-item__content > .el-textarea {
|
|
1925
|
+
width: 100% !important;
|
|
1926
|
+
min-width: 0;
|
|
1927
|
+
}
|
|
1928
|
+
.el-form-item__content > .el-select {
|
|
1929
|
+
width: calc(100% - 28px) !important;
|
|
1930
|
+
}
|
|
1931
|
+
.el-form-item__content > a {
|
|
1932
|
+
max-width: 100%;
|
|
1933
|
+
overflow: hidden;
|
|
1934
|
+
text-overflow: ellipsis;
|
|
1935
|
+
}
|
|
1936
|
+
.el-radio {
|
|
1937
|
+
margin: 0 12px 4px 0;
|
|
1938
|
+
white-space: normal;
|
|
1939
|
+
line-height: 22px;
|
|
1940
|
+
}
|
|
1941
|
+
.el-collapse-item__header {
|
|
1942
|
+
height: auto;
|
|
1943
|
+
min-height: 42px;
|
|
1944
|
+
line-height: 22px;
|
|
1945
|
+
padding: 8px 0;
|
|
1946
|
+
}
|
|
1947
|
+
.el-collapse-item__arrow {
|
|
1948
|
+
flex-shrink: 0;
|
|
1949
|
+
}
|
|
1860
1950
|
.el-form-item.stacked-setting {
|
|
1861
1951
|
display: block !important;
|
|
1862
1952
|
> .el-form-item__label {
|
|
@@ -1865,11 +1955,26 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1865
1955
|
width: 100% !important;
|
|
1866
1956
|
padding: 0 0 8px;
|
|
1867
1957
|
}
|
|
1868
|
-
> .el-form-item__content {
|
|
1958
|
+
> .el-form-item__content {
|
|
1959
|
+
margin-left: 0 !important;
|
|
1960
|
+
width: 100%;
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
.submit-behavior-setting .el-radio-group {
|
|
1964
|
+
display: flex;
|
|
1965
|
+
flex-direction: column;
|
|
1966
|
+
gap: 8px;
|
|
1967
|
+
}
|
|
1968
|
+
.submit-behavior-setting .el-radio {
|
|
1969
|
+
display: flex;
|
|
1970
|
+
align-items: baseline;
|
|
1971
|
+
margin: 0;
|
|
1972
|
+
}
|
|
1973
|
+
.other-tabs-list {
|
|
1974
|
+
padding: 0;
|
|
1975
|
+
margin: 0;
|
|
1976
|
+
width: 100%;
|
|
1869
1977
|
}
|
|
1870
|
-
.submit-behavior-setting .el-radio-group { display: flex; flex-direction: column; gap: 8px; }
|
|
1871
|
-
.submit-behavior-setting .el-radio { display: flex; align-items: baseline; margin: 0; }
|
|
1872
|
-
.other-tabs-list { padding: 0; margin: 0; width: 100%; }
|
|
1873
1978
|
.other-tabs-list > li {
|
|
1874
1979
|
display: grid;
|
|
1875
1980
|
grid-template-columns: 18px minmax(0, 1fr) 28px;
|
|
@@ -1881,12 +1986,42 @@ $\{wf.starterName\}提交的$\{pm_product_project.product_code\}$\{pm_product_pr
|
|
|
1881
1986
|
background: #f5f7fa;
|
|
1882
1987
|
border-radius: 4px;
|
|
1883
1988
|
}
|
|
1884
|
-
.other-tabs-list > li > .el-input {
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1989
|
+
.other-tabs-list > li > .el-input {
|
|
1990
|
+
grid-column: 2;
|
|
1991
|
+
width: 100% !important;
|
|
1992
|
+
min-width: 0;
|
|
1993
|
+
margin: 0;
|
|
1994
|
+
}
|
|
1995
|
+
.other-tabs-list .drag-option {
|
|
1996
|
+
grid-column: 1;
|
|
1997
|
+
grid-row: 1 / 3;
|
|
1998
|
+
cursor: move;
|
|
1999
|
+
color: #909399;
|
|
2000
|
+
}
|
|
2001
|
+
.other-tabs-list .col-delete-button {
|
|
2002
|
+
grid-column: 3;
|
|
2003
|
+
grid-row: 1 / 3;
|
|
2004
|
+
margin: 0;
|
|
2005
|
+
padding: 6px;
|
|
2006
|
+
}
|
|
2007
|
+
.tree-options-error {
|
|
2008
|
+
overflow-wrap: anywhere;
|
|
2009
|
+
margin-bottom: 8px;
|
|
2010
|
+
}
|
|
2011
|
+
}
|
|
2012
|
+
.setting-help-icon {
|
|
2013
|
+
margin-left: 8px;
|
|
2014
|
+
color: #909399;
|
|
2015
|
+
cursor: help;
|
|
2016
|
+
font-size: 14px;
|
|
2017
|
+
}
|
|
2018
|
+
.setting-help-icon:hover,
|
|
2019
|
+
.setting-help-icon:focus {
|
|
2020
|
+
color: #409eff;
|
|
2021
|
+
}
|
|
2022
|
+
.el-tooltip__popper.xform-setting-help {
|
|
2023
|
+
max-width: 300px;
|
|
2024
|
+
line-height: 1.7;
|
|
2025
|
+
overflow-wrap: anywhere;
|
|
1888
2026
|
}
|
|
1889
|
-
.setting-help-icon { margin-left: 8px; color: #909399; cursor: help; font-size: 14px; }
|
|
1890
|
-
.setting-help-icon:hover, .setting-help-icon:focus { color: #409eff; }
|
|
1891
|
-
.el-tooltip__popper.xform-setting-help { max-width: 300px; line-height: 1.7; overflow-wrap: anywhere; }
|
|
1892
2027
|
</style>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-form-item class="form-item-label-top" :label="i18nt('designer.setting.lazyRender')">
|
|
3
|
+
<el-switch v-model="optionModel.lazyRender"></el-switch>
|
|
4
|
+
<el-tooltip placement="bottom" effect="light" :content="i18nt('designer.setting.lazyRenderHint')">
|
|
5
|
+
<i class="el-icon-info" style="margin-left: 4px"></i>
|
|
6
|
+
</el-tooltip>
|
|
7
|
+
</el-form-item>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import i18n from "../../../../../../components/xform/utils/i18n";
|
|
12
|
+
|
|
13
|
+
export default {
|
|
14
|
+
name: "tab-lazyRender-editor",
|
|
15
|
+
componentName: 'PropertyEditor',
|
|
16
|
+
mixins: [i18n],
|
|
17
|
+
props: {
|
|
18
|
+
designer: Object,
|
|
19
|
+
selectedWidget: Object,
|
|
20
|
+
optionModel: Object,
|
|
21
|
+
},
|
|
22
|
+
}
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<style scoped>
|
|
26
|
+
|
|
27
|
+
</style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-form-item label="onTabChange" label-width="150px">
|
|
3
|
+
<a href="javascript:void(0);" class="a-link link-oneLind" @click="editEventHandler('onTabChange', eventParams)">
|
|
4
|
+
<span>{{ optionModel.onTabChange }}</span>
|
|
5
|
+
<i class="el-icon-edit"></i>
|
|
6
|
+
</a>
|
|
7
|
+
</el-form-item>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import i18n from "../../../../../../components/xform/utils/i18n";
|
|
12
|
+
import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
name: "onTabChange-editor",
|
|
16
|
+
mixins: [i18n, eventMixin],
|
|
17
|
+
props: {
|
|
18
|
+
designer: Object,
|
|
19
|
+
selectedWidget: Object,
|
|
20
|
+
optionModel: Object,
|
|
21
|
+
},
|
|
22
|
+
data() {
|
|
23
|
+
return { eventParams: ["name", "oldName"] };
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<style scoped></style>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-form-item label="onTabClick" label-width="150px">
|
|
3
|
+
<a href="javascript:void(0);" class="a-link link-oneLind" @click="editEventHandler('onTabClick', eventParams)">
|
|
4
|
+
<span>{{ optionModel.onTabClick }}</span>
|
|
5
|
+
<i class="el-icon-edit"></i>
|
|
6
|
+
</a>
|
|
7
|
+
</el-form-item>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script>
|
|
11
|
+
import i18n from "../../../../../../components/xform/utils/i18n";
|
|
12
|
+
import eventMixin from "../../../../../../components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin";
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
name: "onTabClick-editor",
|
|
16
|
+
mixins: [i18n, eventMixin],
|
|
17
|
+
props: {
|
|
18
|
+
designer: Object,
|
|
19
|
+
selectedWidget: Object,
|
|
20
|
+
optionModel: Object,
|
|
21
|
+
},
|
|
22
|
+
data() {
|
|
23
|
+
return { eventParams: ["name", "index", "label"] };
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<style scoped></style>
|
package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue
CHANGED
|
@@ -312,7 +312,7 @@ export default {
|
|
|
312
312
|
return this.selectedWidget.type !== "data-table";
|
|
313
313
|
},
|
|
314
314
|
openDialog() {
|
|
315
|
-
this.tableData = this.$baseLodash.cloneDeep(this.optionModel.tagFillConfig);
|
|
315
|
+
this.tableData = this.$baseLodash.cloneDeep(this.optionModel.tagFillConfig || []);
|
|
316
316
|
this.showDialog = true;
|
|
317
317
|
},
|
|
318
318
|
confirmDialog() {
|
|
@@ -320,9 +320,7 @@ export default {
|
|
|
320
320
|
this.showDialog = false;
|
|
321
321
|
},
|
|
322
322
|
|
|
323
|
-
|
|
324
|
-
let reportTemplate = this.getReportTemplate();
|
|
325
|
-
let objTypeCode = reportTemplate.objTypeCode;
|
|
323
|
+
openWorkflowDialog() {
|
|
326
324
|
let wfConfigData = this.optionModel.wfConfigData || [];
|
|
327
325
|
this.dialogVisible = true;
|
|
328
326
|
this.tableData = this.$baseLodash.cloneDeep(wfConfigData);
|
|
@@ -87,6 +87,7 @@ const COMMON_PROPERTIES = {
|
|
|
87
87
|
descriptionsItems: "descriptionsItems-editor",
|
|
88
88
|
isFullscreen: "isFullscreen-editor",
|
|
89
89
|
tabClass: "tabClass-editor",
|
|
90
|
+
lazyRender: "tab-lazyRender-editor",
|
|
90
91
|
censusClass: "censusClass-editor",
|
|
91
92
|
// 'scriptUuid': 'script-editor',
|
|
92
93
|
entityTableCode: "entityTableCode-editor",
|
|
@@ -290,6 +291,10 @@ const EVENT_PROPERTIES = {
|
|
|
290
291
|
onLoadNode: "onLoadNode-editor",
|
|
291
292
|
//tree-pane事件
|
|
292
293
|
onTreeLabelClick: "onTreeLabelClick-editor",
|
|
294
|
+
|
|
295
|
+
//tab事件
|
|
296
|
+
onTabClick: "onTabClick-editor",
|
|
297
|
+
onTabChange: "onTabChange-editor",
|
|
293
298
|
};
|
|
294
299
|
|
|
295
300
|
/**
|
|
@@ -328,9 +333,9 @@ export function registerEventProperty(uniquePropName, propEditorName) {
|
|
|
328
333
|
*/
|
|
329
334
|
export function propertyRegistered(uniquePropName) {
|
|
330
335
|
return (
|
|
331
|
-
!!COMMON_PROPERTIES[uniquePropName]
|
|
332
|
-
!!ADVANCED_PROPERTIES[uniquePropName]
|
|
333
|
-
!!EVENT_PROPERTIES[uniquePropName]
|
|
336
|
+
!!COMMON_PROPERTIES[uniquePropName]
|
|
337
|
+
|| !!ADVANCED_PROPERTIES[uniquePropName]
|
|
338
|
+
|| !!EVENT_PROPERTIES[uniquePropName]
|
|
334
339
|
);
|
|
335
340
|
}
|
|
336
341
|
|
|
@@ -98,6 +98,15 @@ export const containers = [
|
|
|
98
98
|
height: "",
|
|
99
99
|
// isFullscreen: false,
|
|
100
100
|
tabClass: "tab-boxCard tabCard-sty1",
|
|
101
|
+
// 懒渲染:页签内容首次激活才挂载(element lazy)。默认关闭——开启前需确认表单
|
|
102
|
+
// 无跨页签 getWidgetRef 脚本、未访问页签字段无需参与提交校验(详情类模板适用)。
|
|
103
|
+
lazyRender: !1,
|
|
104
|
+
// 页签事件脚本:点击/切换页签时的联动入口(懒渲染后"切到页签再刷新数据"的挂钩)
|
|
105
|
+
onTabClick: "",
|
|
106
|
+
onTabChange: "",
|
|
107
|
+
// 容器生命周期脚本(与 detail 等容器同口径,由 containerItemMixin 的 handleOnCreated/Mounted 执行)
|
|
108
|
+
onCreated: "",
|
|
109
|
+
onMounted: "",
|
|
101
110
|
customClass: "",
|
|
102
111
|
...defaultWfConfig,
|
|
103
112
|
},
|