cloud-web-corejs 1.0.54-dev.139 → 1.0.54-dev.140
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/xform/form-designer/designer.js +1514 -1
- package/src/components/xform/form-designer/indexMixin.js +783 -1
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +132 -0
- package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +24 -2
- package/src/components/xform/form-designer/toolbar-panel/index.vue +0 -4
- package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +566 -1
- package/src/components/xform/form-render/container-item/data-table-mixin.js +2155 -1
- package/src/views/bd/setting/table_model/edit.vue +4 -3
- package/src/views/bd/setting/table_model/mixins/edit.js +9 -3
- package/src/views/user/form/vform/designer.vue +767 -753
- package/src/views/user/home/default.vue +1003 -979
@@ -0,0 +1,132 @@
|
|
1
|
+
<template>
|
2
|
+
<el-drawer
|
3
|
+
title="cc"
|
4
|
+
:visible.sync="showDesingerDialog"
|
5
|
+
:modal="false"
|
6
|
+
:destroy-on-close="true"
|
7
|
+
size="100%"
|
8
|
+
direction="rtl"
|
9
|
+
:before-close="closeFormDesignwinEvent"
|
10
|
+
:append-to-body="false"
|
11
|
+
class="designer-drawer"
|
12
|
+
:class="[isFullscreen ? 'is-fullscreen' : '']"
|
13
|
+
@close="handleFormDesignClose"
|
14
|
+
>
|
15
|
+
<el-tabs
|
16
|
+
v-model="formDesTabs"
|
17
|
+
type="card"
|
18
|
+
class="tab-boxOnly"
|
19
|
+
:stretch="true"
|
20
|
+
>
|
21
|
+
<el-tab-pane :label="$t1('设计器')" name="first">
|
22
|
+
<designer
|
23
|
+
ref="designer"
|
24
|
+
v-if="showDesigner"
|
25
|
+
@customConfirm="customConfirm"
|
26
|
+
:columnFlag="true"
|
27
|
+
:widgetList="widgetList"
|
28
|
+
></designer>
|
29
|
+
</el-tab-pane>
|
30
|
+
</el-tabs>
|
31
|
+
<el-button
|
32
|
+
class="isFullIcon"
|
33
|
+
v-if="!isFullscreen"
|
34
|
+
@click="handleFullscreen"
|
35
|
+
>
|
36
|
+
<el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
|
37
|
+
<i class="iconfont icon-quanping"></i>
|
38
|
+
</el-tooltip>
|
39
|
+
</el-button>
|
40
|
+
<el-button class="isFullIcon" v-else @click="handleFullscreen">
|
41
|
+
<el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
|
42
|
+
<i class="iconfont icon-suoxiao"></i>
|
43
|
+
</el-tooltip>
|
44
|
+
</el-button>
|
45
|
+
</el-drawer>
|
46
|
+
</template>
|
47
|
+
<script>
|
48
|
+
export default {
|
49
|
+
props: {
|
50
|
+
column: Object,
|
51
|
+
},
|
52
|
+
components: {
|
53
|
+
designer: import("@base/views/user/form/vform/designer.vue"),
|
54
|
+
},
|
55
|
+
inject: ["getReportTemplate"],
|
56
|
+
data() {
|
57
|
+
return {
|
58
|
+
showDesingerDialog: true,
|
59
|
+
formDesTabs: "first",
|
60
|
+
showFormScriptList: false,
|
61
|
+
isFullscreen: false,
|
62
|
+
formCode: "",
|
63
|
+
formName: "",
|
64
|
+
widgetList: [],
|
65
|
+
formTemplate: null,
|
66
|
+
showDesigner:false
|
67
|
+
};
|
68
|
+
},
|
69
|
+
created() {
|
70
|
+
let formTemplate = this.getReportTemplate();
|
71
|
+
debugger
|
72
|
+
this.formTemplate = formTemplate;
|
73
|
+
this.formCode = formTemplate.formCode;
|
74
|
+
this.formName = formTemplate.formName;
|
75
|
+
this.widgetList = this.$baseLodash.cloneDeep(this.column.widgetList || []);
|
76
|
+
this.$nextTick(() => {
|
77
|
+
// this.showDesigner = true;
|
78
|
+
});
|
79
|
+
},
|
80
|
+
mounted() {
|
81
|
+
/* this.$nextTick(() => {
|
82
|
+
this.$refs.designer.initDesigner(this.formCode)
|
83
|
+
}) */
|
84
|
+
},
|
85
|
+
methods: {
|
86
|
+
handleFormDesignClose() {
|
87
|
+
this.$emit("closeFormDesignwinEvent");
|
88
|
+
},
|
89
|
+
handleFullscreen() {
|
90
|
+
this.isFullscreen = !this.isFullscreen;
|
91
|
+
},
|
92
|
+
closeFormDesignwinEvent() {
|
93
|
+
this.$emit("closeFormDesignwinEvent");
|
94
|
+
},
|
95
|
+
reflushTemplateList() {
|
96
|
+
this.$emit("reflushTemplateList");
|
97
|
+
},
|
98
|
+
customConfirm(formJson) {
|
99
|
+
let widgetList = formJson.widgetList;
|
100
|
+
this.handleFormDesignClose();
|
101
|
+
this.$emit("confirm", widgetList);
|
102
|
+
},
|
103
|
+
},
|
104
|
+
};
|
105
|
+
</script>
|
106
|
+
<style scoped lang="scss">
|
107
|
+
::v-deep .tab-boxOnly > .el-tabs__header {
|
108
|
+
position: absolute;
|
109
|
+
right: 130px;
|
110
|
+
top: 0;
|
111
|
+
}
|
112
|
+
|
113
|
+
::v-deep .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
|
114
|
+
.detail-wrap .d-cont {
|
115
|
+
height: calc(100vh - 158px) !important
|
116
|
+
}
|
117
|
+
|
118
|
+
.grid-height {
|
119
|
+
height: calc(100vh - 126px) !important
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
::v-deep .designer-drawer.is-fullscreen .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
|
124
|
+
.detail-wrap .d-cont {
|
125
|
+
height: calc(100vh - 116px) !important
|
126
|
+
}
|
127
|
+
|
128
|
+
.grid-height {
|
129
|
+
height: calc(100vh - 84px) !important
|
130
|
+
}
|
131
|
+
}
|
132
|
+
</style>
|
@@ -13,6 +13,8 @@
|
|
13
13
|
width="1220px"
|
14
14
|
v-dialog-drag
|
15
15
|
@closed="closeHandle"
|
16
|
+
:fullscreen="true"
|
17
|
+
:append-to-body="true"
|
16
18
|
>
|
17
19
|
<div class="cont">
|
18
20
|
<el-table
|
@@ -127,6 +129,7 @@
|
|
127
129
|
:label="i18nt('designer.setting.customRenderGroup')"
|
128
130
|
>
|
129
131
|
<el-option value="render" label="render"></el-option>
|
132
|
+
<el-option value="widgetRender" label="widgetRender"></el-option>
|
130
133
|
</el-option-group>
|
131
134
|
<el-option-group
|
132
135
|
v-for="t in op"
|
@@ -262,7 +265,7 @@
|
|
262
265
|
>
|
263
266
|
<template slot-scope="scope">
|
264
267
|
<el-button
|
265
|
-
:disabled="'render' !== scope.row.formatS"
|
268
|
+
:disabled="'render' !== scope.row.formatS && 'widgetRender'!== scope.row.formatS"
|
266
269
|
size="mini"
|
267
270
|
plain=""
|
268
271
|
round=""
|
@@ -353,6 +356,7 @@
|
|
353
356
|
{{ i18nt("designer.hint.confirm") }}
|
354
357
|
</el-button>
|
355
358
|
</div>
|
359
|
+
<columnRenderDialog :column="currentTableColumn" v-if="showColumnRenderDialog" :visiable.sync="showColumnRenderDialog" @confirm="confirmWidgetRenderDialog"></columnRenderDialog>
|
356
360
|
</el-dialog>
|
357
361
|
<el-dialog
|
358
362
|
v-if="showRenderDialogFlag"
|
@@ -495,6 +499,7 @@
|
|
495
499
|
import i18n from "../../../../../../components/xform/utils/i18n";
|
496
500
|
import Sortable from "sortablejs";
|
497
501
|
import { generateId } from "../../../../../../components/xform/utils/util";
|
502
|
+
import columnRenderDialog from "./columnRenderDialog.vue"
|
498
503
|
|
499
504
|
export default {
|
500
505
|
mixins: [i18n],
|
@@ -503,7 +508,7 @@ export default {
|
|
503
508
|
selectedWidget: Object,
|
504
509
|
optionModel: Object,
|
505
510
|
},
|
506
|
-
components: {},
|
511
|
+
components: {columnRenderDialog},
|
507
512
|
inject: ["openWidgetPropertyDialog"],
|
508
513
|
data() {
|
509
514
|
return {
|
@@ -731,6 +736,9 @@ export default {
|
|
731
736
|
eventParamsMap: {
|
732
737
|
footerMethodConfg: "footerMethodConfg(dataId,formCode,param) {",
|
733
738
|
},
|
739
|
+
|
740
|
+
showColumnRenderDialog:false,
|
741
|
+
|
734
742
|
};
|
735
743
|
},
|
736
744
|
beforeDestroy() {
|
@@ -782,7 +790,20 @@ export default {
|
|
782
790
|
this.optionModel.tableColumns = this.tableData;
|
783
791
|
this.closeHandle();
|
784
792
|
},
|
793
|
+
openWidgetRenderDialog(row){
|
794
|
+
this.currentTableColumn = row;
|
795
|
+
this.showColumnRenderDialog = true
|
796
|
+
},
|
797
|
+
confirmWidgetRenderDialog(formJson){
|
798
|
+
this.currentTableColumn.widgetList = formJson.widgetList
|
799
|
+
this.showColumnRenderDialog = false
|
800
|
+
},
|
785
801
|
showRenderDialog: function (e) {
|
802
|
+
if(e.formatS == 'widgetRender'){
|
803
|
+
this.openWidgetRenderDialog(e);
|
804
|
+
return
|
805
|
+
}
|
806
|
+
|
786
807
|
(this.currentTableColumn = e),
|
787
808
|
(this.renderJson = e.render || ""),
|
788
809
|
(this.showRenderDialogFlag = !0);
|
@@ -878,6 +899,7 @@ export default {
|
|
878
899
|
exportType: null,
|
879
900
|
footerDataType: null,
|
880
901
|
footerMethodConfg: null,
|
902
|
+
widgetList:[]
|
881
903
|
// treeNode: false,
|
882
904
|
};
|
883
905
|
return row;
|
@@ -424,17 +424,13 @@
|
|
424
424
|
|
425
425
|
<script>
|
426
426
|
import VFormRender from '../../../../components/xform/form-render/index';
|
427
|
-
import Clipboard from 'clipboard';
|
428
427
|
import indexMixin from './indexMixin.js';
|
429
428
|
import FormSetting from '../../../../components/xform/form-designer/setting-panel/form-setting';
|
430
|
-
import tableForm from "../../../../components/table/tableForm.vue";
|
431
429
|
|
432
430
|
export default {
|
433
431
|
name: 'ToolbarPanel',
|
434
432
|
components: {
|
435
|
-
tableForm,
|
436
433
|
VFormRender,
|
437
|
-
Clipboard,
|
438
434
|
FormSetting
|
439
435
|
},
|
440
436
|
inject:["readonly"],
|