cloud-web-corejs 1.0.54-dev.146 → 1.0.54-dev.149
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/components/table/CellSlot.vue +1 -0
- package/src/components/table/vxeFilter/mixin.js +1 -1
- package/src/components/vb-tabs/x-tabs.vue +3 -2
- package/src/components/xform/form-designer/designer.js +1 -1514
- package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1230 -1
- package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +4 -2
- package/src/components/xform/form-designer/indexMixin.js +3 -1
- package/src/components/xform/form-designer/setting-panel/form-setting.vue +8 -0
- package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +76 -30
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +20 -8
- package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
- package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +7 -1
- package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -566
- package/src/components/xform/form-designer/widget-panel/indexMixin.js +276 -1
- package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +36 -1
- package/src/components/xform/form-render/container-item/containerItemMixin.js +330 -1
- package/src/components/xform/form-render/container-item/data-table-item.vue +42 -20
- package/src/components/xform/form-render/container-item/data-table-mixin.js +140 -191
- package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
- package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
- package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
- package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
- package/src/components/xform/form-render/container-item/table-item.vue +4 -2
- package/src/components/xform/form-render/indexMixin.js +13 -11
- package/src/components/xform/mixins/scriptHttp.js +106 -61
- package/src/views/user/form/vform/designer.vue +8 -3
- package/src/views/user/form/view/list.vue +27 -9
@@ -1,22 +1,27 @@
|
|
1
1
|
<template>
|
2
2
|
<container-item-wrapper :widget="widget" :class="widget.options.isFullscreen ? 'full-height':''">
|
3
3
|
<div :key="widget.id" class="tab-container" v-show="!widget.options.hidden">
|
4
|
-
<el-tabs v-model="activeTabName" :type="widget.displayType" :ref="widget.id"
|
5
|
-
|
4
|
+
<el-tabs v-model="activeTabName" :type="widget.displayType" :ref="widget.id"
|
5
|
+
:class="[customClass,widget.options.tabClass]"
|
6
|
+
:style="{'height': widget.options.isFullscreen ? '' : widget.options.height}">
|
7
|
+
<el-tab-pane v-for="(tab, index) in visibleTabs" :key="index" :label="getI18nLabel(tab.options.label)"
|
8
|
+
:disabled="tab.options.disabled" :name="tab.options.name">
|
6
9
|
<template v-for="(subWidget, swIdx) in tab.widgetList">
|
7
10
|
<template v-if="'container' === subWidget.category">
|
8
|
-
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
11
|
+
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
12
|
+
:index-of-parent-list="swIdx" :parent-widget="widget" :tableParam="tableParam" :formItemProp="formItemProp">
|
9
13
|
<!-- 递归传递插槽!!! -->
|
10
14
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
11
|
-
<slot :name="slot" v-bind="scope"
|
15
|
+
<slot :name="slot" v-bind="scope"/>
|
12
16
|
</template>
|
13
17
|
</component>
|
14
18
|
</template>
|
15
19
|
<template v-else>
|
16
|
-
<component :is="subWidget.type + '-widget'" :field="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
20
|
+
<component :is="subWidget.type + '-widget'" :field="subWidget" :key="swIdx" :parent-list="tab.widgetList"
|
21
|
+
:index-of-parent-list="swIdx" :parent-widget="widget" :tableParam="tableParam" :formItemProp="formItemProp">
|
17
22
|
<!-- 递归传递插槽!!! -->
|
18
23
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
19
|
-
<slot :name="slot" v-bind="scope"
|
24
|
+
<slot :name="slot" v-bind="scope"/>
|
20
25
|
</template>
|
21
26
|
</component>
|
22
27
|
</template>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<template v-for="(subWidget, swIdx) in widget.widgetList">
|
6
6
|
<template v-if="'container' === subWidget.category">
|
7
7
|
<component :is="subWidget.type + '-item'" :widget="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
8
|
-
|
8
|
+
:index-of-parent-list="swIdx" :parent-widget="widget" :tableParam="tableParam" :formItemProp="formItemProp">
|
9
9
|
<!-- 递归传递插槽!!! -->
|
10
10
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
11
11
|
<slot :name="slot" v-bind="scope"/>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
</template>
|
15
15
|
<template v-else>
|
16
16
|
<component :is="subWidget.type + '-widget'" :field="subWidget" :key="swIdx" :parent-list="widget.widgetList"
|
17
|
-
|
17
|
+
:index-of-parent-list="swIdx" :parent-widget="widget" :tableParam="tableParam" :formItemProp="formItemProp">
|
18
18
|
<!-- 递归传递插槽!!! -->
|
19
19
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
20
20
|
<slot :name="slot" v-bind="scope"/>
|
@@ -26,42 +26,48 @@
|
|
26
26
|
</template>
|
27
27
|
|
28
28
|
<script>
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
import emitter from '../../../../components/xform/utils/emitter'
|
30
|
+
import i18n from "../../../../components/xform/utils/i18n"
|
31
|
+
import refMixin from "../../../../components/xform/form-render/refMixin"
|
32
|
+
import FieldComponents from '../../../../components/xform/form-designer/form-widget/field-widget/index'
|
33
33
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
34
|
+
export default {
|
35
|
+
name: "TableCellItem",
|
36
|
+
componentName: "ContainerItem",
|
37
|
+
mixins: [emitter, i18n, refMixin],
|
38
|
+
components: {
|
39
|
+
...FieldComponents,
|
40
|
+
},
|
41
|
+
props: {
|
42
|
+
widget: Object,
|
43
43
|
|
44
|
-
|
45
|
-
|
44
|
+
rowIndex: Number,
|
45
|
+
colIndex: Number,
|
46
|
+
tableParam: {
|
47
|
+
type: Object,
|
48
|
+
default: null,
|
46
49
|
},
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
50
|
+
formItemProp: {
|
51
|
+
type: String,
|
52
|
+
default: null,
|
53
|
+
},
|
54
|
+
},
|
55
|
+
inject: ['refList', 'globalModel'],
|
56
|
+
computed: {
|
57
|
+
customClass() {
|
58
|
+
return this.widget.options.customClass || ''
|
56
59
|
},
|
57
|
-
|
58
|
-
|
59
|
-
//this.initRefList()
|
60
|
+
tdClass() {
|
61
|
+
return (this.colIndex + 1) % 2 == 0 ? "" : "odd"
|
60
62
|
},
|
61
|
-
methods: {
|
62
63
|
|
63
|
-
|
64
|
-
|
64
|
+
},
|
65
|
+
created() {
|
66
|
+
/* tableCell不生成组件引用,故无须调用initRefList!! */
|
67
|
+
//this.initRefList()
|
68
|
+
},
|
69
|
+
methods: {}
|
70
|
+
}
|
65
71
|
</script>
|
66
72
|
|
67
73
|
<style lang="scss" scoped>
|
@@ -3,12 +3,14 @@
|
|
3
3
|
|
4
4
|
<div :key="widget.id" class="table-container"
|
5
5
|
v-show="!widget.options.hidden">
|
6
|
-
<table :ref="widget.id" class="table-layout table-d-box" :class="[customClass,widget.options.styleTableClass]"
|
6
|
+
<table :ref="widget.id" class="table-layout table-d-box" :class="[customClass,widget.options.styleTableClass]"
|
7
|
+
:style="tableStyle">
|
7
8
|
<tbody>
|
8
9
|
<tr v-for="(row, rowIdx) in widget.rows" :key="row.id">
|
9
10
|
<template v-for="(colWidget, colIdx) in row.cols">
|
10
11
|
<table-cell-item v-if="!colWidget.merged" :widget="colWidget" :key="colIdx" :parent-list="widget.cols"
|
11
|
-
:row-index="rowIdx" :col-index="colIdx" :parent-widget="widget"
|
12
|
+
:row-index="rowIdx" :col-index="colIdx" :parent-widget="widget" :tableParam="tableParam"
|
13
|
+
:formItemProp="formItemProp">
|
12
14
|
<!-- 递归传递插槽!!! -->
|
13
15
|
<template v-for="slot in Object.keys($scopedSlots)" v-slot:[slot]="scope">
|
14
16
|
<slot :name="slot" v-bind="scope"/>
|
@@ -116,6 +116,7 @@ modules = {
|
|
116
116
|
let e = this;
|
117
117
|
return {
|
118
118
|
refList: this.widgetRefList,
|
119
|
+
widgetKeyNameMap: this.widgetKeyNameMap,
|
119
120
|
sfRefList: this.subFormRefList,
|
120
121
|
getFormConfig: function () {
|
121
122
|
return e.formJsonObj.formConfig;
|
@@ -156,6 +157,7 @@ modules = {
|
|
156
157
|
formDataModel: {},
|
157
158
|
widgetRefList: {},
|
158
159
|
subFormRefList: {},
|
160
|
+
widgetKeyNameMap: {},
|
159
161
|
formId: null,
|
160
162
|
externalComponents: {},
|
161
163
|
readModeFlag: !1,
|
@@ -406,7 +408,7 @@ modules = {
|
|
406
408
|
})
|
407
409
|
}*/
|
408
410
|
let flag = this.hanldeWfWidgetItem(target)
|
409
|
-
if(!hasModifyItem && flag){
|
411
|
+
if (!hasModifyItem && flag) {
|
410
412
|
hasModifyItem = true
|
411
413
|
}
|
412
414
|
if (!saveButton && widget?.options?.saveButton) {
|
@@ -418,7 +420,7 @@ modules = {
|
|
418
420
|
saveButton.setHidden(false);
|
419
421
|
}
|
420
422
|
},
|
421
|
-
hanldeWfWidgetItem(target){
|
423
|
+
hanldeWfWidgetItem(target) {
|
422
424
|
let hasModifyItem = false;
|
423
425
|
let widget = target.field || target.widget;
|
424
426
|
let wfEdit = widget?.options.wfEdit;
|
@@ -430,8 +432,8 @@ modules = {
|
|
430
432
|
let companyCode = this.$store.getters.companyCode;
|
431
433
|
let taskStep = (wfInfo.taskStep ?? "") + "";
|
432
434
|
|
433
|
-
let handleWfConfigData = (options)=>{
|
434
|
-
if(!options || !options.wfEdit)return
|
435
|
+
let handleWfConfigData = (options) => {
|
436
|
+
if (!options || !options.wfEdit) return
|
435
437
|
let wfConfigData = options.wfConfigData || [];
|
436
438
|
wfConfigData.forEach(item => {
|
437
439
|
|
@@ -447,14 +449,14 @@ modules = {
|
|
447
449
|
if (type === 1) {
|
448
450
|
//可编辑
|
449
451
|
hasModifyItem = true;
|
450
|
-
if(options.disabled!==undefined)options.disabled = false;
|
452
|
+
if (options.disabled !== undefined) options.disabled = false;
|
451
453
|
// target.setDisabled && target.setDisabled(false);
|
452
454
|
// target.setHidden(false);
|
453
455
|
options.hidden = false;
|
454
456
|
} else if (type === 2) {
|
455
457
|
//仅显示
|
456
458
|
// target.setDisabled && target.setDisabled(true);
|
457
|
-
if(options.disabled!==undefined)options.disabled = true;
|
459
|
+
if (options.disabled !== undefined) options.disabled = true;
|
458
460
|
// target.setHidden(false);
|
459
461
|
options.hidden = false;
|
460
462
|
} else if (type === 3) {
|
@@ -462,7 +464,7 @@ modules = {
|
|
462
464
|
options.hidden = true;
|
463
465
|
}
|
464
466
|
}
|
465
|
-
}else if(type == "data-table"){
|
467
|
+
} else if (type == "data-table") {
|
466
468
|
target.options.tableColumns.forEach(item => {
|
467
469
|
handleWfConfigData(item.columnOption)
|
468
470
|
})
|
@@ -541,8 +543,8 @@ modules = {
|
|
541
543
|
});*/
|
542
544
|
}
|
543
545
|
};
|
544
|
-
if(formConfig.wfStartBindSave){
|
545
|
-
option.onStart = (done)=>{
|
546
|
+
if (formConfig.wfStartBindSave) {
|
547
|
+
option.onStart = (done) => {
|
546
548
|
let formRef = this.getFormRef ? this.getFormRef() : this;
|
547
549
|
formRef.validate(valid => {
|
548
550
|
if (valid) {
|
@@ -550,9 +552,9 @@ modules = {
|
|
550
552
|
}
|
551
553
|
});
|
552
554
|
}
|
553
|
-
option.onBeforeStartSubmit = (done)=>{
|
555
|
+
option.onBeforeStartSubmit = (done) => {
|
554
556
|
this.saveDefaultHandle({
|
555
|
-
config:{
|
557
|
+
config: {
|
556
558
|
successMsg: false,
|
557
559
|
isConfirm: false,
|
558
560
|
success: res => {
|
@@ -10,71 +10,116 @@ modules = {
|
|
10
10
|
});
|
11
11
|
},*/
|
12
12
|
formHttp(opts) {
|
13
|
-
let
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
let data = opts.data;
|
14
|
+
let scriptCode = opts.scriptCode;
|
15
|
+
let formCode = opts.formCode;
|
16
|
+
let isLoading = opts.isLoading ?? false;
|
17
|
+
let success = opts.success;
|
18
|
+
let fail = opts.fail;
|
19
|
+
let error = opts.fail;
|
20
|
+
delete opts.data
|
21
|
+
delete opts.scriptCode
|
22
|
+
delete opts.formCode
|
23
|
+
delete opts.isLoading
|
24
|
+
delete opts.success
|
25
|
+
delete opts.fail
|
26
|
+
delete opts.error
|
21
27
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
28
|
+
let that = this;
|
29
|
+
let getFormTemplate = (callback)=>{
|
30
|
+
let reportTemplate = that.getFormRef ? that.getFormRef().reportTemplate : that.reportTemplate;
|
31
|
+
if(formCode && formCode !== reportTemplate.formCode){
|
32
|
+
that.$http({
|
33
|
+
aes: true,
|
34
|
+
url: USER_PREFIX + `/formTemplate/getByFormCode`,
|
35
|
+
method: `post`,
|
36
|
+
data: {
|
37
|
+
stringOne: formCode
|
38
|
+
},
|
39
|
+
isLoading,
|
40
|
+
loadingTarget: document.body,
|
41
|
+
// modalStrictly: true,
|
42
|
+
success: res => {
|
43
|
+
let formTemplate = res.objx || {};
|
44
|
+
callback(formTemplate)
|
45
|
+
}
|
46
|
+
});
|
47
|
+
}else{
|
48
|
+
callback(reportTemplate)
|
49
|
+
}
|
32
50
|
|
33
|
-
|
51
|
+
}
|
52
|
+
let toDo = () => {
|
53
|
+
return new Promise((resolve, reject) => {
|
54
|
+
getFormTemplate(reportTemplate=>{
|
55
|
+
let reqData;
|
56
|
+
reqData = data;
|
57
|
+
/*if (opts.url) {
|
58
|
+
reqData = data;
|
59
|
+
} else {
|
60
|
+
reqData = {
|
61
|
+
scriptCode: scriptCode,
|
62
|
+
conditions: data
|
63
|
+
};
|
64
|
+
}*/
|
34
65
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
66
|
+
let reportGlobalMap = getReportGlobalMap() || {};
|
67
|
+
|
68
|
+
// let reportTemplate = this.getFormRef ? this.getFormRef().reportTemplate : this.reportTemplate;
|
69
|
+
let url = `/${reportTemplate.serviceName}/bd_api/${reportTemplate.formCode}/${scriptCode}`;
|
70
|
+
// let url = BD_PREFIX + `/formScript/exeScript`;
|
71
|
+
return this.$http({
|
72
|
+
aes: true,
|
73
|
+
url: url,
|
74
|
+
method: `post`,
|
75
|
+
loadingTarget: document.body,
|
76
|
+
isLoading,
|
77
|
+
...opts,
|
78
|
+
data: {
|
79
|
+
// scriptCode: scriptCode,
|
80
|
+
fixeData: reportGlobalMap,
|
81
|
+
...reqData
|
82
|
+
},
|
83
|
+
success: res => {
|
84
|
+
if (opts.successMsg) {
|
85
|
+
this.$message({
|
86
|
+
message: res.content,
|
87
|
+
type: 'success',
|
88
|
+
duration: 1000
|
89
|
+
});
|
90
|
+
}
|
91
|
+
success && success(res);
|
92
|
+
if (opts.wfConfig) {
|
93
|
+
let formTarget = this.getFormRef ? this.getFormRef() : this;
|
94
|
+
let wfConfig = opts.wfConfig(res);
|
95
|
+
if (wfConfig) {
|
96
|
+
// let reportTemplate = this.getFormRef ? this.getFormRef().reportTemplate : this.reportTemplate;
|
97
|
+
let serviceId = wfConfig.serviceId || reportTemplate?.serviceName;
|
98
|
+
let opt2 = Object.assign({}, wfConfig, {
|
99
|
+
serviceId: serviceId
|
100
|
+
});
|
101
|
+
//初始化流程
|
102
|
+
let target1 = formTarget.$attrs['parent-target'];
|
103
|
+
let target2 = target1?.$attrs['parent-target'];
|
104
|
+
let target = !target2 ? this : target1;
|
105
|
+
initWf.call(target, opt2);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
resolve(res);
|
109
|
+
},
|
110
|
+
fail: res=>{
|
111
|
+
fail && fail(res);
|
112
|
+
resolve(res);
|
113
|
+
},
|
114
|
+
error: e=>{
|
115
|
+
error && error(e);
|
116
|
+
reject(e);
|
74
117
|
}
|
75
|
-
}
|
76
|
-
}
|
77
|
-
|
118
|
+
});
|
119
|
+
})
|
120
|
+
|
121
|
+
|
122
|
+
})
|
78
123
|
}
|
79
124
|
if (opts.isConfirm) {
|
80
125
|
this.$baseConfirm(opts.confirmText).then(() => {
|
@@ -14,6 +14,7 @@
|
|
14
14
|
v-if="showDesinger"
|
15
15
|
:readonly="readonly"
|
16
16
|
:columnFlag="columnFlag"
|
17
|
+
@customConfirm="customConfirm"
|
17
18
|
/>
|
18
19
|
</div><!--
|
19
20
|
<el-tabs v-model="activeName" class="tab-boxCard tabCard-sty1" v-if="showDesinger">
|
@@ -37,7 +38,7 @@ export default {
|
|
37
38
|
props: {
|
38
39
|
formCode: String,
|
39
40
|
readonly: Boolean,
|
40
|
-
formTemplate:Object,
|
41
|
+
formTemplate: Object,
|
41
42
|
widgetList: Array,
|
42
43
|
columnFlag: Boolean,
|
43
44
|
},
|
@@ -95,15 +96,16 @@ export default {
|
|
95
96
|
getTemplate() {
|
96
97
|
/* this.showDesinger = true;
|
97
98
|
return */
|
98
|
-
if(this.columnFlag){
|
99
|
+
if (this.columnFlag) {
|
99
100
|
this.reportTemplate = this.formTemplate;
|
100
101
|
this.showDesinger = true;
|
101
102
|
this.$nextTick(() => {
|
102
103
|
let formJson = this.$baseLodash.cloneDeep({
|
103
|
-
widgetList:this.widgetList
|
104
|
+
widgetList: this.widgetList
|
104
105
|
});
|
105
106
|
this.$refs.designer.setFormJson(formJson);
|
106
107
|
})
|
108
|
+
return
|
107
109
|
}
|
108
110
|
this.$http({
|
109
111
|
aes: true,
|
@@ -751,6 +753,9 @@ export default {
|
|
751
753
|
},
|
752
754
|
reflushTemplateList() {
|
753
755
|
this.$emit("reflushTemplateList");
|
756
|
+
},
|
757
|
+
customConfirm(json) {
|
758
|
+
this.$emit("customConfirm", json);
|
754
759
|
}
|
755
760
|
}
|
756
761
|
};
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<template>
|
2
2
|
<div id="containt">
|
3
3
|
<template v-if="layoutType=='PC'">
|
4
|
-
<
|
4
|
+
<x-tabs ref="xTabs" v-model="activeName" class="tab-box">
|
5
5
|
<el-tab-pane :label="$t2('常规')" name="first">
|
6
6
|
<vFormRender :formCode="formCode2" :dataId.sync="dataId" :param="param"
|
7
7
|
v-if="showEdit" visible-key="showEdit" :parent-target="_self"
|
@@ -14,7 +14,15 @@
|
|
14
14
|
@reload="$reloadHandle" :openEditDialog="openEditDialog"></vFormRender>
|
15
15
|
</div>
|
16
16
|
</el-tab-pane>
|
17
|
-
|
17
|
+
<template #editTab="{tab,index,reloadTabContent}">
|
18
|
+
<el-tab-pane :key="tab.data.id" :label="tab.data[multiTabLabelField]" :name="tab.data.id+''"
|
19
|
+
:closable="true">
|
20
|
+
<vFormRender :formCode="formCode2" :dataId.sync="tab.dataId" :param="tab.param"
|
21
|
+
v-if="tab.showContent" :parent-target="_self"
|
22
|
+
@reload="reloadTabContent"></vFormRender>
|
23
|
+
</el-tab-pane>
|
24
|
+
</template>
|
25
|
+
</x-tabs>
|
18
26
|
</template>
|
19
27
|
<template v-else-if="layoutType=='H5'">
|
20
28
|
<el-dialog
|
@@ -69,7 +77,8 @@ export default {
|
|
69
77
|
formCode2: null,
|
70
78
|
dataId: null,
|
71
79
|
showEditDialog: false,
|
72
|
-
param: {}
|
80
|
+
param: {},
|
81
|
+
multiTabLabelField:null
|
73
82
|
};
|
74
83
|
},
|
75
84
|
created() {
|
@@ -100,6 +109,7 @@ export default {
|
|
100
109
|
this.formJson = formJson;
|
101
110
|
this.layoutType = formJson.formConfig?.layoutType
|
102
111
|
this.formCode2 = formJson.formConfig?.editFormCode ?? null;
|
112
|
+
this.multiTabLabelField = formJson.formConfig?.multiTabLabelField
|
103
113
|
}
|
104
114
|
});
|
105
115
|
},
|
@@ -108,12 +118,20 @@ export default {
|
|
108
118
|
this.openEditH5Dialog(row);
|
109
119
|
return;
|
110
120
|
}
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
121
|
+
let formConfig = this.formJson.formConfig
|
122
|
+
let multiTabEnabled = formConfig.multiTabEnabled && formConfig.multiTabLabelField
|
123
|
+
let dataId = row && row.id ? row.id : null;
|
124
|
+
if(multiTabEnabled && dataId){
|
125
|
+
this.$refs.xTabs.openEditTab(row,param);
|
126
|
+
}else{
|
127
|
+
this.dataId = dataId
|
128
|
+
this.activeName = 'first';
|
129
|
+
this.showEdit = false;
|
130
|
+
this.showEditDialog = true;
|
131
|
+
this.param = param
|
132
|
+
this.$openEditView('showEdit');
|
133
|
+
}
|
134
|
+
|
117
135
|
},
|
118
136
|
openEditH5Dialog(row) {
|
119
137
|
this.dataId = row && row.id ? row.id : null;
|