cloud-web-corejs 1.0.250 → 1.0.251

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 (56) hide show
  1. package/package.json +1 -1
  2. package/src/views/bd/setting/formVersion/button.vue +55 -0
  3. package/src/views/bd/setting/formVersion/compareBasicSection.vue +125 -0
  4. package/src/views/bd/setting/formVersion/compareCodeSection.vue +539 -0
  5. package/src/views/bd/setting/formVersion/compareContMixin.scss +65 -0
  6. package/src/views/bd/setting/formVersion/compareContent.vue +63 -0
  7. package/src/views/bd/setting/formVersion/compareDialog.vue +88 -0
  8. package/src/views/bd/setting/formVersion/compareMixin.js +93 -0
  9. package/src/views/bd/setting/formVersion/fieldCompare.vue +54 -0
  10. package/src/views/bd/setting/formVersion/formScriptCompareView.vue +94 -0
  11. package/src/views/bd/setting/formVersion/formTemplateCompareView.vue +74 -0
  12. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +491 -0
  13. package/src/views/bd/setting/formVersion/link.vue +58 -0
  14. package/src/views/bd/setting/formVersion/preformDialog.vue +87 -0
  15. package/src/views/bd/setting/formVersion/reverButton.vue +82 -0
  16. package/src/views/bd/setting/formVersion/tableDetailDiff.js +99 -0
  17. package/src/views/bd/setting/formVersion/tableModelCompareView.vue +514 -0
  18. package/src/views/bd/setting/formVersion/textDiff.js +102 -0
  19. package/src/views/bd/setting/form_import_log/edit.vue +6 -3
  20. package/src/views/bd/setting/form_import_log/list.vue +5 -0
  21. package/src/views/bd/setting/form_script/edit.vue +196 -83
  22. package/src/views/bd/setting/form_script/edit1.vue +410 -220
  23. package/src/views/bd/setting/form_script/form_list.vue +19 -0
  24. package/src/views/bd/setting/form_script/list.vue +95 -21
  25. package/src/views/bd/setting/form_script/list1.vue +24 -0
  26. package/src/views/bd/setting/form_script/mixins/dialog.js +2 -2
  27. package/src/views/bd/setting/form_script/mixins/edit.js +265 -207
  28. package/src/views/bd/setting/form_script/mixins/edit1.js +259 -201
  29. package/src/views/bd/setting/form_script/mixins/form_list.js +322 -296
  30. package/src/views/bd/setting/form_script/mixins/list.js +163 -95
  31. package/src/views/bd/setting/form_script/mixins/list1.js +244 -155
  32. package/src/views/bd/setting/form_script/mixins/otherAuthDialog.js +1 -1
  33. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +1 -1
  34. package/src/views/bd/setting/form_template/edit.vue +355 -205
  35. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -0
  36. package/src/views/bd/setting/form_template/list.vue +49 -74
  37. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +3 -3
  38. package/src/views/bd/setting/form_template/mixins/edit.js +51 -8
  39. package/src/views/bd/setting/form_template/mixins/itemList.js +1 -1
  40. package/src/views/bd/setting/form_template/mixins/list.js +114 -82
  41. package/src/views/bd/setting/form_template/mixins/list2.js +3 -3
  42. package/src/views/bd/setting/form_template/mixins/otherAuthDialog.js +1 -1
  43. package/src/views/bd/setting/form_template/mixins/wf_list.js +3 -7
  44. package/src/views/bd/setting/form_template/wf_list.vue +161 -127
  45. package/src/views/bd/setting/request_setting/list.vue +15 -25
  46. package/src/views/bd/setting/table_model/edit.vue +702 -498
  47. package/src/views/bd/setting/table_model/list.vue +28 -0
  48. package/src/views/bd/setting/table_model/mixins/dialog.js +1 -1
  49. package/src/views/bd/setting/table_model/mixins/edit.js +228 -121
  50. package/src/views/bd/setting/table_model/mixins/list.js +55 -20
  51. package/src/views/bd/setting/table_model/mixins/otherAuthDialog.js +1 -1
  52. package/src/views/bd/setting/table_model/mixins/zdDialog.js +50 -46
  53. package/src/views/bd/setting/utils/index.js +15 -0
  54. package/src/views/user/form/vform/designer.vue +303 -287
  55. package/src/views/user/form/vform/formFieldMapping.js +2 -3
  56. package/src/views/user/form/vform/render.vue +8 -0
@@ -0,0 +1,171 @@
1
+ <template>
2
+ <el-drawer
3
+ :title="$t1('表单设计({formName})', { formName })"
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 v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
16
+ <el-tab-pane :label="$t1('设计器')" name="first">
17
+ <designer
18
+ ref="designer"
19
+ :formCode.sync="formCode"
20
+ @reflushTemplateList="reflushTemplateList"
21
+ :readonly="readonly"
22
+ :historyFlag="historyFlag"
23
+ :widgetList="widgetList"
24
+ :columnFlag="columnFlag"
25
+ :sourceData="sourceData"
26
+ :formTemplate="formTemplate"
27
+ :jsonFlag="jsonFlag"
28
+ ></designer>
29
+ </el-tab-pane>
30
+ <el-tab-pane :label="$t1('后端脚本')" name="second" v-if="showFormScript">
31
+ <formScriptList
32
+ :formCode="formCode"
33
+ :formTemplate="formTemplate"
34
+ v-if="showFormScriptList"
35
+ ></formScriptList>
36
+ </el-tab-pane>
37
+ </el-tabs>
38
+ <el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
39
+ <el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
40
+ <i class="iconfont icon-quanping"></i>
41
+ </el-tooltip>
42
+ </el-button>
43
+ <el-button class="isFullIcon" v-else @click="handleFullscreen">
44
+ <el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
45
+ <i class="iconfont icon-suoxiao"></i>
46
+ </el-tooltip>
47
+ </el-button>
48
+ </el-drawer>
49
+ </template>
50
+ <script>
51
+ import indexUtil from "@base/utils";
52
+ export default {
53
+ props: {
54
+ visiable: {
55
+ type: Boolean,
56
+ default: false,
57
+ },
58
+ formName: {
59
+ type: String,
60
+ default: "",
61
+ },
62
+ formCode: {
63
+ type: String,
64
+ default: "",
65
+ },
66
+ readonly: {
67
+ type: Boolean,
68
+ default: false,
69
+ },
70
+ formTemplate: {
71
+ type: Object,
72
+ default: () => {},
73
+ },
74
+ showFormScript: {
75
+ type: Boolean,
76
+ default: true,
77
+ },
78
+ historyFlag: {
79
+ type: Boolean,
80
+ default: false,
81
+ },
82
+ jsonFlag: {
83
+ type: Boolean,
84
+ default: false,
85
+ },
86
+ widgetList: Array,
87
+ columnFlag: Boolean,
88
+ sourceData: Object,
89
+ },
90
+ components: {
91
+ designer: () => import("@base/views/user/form/vform/designer.vue"),
92
+ formScriptList: () => import("@base/views/bd/setting/form_script/form_list.vue"),
93
+ },
94
+ data() {
95
+ return {
96
+ showDesingerDialog: true,
97
+ isFullscreen: false,
98
+ formDesTabs: "first",
99
+ currentFormTemplate: {},
100
+ designerReadonly: false,
101
+ showFormScriptList: false,
102
+ };
103
+ },
104
+ watch: {
105
+ formDesTabs(val) {
106
+ if (this.showFormScriptList === false && val === "second") {
107
+ this.showFormScriptList = true;
108
+ }
109
+ },
110
+ },
111
+ methods: {
112
+ handleFormDesignClose() {
113
+ this.showDesingerDialog = false;
114
+ this.formDesTabs = "first";
115
+ this.showFormScriptList = false;
116
+ this.$emit("close");
117
+ this.$emit("update:visiable", false);
118
+ },
119
+ handleFullscreen() {
120
+ let isFullscreen = this.isFullscreen;
121
+ if (!isFullscreen) {
122
+ indexUtil.addClass(document.body, "hideMenu");
123
+ } else {
124
+ indexUtil.removeClass(document.body, "hideMenu");
125
+ }
126
+ this.isFullscreen = !isFullscreen;
127
+ },
128
+ closeFormDesignwinEvent(done) {
129
+ this.$baseConfirm(this.$t1('请确认"已保存"报表模板,是否继续关闭?')).then(() => {
130
+ indexUtil.removeClass(document.body, "hideMenu");
131
+ done && done();
132
+ });
133
+ },
134
+ reflushTemplateList() {
135
+ this.$emit("reflushTemplateList");
136
+ },
137
+ },
138
+ };
139
+ </script>
140
+ <style scoped lang="scss">
141
+ ::v-deep .tab-boxOnly > .el-tabs__header {
142
+ position: absolute;
143
+ right: 130px;
144
+ top: 0;
145
+ }
146
+
147
+ ::v-deep .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
148
+ .detail-wrap .d-cont {
149
+ height: calc(100vh - 158px) !important;
150
+ }
151
+
152
+ .grid-height {
153
+ height: calc(100vh - 126px) !important;
154
+ }
155
+ }
156
+
157
+ ::v-deep
158
+ .designer-drawer.is-fullscreen
159
+ .tab-boxOnly
160
+ > .el-tabs__content
161
+ .el-tab-pane
162
+ .el-tab-pane {
163
+ .detail-wrap .d-cont {
164
+ height: calc(100vh - 116px) !important;
165
+ }
166
+
167
+ .grid-height {
168
+ height: calc(100vh - 84px) !important;
169
+ }
170
+ }
171
+ </style>
@@ -140,6 +140,44 @@
140
140
  :readonly="true"
141
141
  ></projectTagView>
142
142
  </template>
143
+ <template #operation="{ row }">
144
+ <a
145
+ href="javascript:void(0);"
146
+ class="a-link"
147
+ @click="openDesingerDialogByAuth(row)"
148
+ >
149
+ <el-tooltip
150
+ :enterable="false"
151
+ effect="dark"
152
+ :content="$t1('表单设计')"
153
+ placement="top"
154
+ popper-class="tooltip-skin"
155
+ >
156
+ <i class="iconfont icon-liuchengguanli-shejiqi_liucheng" />
157
+ </el-tooltip>
158
+ </a>
159
+ <formVersionButton
160
+ objType="FormTemplate"
161
+ :objCode="row.formCode"
162
+ @reverCallback="searchEvent"
163
+ ></formVersionButton>
164
+ <a
165
+ v-if="exportArchiveEnabled"
166
+ href="javascript:void(0);"
167
+ class="a-link"
168
+ @click="jsonExportArchive(row)"
169
+ >
170
+ <el-tooltip
171
+ :enterable="false"
172
+ effect="dark"
173
+ :content="$t1('导出归档')"
174
+ placement="top"
175
+ popper-class="tooltip-skin"
176
+ >
177
+ <i class="el-icon-upload2" />
178
+ </el-tooltip>
179
+ </a>
180
+ </template>
143
181
  </vxe-grid>
144
182
  <el-drawer
145
183
  :title="$t1('流程模板')"
@@ -178,48 +216,16 @@
178
216
  </el-tab-pane>
179
217
  </template>
180
218
  </x-tabs>
181
- <el-drawer
182
- :title="$t1('表单设计({formName})', { formName })"
183
- :visible.sync="showDesingerDialog"
184
- :modal="false"
185
- :destroy-on-close="true"
186
- size="100%"
187
- direction="rtl"
188
- :before-close="closeFormDesignwinEvent"
189
- :append-to-body="false"
190
- class="designer-drawer"
191
- :class="[isFullscreen ? 'is-fullscreen' : '']"
192
- @close="handleFormDesignClose"
193
- >
194
- <el-tabs v-model="formDesTabs" type="card" class="tab-boxOnly" :stretch="true">
195
- <el-tab-pane :label="$t1('设计器')" name="first">
196
- <designer
197
- ref="designer"
198
- :formCode.sync="formCode"
199
- @reflushTemplateList="reflushTemplateList"
200
- :readonly="designerReadonly"
201
- ></designer>
202
- </el-tab-pane>
203
- <el-tab-pane :label="$t1('后端脚本')" name="second">
204
- <formScriptList
205
- :formCode="formCode"
206
- :formTemplate="currentFormTemplate"
207
- v-if="showFormScriptList"
208
- ></formScriptList>
209
- </el-tab-pane>
210
- </el-tabs>
211
- <el-button class="isFullIcon" v-if="!isFullscreen" @click="handleFullscreen">
212
- <el-tooltip effect="dark" :content="$t1('全屏')" placement="top">
213
- <i class="iconfont icon-quanping"></i>
214
- </el-tooltip>
215
- </el-button>
216
- <el-button class="isFullIcon" v-else @click="handleFullscreen">
217
- <el-tooltip effect="dark" :content="$t1('缩小')" placement="top">
218
- <i class="iconfont icon-suoxiao"></i>
219
- </el-tooltip>
220
- </el-button>
221
- </el-drawer>
222
-
219
+ <formDesignerDialog
220
+ ref="formDesignerDialog"
221
+ v-if="showDesingerDialog"
222
+ :visiable.sync="showDesingerDialog"
223
+ :formName="formName"
224
+ :formCode="formCode"
225
+ @reflushTemplateList="reflushTemplateList"
226
+ :readonly="designerReadonly"
227
+ :formTemplate="currentFormTemplate"
228
+ ></formDesignerDialog>
223
229
  <el-dialog
224
230
  :title="$t1('流程设计')"
225
231
  :append-to-body="true"
@@ -292,35 +298,4 @@ export default {
292
298
  mixins: [mixin],
293
299
  };
294
300
  </script>
295
- <style scoped lang="scss">
296
- ::v-deep .tab-boxOnly > .el-tabs__header {
297
- position: absolute;
298
- right: 130px;
299
- top: 0;
300
- }
301
-
302
- ::v-deep .tab-boxOnly > .el-tabs__content .el-tab-pane .el-tab-pane {
303
- .detail-wrap .d-cont {
304
- height: calc(100vh - 158px) !important;
305
- }
306
-
307
- .grid-height {
308
- height: calc(100vh - 126px) !important;
309
- }
310
- }
311
-
312
- ::v-deep
313
- .designer-drawer.is-fullscreen
314
- .tab-boxOnly
315
- > .el-tabs__content
316
- .el-tab-pane
317
- .el-tab-pane {
318
- .detail-wrap .d-cont {
319
- height: calc(100vh - 116px) !important;
320
- }
321
-
322
- .grid-height {
323
- height: calc(100vh - 84px) !important;
324
- }
325
- }
326
- </style>
301
+ <style scoped lang="scss"></style>
@@ -86,7 +86,7 @@ tmixins = {
86
86
  title: oriCol.title,
87
87
  width: 150
88
88
  };
89
- if (index == 0) {
89
+ if (index === 0) {
90
90
  col.fixed = 'left';
91
91
  }
92
92
  return col;
@@ -108,7 +108,7 @@ tmixins = {
108
108
  this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
109
109
  this.resOption = opts;
110
110
  this.$nextTick(() => {
111
- let rows = this.resultType == 1 ? this.successRows : this.failRows;
111
+ let rows = this.resultType === 1 ? this.successRows : this.failRows;
112
112
  let tDatas = rows.map((item, index) => {
113
113
  return item;
114
114
  });
@@ -226,7 +226,7 @@ tmixins = {
226
226
  isLoading: true,
227
227
  failMsg: false,
228
228
  callback: res => {
229
- if (res.type == "success") {
229
+ if (res.type === "success") {
230
230
  item.resultMessage = that.$t1('成功')
231
231
  item.resultType = res.type;
232
232
  successNum++
@@ -11,12 +11,17 @@ modules = {
11
11
  props: {
12
12
  _dataId: [String, Number],
13
13
  currentFormType: Object,
14
- readonly: Boolean,
14
+ // readonly: Boolean,
15
15
  otherFlag:Boolean,
16
- extractedObj:{
16
+ extractedObj: {
17
17
  type:Object,
18
18
  default:()=> null
19
- }
19
+ },
20
+ hData:{
21
+ type:Object,
22
+ default:()=> null
23
+ },
24
+ compareHData: Object,
20
25
  },
21
26
  components: {
22
27
  projectTagView,
@@ -41,6 +46,17 @@ modules = {
41
46
  formTemplateTagDTOs: [],
42
47
  hasWf: false
43
48
  },
49
+ oldFormTemplate: {
50
+ enabled: true,
51
+ history: false,
52
+ serviceId: 'user',
53
+ formTypeCode: null,
54
+ menuKindName: null,
55
+ menuKindCode: null,
56
+ serviceName: null,
57
+ formTemplateTagDTOs: [],
58
+ hasWf: false
59
+ },
44
60
  isInited: false,
45
61
  serviceIds: ['user'],
46
62
  showMenuKindDialog: false,
@@ -50,10 +66,17 @@ modules = {
50
66
  editAuth: 0
51
67
  },
52
68
  sid: null,
53
- showOtherAuthDialog:false
69
+ showOtherAuthDialog:false,
70
+ readonly: false,
71
+ isCompare: false,
54
72
  };
55
73
  },
56
74
  created() {
75
+ if(this.hData){
76
+ this.readonly = true;
77
+ }else{
78
+ this.readonly = this.$attrs.readonly || false;
79
+ }
57
80
  if(this.extractedObj?.objx?.id){
58
81
  this.dataId = this.extractedObj.obj.id;
59
82
  }else if (this._dataId) {
@@ -78,8 +101,18 @@ modules = {
78
101
  });
79
102
  },
80
103
  getData() {
81
- if(this.extractedObj?.objx){
82
- this.initData(this.extractedObj.objx)
104
+ if(this.extractedObj){
105
+ this.dataId = this.extractedObj.id;
106
+ this.initData(this.extractedObj)
107
+ //获取操作日志数据
108
+ this.$refs['oplogTable'].initData({
109
+ param: () => {
110
+ return {
111
+ logType: "FormTemplate",
112
+ logObjCode: this.formTemplate.formCode
113
+ };
114
+ }
115
+ });
83
116
  }else if (this.dataId) {
84
117
  this.$commonHttp({
85
118
  aes: true,
@@ -117,6 +150,16 @@ modules = {
117
150
  }); */
118
151
  }
119
152
  });
153
+ } else if (this.hData){
154
+ this.isEdit = true;
155
+ this.formTemplate = this.$baseLodash.cloneDeep(this.hData);
156
+ this.dataId = this.hData.id
157
+ this.isInited = true;
158
+ this.getMenuKindAuth(this.formTemplate.menuKindCode);
159
+ if (this.compareHData && this.$attrs.isCompare) {
160
+ this.oldFormTemplate = this.$baseLodash.cloneDeep(this.compareHData);
161
+ this.isCompare = true;
162
+ }
120
163
  } else {
121
164
  this.getMenuKindAuth(this.formTemplate.menuKindCode);
122
165
  this.isInited = true;
@@ -177,12 +220,12 @@ modules = {
177
220
  getBdEnv() {
178
221
  getBdFlag({
179
222
  success: res => {
180
- this.isDev = res.objx == 1
223
+ this.isDev = res.objx === 1
181
224
  }
182
225
  });
183
226
  },
184
227
  openDesignDialog() {
185
- let readonly = !this.menuKindAuth.editAuth
228
+ let readonly = this.readonly || !this.menuKindAuth.editAuth
186
229
  this.$emit('openDesignDialog', {
187
230
  row: this.formTemplate,
188
231
  readonly,
@@ -32,7 +32,7 @@ modules = {
32
32
  this.$refs['table-m1'].commitProxy('reload');
33
33
  },
34
34
  openEditDialog(id) {
35
- this.dataId = !id || typeof id == 'object' ? 0 : id;
35
+ this.dataId = !id || typeof id === 'object' ? 0 : id;
36
36
  this.activeName = 'first';
37
37
  this.$openEditView('showEdit');
38
38
  },