cloud-web-corejs 1.0.54-dev.138 → 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.
@@ -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"],