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.
Files changed (29) hide show
  1. package/package.json +1 -1
  2. package/src/components/table/CellSlot.vue +1 -0
  3. package/src/components/table/vxeFilter/mixin.js +1 -1
  4. package/src/components/vb-tabs/x-tabs.vue +3 -2
  5. package/src/components/xform/form-designer/designer.js +1 -1514
  6. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1230 -1
  7. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +4 -2
  8. package/src/components/xform/form-designer/indexMixin.js +3 -1
  9. package/src/components/xform/form-designer/setting-panel/form-setting.vue +8 -0
  10. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  11. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +76 -30
  12. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +20 -8
  13. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-editor.vue +2 -2
  14. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +7 -1
  15. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +1 -566
  16. package/src/components/xform/form-designer/widget-panel/indexMixin.js +276 -1
  17. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +36 -1
  18. package/src/components/xform/form-render/container-item/containerItemMixin.js +330 -1
  19. package/src/components/xform/form-render/container-item/data-table-item.vue +42 -20
  20. package/src/components/xform/form-render/container-item/data-table-mixin.js +140 -191
  21. package/src/components/xform/form-render/container-item/grid-col-item.vue +10 -3
  22. package/src/components/xform/form-render/container-item/grid-item.vue +1 -1
  23. package/src/components/xform/form-render/container-item/tab-item.vue +11 -6
  24. package/src/components/xform/form-render/container-item/table-cell-item.vue +38 -32
  25. package/src/components/xform/form-render/container-item/table-item.vue +4 -2
  26. package/src/components/xform/form-render/indexMixin.js +13 -11
  27. package/src/components/xform/mixins/scriptHttp.js +106 -61
  28. package/src/views/user/form/vform/designer.vue +8 -3
  29. package/src/views/user/form/view/list.vue +27 -9
@@ -1,39 +1,38 @@
1
1
  <template>
2
2
  <el-drawer :title="$t1('表单设计({formName})',{formName})" :visible.sync="showDesingerDialog" :modal="false"
3
- :destroy-on-close="true"
4
- size="100%" direction="rtl" :before-close="closeFormDesignwinEvent" :append-to-body="false"
5
- class="designer-drawer" :class="[isFullscreen ? 'is-fullscreen' : '']" @close="handleFormDesignClose">
6
- <el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
7
- <el-tab-pane :label="$t1('设计器')" name="first">
8
- <designer ref="designer" :formTemplate="formTemplate" @customConfirm="customConfirm" :columnFlag="true" :widgetList="widgetList"></designer>
9
- </el-tab-pane>
10
- </el-tabs>
11
- <el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
12
- <el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
13
- <i class="iconfont icon-quanping"></i>
14
- </el-tooltip>
3
+ :destroy-on-close="true"
4
+ size="90%" direction="rtl"
5
+ class="designer-drawer1" :class="[isFullscreen ? 'is-fullscreen' : '']" @close="handleFormDesignClose">
6
+ <el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
7
+ <el-tab-pane :label="$t1('设计器')" name="first">
8
+ <designer ref="designer" :formTemplate="formTemplate" @customConfirm="customConfirm" :columnFlag="true"
9
+ :widgetList="widgetList"></designer>
10
+ </el-tab-pane>
11
+ </el-tabs>
12
+ <el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
13
+ <el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
14
+ <i class="iconfont icon-quanping"></i>
15
+ </el-tooltip>
15
16
 
16
- </el-button>
17
- <el-button class="isFullIcon" v-else @click="handleFullscreen">
18
- <el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
19
- <i class="iconfont icon-suoxiao"></i>
20
- </el-tooltip>
21
- </el-button>
22
- </el-drawer>
17
+ </el-button>
18
+ <el-button class="isFullIcon" v-else @click="handleFullscreen">
19
+ <el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
20
+ <i class="iconfont icon-suoxiao"></i>
21
+ </el-tooltip>
22
+ </el-button>
23
+ </el-drawer>
23
24
  </template>
24
25
  <script>
25
26
  // import designer from "@base/views/user/form/vform/designer.vue";
27
+ import PopupManager from 'element-ui/src/utils/popup/popup-manager.js'
26
28
  export default {
27
29
  props: {
28
- formTemplate: {
29
- type: Object,
30
- default: () => {}
31
- },
32
- column:Object
30
+ column: Object
33
31
  },
34
32
  components: {
35
- designer: ()=>import("@base/views/user/form/vform/designer.vue"),
33
+ designer: () => import("@base/views/user/form/vform/designer.vue"),
36
34
  },
35
+ inject: ['getReportTemplate'],
37
36
  data() {
38
37
  return {
39
38
  showDesingerDialog: true,
@@ -42,12 +41,21 @@ export default {
42
41
  isFullscreen: false,
43
42
  formCode: '',
44
43
  formName: '',
45
- widgetList: []
44
+ widgetList: [],
45
+ formTemplate: null,
46
+ zIndex:null
46
47
  }
47
48
  },
48
49
  created() {
49
- this.formCode = this.formTemplate.formCode
50
- this.formName = this.formTemplate.formName
50
+ let zIndex = PopupManager.nextZIndex();
51
+ debugger
52
+ this.zIndex = zIndex;
53
+
54
+ let formTemplate = this.getReportTemplate();
55
+ this.formTemplate = formTemplate;
56
+ this.formCode = formTemplate.formCode
57
+ this.formName = formTemplate.formName
58
+ debugger
51
59
  this.widgetList = this.$baseLodash.cloneDeep(this.column.widgetList || [])
52
60
  this.showDesingerDialog = true
53
61
 
@@ -59,7 +67,10 @@ export default {
59
67
  },
60
68
  methods: {
61
69
  handleFormDesignClose() {
62
- this.$emit('closeFormDesignwinEvent')
70
+ // debugger
71
+ // this.$emit('closeFormDesignwinEvent')
72
+ this.showDesingerDialog = false
73
+ this.$emit('update:visiable',false)
63
74
  },
64
75
  handleFullscreen() {
65
76
  this.isFullscreen = !this.isFullscreen
@@ -70,7 +81,8 @@ export default {
70
81
  reflushTemplateList() {
71
82
  this.$emit('reflushTemplateList')
72
83
  },
73
- customConfirm(formJson){
84
+ customConfirm(formJson) {
85
+ debugger
74
86
  let widgetList = formJson.widgetList;
75
87
  this.handleFormDesignClose();
76
88
  this.$emit('confirm', widgetList)
@@ -79,3 +91,37 @@ export default {
79
91
  }
80
92
  }
81
93
  </script>
94
+ <style>
95
+ <style>
96
+ .designer-drawer1{
97
+ left: 150px;
98
+ right: 10px;
99
+ bottom: 10px;
100
+ top: 32px;
101
+ }
102
+ ::v-deep .tab-boxOnly > .el-tabs__header {
103
+ position: absolute;
104
+ right: 130px;
105
+ top: 0;
106
+ }
107
+
108
+ ::v-deep .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
109
+ .detail-wrap .d-cont {
110
+ height: calc(100vh - 158px) !important
111
+ }
112
+
113
+ .grid-height {
114
+ height: calc(100vh - 126px) !important
115
+ }
116
+ }
117
+
118
+ ::v-deep .designer-drawer1.is-fullscreen .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
119
+ .detail-wrap .d-cont {
120
+ height: calc(100vh - 116px) !important
121
+ }
122
+
123
+ .grid-height {
124
+ height: calc(100vh - 84px) !important
125
+ }
126
+ }
127
+ </style>
@@ -127,7 +127,6 @@
127
127
  :label="i18nt('designer.setting.customRenderGroup')"
128
128
  >
129
129
  <el-option value="render" label="render"></el-option>
130
- <el-option value="widgetRender" label="widgetRender"></el-option>
131
130
  </el-option-group>
132
131
  <el-option-group
133
132
  v-for="t in op"
@@ -251,7 +250,7 @@
251
250
  round=""
252
251
  icon="el-icon-edit"
253
252
  @click="openFormatConfigDialog(scope.row, scope.$index)"
254
- :disabled="!columnFormatMap[scope.row.formatS]"
253
+ :disabled="!columnFormatMap[scope.row.formatS] && 'widgetRender'!== scope.row.formatS"
255
254
  ></el-button>
256
255
  </template>
257
256
  </el-table-column>
@@ -263,7 +262,7 @@
263
262
  >
264
263
  <template slot-scope="scope">
265
264
  <el-button
266
- :disabled="'render' !== scope.row.formatS && 'widgetRender'!== scope.row.formatS"
265
+ :disabled="'render' !== scope.row.formatS"
267
266
  size="mini"
268
267
  plain=""
269
268
  round=""
@@ -340,6 +339,7 @@
340
339
  </template>
341
340
  </el-table-column>
342
341
  </el-table>
342
+ <columnRenderDialog :column="currentTableColumn" v-if="showColumnRenderDialog" :visiable.sync="showColumnRenderDialog" @confirm="confirmWidgetRenderDialog"></columnRenderDialog>
343
343
  </div>
344
344
  <div class="dialog-footer" slot="footer">
345
345
  <el-button @click="closeHandle" class="button-sty" icon="el-icon-close">
@@ -354,6 +354,7 @@
354
354
  {{ i18nt("designer.hint.confirm") }}
355
355
  </el-button>
356
356
  </div>
357
+
357
358
  </el-dialog>
358
359
  <el-dialog
359
360
  v-if="showRenderDialogFlag"
@@ -367,6 +368,7 @@
367
368
  :destroy-on-close="!0"
368
369
  v-dialog-drag
369
370
  top="7vh"
371
+ :append-to-body="true"
370
372
  >
371
373
  <el-alert
372
374
  type="info"
@@ -490,7 +492,7 @@
490
492
  </el-button>
491
493
  </div>
492
494
  </el-dialog>
493
- <columnRenderDialog :column="currentTableColumn" v-if="showColumnRenderDialog" :visiable.sync="showColumnRenderDialog" @confirm="confirmWidgetRenderDialog"></columnRenderDialog>
495
+
494
496
  </div>
495
497
  </template>
496
498
  <script>
@@ -586,6 +588,10 @@ export default {
586
588
  value: "editTreeButtonGroup",
587
589
  label: "编辑行按钮组",
588
590
  },
591
+ {
592
+ value: "widgetRender",
593
+ label: "自定义组件",
594
+ },
589
595
  ],
590
596
  },
591
597
  {
@@ -792,15 +798,15 @@ export default {
792
798
  this.currentTableColumn = row;
793
799
  this.showColumnRenderDialog = true
794
800
  },
795
- confirmWidgetRenderDialog(formJson){
796
- this.currentTableColumn.widgetList = formJson.widgetList
801
+ confirmWidgetRenderDialog(widgetList){
802
+ this.currentTableColumn.widgetList = widgetList
797
803
  this.showColumnRenderDialog = false
798
804
  },
799
805
  showRenderDialog: function (e) {
800
- if(e.formatS == 'widgetRender'){
806
+ /*if(e.formatS == 'widgetRender'){
801
807
  this.openWidgetRenderDialog(e);
802
808
  return
803
- }
809
+ }*/
804
810
 
805
811
  (this.currentTableColumn = e),
806
812
  (this.renderJson = e.render || ""),
@@ -1237,6 +1243,12 @@ export default {
1237
1243
  return { columnSelectedWidget, columnEditFields };
1238
1244
  },
1239
1245
  openFormatConfigDialog(row, index) {
1246
+ if(row.formatS == 'widgetRender'){
1247
+ this.openWidgetRenderDialog(row);
1248
+ return
1249
+ }
1250
+
1251
+
1240
1252
  let option = row.columnOption;
1241
1253
  let selectedWidget;
1242
1254
  let columnWidgetConfig = this.getColumnWidgetConfig(row);
@@ -1,8 +1,8 @@
1
1
  <template>
2
2
  <div>
3
- <el-form-item :label="i18nt('启用流程')">
3
+ <!-- <el-form-item :label="i18nt('启用流程')">
4
4
  <el-switch v-model="optionModel.wfEnabled"></el-switch>
5
- </el-form-item>
5
+ </el-form-item>-->
6
6
  <el-form-item label-width="0">
7
7
  <el-divider class="custom-divider">{{ i18nt('designer.setting.columnSetting') }}</el-divider>
8
8
  </el-form-item>
@@ -58,7 +58,7 @@
58
58
  :close-on-press-escape="!1"
59
59
  :destroy-on-close="!0"
60
60
  top="5vh"
61
- width="500px"
61
+ width="600px"
62
62
  v-dialog-drag
63
63
  >
64
64
  <div class="cont">
@@ -76,6 +76,11 @@
76
76
  <el-input v-model="scope.row.targetField"></el-input>
77
77
  </template>
78
78
  </el-table-column>
79
+ <el-table-column label="目标数据属性名称" width="150" prop="targetField">
80
+ <template slot-scope="scope">
81
+ <el-input v-model="scope.row.targetFormField"></el-input>
82
+ </template>
83
+ </el-table-column>
79
84
  <el-table-column label="来源字段" width="150" prop="sourceField">
80
85
  <template slot-scope="scope">
81
86
  <el-input v-model="scope.row.sourceField"></el-input>
@@ -114,6 +119,7 @@
114
119
  </el-table>
115
120
  </div>
116
121
  <div class="dialog-footer" slot="footer">
122
+ <span class="fl tips">注:'目标字段'与'目标数据属性名称'只需要维护一个即可。</span>
117
123
  <el-button @click="showDialog=false" class="button-sty" icon="el-icon-close">
118
124
  {{ i18nt('designer.hint.cancel') }}
119
125
  </el-button>