cloud-web-corejs 1.0.54-dev.10 → 1.0.54-dev.101

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 (127) hide show
  1. package/package.json +9 -3
  2. package/src/components/VabUpload/index.vue +2 -1
  3. package/src/components/VabUpload/mixins.js +1 -1
  4. package/src/components/VabUpload/view.vue +2 -1
  5. package/src/components/excelExport/exportFieldDialog.vue +16 -6
  6. package/src/components/excelExport/index.js +2 -1
  7. package/src/components/excelExport/index.vue +8 -6
  8. package/src/components/excelExport/mixins.js +1 -2
  9. package/src/components/excelImport/index.vue +2 -1
  10. package/src/components/excelImport/mixins.js +1 -1
  11. package/src/components/fileLibrary/fileObjAuthDialog.vue +1 -1
  12. package/src/components/fileLibrary/fileObjAuthEditDialog.vue +1 -1
  13. package/src/components/fileLibrary/fileObjNotifyEdit.vue +90 -68
  14. package/src/components/fileLibrary/filterDialog.vue +379 -0
  15. package/src/components/fileLibrary/index.vue +26 -15
  16. package/src/components/fileLibrary/mixins/fileObjAuthDialogMixin.js +8 -3
  17. package/src/components/fileLibrary/mixins/fileObjAuthEditDialogMixin.js +4 -1
  18. package/src/components/fileLibrary/mixins/fileObjAuthEditMixin.js +1 -1
  19. package/src/components/fileLibrary/mixins/indexMixins.js +59 -17
  20. package/src/components/fileLibrary/mixins/propertiesDialogMixins.js +2 -1
  21. package/src/components/fileLibrary/propertiesDialog.vue +4 -0
  22. package/src/components/jsonImport/mixins.js +1 -1
  23. package/src/components/onlineTalk/index.vue +327 -5
  24. package/src/components/onlineTalk/mixins.js +1 -1
  25. package/src/components/table/index.js +2 -1
  26. package/src/components/tempStorage/tempStorageDialog.vue +2 -2
  27. package/src/components/wf/wf.js +1737 -1
  28. package/src/components/wf/wfUtil.js +278 -1
  29. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +1 -0
  30. package/src/components/xform/form-designer/form-widget/dialog/formDrawer.vue +1 -0
  31. package/src/components/xform/form-designer/form-widget/dialog/formFieldDialog.vue +2 -2
  32. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +35 -5
  33. package/src/components/xform/form-designer/form-widget/dialog/importDialogMixin.js +3 -1
  34. package/src/components/xform/form-designer/form-widget/dialog/preformDialog.vue +2 -2
  35. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +8 -5
  36. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +2 -2
  37. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +6 -2
  38. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +1 -0
  39. package/src/components/xform/form-designer/form-widget/field-widget/echart-bar-widget.vue +1 -1
  40. package/src/components/xform/form-designer/form-widget/field-widget/echart-category-widget.vue +1 -1
  41. package/src/components/xform/form-designer/form-widget/field-widget/echart-pie-widget.vue +1 -1
  42. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +989 -1
  43. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-bar-mixin.js +49 -8
  44. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-category-mixin.js +61 -88
  45. package/src/components/xform/form-designer/form-widget/field-widget/mixins/echart-pie-mixin.js +13 -0
  46. package/src/components/xform/form-designer/form-widget/field-widget/project-tag-widget.vue +26 -2
  47. package/src/components/xform/form-designer/form-widget/field-widget/table-export-button-widget.vue +6 -1
  48. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +79 -0
  49. package/src/components/xform/form-designer/indexMixin.js +864 -1
  50. package/src/components/xform/form-designer/setting-panel/form-setting.vue +49 -36
  51. package/src/components/xform/form-designer/setting-panel/indexMixin.js +322 -1
  52. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +6 -0
  53. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/onCheckboxChange-editor.vue +1 -1
  54. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +13 -0
  55. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/eventMixin.js +2 -2
  56. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onAfterConfirmFile-editor.vue +32 -0
  57. package/src/components/xform/form-designer/setting-panel/property-editor/event-handler/onClick-editor.vue +2 -2
  58. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +20 -1
  59. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultTime-editor.vue +27 -0
  60. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-bar-editor.vue +185 -69
  61. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-category-editor.vue +188 -86
  62. package/src/components/xform/form-designer/setting-panel/property-editor/field-echart/echart-pie-editor.vue +84 -39
  63. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import-button-editor.vue +3 -0
  64. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/table-export-button-editor.vue +26 -7
  65. package/src/components/xform/form-designer/setting-panel/property-editor/placeholder-editor.vue +1 -1
  66. package/src/components/xform/form-designer/setting-panel/property-editor/project-tag-editor.vue +66 -0
  67. package/src/components/xform/form-designer/setting-panel/property-editor/showRuleFlag-editor.vue +1 -1
  68. package/src/components/xform/form-designer/setting-panel/property-editor/wfFlag-editor.vue +269 -27
  69. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -0
  70. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +57 -7
  71. package/src/components/xform/form-render/container-item/data-table-item.vue +5 -4
  72. package/src/components/xform/form-render/container-item/data-table-mixin.js +1881 -1
  73. package/src/components/xform/form-render/indexMixin.js +1680 -1
  74. package/src/components/xform/utils/emitter.js +4 -4
  75. package/src/layout/components/Sidebar/default.vue +18 -6
  76. package/src/mixins/selectDialog/index.js +1 -1
  77. package/src/router/modules/customer.js +15 -0
  78. package/src/store/config/index.js +1 -1
  79. package/src/store/modules/permission.js +1 -1
  80. package/src/store/modules/user.js +302 -1
  81. package/src/utils/pddLog.js +103 -0
  82. package/src/utils/request.js +28 -28
  83. package/src/utils/vab.js +1 -1
  84. package/src/views/bd/setting/form_template/batchWfObjConfigDialog.vue +105 -0
  85. package/src/views/bd/setting/form_template/edit.vue +2 -2
  86. package/src/views/bd/setting/form_template/editWfObjConfigDialog.vue +2 -2
  87. package/src/views/bd/setting/form_template/list.vue +4 -2
  88. package/src/views/bd/setting/form_template/mixins/batchWfObjConfigDialog.js +4 -0
  89. package/src/views/bd/setting/form_template/mixins/edit.js +1 -1
  90. package/src/views/bd/setting/form_template/mixins/list.js +1 -1
  91. package/src/views/bd/setting/form_template/mixins/wf_list.js +434 -0
  92. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +254 -0
  93. package/src/views/bd/setting/form_template/wf_list.vue +127 -0
  94. package/src/views/bd/setting/menu_kind/mixins/authDialog.js +1 -254
  95. package/src/views/bd/setting/table_model/edit.vue +1 -1
  96. package/src/views/bd/setting/table_model/list.vue +4 -2
  97. package/src/views/bd/setting/table_model/mixins/list.js +14 -14
  98. package/src/views/user/area/dialog.vue +21 -8
  99. package/src/views/user/bill_setting/edit.vue +1 -1
  100. package/src/views/user/bill_setting/list.vue +1 -1
  101. package/src/views/user/common_attribute/itemEdit.vue +2 -2
  102. package/src/views/user/common_attribute/list.vue +1 -1
  103. package/src/views/user/common_script/edit.vue +1 -1
  104. package/src/views/user/common_script/list.vue +1 -1
  105. package/src/views/user/company_info/dialog.vue +19 -9
  106. package/src/views/user/company_info/edit.vue +1 -1
  107. package/src/views/user/extend_datasource/dialog.vue +1 -0
  108. package/src/views/user/extend_datasource/edit.vue +3 -0
  109. package/src/views/user/extend_datasource/list.vue +2 -1
  110. package/src/views/user/file_type/edit.vue +30 -1
  111. package/src/views/user/file_type/list.vue +28 -0
  112. package/src/views/user/groups/edit.vue +2 -0
  113. package/src/views/user/groups/list.vue +1 -0
  114. package/src/views/user/home/dev.vue +29 -0
  115. package/src/views/user/home/index.vue +16 -6
  116. package/src/views/user/login/default.vue +4 -2
  117. package/src/views/user/outLink/form_view.vue +39 -12
  118. package/src/views/user/outLink/index.vue +17 -0
  119. package/src/views/user/outLink/view.vue +39 -13
  120. package/src/views/user/push_setting/list.vue +2 -2
  121. package/src/views/user/user/edit.vue +9 -9
  122. package/src/views/user/user/form_edit.vue +117 -49
  123. package/src/views/user/user/form_info.vue +210 -0
  124. package/src/views/user/user/form_list.vue +1 -0
  125. package/src/views/user/user/list.vue +3 -3
  126. package/src/views/user/wf/wf_obj_config/list.vue +19 -3
  127. package/src/views/user/wf/wf_obj_config/wfBizDataSettingDialog.vue +292 -0
@@ -0,0 +1,434 @@
1
+ import tableForm from "@base/components/table/tableForm.vue";
2
+ import editView from "@base/views/bd/setting/form_template/edit.vue";
3
+ import itemList from "@base/views/bd/setting/form_template/itemList.vue";
4
+ import formScriptList from "@base/views/bd/setting/form_script/form_list.vue";
5
+ import indexUtil from "@base/utils";
6
+ import {getBdFlag} from "@base/api/user";
7
+ import designer from "@base/views/user/form/vform/designer.vue";
8
+ import {getJsxBtnList, getJsxStatus} from "@base/views/bd/setting/utils/index";
9
+
10
+ let modules = {};
11
+ modules = {
12
+ name: 'bd_form_template:list',
13
+ components: {
14
+ tableForm,
15
+ editView,
16
+ itemList,
17
+ formScriptList,
18
+ designer
19
+ },
20
+ data() {
21
+ return {
22
+ isFullscreen: false,
23
+ formDesTabs: 'first',
24
+ activeName: 'second',
25
+ dataId: 0,
26
+ showEdit: false,
27
+ vxeOption: {},
28
+ formData: {
29
+ menuKindCode: null,
30
+ menuKindName: null
31
+ },
32
+ showDesingerDialog: false,
33
+ formCode: null,
34
+ formName: null,
35
+ templateId: null,
36
+ currentFormTemplate: null,
37
+
38
+ showItemEdit: false,
39
+ showParamEdit: false,
40
+ vxeOption1: {},
41
+ editId: '',
42
+ itemEditId: '',
43
+ pRow: null,
44
+ currentRow: {},
45
+ serviceId: null,
46
+ itemServiceId: null,
47
+
48
+ showWfDialog: false,
49
+ wfUrl: '',
50
+ ph: '',
51
+ dialogActiveName: 'first',
52
+ showFunctionScriptList: false,
53
+ showUserDialog: false,
54
+ wfAssignData: [],
55
+ wfAssignCallback: null,
56
+ wfAssignMulti: true,
57
+
58
+ showPositionDialog: false,
59
+ wfAssignPositionData: [],
60
+ wfAssignPositionCallback: null,
61
+
62
+ showFormTemplateDialog: false,
63
+ wfAssignFormTemplateCallback: null,
64
+
65
+ showScriptDescriptionDialog: false,
66
+ showWfDiyAttributeEdit: false,
67
+
68
+ showFtHistoryDialog: false,
69
+ operateFtHistory: null,
70
+
71
+ defaultProps: {
72
+ label: 'name', //这里是树结构中需显示的数据(即接口返回的需展示在页面上的参数)
73
+ children: [],
74
+ isLeaf: 'leaf'
75
+ },
76
+ showItemView: false,
77
+
78
+ currentFormType: {},
79
+ editFormTypeId: null,
80
+ showFormTypeDialog: false,
81
+ showFormScriptList: false,
82
+ addProjectTagOption: {
83
+ url: USER_PREFIX + `/formTemplate/saveTag`,
84
+ tableDatas: () => {
85
+ return this.$refs["table-m1"].getCheckboxRecords(true);
86
+ },
87
+ reqData: (tagDatas, tableDatas) => {
88
+ let sids = tableDatas.map(item => item.sid);
89
+ let tagCodes = tagDatas.map(item => item.tagCode);
90
+ let reqData = {
91
+ tagCodes,
92
+ sids
93
+ };
94
+ return reqData;
95
+ },
96
+ callback: () => {
97
+ this.searchEvent()
98
+ }
99
+ },
100
+ deleteProjectTagOption: {
101
+ url: USER_PREFIX + `/formTemplate/deleteTag`,
102
+ tableDatas: () => {
103
+ return this.$refs["table-m1"].getCheckboxRecords(true);
104
+ },
105
+ reqData: (tagDatas, tableDatas) => {
106
+ let sids = tableDatas.map(item => item.sid);
107
+ let tagCodes = tagDatas.map(item => item.tagCode);
108
+ let reqData = {
109
+ tagCodes,
110
+ sids
111
+ };
112
+ return reqData;
113
+ },
114
+ callback: () => {
115
+ this.searchEvent()
116
+ }
117
+ },
118
+ showProjectTagDialog3: false,
119
+ checkTags: [],
120
+ isDev: true,
121
+ menuKindAuth: {},
122
+ showTree: false,
123
+
124
+ showWfObjConfigDialog: false,
125
+ formTemplate: null,
126
+ showMenuKindDialog: false,
127
+ showCompanyInfoDialog: false,
128
+
129
+ showBatchWfObjConfigDialog: false,
130
+ formTemplates: []
131
+ };
132
+ },
133
+ computed: {
134
+ currentMenuKindId() {
135
+ return this.currentFormType?.id || null
136
+ },
137
+ currentMenuKindName() {
138
+ return this.currentFormType?.name || null
139
+ }
140
+ },
141
+ watch: {
142
+ formDesTabs(val) {
143
+ if (this.showFormScriptList == false && val == 'second') {
144
+ this.showFormScriptList = true;
145
+ }
146
+ }
147
+ },
148
+ mounted() {
149
+ this.getBdEnv();
150
+ this.initTableList();
151
+ this.initWfWinParam();
152
+ },
153
+ methods: {
154
+ searchEvent() {
155
+ this.$refs['table-m1'].commitProxy('reload');
156
+ },
157
+ resetEvent() {
158
+ this.formData = {};
159
+ this.checkTags = [];
160
+ this.$refs['table-m1'].commitProxy('reload');
161
+ },
162
+ openEditDialog(row) {
163
+ let formCode = row?.formCode || null;
164
+ /*this.dataId = !id || typeof id == 'object' ? 0 : id;
165
+ this.activeName = 'first';
166
+ this.showItemEdit = false;
167
+ this.$openEditView('showEdit');*/
168
+ if (!formCode) {
169
+ this.dataId = formCode;
170
+ this.activeName = 'first';
171
+ this.$openEditView('showEdit');
172
+ } else {
173
+ this.$refs.xTabs.openEditTab(row);
174
+ }
175
+
176
+ },
177
+ openDesingerDialog(row, callback) {
178
+ this.formCode = row.formCode;
179
+ this.formName = row.formName;
180
+ this.currentFormTemplate = row;
181
+ this.isFullscreen = false;
182
+ this.showDesingerDialog = true;
183
+ this.designerSaveCallback = callback ?? null;
184
+ },
185
+ openDesingerDialogByChild({row, callback}) {
186
+ this.openDesingerDialog(row, callback)
187
+ },
188
+ reflushTemplateList() {
189
+ this.searchEvent();
190
+ this.designerSaveCallback && this.designerSaveCallback();
191
+ },
192
+ handleFullscreen() {
193
+ let isFullscreen = this.isFullscreen;
194
+ if (!isFullscreen) {
195
+ indexUtil.addClass(document.body, "hideMenu");
196
+ } else {
197
+ indexUtil.removeClass(document.body, "hideMenu");
198
+ }
199
+ this.isFullscreen = !isFullscreen;
200
+ },
201
+ openFtHistoryDialog(row) {
202
+ this.operateFtHistory = row;
203
+ this.showFtHistoryDialog = true;
204
+ },
205
+ confirmFtHistoryDialog(row) {
206
+ this.searchEvent();
207
+ },
208
+ closeFormDesignwinEvent(done) {
209
+ this.$baseConfirm(this.$t1('请确认"已保存"报表模板,是否继续关闭?')).then(() => {
210
+ indexUtil.removeClass(document.body, "hideMenu");
211
+ done && done();
212
+ });
213
+ },
214
+ getSearchParam() {
215
+ return {
216
+ ...this.formData
217
+ };
218
+ },
219
+ initTableList() {
220
+ let that = this;
221
+ let tableOption = {
222
+ vue: this,
223
+ tableRef: 'table-m1',
224
+ tableName: 'bd_form_template_list-m2',
225
+ path: USER_PREFIX + '/formTemplate/listPageWf',
226
+ param: () => {
227
+ return this.getSearchParam();
228
+ },
229
+ columns: [
230
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
231
+ {
232
+ title: this.$t1('模板名称'),
233
+ field: 'formName',
234
+ width: 250,
235
+ fixed: 'left'
236
+ },
237
+ {
238
+ title: this.$t1('模板编码'),
239
+ field: 'formCode',
240
+ width: 250
241
+ },
242
+ {field: 'menuKindName', title: this.$t1('表单分类'), width: 200},
243
+ {field: 'serviceName', title: this.$t1('服务名'), width: 150},
244
+ {field: 'objTypeName', title: this.$t1('默认流程单据类型名称'), width: 200},
245
+ {field: 'companyNames', title: this.$t1('组织名称'), width: 250},
246
+ {
247
+ title: this.$t1('更新时间'),
248
+ field: 'modifyDate',
249
+ width: 150
250
+ },
251
+ {
252
+ title: this.$t1('创建时间'),
253
+ field: 'createDate',
254
+ width: 150
255
+ },
256
+ {
257
+ width: 47,
258
+ fixed: 'right',
259
+ title: '',
260
+ sortable: false,
261
+ slots: {
262
+ default: ({row}) => {
263
+ return getJsxBtnList([
264
+ {
265
+ iconName: "iconfont icon-liuchengguanli-shejiqi_liucheng",
266
+ content: this.$t1('设置组织流程单据类型'),
267
+ onclick: () => {
268
+ this.openWfObjConfigDialog(row);
269
+ }
270
+ }
271
+ ]);
272
+ }
273
+ }
274
+ }
275
+ ],
276
+ searchColumns: [
277
+ {title: this.$t1('模板名称'), field: "formName", type: "input", common: true},
278
+ {title: this.$t1('模板编码'), field: "formCode", type: "input", common: true},
279
+ {title: this.$t1('组织名称'), field: "companyNames", type: "input", common: true},
280
+ {title: this.$t1('表单分类'), field: "menuKindName", type: "input", common: true, slot: "menuKindName"},
281
+
282
+ ],
283
+ config: {},
284
+ };
285
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
286
+ this.vxeOption = opts;
287
+ this.showTree = true;
288
+ });
289
+ },
290
+ chooseCellM1(row) {
291
+ this.currentRow = row;
292
+ this.showItemView = true;
293
+ },
294
+ openWfDesignDialog(actModelId) {
295
+ //wfType 0:单据流程,1:场景流程
296
+ let serviceId = this.currentRow.serviceName;
297
+ this.wfUrl = WEB_PREFIX + '/activiti-explorer/modeler.html?wfType=0&serviceId=' + serviceId + '&modelId=' + actModelId;
298
+ this.dialogActiveName = 'first';
299
+ this.showWfDialog = true;
300
+ },
301
+ closeDesignwinEvent(done) {
302
+ this.$baseConfirm(this.$t1('请确认"已保存"流程模板,是否继续关闭?')).then(() => {
303
+ this.showWfDialog = false;
304
+ // this.showDesingerDialog = false;
305
+ });
306
+ },
307
+ initWfWinParam() {
308
+ this.initCloseWfDesignWin();
309
+ this.initWinUserDialog();
310
+ this.initWinPositionDialog();
311
+ this.initSysParamForWf();
312
+ this.initWinFormTemplateDialog();
313
+ this.initWinScriptDescriptionDialog();
314
+ },
315
+ initCloseWfDesignWin() {
316
+ window.closeWfDesignWin = () => {
317
+ this.showWfDialog = false;
318
+ };
319
+ },
320
+ initWinUserDialog() {
321
+ window.openAssignUserDialog = opts => {
322
+ this.wfAssignMulti = opts.multi;
323
+ this.wfAssignData = opts.data || [];
324
+ this.wfAssignCallback = opts.callback;
325
+ this.showUserDialog = true;
326
+ };
327
+ },
328
+ confirmUser(rows) {
329
+ this.wfAssignCallback(rows);
330
+ },
331
+ initWinPositionDialog() {
332
+ window.openAssignPositionDialog = opts => {
333
+ this.wfAssignPositionData = opts.data || [];
334
+ this.wfAssignPositionCallback = opts.callback;
335
+ this.showPositionDialog = true;
336
+ };
337
+ },
338
+ initSysParamForWf() {
339
+ let webPrefix = WEB_PREFIX;
340
+ let baseApi = process.env.VUE_APP_BASE_API;
341
+ window.sysParamForWf = {
342
+ webPrefix,
343
+ baseApi
344
+ }
345
+ },
346
+ confirmPosition(rows) {
347
+ this.wfAssignPositionCallback(rows);
348
+ },
349
+ initWinFormTemplateDialog() {
350
+ window.openAssignFormTemplateDialog = opts => {
351
+ this.wfAssignFormTemplateCallback = opts.callback;
352
+ this.showFormTemplateDialog = true;
353
+ };
354
+ },
355
+ confirmFormTemplate(rows) {
356
+ this.wfAssignFormTemplateCallback(rows);
357
+ },
358
+ initWinScriptDescriptionDialog() {
359
+ window.openScriptDescriptionDialog = opts => {
360
+ this.showScriptDescriptionDialog = true;
361
+ };
362
+ },
363
+ handleFormDesignClose() {
364
+ this.formDesTabs = 'first';
365
+ this.showFormScriptList = false;
366
+ },
367
+ openProjectTagDialog3() {
368
+ this.showProjectTagDialog3 = true;
369
+ },
370
+ confirmProjectTagDialog3(rows) {
371
+ this.checkTags = rows;
372
+ },
373
+ getTabNames() {
374
+ return this.checkTags.map(item => item.tagName).join(",");
375
+ },
376
+ jsonImport() {
377
+ this.$jsonImport({
378
+ saveUrl: USER_PREFIX + '/form_develop/importFormTemplate',
379
+ showResult: true,
380
+ resultColumns: [
381
+ {title: this.$t1('模板名称'), field: "formName", type: "input", common: true},
382
+ {title: this.$t1('模板编码'), field: "formCode", type: "input", common: true},
383
+ ],
384
+ callback: () => {
385
+ this.searchEvent();
386
+ }
387
+ });
388
+ },
389
+ jsonExport() {
390
+ this.$jsonExport({
391
+ targetRef: "table-m1",
392
+ url: USER_PREFIX + "/form_develop/exportFormTemplate",
393
+ abcEnabled: true,
394
+ editAuth: this.currentFormType.editAuth,
395
+ selectTypeAuth: this.currentFormType.selectTypeAuth
396
+ })
397
+ },
398
+ getBdEnv() {
399
+ getBdFlag({
400
+ success: res => {
401
+ this.isDev = res.objx == 1
402
+ }
403
+ });
404
+ },
405
+ openWfObjConfigDialog(row) {
406
+ this.formTemplate = row;
407
+ this.showWfObjConfigDialog = true;
408
+
409
+ },
410
+ confirmWfObjConfigDialog() {
411
+ this.searchEvent();
412
+ },
413
+ confirmInsertMenuKind(rows) {
414
+ if (rows.length) {
415
+ let row = rows[0];
416
+ this.formData.menuKindCode = row.menuKindCode;
417
+ this.formData.menuKindName = row.name;
418
+ }
419
+ },
420
+ openBatchWfObjConfigDialog() {
421
+ let checkRows = this.$refs['table-m1'].getCheckboxRecords(true);
422
+ if (!checkRows.length) {
423
+ this.$baseAlert(this.$t1('请选择需要处理的数据'));
424
+ return;
425
+ }
426
+ this.formTemplates = checkRows;
427
+ this.showBatchWfObjConfigDialog = true;
428
+ },
429
+ confirmBatchWfObjConfigDialog() {
430
+ this.searchEvent()
431
+ }
432
+ }
433
+ };
434
+ export default modules
@@ -0,0 +1,254 @@
1
+ <template>
2
+ <el-dialog
3
+ :title="'设置组织流程单据类型('+formTemplate.formName+')'"
4
+ :append-to-body="true"
5
+ :modal-append-to-body="true"
6
+ :close-on-click-modal="false"
7
+ :visible.sync="dialogVisible"
8
+ :modal="false"
9
+ custom-class="dialog-style list-dialog dialog-checkbox pd_0"
10
+ width="1200px"
11
+ @close="closeDialog"
12
+ v-el-drag-dialog
13
+ v-el-dialog-center
14
+ >
15
+ <div class="cont">
16
+ <div id="containt">
17
+ <el-form ref="editForm" :model="formData">
18
+ <div class="grid-height" style="height: 500px">
19
+ <vxe-grid
20
+ class="is-pointer"
21
+ ref="table-m1"
22
+ :data="formData.wfObjConfigDTOs"
23
+ v-bind="vxeOption"
24
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
25
+ @custom="$vxeTableUtil.customHandle"
26
+ >
27
+ <template #form>
28
+ <div class="clearfix screen-btns">
29
+ <div class="fl">
30
+ <vxe-button status="primary" class="button-sty" icon="el-icon-plus"
31
+ @click="openCompanyDialog">
32
+ 新增
33
+ </vxe-button>
34
+ <span class="button-sty tips">{{ $t1('选择表单所在的组织,填写组织对应的流程单据类型数据。') }}</span>
35
+ </div>
36
+ </div>
37
+ </template>
38
+ <template #objTypeName="{row,rowIndex}">
39
+ <el-form-item :prop="'wfObjConfigDTOs.'+rowIndex+'.objTypeName'"
40
+ :rules="[{ required: true, trigger: 'blur' }]">
41
+ <el-input v-model="row.objTypeName" clearable></el-input>
42
+ </el-form-item>
43
+ </template>
44
+ <template #operate="{row}">
45
+ <a
46
+ href="javascript:void(0);"
47
+ class="a-link"
48
+ @click="openEditDialog(row.id)"
49
+ >
50
+ <el-tooltip :enterable="false" effect="dark" :content="$t2('查看','common.view')" placement="top"
51
+ popper-class="tooltip-skin">
52
+ <i class="el-icon-edit"/>
53
+ </el-tooltip>
54
+ </a>
55
+ </template>
56
+ </vxe-grid>
57
+ </div>
58
+ </el-form>
59
+ </div>
60
+ </div>
61
+ <span slot="footer" class="dialog-footer">
62
+ <el-button type="primary" plain class="button-sty" @click="closeDialog">
63
+ <i class="el-icon-close el-icon"></i>
64
+ 取 消
65
+ </el-button>
66
+ <el-button type="primary" @click="saveData" class="button-sty">
67
+ <i class="el-icon-check el-icon"></i>
68
+ 确 定
69
+ </el-button>
70
+ </span>
71
+ <companyInfoDialog v-if="showCompanyInfoDialog" :visiable.sync="showCompanyInfoDialog"
72
+ @confirm="confirmCompanyDialog" :multi="true" :allCompany="true"/>
73
+ </el-dialog>
74
+ </template>
75
+ <script>
76
+ import companyInfoDialog from "@base/views/user/company_info/dialog.vue";
77
+ import fileObjNotifyEdit from "@base/components/fileLibrary/fileObjNotifyEdit.vue";
78
+
79
+ export default {
80
+ components: {fileObjNotifyEdit, companyInfoDialog},
81
+ props: ['formTemplate'],
82
+ data() {
83
+ return {
84
+ dialogVisible: true,
85
+ formData: {
86
+ objTypeCode: null,
87
+ wfObjConfigDTOs: []
88
+ },
89
+ operateIndex: 0,
90
+ showCompanyInfoDialog: false,
91
+ vxeOption: {}
92
+ }
93
+ },
94
+ created() {
95
+
96
+ },
97
+ mounted() {
98
+ this.formData.objTypeCode = this.formTemplate.objTypeCode;
99
+ this.getListByObjTypeCode();
100
+ this.initTableList()
101
+ },
102
+ methods: {
103
+ getListByObjTypeCode(callback) {
104
+ let formTemplate = this.formTemplate
105
+ this.$http({
106
+ url: `/${formTemplate.serviceName}/wf_obj_config/listByObjTypeCode`,
107
+ method: `post`,
108
+ data: {
109
+ stringOne: formTemplate.objTypeCode
110
+ },
111
+ isLoading: true,
112
+ success: res => {
113
+ let rows = res.objx || [];
114
+ this.formData.wfObjConfigDTOs = rows;
115
+ callback && callback(rows)
116
+ }
117
+ });
118
+ },
119
+ saveData() {
120
+ this.$refs.editForm.$baseValidate(valid => {
121
+ if (valid) {
122
+ this.$baseConfirm(this.$t1('您确定要保存吗?')).then(() => {
123
+ var url = `/${this.formTemplate.serviceName}/wf_obj_config/saveUpdates`;
124
+ this.$http({
125
+ url: url,
126
+ method: `post`,
127
+ data: this.formData,
128
+ isLoading: true,
129
+ success: res => {
130
+ this.$message({
131
+ message: res.content,
132
+ type: 'success',
133
+ duration: 1000
134
+ });
135
+ this.getListByObjTypeCode(rows => {
136
+ this.$emit('confirm', rows)
137
+ this.closeDialog();
138
+ })
139
+ }
140
+ });
141
+ });
142
+ }
143
+ });
144
+ },
145
+ addItem() {
146
+ let formTemplate = this.formTemplate;
147
+ let row = {
148
+ objTypeCode: formTemplate.objTypeCode,
149
+ objTypeName: formTemplate.objTypeName,
150
+ serviceId: formTemplate.serviceName,
151
+ url: "form",
152
+ companyCode: null,
153
+ companyName: null
154
+ }
155
+ this.formData.wfObjConfigDTOs.push(row);
156
+ },
157
+ closeDialog() {
158
+ this.dialogVisible = false;
159
+ this.$emit("update:visiable", false);
160
+ },
161
+ openCompanyDialog() {
162
+ this.showCompanyInfoDialog = true;
163
+ },
164
+ confirmCompanyDialog(rows) {
165
+ if (rows.length) {
166
+ let row = rows[0];
167
+ let formTemplate = this.formTemplate;
168
+ let companyCodes = this.formData.wfObjConfigDTOs.map(item => item.companyCode)
169
+ let items = rows.filter(item => !companyCodes.includes(item.companyCode)).map(item => {
170
+ return {
171
+ objTypeCode: formTemplate.objTypeCode,
172
+ objTypeName: formTemplate.objTypeName,
173
+ serviceId: formTemplate.serviceName,
174
+ url: "form",
175
+ companyCode: row.companyCode,
176
+ companyName: row.companyName
177
+ }
178
+ })
179
+ this.formData.wfObjConfigDTOs.push(...items);
180
+ }
181
+ },
182
+ initTableList() {
183
+ let that = this;
184
+ let tableOption = {
185
+ vue: this,
186
+ tableRef: 'table-m1',
187
+ tableName: 'user_form_template-wfObj-list-m1',
188
+ config: {
189
+ height: "auto"
190
+ },
191
+ columns: [
192
+ {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
193
+ {
194
+ title: this.$t1('单据类型名称'),
195
+ field: 'objTypeName',
196
+ width: 250,
197
+ slots: {
198
+ default: "objTypeName"
199
+ }
200
+ },
201
+ {
202
+ title: this.$t1('组织名称'),
203
+ field: 'companyName',
204
+ width: 200,
205
+ },
206
+ {
207
+ title: this.$t1('单据类型编码'),
208
+ field: 'objTypeCode',
209
+ width: 200
210
+ },
211
+ {
212
+ title: this.$t1('服务名'),
213
+ field: 'serviceId',
214
+ width: 150
215
+ },
216
+ {
217
+ width: 100,
218
+ fixed: 'right',
219
+ title: '',
220
+ sortable: false,
221
+ slots: {
222
+ default: ({row, rowIndex, $table}) => {
223
+ return [
224
+ <a
225
+ href="javascript:void(0);"
226
+ class="a-link"
227
+ onClick={() => {
228
+ this.formData.wfObjConfigDTOs.splice(rowIndex, 1)
229
+ }}
230
+ >
231
+ <el-tooltip enterable={false} effect="dark" content="删除" placement="top"
232
+ popper-class="tooltip-skin">
233
+ <i class="el-icon-delete"/>
234
+ </el-tooltip>
235
+ </a>
236
+ ];
237
+ }
238
+ }
239
+ }
240
+ ]
241
+ };
242
+ this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
243
+ this.vxeOption = opts;
244
+ });
245
+ // this.initData();
246
+ },
247
+ }
248
+ }
249
+ </script>
250
+
251
+
252
+ <style scoped>
253
+
254
+ </style>