cloud-web-corejs 1.0.54-dev.404 → 1.0.54-dev.406

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.
@@ -1,10 +1,8 @@
1
- import emitter from '../../../components/xform/utils/emitter';
2
- import i18n, {
3
- changeLocale
4
- } from '../../../components/xform/utils/i18n';
5
- import Vue from 'vue'
6
- import dynamicDialogRender from './dynamicDialogRender.js';
7
- import VFormRender from '../../../components/xform/form-render/index.vue'
1
+ import emitter from "../../../components/xform/utils/emitter";
2
+ import i18n, { changeLocale } from "../../../components/xform/utils/i18n";
3
+ import Vue from "vue";
4
+ import dynamicDialogRender from "./dynamicDialogRender.js";
5
+ import VFormRender from "../../../components/xform/form-render/index.vue";
8
6
  import {
9
7
  generateId,
10
8
  deepClone,
@@ -22,8 +20,9 @@ import {
22
20
  getContainerWidgetByName,
23
21
  cloneFormConfigWithoutEventHandler,
24
22
  loopHandleWidget,
25
- traverseAllWidgetsNew, columnFormatMap
26
- } from '../../../components/xform/utils/util';
23
+ traverseAllWidgetsNew,
24
+ columnFormatMap,
25
+ } from "../../../components/xform/utils/util";
27
26
  import {
28
27
  containers,
29
28
  advancedFields,
@@ -31,17 +30,17 @@ import {
31
30
  customFields,
32
31
  businessFields,
33
32
  hiddenWidgetTypesOfWf,
34
- freeWidgetTypesOfWf
35
- } from "../../../components/xform/form-designer/widget-panel/widgetsConfig.js"
33
+ freeWidgetTypesOfWf,
34
+ } from "../../../components/xform/form-designer/widget-panel/widgetsConfig.js";
36
35
  import scriptHttpMixin from "../../../components/xform/mixins/scriptHttp";
37
36
  import defaultHandleMixin from "../../../components/xform/mixins/defaultHandle";
38
37
  import xeUtils from "xe-utils";
39
- import {extendDeeply} from "@base/utils/index.js";
40
- import '@base/components/xform/utils/directive'
41
- import html2Canvas from 'html2canvas'
42
- import JsPDF from 'jspdf'
43
- import formulaDialog from '@base/components/xform/form-designer/form-widget/dialog/formulaDialog.vue'
44
- import baseFormulaDialog from '@base/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue'
38
+ import { extendDeeply } from "@base/utils/index.js";
39
+ import "@base/components/xform/utils/directive";
40
+ import html2Canvas from "html2canvas";
41
+ import JsPDF from "jspdf";
42
+ import formulaDialog from "@base/components/xform/form-designer/form-widget/dialog/formulaDialog.vue";
43
+ import baseFormulaDialog from "@base/components/xform/form-designer/form-widget/dialog/baseFormulaDialog.vue";
45
44
 
46
45
  let modules = {};
47
46
  const baseRefUtil = {
@@ -64,66 +63,71 @@ const baseRefUtil = {
64
63
  runDataSourceRequest,
65
64
  getContainerWidgetByName,
66
65
  cloneFormConfigWithoutEventHandler,
67
- dynamicDialogRender
66
+ dynamicDialogRender,
68
67
  };
69
68
 
70
69
  modules = {
71
- componentName: 'VFormRender',
70
+ componentName: "VFormRender",
72
71
  components: {
73
72
  formulaDialog,
74
- baseFormulaDialog
73
+ baseFormulaDialog,
75
74
  },
76
- mixins: [baseRefUtil.emitter, baseRefUtil.i18n, scriptHttpMixin, defaultHandleMixin],
75
+ mixins: [
76
+ baseRefUtil.emitter,
77
+ baseRefUtil.i18n,
78
+ scriptHttpMixin,
79
+ defaultHandleMixin,
80
+ ],
77
81
  props: {
78
82
  formJson: {
79
83
  //prop传入的表单JSON配置
80
84
  type: Object,
81
- default: () => buildDefaultFormJson()
85
+ default: () => buildDefaultFormJson(),
82
86
  },
83
87
  formData: {
84
88
  //prop传入的表单数据
85
89
  type: Object,
86
- default: () => ({})
90
+ default: () => ({}),
87
91
  },
88
92
  optionData: {
89
93
  //prop传入的选项数据
90
94
  type: Object,
91
- default: () => ({})
95
+ default: () => ({}),
92
96
  },
93
97
  previewState: {
94
98
  //是否表单预览状态
95
99
  type: Boolean,
96
- default: false
100
+ default: false,
97
101
  },
98
102
  disabledMode: {
99
103
  type: Boolean,
100
- default: !1
104
+ default: !1,
101
105
  },
102
106
  globalDsv: {
103
107
  type: Object,
104
108
  default: function () {
105
109
  return {};
106
- }
110
+ },
107
111
  },
108
112
  parentForm: {
109
113
  type: Object,
110
- default: null
114
+ default: null,
111
115
  },
112
116
  dynamicCreation: {
113
117
  type: Boolean,
114
- default: !1
118
+ default: !1,
115
119
  },
116
120
  reportTemplate: {
117
121
  type: Object,
118
- default: null
122
+ default: null,
119
123
  },
120
124
  dataId: {
121
- type: [Number,String],
122
- default: null
125
+ type: [Number, String],
126
+ default: null,
123
127
  },
124
128
  param: {
125
129
  type: Object,
126
- default: null
130
+ default: null,
127
131
  },
128
132
  },
129
133
  provide() {
@@ -144,7 +148,7 @@ modules = {
144
148
  },
145
149
  globalModel: {
146
150
  formModel: this.formDataModel,
147
- formData: this.currentFormData
151
+ formData: this.currentFormData,
148
152
  },
149
153
  previewState: this.previewState,
150
154
  getReadMode: function () {
@@ -154,7 +158,7 @@ modules = {
154
158
  return !1;
155
159
  },
156
160
  getSubFormName: function () {
157
- return '';
161
+ return "";
158
162
  },
159
163
  doScriptAccess: this.doScriptAccess,
160
164
  formHttp: this.formHttp,
@@ -162,7 +166,7 @@ modules = {
162
166
  getObjectFieldFlag: () => !1,
163
167
  getObjectName: () => "",
164
168
  getHasWf: () => this.hasWf,
165
- hasConfig: this.hasConfig
169
+ hasConfig: this.hasConfig,
166
170
  };
167
171
  },
168
172
  data() {
@@ -202,12 +206,12 @@ modules = {
202
206
  wfModifyEnabled: false,
203
207
 
204
208
  fileReferenceDialogOption: null,
205
- showFileReferenceDialog:false,
209
+ showFileReferenceDialog: false,
206
210
 
207
- formulaDialogOption:null,
208
- formulaDialogVisible:false,
209
- baseFormulaDialogOption:null,
210
- baseFormulaDialogVisible:false
211
+ formulaDialogOption: null,
212
+ formulaDialogVisible: false,
213
+ baseFormulaDialogOption: null,
214
+ baseFormulaDialogVisible: false,
211
215
  };
212
216
  },
213
217
  computed: {
@@ -224,15 +228,15 @@ modules = {
224
228
  return this.formConfig.labelPosition;
225
229
  }
226
230
 
227
- return 'left';
231
+ return "left";
228
232
  },
229
233
 
230
234
  labelWidth() {
231
235
  if (!!this.formConfig && !!this.formConfig.labelWidth) {
232
- return this.formConfig.labelWidth + 'px';
236
+ return this.formConfig.labelWidth + "px";
233
237
  }
234
238
 
235
- return '112px';
239
+ return "112px";
236
240
  },
237
241
 
238
242
  size() {
@@ -240,18 +244,20 @@ modules = {
240
244
  return this.formConfig.size;
241
245
  }
242
246
 
243
- return 'medium';
247
+ return "medium";
244
248
  },
245
249
 
246
250
  customClass() {
247
- return !!this.formConfig && !!this.formConfig.customClass ? this.formConfig.customClass : '';
248
- }
251
+ return !!this.formConfig && !!this.formConfig.customClass
252
+ ? this.formConfig.customClass
253
+ : "";
254
+ },
249
255
  },
250
256
  watch: {
251
257
  //
252
258
  },
253
259
  async created() {
254
- this.registerFormToRefList()
260
+ this.registerFormToRefList();
255
261
  this.currentFormData = this.formData;
256
262
  let formConfig = this.formConfig;
257
263
  await this.initUserInfo();
@@ -266,7 +272,7 @@ modules = {
266
272
  this.handleCustomEvent(formConfig.formScriptSuccess);
267
273
  });
268
274
  } else {
269
- this.hanldeCommonWidget2();//处理组件显隐,可编辑
275
+ this.hanldeCommonWidget2(); //处理组件显隐,可编辑
270
276
  this.handleShowContent();
271
277
  }
272
278
  this.handleOnCreated(),
@@ -283,29 +289,31 @@ modules = {
283
289
  * @param {Object} data - 原始对象 支持-数组、key-value对象、字符串
284
290
  * @param {String} type hump-转驼峰 toLine-转下划线
285
291
  */
286
- formatHumpLineTransfer(data, type = 'hump') {
287
- let hump = ''
292
+ formatHumpLineTransfer(data, type = "hump") {
293
+ let hump = "";
288
294
  // 转换对象中的每一个键值为驼峰的递归
289
295
  let formatTransferKey = (data) => {
290
296
  if (data instanceof Array) {
291
- data.forEach(item => formatTransferKey(item))
297
+ data.forEach((item) => formatTransferKey(item));
292
298
  } else if (data instanceof Object) {
293
299
  for (let key in data) {
294
- hump = type === 'hump' ? this.formatToHump(key) : this.formatToLine(key)
295
- data[hump] = data[key]
300
+ hump =
301
+ type === "hump" ? this.formatToHump(key) : this.formatToLine(key);
302
+ data[hump] = data[key];
296
303
  if (key !== hump) {
297
- delete data[key]
304
+ delete data[key];
298
305
  }
299
306
  if (data[hump] instanceof Object) {
300
- formatTransferKey(data[hump])
307
+ formatTransferKey(data[hump]);
301
308
  }
302
309
  }
303
- } else if (typeof data === 'string') {
304
- data = type === 'hump' ? this.formatToHump(data) : this.formatToLine(data)
310
+ } else if (typeof data === "string") {
311
+ data =
312
+ type === "hump" ? this.formatToHump(data) : this.formatToLine(data);
305
313
  }
306
- }
307
- formatTransferKey(data)
308
- return data
314
+ };
315
+ formatTransferKey(data);
316
+ return data;
309
317
  },
310
318
 
311
319
  /**
@@ -313,7 +321,7 @@ modules = {
313
321
  * @param {String} value 需要转换的值
314
322
  */
315
323
  formatToHump(value) {
316
- return value.replace(/\_(\w)/g, (_, letter) => letter.toUpperCase())
324
+ return value.replace(/\_(\w)/g, (_, letter) => letter.toUpperCase());
317
325
  },
318
326
 
319
327
  /**
@@ -321,74 +329,76 @@ modules = {
321
329
  * @param {String} value
322
330
  */
323
331
  formatToLine(value) {
324
- return value.replace(/([A-Z])/g, "_$1").toLowerCase()
332
+ return value.replace(/([A-Z])/g, "_$1").toLowerCase();
325
333
  },
326
334
 
327
335
  initUserInfo() {
328
336
  return this.$http({
329
- url: USER_PREFIX + '/user/currentUser',
330
- method: 'post',
337
+ url: USER_PREFIX + "/user/currentUser",
338
+ method: "post",
331
339
  // isLoading: true,
332
340
  // loadingTarget: document.body,
333
341
  modalStrictly: true,
334
- success: res => {
342
+ success: (res) => {
335
343
  let userInfo = res.objx;
336
- let row = this.formatHumpLineTransfer(userInfo, "toLine")
344
+ let row = this.formatHumpLineTransfer(userInfo, "toLine");
337
345
  this.userInfo = row;
338
- }
346
+ },
339
347
  });
340
348
  },
341
349
  initSaleOrgData() {
342
350
  if (this.$store.getters.userId) {
343
351
  return this.$http({
344
- url: USER_PREFIX + '/user/getUserSaleOrg',
352
+ url: USER_PREFIX + "/user/getUserSaleOrg",
345
353
  method: `post`,
346
- data: {id: this.$store.getters.userId},
354
+ data: { id: this.$store.getters.userId },
347
355
  // isLoading: true,
348
356
  // loadingTarget: document.body,
349
357
  modalStrictly: true,
350
- success: res => {
358
+ success: (res) => {
351
359
  let rows = res.objx || [];
352
360
  this.userSaleOrgDTOs = rows;
353
361
 
354
362
  let companyCode = this.$store.getters.companyCode;
355
- let row2s = rows.filter(row => row.companyCode === companyCode)
363
+ let row2s = rows.filter((row) => row.companyCode === companyCode);
356
364
  this.userSaleOrgDTO2s = row2s;
357
- this.defaultUserSaleOrgDTO = row2s.find(item => item.defaults)
358
- }
365
+ this.defaultUserSaleOrgDTO = row2s.find((item) => item.defaults);
366
+ },
359
367
  });
360
368
  }
361
369
  },
362
370
  initUserRoleData() {
363
371
  if (this.$store.getters.userId) {
364
372
  return this.$http({
365
- url: USER_PREFIX + '/user/getUserRole',
373
+ url: USER_PREFIX + "/user/getUserRole",
366
374
  method: `post`,
367
- data: {id: this.$store.getters.userId},
375
+ data: { id: this.$store.getters.userId },
368
376
  // isLoading: true,
369
377
  // loadingTarget: document.body,
370
378
  modalStrictly: true,
371
- success: res => {
379
+ success: (res) => {
372
380
  let rows = res.objx || [];
373
381
  this.userRoleDTOs = rows;
374
382
 
375
383
  let companyCode = this.$store.getters.companyCode;
376
- this.userRoleDTO2s = rows.filter(row => row.companyCode === companyCode)
377
- }
384
+ this.userRoleDTO2s = rows.filter(
385
+ (row) => row.companyCode === companyCode
386
+ );
387
+ },
378
388
  });
379
389
  }
380
390
  },
381
391
  initBdService() {
382
392
  return this.$http({
383
- url: USER_PREFIX + '/form_develop/getBdService',
393
+ url: USER_PREFIX + "/form_develop/getBdService",
384
394
  method: `post`,
385
395
  data: {},
386
396
  // isLoading: true,
387
397
  // loadingTarget: document.body,
388
398
  modalStrictly: true,
389
- success: res => {
399
+ success: (res) => {
390
400
  this.bdService = res.objx;
391
- }
401
+ },
392
402
  });
393
403
  },
394
404
  getUserInfo() {
@@ -404,36 +414,38 @@ modules = {
404
414
  return this.defaultUserSaleOrgDTO;
405
415
  },
406
416
  getSaleOrgDTOs() {
407
- return this.userSaleOrgDTO2s.map(item => {
417
+ return this.userSaleOrgDTO2s.map((item) => {
408
418
  return {
409
419
  id: item.saleOrgId,
410
420
  sn: item.sn,
411
421
  name: item.saleOrgName,
412
422
  companyCode: item.companyCode,
413
- companyName: item.companyName
414
- }
423
+ companyName: item.companyName,
424
+ };
415
425
  });
416
426
  },
417
427
  getRoleDTOs() {
418
- return this.userRoleDTO2s.map(item => {
428
+ return this.userRoleDTO2s.map((item) => {
419
429
  return {
420
430
  id: item.roleId,
421
431
  code: item.roleCode,
422
432
  name: item.roleName,
423
433
  companyCode: item.companyCode,
424
- companyName: item.companyName
425
- }
434
+ companyName: item.companyName,
435
+ };
426
436
  });
427
437
  },
428
438
  getDefaultSaleOrgDTO() {
429
439
  let item = this.defaultUserSaleOrgDTO;
430
- return item ? {
431
- id: item.saleOrgId,
432
- sn: item.sn,
433
- name: item.saleOrgName,
434
- companyCode: item.companyCode,
435
- companyName: item.companyName
436
- } : null;
440
+ return item
441
+ ? {
442
+ id: item.saleOrgId,
443
+ sn: item.sn,
444
+ name: item.saleOrgName,
445
+ companyCode: item.companyCode,
446
+ companyName: item.companyName,
447
+ }
448
+ : null;
437
449
  },
438
450
  handleShowContent(callback) {
439
451
  // this.buildFormModel(!this.formJsonObj ? null : this.formJsonObj.widgetList);
@@ -441,7 +453,7 @@ modules = {
441
453
  this.$nextTick(() => {
442
454
  this.handleShowHideRule();
443
455
  callback && callback();
444
- })
456
+ });
445
457
  },
446
458
  hasConfig(widget, configName) {
447
459
  if (!widget) return false;
@@ -461,30 +473,30 @@ modules = {
461
473
  loopHandleAllWidget(callback) {
462
474
  let columnLoopDo = (t, e) => {
463
475
  if (t.children && t.children.length) {
464
- t.children.forEach(item => {
465
- columnLoopDo(item)
466
- })
476
+ t.children.forEach((item) => {
477
+ columnLoopDo(item);
478
+ });
467
479
  } else {
468
480
  if (t.widget) {
469
- callback && callback(t.widget)
481
+ callback && callback(t.widget);
470
482
  }
471
483
  if (t.editWidget) {
472
- callback && callback(t.editWidget)
484
+ callback && callback(t.editWidget);
473
485
  }
474
486
  if (t.widgetList && t.widgetList.length) {
475
487
  loopHandleWidget(t.widgetList, (widget) => {
476
- callback && callback(widget)
488
+ callback && callback(widget);
477
489
  });
478
490
  }
479
491
  }
480
- }
492
+ };
481
493
  loopHandleWidget(this.formJson.widgetList, (widget, parentWidget) => {
482
494
  if (callback) {
483
- callback(widget)
495
+ callback(widget);
484
496
  if (widget.type == "data-table") {
485
- widget.options.tableColumns.forEach(item => {
486
- columnLoopDo(item)
487
- })
497
+ widget.options.tableColumns.forEach((item) => {
498
+ columnLoopDo(item);
499
+ });
488
500
  }
489
501
  }
490
502
  });
@@ -495,32 +507,37 @@ modules = {
495
507
  if (widget.type == "data-table") {
496
508
  this.handleTableColumnWidget(widget);
497
509
  }
498
- })
510
+ });
499
511
  },
500
512
  handleTableColumnWidget(widget) {
501
513
  //修复data-table旧数据表格列widget与editWidget为空的问题
502
- if (!widget || widget.type != "data-table" || !widget.options.tableColumns) return
514
+ if (
515
+ !widget ||
516
+ widget.type != "data-table" ||
517
+ !widget.options.tableColumns
518
+ )
519
+ return;
503
520
  let columnLoopDo = (t, e) => {
504
521
  if (t.children && t.children.length) {
505
522
  for (let item of t.children) {
506
- columnLoopDo(item)
523
+ columnLoopDo(item);
507
524
  }
508
525
  } else {
509
526
  let type1 = columnFormatMap[t.formatS];
510
- if(type1){
511
- if(!t.widget){
527
+ if (type1) {
528
+ if (!t.widget) {
512
529
  let fieldWidget = this.getColumnWidget(t, false);
513
530
  t.widget = fieldWidget;
514
531
  }
515
- if (t.widget) t.widget.columnType = t.formatS
532
+ if (t.widget) t.widget.columnType = t.formatS;
516
533
  }
517
534
  let type2 = columnFormatMap[t.editFormatS];
518
- if(type2){
535
+ if (type2) {
519
536
  if (!t.editWidget) {
520
537
  let fieldWidget = this.getColumnWidget(t, true);
521
538
  t.editWidget = fieldWidget;
522
539
  }
523
- if (t.editWidget) t.editWidget.columnType = t.editFormatS
540
+ if (t.editWidget) t.editWidget.columnType = t.editFormatS;
524
541
  }
525
542
 
526
543
  /* let type1 = columnFormatMap[t.formatS];
@@ -543,10 +560,10 @@ modules = {
543
560
  }
544
561
  if (t.editWidget) t.editWidget.columnType = t.editFormatS */
545
562
  }
546
- }
563
+ };
547
564
 
548
565
  for (let item of widget.options.tableColumns) {
549
- columnLoopDo(item)
566
+ columnLoopDo(item);
550
567
  }
551
568
  /*widget.options.tableColumns.forEach(item => {
552
569
  columnLoopDo(item)
@@ -554,16 +571,16 @@ modules = {
554
571
  },
555
572
  hanldeCommonWidget2() {
556
573
  let wfParam = this.wfParam || {};
557
- let wfInfo = wfParam?.wfInfo
574
+ let wfInfo = wfParam?.wfInfo;
558
575
  let taskDefinitionKey = wfInfo?.taskDefinitionKey;
559
- let toModify = wfInfo?.toModify || false;//后台返回流程可以修改单据
576
+ let toModify = wfInfo?.toModify || false; //后台返回流程可以修改单据
560
577
 
561
578
  let hasModifyItem = false;
562
579
  let saveButton;
563
580
  let saveButtonOptions;
564
581
  let bdService = this.bdService;
565
582
 
566
- let widgetEditOnWf = this.hanldeWfWidgetNew0();//是否有流程时,当前用户特定流程节点是否可全局可编辑
583
+ let widgetEditOnWf = this.hanldeWfWidgetNew0(); //是否有流程时,当前用户特定流程节点是否可全局可编辑
567
584
  this.widgetEditOnWf = widgetEditOnWf;
568
585
 
569
586
  traverseAllWidgetsNew(this.formJson.widgetList, (widget) => {
@@ -576,24 +593,27 @@ modules = {
576
593
  if (!widgetEditOnWf) {
577
594
  //有流程,且不匹配流程节点可编辑表单设置信息
578
595
  //设置组件的有流程可编辑,有流程隐藏
579
- this.hanldeWfWidgetNew1(widget)
596
+ this.hanldeWfWidgetNew1(widget);
580
597
  if (wfInfo.taskStep == "9999") {
581
- this.hanldeWfWidgetItemNew(widget)
598
+ this.hanldeWfWidgetItemNew(widget);
582
599
  } else if (toModify) {
583
600
  //后台返回流程可以修改单据
584
601
  //设置组件的特定流程节点的可编辑,仅显示,隐藏
585
602
  if (taskDefinitionKey) {
586
603
  // this.hanldeWfWidgetNew2(widget)
587
- this.hanldeWfWidgetItemNew(widget)
604
+ this.hanldeWfWidgetItemNew(widget);
588
605
  }
589
- if (widget.formItemFlag && !widget.options.hidden && !widget.options.disbaled) {
606
+ if (
607
+ widget.formItemFlag &&
608
+ !widget.options.hidden &&
609
+ !widget.options.disbaled
610
+ ) {
590
611
  //存在存在可以编辑输入框框
591
612
  hasModifyItem = true;
592
613
  }
593
614
  }
594
615
  }
595
616
  }
596
-
597
617
  });
598
618
 
599
619
  this.wfModifyEnabled = hasModifyItem;
@@ -601,13 +621,12 @@ modules = {
601
621
  getIsSaveAtWfAgree() {
602
622
  //流程通过的时候是否可以执行保存
603
623
  let wfParam = this.wfParam || {};
604
- let wfInfo = wfParam?.wfInfo
624
+ let wfInfo = wfParam?.wfInfo;
605
625
  let toModify = wfInfo?.toModify;
606
626
  let result = false;
607
627
 
608
628
  let formConfig = this.formConfig;
609
629
  if (toModify && formConfig.wfAgreenBindSave) {
610
-
611
630
  let modelKey = wfInfo.modelKey;
612
631
  let modelOrders = wfInfo.orders;
613
632
  let companyCode = this.$store.getters.companyCode;
@@ -615,38 +634,42 @@ modules = {
615
634
  let taskDefinitionKey = wfInfo.taskDefinitionKey;
616
635
  let bdService = this.bdService;
617
636
 
618
- let wfConfigData = formConfig.wfAgreeConfigData || []
637
+ let wfConfigData = formConfig.wfAgreeConfigData || [];
619
638
  let flag = false;
620
- wfConfigData.forEach(item => {
639
+ wfConfigData.forEach((item) => {
621
640
  let type = item.type;
622
- let taskStepList = item.taskSteps ? item.taskSteps.split(',') : []
641
+ let taskStepList = item.taskSteps ? item.taskSteps.split(",") : [];
623
642
  if (taskStepList.includes(taskStep)) {
624
643
  let companyCodeStr = item.companyCodes;
625
- let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
644
+ let companyCodes = companyCodeStr
645
+ ? companyCodeStr.split(",").filter((item) => !!item)
646
+ : [];
626
647
  let flag1 = !item.serveName || item.serveName == bdService;
627
648
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
628
- let flag2 = item.modelOrders === undefined || item.modelOrders === null || item.modelOrders === modelOrders;
629
- let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
649
+ let flag2 =
650
+ item.modelOrders === undefined ||
651
+ item.modelOrders === null ||
652
+ item.modelOrders === modelOrders;
653
+ let flag3 =
654
+ !companyCodes.length || companyCodes.includes(companyCode);
630
655
  if (flag1 && flag2 && flag3) {
631
656
  //可编辑
632
657
  result = true;
633
658
  }
634
659
  }
635
- })
660
+ });
636
661
  return result;
637
662
  }
638
663
  },
639
664
 
640
665
  hanldeWfWidgetNew0() {
641
-
642
666
  let wfParam = this.wfParam || {};
643
- let wfInfo = wfParam?.wfInfo
667
+ let wfInfo = wfParam?.wfInfo;
644
668
  let toModify = wfInfo?.toModify;
645
669
  let result = false;
646
670
 
647
671
  let formConfig = this.formConfig;
648
672
  if (toModify && formConfig.wfConfigDataEnabled) {
649
-
650
673
  let modelKey = wfInfo.modelKey;
651
674
  let modelOrders = wfInfo.orders;
652
675
  let companyCode = this.$store.getters.companyCode;
@@ -654,24 +677,30 @@ modules = {
654
677
  let taskDefinitionKey = wfInfo.taskDefinitionKey;
655
678
  let bdService = this.bdService;
656
679
 
657
- let wfConfigData = formConfig.wfConfigData || []
680
+ let wfConfigData = formConfig.wfConfigData || [];
658
681
  let flag = false;
659
- wfConfigData.forEach(item => {
682
+ wfConfigData.forEach((item) => {
660
683
  let type = item.type;
661
- let taskStepList = item.taskSteps ? item.taskSteps.split(',') : []
684
+ let taskStepList = item.taskSteps ? item.taskSteps.split(",") : [];
662
685
  if (taskStepList.includes(taskStep)) {
663
686
  let companyCodeStr = item.companyCodes;
664
- let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
687
+ let companyCodes = companyCodeStr
688
+ ? companyCodeStr.split(",").filter((item) => !!item)
689
+ : [];
665
690
  let flag1 = !item.serveName || item.serveName == bdService;
666
691
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
667
- let flag2 = item.modelOrders === undefined || item.modelOrders === null || item.modelOrders === modelOrders;
668
- let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
692
+ let flag2 =
693
+ item.modelOrders === undefined ||
694
+ item.modelOrders === null ||
695
+ item.modelOrders === modelOrders;
696
+ let flag3 =
697
+ !companyCodes.length || companyCodes.includes(companyCode);
669
698
  if (flag1 && flag2 && flag3) {
670
699
  //可编辑
671
700
  result = true;
672
701
  }
673
702
  }
674
- })
703
+ });
675
704
  return result;
676
705
  }
677
706
  },
@@ -679,51 +708,55 @@ modules = {
679
708
  if (!widget) return false;
680
709
  let widgetType = widget.type;
681
710
  let sourceType = widget.sourceType;
682
- let result = freeWidgetTypesOfWf.includes(widgetType) || (sourceType && freeWidgetTypesOfWf.includes(sourceType))
683
- return widget.options.label == "重置" || result
711
+ let result =
712
+ freeWidgetTypesOfWf.includes(widgetType) ||
713
+ (sourceType && freeWidgetTypesOfWf.includes(sourceType));
714
+ return widget.options.label == "重置" || result;
684
715
  },
685
716
  getIsHiddenWidgetTypesOfWf(widget) {
686
717
  if (!widget) return false;
687
718
  let widgetType = widget.type;
688
719
  let targetType = widget.targetType;
689
- let result = hiddenWidgetTypesOfWf.includes(widgetType) || (targetType && hiddenWidgetTypesOfWf.includes(targetType))
690
- return result
720
+ let result =
721
+ hiddenWidgetTypesOfWf.includes(widgetType) ||
722
+ (targetType && hiddenWidgetTypesOfWf.includes(targetType));
723
+ return result;
691
724
  },
692
725
  hanldeWfWidgetNew1(widget) {
693
726
  if (!widget) return;
694
- let flag = widget.columnType && ['editDelete', 'removeTreeRow'].includes(widget.columnType)
695
- if (!flag && this.getIsfreeWidgetTypesOfWf(widget)) return//过滤掉不受限组件
696
- if (this.widgetEditOnWf) return//匹配到流程第一步可编辑,不执行下面禁用隐藏
727
+ let flag =
728
+ widget.columnType &&
729
+ ["editDelete", "removeTreeRow"].includes(widget.columnType);
730
+ if (!flag && this.getIsfreeWidgetTypesOfWf(widget)) return; //过滤掉不受限组件
731
+ if (this.widgetEditOnWf) return; //匹配到流程第一步可编辑,不执行下面禁用隐藏
697
732
  let wfParam = this.wfParam || {};
698
- if (!wfParam.hasWf) return;//过滤掉没流程
733
+ if (!wfParam.hasWf) return; //过滤掉没流程
699
734
 
700
735
  if (flag) {
701
736
  //数据表格列的删除标识,有流程隐藏
702
- widget.options.hidden = true
737
+ widget.options.hidden = true;
703
738
  } else if (this.getIsHiddenWidgetTypesOfWf(widget)) {
704
739
  //有流程隐藏的组件,button
705
- widget.options.hidden = true
740
+ widget.options.hidden = true;
706
741
  } else if (widget.formItemFlag) {
707
742
  //有流程禁用,编辑输入框
708
743
  widget.options.disabled = true;
709
744
  }
710
-
711
-
712
745
  },
713
746
  hanldeWfWidgetNew2(widget, callback) {
714
747
  let hasModifyItem = false;
715
748
  let saveButton;
716
749
  if (!this.widgetEditOnWf) {
717
- let flag = this.hanldeWfWidgetItemNew(widget)
750
+ let flag = this.hanldeWfWidgetItemNew(widget);
718
751
  if (flag) {
719
- hasModifyItem = true
752
+ hasModifyItem = true;
720
753
  }
721
754
  }
722
755
 
723
756
  if (widget?.options?.saveButton) {
724
757
  saveButton = widget;
725
758
  }
726
- callback && callback(hasModifyItem, saveButton)
759
+ callback && callback(hasModifyItem, saveButton);
727
760
  },
728
761
  hanldeWfWidgetItemNew(widget) {
729
762
  let hasModifyItem = false;
@@ -732,7 +765,7 @@ modules = {
732
765
 
733
766
  let bdService = this.bdService;
734
767
  let wfParam = this.wfParam;
735
- let wfInfo = wfParam.wfInfo
768
+ let wfInfo = wfParam.wfInfo;
736
769
  let modelKey = wfInfo.modelKey;
737
770
  let modelOrders = wfInfo.orders;
738
771
  let companyCode = this.$store.getters.companyCode;
@@ -740,21 +773,27 @@ modules = {
740
773
 
741
774
  let handleWfConfigData = (widget, columnOptions) => {
742
775
  let options = widget?.options || columnOptions;
743
- if (!options || !options.wfEdit) return
776
+ if (!options || !options.wfEdit) return;
744
777
  let wfConfigData = options.wfConfigData || [];
745
778
  let flag = false;
746
779
 
747
- wfConfigData.forEach(item => {
780
+ wfConfigData.forEach((item) => {
748
781
  let type = item.type;
749
- let taskStepList = item.taskSteps ? item.taskSteps.split(',') : []
782
+ let taskStepList = item.taskSteps ? item.taskSteps.split(",") : [];
750
783
  if (type && taskStepList.includes(taskStep)) {
751
784
  let companyCodeStr = item.companyCodes;
752
- let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
785
+ let companyCodes = companyCodeStr
786
+ ? companyCodeStr.split(",").filter((item) => !!item)
787
+ : [];
753
788
  let flag1 = !item.serveName || item.serveName == bdService;
754
789
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
755
790
 
756
- let flag2 = item.modelOrders === undefined || item.modelOrders === null || item.modelOrders === modelOrders;
757
- let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
791
+ let flag2 =
792
+ item.modelOrders === undefined ||
793
+ item.modelOrders === null ||
794
+ item.modelOrders === modelOrders;
795
+ let flag3 =
796
+ !companyCodes.length || companyCodes.includes(companyCode);
758
797
  if (flag1 && flag2 && flag3) {
759
798
  if (type === 1) {
760
799
  //可编辑
@@ -764,7 +803,7 @@ modules = {
764
803
  // target.setHidden(false);
765
804
  options.hidden = false;
766
805
  flag = true;
767
- }/* else if (type === 2) {
806
+ } /* else if (type === 2) {
768
807
  //仅显示
769
808
  // target.setDisabled && target.setDisabled(true);
770
809
  if (options.disabled !== undefined) options.disabled = true;
@@ -778,19 +817,19 @@ modules = {
778
817
  }*/
779
818
  }
780
819
  }
781
- })
820
+ });
782
821
  /*if (flag && e && widget.type == 'baseAttachment') {
783
822
  e.initOption();
784
823
  }*/
785
- }
786
- handleWfConfigData(widget)
824
+ };
825
+ handleWfConfigData(widget);
787
826
  return hasModifyItem;
788
827
  },
789
828
 
790
829
  hanldeCommonWidget() {
791
830
  loopHandleWidget(this.formJson.widgetList, (widget) => {
792
831
  //处理组件显隐规则
793
- this.handleWidgetShowRule(widget)
832
+ this.handleWidgetShowRule(widget);
794
833
  });
795
834
  },
796
835
  handleWidgetShowRule(widget) {
@@ -800,26 +839,29 @@ modules = {
800
839
  let companyCode = this.$store.getters.companyCode;
801
840
  let bdService = this.bdService;
802
841
  let userRoleDTOs = this.userRoleDTOs;
803
- let userRoleCodes = userRoleDTOs.map(item => item.roleCode);
842
+ let userRoleCodes = userRoleDTOs.map((item) => item.roleCode);
804
843
 
805
844
  let widgetShowRuleConfig = optionModel.widgetShowRuleConfig || [];
806
845
  if (widgetShowRuleConfig.length) {
807
- let item1 = null;//匹配服务+组织
808
- let item2 = null;//匹配服务
809
- let item3 = null;//匹配所有服务和组织
810
- widgetShowRuleConfig.forEach(item => {
846
+ let item1 = null; //匹配服务+组织
847
+ let item2 = null; //匹配服务
848
+ let item3 = null; //匹配所有服务和组织
849
+ widgetShowRuleConfig.forEach((item) => {
811
850
  let serveName = item.serveName ?? null;
812
851
 
813
852
  // let flag1 = item.serveType === 5;//所有组织和服务
814
- let flag1 = !item.serveName && !item.companyCodes;//所有组织和服务
853
+ let flag1 = !item.serveName && !item.companyCodes; //所有组织和服务
815
854
 
816
855
  //匹配服务名
817
- let flag2 = serveName === bdService
856
+ let flag2 = serveName === bdService;
818
857
 
819
858
  //匹配组织编码
820
859
  let companyCodeStr = item.companyCodes;
821
- let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
822
- let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
860
+ let companyCodes = companyCodeStr
861
+ ? companyCodeStr.split(",").filter((item) => !!item)
862
+ : [];
863
+ let flag3 =
864
+ !companyCodes.length || companyCodes.includes(companyCode);
823
865
  if (flag1) {
824
866
  item3 = item;
825
867
  } else if (flag2) {
@@ -828,16 +870,20 @@ modules = {
828
870
  item1 = item;
829
871
  }
830
872
  } else {
831
- item2 = item
873
+ item2 = item;
832
874
  }
833
875
  }
834
- })
876
+ });
835
877
  let showRuleItem = item1 || item2 || item3 || null;
836
878
  if (showRuleItem) {
837
879
  //匹配角色
838
880
  let roleCodeStr = showRuleItem.roleCodes;
839
- let roleCodes = roleCodeStr ? roleCodeStr.split(",").filter(item => !!item) : [];
840
- let flag = userRoleCodes.some(roleCode => roleCodes.includes(roleCode));
881
+ let roleCodes = roleCodeStr
882
+ ? roleCodeStr.split(",").filter((item) => !!item)
883
+ : [];
884
+ let flag = userRoleCodes.some((roleCode) =>
885
+ roleCodes.includes(roleCode)
886
+ );
841
887
  if (showRuleItem.type == 1) {
842
888
  //符合条件的角色显示,否则隐藏
843
889
  optionModel.hidden = flag ? false : true;
@@ -850,7 +896,6 @@ modules = {
850
896
  }
851
897
  return optionModel.hidden;
852
898
  }
853
-
854
899
  },
855
900
  hanldeWfWidget() {
856
901
  let wfParam = this.wfParam || {};
@@ -859,19 +904,26 @@ modules = {
859
904
 
860
905
  let toDo2 = (widget, options, e) => {
861
906
  // let widget = options ? null : (target.field || target.widget);
862
- let isWfFlag = options ? true : this.hasConfig(widget, 'wfFlag');
907
+ let isWfFlag = options ? true : this.hasConfig(widget, "wfFlag");
863
908
  let widgetType = widget?.type;
864
- let enabledByWf = options ? options.enabledByWf : widget?.options?.enabledByWf;
865
- let hiddenByWf = options ? options.hiddenByWf : widget?.options?.hiddenByWf;
909
+ let enabledByWf = options
910
+ ? options.enabledByWf
911
+ : widget?.options?.enabledByWf;
912
+ let hiddenByWf = options
913
+ ? options.hiddenByWf
914
+ : widget?.options?.hiddenByWf;
866
915
  let widgetName = options ? options.name : widget?.options?.name;
867
916
  if (isWfFlag) {
868
- if (this.hasConfig(widget, 'disabled') || !!options) {
917
+ if (this.hasConfig(widget, "disabled") || !!options) {
869
918
  let disabled = null;
870
919
  if (!enabledByWf) {
871
920
  disabled = true;
872
921
  // setDisabled(target,true);
873
922
  let onClick = options ? options.onClick : widget.options.onClick;
874
- if (onClick && onClick.startsWith("this.getFormRef().$baseReload()")) {
923
+ if (
924
+ onClick &&
925
+ onClick.startsWith("this.getFormRef().$baseReload()")
926
+ ) {
875
927
  // setDisabled(target,false);
876
928
  disabled = false;
877
929
  }
@@ -879,7 +931,7 @@ modules = {
879
931
  // setDisabled(target,false);
880
932
  disabled = false;
881
933
  }
882
- if (widgetType == 'reset_button' && enabledByWf === undefined) {
934
+ if (widgetType == "reset_button" && enabledByWf === undefined) {
883
935
  // setDisabled(target,false)
884
936
  disabled = false;
885
937
  }
@@ -896,12 +948,16 @@ modules = {
896
948
  if (hiddenByWf) {
897
949
  // setHidden(target,true);
898
950
  // widget.options.hidden = true;
899
- hidden = true
951
+ hidden = true;
900
952
  }
901
- if (widget && widgetType == 'save_button' && hiddenByWf === undefined) {
953
+ if (
954
+ widget &&
955
+ widgetType == "save_button" &&
956
+ hiddenByWf === undefined
957
+ ) {
902
958
  // setHidden(target,true)
903
959
  // widget.options.hidden = true;
904
- hidden = true
960
+ hidden = true;
905
961
  }
906
962
  if (hidden !== null) {
907
963
  if (options) {
@@ -915,31 +971,30 @@ modules = {
915
971
  if (widget?.type == "data-table") {
916
972
  let loopDo = (t, e) => {
917
973
  if (t.children && t.children.length) {
918
- t.children.forEach(item => {
919
- loopDo(item)
920
- })
974
+ t.children.forEach((item) => {
975
+ loopDo(item);
976
+ });
921
977
  } else {
922
978
  if (t.columnOption) {
923
- toDo2(null, t.columnOption)
979
+ toDo2(null, t.columnOption);
924
980
  }
925
981
  }
926
- }
927
- widget.options.tableColumns.forEach(item => {
928
- loopDo(item)
982
+ };
983
+ widget.options.tableColumns.forEach((item) => {
984
+ loopDo(item);
929
985
  loopHandleWidget(item.widgetList, (item1) => {
930
- toDo2(item1)
986
+ toDo2(item1);
931
987
  });
932
- })
933
-
988
+ });
934
989
  }
935
990
  /*if (target && widgetType == 'baseAttachment') {
936
991
  target.initOption();
937
992
  }*/
938
- }
993
+ };
939
994
 
940
995
  loopHandleWidget(this.formJson.widgetList, (widget) => {
941
996
  //有流程,处理禁用状态
942
- let formItemFlag = widget?.formItemFlag
997
+ let formItemFlag = widget?.formItemFlag;
943
998
  if (formItemFlag) {
944
999
  widget.options.disabled = true;
945
1000
  }
@@ -949,14 +1004,14 @@ modules = {
949
1004
  hanldeWfWidget2() {
950
1005
  let wfParam = this.wfParam;
951
1006
  if (!wfParam.hasWf) return;
952
- let wfInfo = wfParam.wfInfo
1007
+ let wfInfo = wfParam.wfInfo;
953
1008
  let modelKey = wfInfo.modelKey;
954
1009
  let companyCode = this.$store.getters.companyCode;
955
1010
  let taskStep = (wfInfo.taskStep ?? "") + "";
956
1011
  let taskDefinitionKey = wfInfo.taskDefinitionKey;
957
- if (!taskDefinitionKey) return
1012
+ if (!taskDefinitionKey) return;
958
1013
  let toModify = wfInfo.toModify;
959
- if (!toModify) return
1014
+ if (!toModify) return;
960
1015
 
961
1016
  let hasModifyItem = false;
962
1017
  let refList = this.widgetRefList;
@@ -965,16 +1020,15 @@ modules = {
965
1020
  let bdService = this.bdService;
966
1021
 
967
1022
  loopHandleWidget(this.formJson.widgetList, (widget) => {
968
- let flag = this.hanldeWfWidgetItem(widget)
1023
+ let flag = this.hanldeWfWidgetItem(widget);
969
1024
  if (!hasModifyItem && flag) {
970
- hasModifyItem = true
1025
+ hasModifyItem = true;
971
1026
  }
972
1027
  if (!saveButtonOptions && widget?.options?.saveButton) {
973
1028
  saveButtonOptions = widget?.options;
974
1029
  }
975
1030
  });
976
1031
 
977
-
978
1032
  if (hasModifyItem) {
979
1033
  if (saveButtonOptions) {
980
1034
  saveButtonOptions.disabled = false;
@@ -989,25 +1043,28 @@ modules = {
989
1043
 
990
1044
  let bdService = this.bdService;
991
1045
  let wfParam = this.wfParam;
992
- let wfInfo = wfParam.wfInfo
1046
+ let wfInfo = wfParam.wfInfo;
993
1047
  let modelKey = wfInfo.modelKey;
994
1048
  let companyCode = this.$store.getters.companyCode;
995
1049
  let taskStep = (wfInfo.taskStep ?? "") + "";
996
1050
 
997
1051
  let handleWfConfigData = (widget, columnOptions) => {
998
1052
  let options = widget?.options || columnOptions;
999
- if (!options || !options.wfEdit) return
1053
+ if (!options || !options.wfEdit) return;
1000
1054
  let wfConfigData = options.wfConfigData || [];
1001
1055
  let flag = false;
1002
- wfConfigData.forEach(item => {
1056
+ wfConfigData.forEach((item) => {
1003
1057
  let type = item.type;
1004
- let taskStepList = item.taskSteps ? item.taskSteps.split(',') : []
1058
+ let taskStepList = item.taskSteps ? item.taskSteps.split(",") : [];
1005
1059
  if (type && taskStepList.includes(taskStep)) {
1006
1060
  let companyCodeStr = item.companyCodes;
1007
- let companyCodes = companyCodeStr ? companyCodeStr.split(",").filter(item => !!item) : [];
1061
+ let companyCodes = companyCodeStr
1062
+ ? companyCodeStr.split(",").filter((item) => !!item)
1063
+ : [];
1008
1064
  let flag1 = !item.serveName || item.serveName == bdService;
1009
1065
  let flag2 = !item.modelKey || item.modelKey == modelKey;
1010
- let flag3 = !companyCodes.length || companyCodes.includes(companyCode)
1066
+ let flag3 =
1067
+ !companyCodes.length || companyCodes.includes(companyCode);
1011
1068
  if (flag1 && flag2 && flag3) {
1012
1069
  if (type === 1) {
1013
1070
  //可编辑
@@ -1031,31 +1088,31 @@ modules = {
1031
1088
  }
1032
1089
  }
1033
1090
  }
1034
- })
1091
+ });
1035
1092
  /*if (flag && e && widget.type == 'baseAttachment') {
1036
1093
  e.initOption();
1037
1094
  }*/
1038
- }
1039
- handleWfConfigData(widget)
1095
+ };
1096
+ handleWfConfigData(widget);
1040
1097
  if (widget.type == "data-table") {
1041
1098
  let loopDo = (t) => {
1042
1099
  if (t.children && t.children.length) {
1043
- t.children.forEach(item => {
1044
- loopDo(item)
1045
- })
1100
+ t.children.forEach((item) => {
1101
+ loopDo(item);
1102
+ });
1046
1103
  } else {
1047
1104
  if (t.columnOption) {
1048
- handleWfConfigData(null, t.columnOption)
1105
+ handleWfConfigData(null, t.columnOption);
1049
1106
  }
1050
1107
  }
1051
- }
1108
+ };
1052
1109
 
1053
- widget.options.tableColumns.forEach(item => {
1054
- loopDo(item)
1110
+ widget.options.tableColumns.forEach((item) => {
1111
+ loopDo(item);
1055
1112
  loopHandleWidget(item.widgetList, (item1) => {
1056
- handleWfConfigData(item1)
1113
+ handleWfConfigData(item1);
1057
1114
  });
1058
- })
1115
+ });
1059
1116
  }
1060
1117
 
1061
1118
  return hasModifyItem;
@@ -1082,7 +1139,12 @@ modules = {
1082
1139
  let callback1 = null;
1083
1140
  if (formConfig.wfConfig) {
1084
1141
  let formData = res.objx;
1085
- let e = new Function('formCode', 'dataId', 'formData', formConfig.wfConfig);
1142
+ let e = new Function(
1143
+ "formCode",
1144
+ "dataId",
1145
+ "formData",
1146
+ formConfig.wfConfig
1147
+ );
1086
1148
  wfConfig1 = e.call(this, formCode, dataId, formData);
1087
1149
  callback1 = wfConfig1?.callback;
1088
1150
  delete wfConfig1?.callback;
@@ -1097,7 +1159,7 @@ modules = {
1097
1159
  callback: (wfParam) => {
1098
1160
  this.setFormData(formData);
1099
1161
 
1100
- let {hasWf} = wfParam;
1162
+ let { hasWf } = wfParam;
1101
1163
  this.hasWf = hasWf;
1102
1164
  this.wfParam = wfParam;
1103
1165
 
@@ -1105,7 +1167,7 @@ modules = {
1105
1167
  this.hanldeWfWidget();
1106
1168
  this.hanldeWfWidget2();
1107
1169
  }*/
1108
- this.hanldeCommonWidget2();//处理组件显隐,可编辑
1170
+ this.hanldeCommonWidget2(); //处理组件显隐,可编辑
1109
1171
 
1110
1172
  this.showFormContent = true;
1111
1173
  this.$nextTick(() => {
@@ -1114,33 +1176,33 @@ modules = {
1114
1176
 
1115
1177
  }*/
1116
1178
  setTimeout(() => {
1117
- callback && callback()
1118
- callback1 && callback1(wfParam)
1119
- }, 1000)
1120
- wfParam.done()
1121
- })
1122
- }
1179
+ callback && callback();
1180
+ callback1 && callback1(wfParam);
1181
+ }, 1000);
1182
+ wfParam.done();
1183
+ });
1184
+ },
1123
1185
  };
1124
1186
  if (formConfig.wfStartBindSave) {
1125
1187
  option.onStart = (done) => {
1126
1188
  let formRef = this.getFormRef ? this.getFormRef() : this;
1127
- formRef.validate(valid => {
1189
+ formRef.validate((valid) => {
1128
1190
  if (valid) {
1129
1191
  done();
1130
1192
  }
1131
1193
  });
1132
- }
1194
+ };
1133
1195
  option.onBeforeStartSubmit = (done) => {
1134
1196
  this.saveDefaultHandle({
1135
1197
  config: {
1136
1198
  successMsg: false,
1137
1199
  isConfirm: false,
1138
- success: res => {
1139
- done()
1200
+ success: (res) => {
1201
+ done();
1140
1202
  },
1141
- }
1142
- })
1143
- }
1203
+ },
1204
+ });
1205
+ };
1144
1206
  }
1145
1207
 
1146
1208
  if (formConfig.wfAgreenBindSave) {
@@ -1148,7 +1210,7 @@ modules = {
1148
1210
  option.onClickAgree = (done) => {
1149
1211
  if (that.getIsSaveAtWfAgree()) {
1150
1212
  let formRef = this.getFormRef ? this.getFormRef() : this;
1151
- formRef.validate(valid => {
1213
+ formRef.validate((valid) => {
1152
1214
  if (valid) {
1153
1215
  done();
1154
1216
  }
@@ -1156,37 +1218,40 @@ modules = {
1156
1218
  } else {
1157
1219
  done();
1158
1220
  }
1159
- }
1221
+ };
1160
1222
  option.onBeforeAgree = (done) => {
1161
1223
  if (that.getIsSaveAtWfAgree()) {
1162
1224
  this.saveDefaultHandle({
1163
1225
  config: {
1164
1226
  successMsg: false,
1165
1227
  isConfirm: false,
1166
- success: res => {
1167
- done()
1228
+ success: (res) => {
1229
+ done();
1168
1230
  },
1169
- }
1170
- })
1231
+ },
1232
+ });
1171
1233
  } else {
1172
1234
  done();
1173
1235
  }
1174
- }
1236
+ };
1175
1237
  }
1176
1238
 
1177
- let resOption = option
1239
+ let resOption = option;
1178
1240
  if (wfConfig1) {
1179
- resOption = extendDeeply(resOption, wfConfig1)
1241
+ resOption = extendDeeply(resOption, wfConfig1);
1180
1242
  }
1181
1243
  return resOption;
1182
- }
1244
+ };
1183
1245
  }
1184
1246
 
1185
- let formScriptParam = this.handleCustomEvent(this.formConfig.formScriptParam);
1247
+ let formScriptParam = this.handleCustomEvent(
1248
+ this.formConfig.formScriptParam
1249
+ );
1186
1250
 
1187
1251
  let defaultOption = {
1188
1252
  addCreateInfo: true,
1189
- queryCreateInfo: window.$vueRoot.$store.getters.queryCreateInfo || "0"
1253
+ queryCreateInfo:
1254
+ window.$vueRoot.$store.getters.queryCreateInfo || "0",
1190
1255
  };
1191
1256
  return this.formHttp({
1192
1257
  // url: "/" + reportTemplate.serviceName + "/form_ins/getOne",
@@ -1197,28 +1262,28 @@ modules = {
1197
1262
  taBm: entity,
1198
1263
  data: {
1199
1264
  id: dataId,
1200
- ...formScriptParam
1201
- }
1265
+ ...formScriptParam,
1266
+ },
1202
1267
  },
1203
1268
  ...defaultOption,
1204
1269
  sync: false,
1205
1270
  wfConfig,
1206
- success: res => {
1271
+ success: (res) => {
1207
1272
  formData = res.objx || {};
1208
1273
  // this.currentFormData = res.objx || {};
1209
1274
  if (!wfConfig) {
1210
- this.hanldeCommonWidget2();//处理组件显隐,可编辑
1275
+ this.hanldeCommonWidget2(); //处理组件显隐,可编辑
1211
1276
  this.setFormData(formData);
1212
1277
  this.showFormContent = true;
1213
1278
  this.$nextTick(() => {
1214
1279
  this.handleShowHideRule();
1215
- callback && callback()
1216
- })
1280
+ callback && callback();
1281
+ });
1217
1282
  }
1218
- }
1283
+ },
1219
1284
  });
1220
1285
  } else {
1221
- this.hanldeCommonWidget2();//处理组件显隐,可编辑
1286
+ this.hanldeCommonWidget2(); //处理组件显隐,可编辑
1222
1287
  this.handleShowContent();
1223
1288
  }
1224
1289
  },
@@ -1227,142 +1292,156 @@ modules = {
1227
1292
  let userId = this.$store.getters.userId;
1228
1293
  let userSaleOrgDTOs = this.userSaleOrgDTOs;
1229
1294
  let userRoleDTOs = this.userRoleDTOs;
1230
- let saleOrgIds = userSaleOrgDTOs.map(item => item.saleOrgId);
1231
- let roleIds = userRoleDTOs.map(item => item.roleId);
1295
+ let saleOrgIds = userSaleOrgDTOs.map((item) => item.saleOrgId);
1296
+ let roleIds = userRoleDTOs.map((item) => item.roleId);
1232
1297
  let refList = this.widgetRefList;
1233
1298
  for (let key in refList) {
1234
1299
  let target = refList[key];
1235
1300
  let widget = target.field || target.widget;
1236
1301
  if (widget?.options?.showRuleEnabled) {
1237
1302
  let showRules = widget.options.showRules || [];
1238
- showRules.forEach(showRule => {
1239
- let ruleType = showRule.ruleType
1240
- let isShow = showRule.show
1241
- let value = showRule.value || []
1242
- let valIds = value.map(item => item.id)
1303
+ showRules.forEach((showRule) => {
1304
+ let ruleType = showRule.ruleType;
1305
+ let isShow = showRule.show;
1306
+ let value = showRule.value || [];
1307
+ let valIds = value.map((item) => item.id);
1243
1308
  if (valIds.length) {
1244
1309
  let result = !widget.options.hidden;
1245
1310
  if (ruleType == 1) {
1246
- result = valIds.includes(userId) ? isShow : !isShow
1311
+ result = valIds.includes(userId) ? isShow : !isShow;
1247
1312
  } else if (ruleType == 2) {
1248
- result = saleOrgIds.find(item => valIds.includes(item)) ? isShow : !isShow
1313
+ result = saleOrgIds.find((item) => valIds.includes(item))
1314
+ ? isShow
1315
+ : !isShow;
1249
1316
  } else if (ruleType == 3) {
1250
- result = roleIds.find(item => valIds.includes(item)) ? isShow : !isShow
1317
+ result = roleIds.find((item) => valIds.includes(item))
1318
+ ? isShow
1319
+ : !isShow;
1251
1320
  }
1252
- target.setHidden(!result)
1321
+ target.setHidden(!result);
1253
1322
  }
1254
- })
1323
+ });
1255
1324
  }
1256
1325
  }
1257
1326
  },
1258
1327
  initFormObject: function () {
1259
1328
  let e = this,
1260
1329
  t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
1261
- (this.formId = 'vfRender' + baseRefUtil.generateId()),
1262
- t && !this.dynamicCreation && this.insertCustomStyleAndScriptNode(),
1330
+ (this.formId = "vfRender" + baseRefUtil.generateId()),
1331
+ t && !this.dynamicCreation && this.insertCustomStyleAndScriptNode(),
1263
1332
  this.addFieldChangeEventHandler(),
1264
1333
  this.addFieldValidateEventHandler(),
1265
1334
  this.registerFormToRefList(),
1266
1335
  // this.handleOnCreated(),
1267
- this.disabledMode
1268
- && this.$nextTick(function () {
1269
- e.disableForm();
1270
- });
1336
+ this.disabledMode &&
1337
+ this.$nextTick(function () {
1338
+ e.disableForm();
1339
+ });
1271
1340
  },
1272
1341
  getContainerWidgetName: function (e) {
1273
- return 'grid' === e.type ? 'grid-item' : e.type + '-item';
1342
+ return "grid" === e.type ? "grid-item" : e.type + "-item";
1274
1343
  },
1275
1344
  getWidgetName: function (e) {
1276
- return (e.targetType || e.type) + '-widget';
1345
+ return (e.targetType || e.type) + "-widget";
1277
1346
  },
1278
1347
  initLocale: function () {
1279
- let e = localStorage.getItem('v_form_locale') || 'zh-CN';
1348
+ let e = localStorage.getItem("v_form_locale") || "zh-CN";
1280
1349
  this.changeLanguage(e);
1281
1350
  },
1282
1351
  insertCustomStyleAndScriptNode: function () {
1283
- this.formConfig && this.formConfig.cssCode && baseRefUtil.insertCustomCssToHead(this.formConfig.cssCode, this
1284
- .previewState ? '' : this.formId),
1285
- this.formConfig && this.formConfig.functions && baseRefUtil.insertGlobalFunctionsToHtml(this.formConfig
1286
- .functions, this
1287
- .previewState ? '' : this.formId);
1352
+ this.formConfig &&
1353
+ this.formConfig.cssCode &&
1354
+ baseRefUtil.insertCustomCssToHead(
1355
+ this.formConfig.cssCode,
1356
+ this.previewState ? "" : this.formId
1357
+ ),
1358
+ this.formConfig &&
1359
+ this.formConfig.functions &&
1360
+ baseRefUtil.insertGlobalFunctionsToHtml(
1361
+ this.formConfig.functions,
1362
+ this.previewState ? "" : this.formId
1363
+ );
1288
1364
  },
1289
1365
  buildFormModel: function (e) {
1290
1366
  let t = this;
1291
- e
1292
- && e.length > 0
1293
- && e.forEach(function (e) {
1294
- t.buildDataFromWidget(e);
1295
- });
1367
+ e &&
1368
+ e.length > 0 &&
1369
+ e.forEach(function (e) {
1370
+ t.buildDataFromWidget(e);
1371
+ });
1296
1372
  },
1297
1373
  buildDataFromWidget: function (e) {
1298
1374
  let t = this;
1299
1375
  let dataId = this.dataId;
1300
1376
  let currentFormData = this.currentFormData;
1301
- let fieldKeyName = this.getFieldKeyName(e)
1302
- let defaultValue = e.options.defaultValue === undefined || e.options.defaultValue === "" ? null : e.options.defaultValue;
1303
- if ('container' === e.category) {
1304
- if ('vf-dialog' === e.type || 'vf-drawer' === e.type) ;
1305
- else if ('data-table' === e.type) {
1306
- if (!!e.widgetList && (e.widgetList.length > 0)) {
1377
+ let fieldKeyName = this.getFieldKeyName(e);
1378
+ let defaultValue =
1379
+ e.options.defaultValue === undefined || e.options.defaultValue === ""
1380
+ ? null
1381
+ : e.options.defaultValue;
1382
+ if ("container" === e.category) {
1383
+ if ("vf-dialog" === e.type || "vf-drawer" === e.type);
1384
+ else if ("data-table" === e.type) {
1385
+ if (!!e.widgetList && e.widgetList.length > 0) {
1307
1386
  e.widgetList.forEach((childItem) => {
1308
1387
  this.buildDataFromWidget(childItem, e);
1309
1388
  });
1310
1389
  }
1311
1390
  let c = currentFormData[fieldKeyName] ?? [];
1312
1391
  this.$set(this.formDataModel, fieldKeyName, baseRefUtil.deepClone(c));
1313
- } else if ('list-h5' === e.type) {
1314
- if (!!e.widgetList && (e.widgetList.length > 0)) {
1392
+ } else if ("list-h5" === e.type) {
1393
+ if (!!e.widgetList && e.widgetList.length > 0) {
1315
1394
  e.widgetList.forEach((childItem) => {
1316
1395
  this.buildDataFromWidget(childItem, e);
1317
1396
  });
1318
1397
  }
1319
- } else if ('grid' === e.type)
1320
- e.cols
1321
- && e.cols.length > 0
1322
- && e.cols.forEach(function (e) {
1323
- t.buildDataFromWidget(e);
1324
- });
1325
- else if ('table' === e.type)
1326
- e.rows
1327
- && e.rows.length > 0
1328
- && e.rows.forEach(function (e) {
1329
- e.cols
1330
- && e.cols.length > 0
1331
- && e.cols.forEach(function (e) {
1398
+ } else if ("grid" === e.type)
1399
+ e.cols &&
1400
+ e.cols.length > 0 &&
1401
+ e.cols.forEach(function (e) {
1332
1402
  t.buildDataFromWidget(e);
1333
1403
  });
1334
- });
1335
- else if ('h5-table' === e.type)
1336
- e.rows
1337
- && e.rows.length > 0
1338
- && e.rows.forEach(function (e) {
1339
- e.cols
1340
- && e.cols.length > 0
1341
- && e.cols.forEach(function (e) {
1342
- t.buildDataFromWidget(e);
1404
+ else if ("table" === e.type)
1405
+ e.rows &&
1406
+ e.rows.length > 0 &&
1407
+ e.rows.forEach(function (e) {
1408
+ e.cols &&
1409
+ e.cols.length > 0 &&
1410
+ e.cols.forEach(function (e) {
1411
+ t.buildDataFromWidget(e);
1412
+ });
1343
1413
  });
1344
- });
1345
- else if ('tab' === e.type)
1346
- e.tabs
1347
- && e.tabs.length > 0
1348
- && e.tabs.forEach(function (e) {
1349
- e.widgetList
1350
- && e.widgetList.length > 0
1351
- && e.widgetList.forEach(function (e) {
1352
- t.buildDataFromWidget(e);
1414
+ else if ("h5-table" === e.type)
1415
+ e.rows &&
1416
+ e.rows.length > 0 &&
1417
+ e.rows.forEach(function (e) {
1418
+ e.cols &&
1419
+ e.cols.length > 0 &&
1420
+ e.cols.forEach(function (e) {
1421
+ t.buildDataFromWidget(e);
1422
+ });
1353
1423
  });
1354
- });
1355
- else if ('detail' === e.type)
1356
- e.panes
1357
- && e.panes.length > 0
1358
- && e.panes.forEach(function (e) {
1359
- e.widgetList
1360
- && e.widgetList.length > 0
1361
- && e.widgetList.forEach(function (e) {
1362
- t.buildDataFromWidget(e);
1424
+ else if ("tab" === e.type)
1425
+ e.tabs &&
1426
+ e.tabs.length > 0 &&
1427
+ e.tabs.forEach(function (e) {
1428
+ e.widgetList &&
1429
+ e.widgetList.length > 0 &&
1430
+ e.widgetList.forEach(function (e) {
1431
+ t.buildDataFromWidget(e);
1432
+ });
1363
1433
  });
1364
- });
1365
- else if ('sub-form' === e.type) {
1434
+ else if ("detail" === e.type)
1435
+ e.panes &&
1436
+ e.panes.length > 0 &&
1437
+ e.panes.forEach(function (e) {
1438
+ e.widgetList &&
1439
+ e.widgetList.length > 0 &&
1440
+ e.widgetList.forEach(function (e) {
1441
+ t.buildDataFromWidget(e);
1442
+ });
1443
+ });
1444
+ else if ("sub-form" === e.type) {
1366
1445
  let i = e.options.name;
1367
1446
  if (currentFormData.hasOwnProperty(i)) {
1368
1447
  let n = currentFormData[i];
@@ -1371,12 +1450,12 @@ modules = {
1371
1450
  let o = {};
1372
1451
  e.options.showBlankRow
1373
1452
  ? (e.widgetList.forEach(function (e) {
1374
- e.formItemFlag && (o[e.options.name] = defaultValue);
1375
- }),
1453
+ e.formItemFlag && (o[e.options.name] = defaultValue);
1454
+ }),
1376
1455
  this.$set(this.formDataModel, i, [o]))
1377
1456
  : this.$set(this.formDataModel, i, []);
1378
1457
  }
1379
- } else if ('grid-sub-form' === e.type) {
1458
+ } else if ("grid-sub-form" === e.type) {
1380
1459
  let a = e.options.name;
1381
1460
  if (currentFormData.hasOwnProperty(a)) {
1382
1461
  let l = currentFormData[a];
@@ -1390,44 +1469,47 @@ modules = {
1390
1469
  let d = {};
1391
1470
  e.options.showBlankRow
1392
1471
  ? (s.forEach(function (e) {
1393
- d[e.options.name] = defaultValue;
1394
- }),
1472
+ d[e.options.name] = defaultValue;
1473
+ }),
1395
1474
  this.$set(this.formDataModel, a, [d]))
1396
1475
  : this.$set(this.formDataModel, a, []);
1397
1476
  }
1398
- } else if ('detail-h5' === e.type) {
1399
- e.panes
1400
- && e.panes.length > 0
1401
- && e.panes.forEach(function (e) {
1402
- t.buildDataFromWidget(e);
1403
- });
1404
- } else if ('h5-card' === e.type) {
1405
- e.panes
1406
- && e.panes.length > 0
1407
- && e.panes.forEach(function (e) {
1408
- e.widgetList
1409
- && e.widgetList.length > 0
1410
- && e.widgetList.forEach(function (e) {
1477
+ } else if ("detail-h5" === e.type) {
1478
+ e.panes &&
1479
+ e.panes.length > 0 &&
1480
+ e.panes.forEach(function (e) {
1411
1481
  t.buildDataFromWidget(e);
1412
1482
  });
1413
- });
1483
+ } else if ("h5-card" === e.type) {
1484
+ e.panes &&
1485
+ e.panes.length > 0 &&
1486
+ e.panes.forEach(function (e) {
1487
+ e.widgetList &&
1488
+ e.widgetList.length > 0 &&
1489
+ e.widgetList.forEach(function (e) {
1490
+ t.buildDataFromWidget(e);
1491
+ });
1492
+ });
1414
1493
  } else
1415
- 'grid-col' === e.type || e.type,
1416
- e.widgetList
1417
- && e.widgetList.length > 0
1418
- && e.widgetList.forEach(function (e) {
1419
- t.buildDataFromWidget(e);
1420
- });
1421
- } else if ('vabsearch' === e.type) {
1422
-
1494
+ "grid-col" === e.type || e.type,
1495
+ e.widgetList &&
1496
+ e.widgetList.length > 0 &&
1497
+ e.widgetList.forEach(function (e) {
1498
+ t.buildDataFromWidget(e);
1499
+ });
1500
+ } else if ("vabsearch" === e.type) {
1423
1501
  let c = currentFormData[fieldKeyName];
1424
1502
  this.$set(this.formDataModel, fieldKeyName, baseRefUtil.deepClone(c));
1425
1503
  let vabSearchName = e.options.vabSearchName;
1426
1504
  if (vabSearchName) {
1427
1505
  let val = currentFormData[vabSearchName] ?? null;
1428
- this.$set(this.formDataModel, vabSearchName, baseRefUtil.deepClone(val));
1506
+ this.$set(
1507
+ this.formDataModel,
1508
+ vabSearchName,
1509
+ baseRefUtil.deepClone(val)
1510
+ );
1429
1511
  }
1430
- } else if ('table2-item' === e.type) {
1512
+ } else if ("table2-item" === e.type) {
1431
1513
  this.$set(this.formDataModel, fieldKeyName, []);
1432
1514
  } else if (e.formItemFlag) {
1433
1515
  if (dataId || currentFormData.hasOwnProperty(fieldKeyName)) {
@@ -1440,25 +1522,33 @@ modules = {
1440
1522
  },
1441
1523
  addFieldChangeEventHandler: function () {
1442
1524
  let e = this;
1443
- this.$off('fieldChange'),
1444
- this.$on('fieldChange', function (t, i, n, o, a) {
1445
- e.handleFieldDataChange(t, i, n, o, a), e.$emit('formChange', t, i, n, e.formDataModel, o, a);
1525
+ this.$off("fieldChange"),
1526
+ this.$on("fieldChange", function (t, i, n, o, a) {
1527
+ e.handleFieldDataChange(t, i, n, o, a),
1528
+ e.$emit("formChange", t, i, n, e.formDataModel, o, a);
1446
1529
  });
1447
1530
  },
1448
1531
  addFieldValidateEventHandler: function () {
1449
1532
  let e = this;
1450
- this.$off('fieldValidation'),
1451
- this.$on('fieldValidation', function (t) {
1533
+ this.$off("fieldValidation"),
1534
+ this.$on("fieldValidation", function (t) {
1452
1535
  e.$refs.renderForm.validateField(t);
1453
1536
  });
1454
1537
  },
1455
1538
  registerFormToRefList: function () {
1456
- this.widgetRefList['v_form_ref'] = this;
1539
+ this.widgetRefList["v_form_ref"] = this;
1457
1540
  },
1458
1541
  handleFieldDataChange: function (e, t, i, n, o) {
1459
1542
  if (this.formConfig && this.formConfig.onFormDataChange) {
1460
- let a = new Function('fieldName', 'newValue', 'oldValue', 'formModel', 'subFormName', 'subFormRowIndex',
1461
- this.formConfig.onFormDataChange);
1543
+ let a = new Function(
1544
+ "fieldName",
1545
+ "newValue",
1546
+ "oldValue",
1547
+ "formModel",
1548
+ "subFormName",
1549
+ "subFormRowIndex",
1550
+ this.formConfig.onFormDataChange
1551
+ );
1462
1552
  a.call(this, e, t, i, this.formDataModel, n, o);
1463
1553
  }
1464
1554
  },
@@ -1469,13 +1559,21 @@ modules = {
1469
1559
  return {
1470
1560
  eventParamNames: ["dataId", "formCode"],
1471
1561
  eventParamValues: [dataId, formCode],
1472
- }
1562
+ };
1473
1563
  },
1474
1564
  handleCustomEvent(funtionStr, eventParamNames = [], eventParamValues = []) {
1475
1565
  if (!this.designState && funtionStr) {
1476
1566
  let eventParam = this.getEventParam();
1477
- var e = new Function(...eventParam.eventParamNames, ...eventParamNames, funtionStr);
1478
- return e.call(this, ...eventParam.eventParamValues, ...eventParamValues);
1567
+ var e = new Function(
1568
+ ...eventParam.eventParamNames,
1569
+ ...eventParamNames,
1570
+ funtionStr
1571
+ );
1572
+ return e.call(
1573
+ this,
1574
+ ...eventParam.eventParamValues,
1575
+ ...eventParamValues
1576
+ );
1479
1577
  }
1480
1578
  },
1481
1579
 
@@ -1495,12 +1593,17 @@ modules = {
1495
1593
  },
1496
1594
  findWidgetAndSetDisabled: function (e, t) {
1497
1595
  let i = this.getWidgetRef(e);
1498
- i && i.setDisabled ? i.setDisabled(t) : this.findWidgetOfSubFormAndSetDisabled(e, t);
1596
+ i && i.setDisabled
1597
+ ? i.setDisabled(t)
1598
+ : this.findWidgetOfSubFormAndSetDisabled(e, t);
1499
1599
  },
1500
1600
  findWidgetOfSubFormAndSetDisabled: function (e, t) {
1501
1601
  let i = this,
1502
1602
  n = baseRefUtil.getFieldWidgetByName(this.formJsonObj.widgetList, e);
1503
- n && n.options && n.options.hasOwnProperty('disabled') && (n.options.disabled = t),
1603
+ n &&
1604
+ n.options &&
1605
+ n.options.hasOwnProperty("disabled") &&
1606
+ (n.options.disabled = t),
1504
1607
  this.findWidgetNameInSubForm(e).forEach(function (e) {
1505
1608
  let n = i.getWidgetRef(e);
1506
1609
  n && n.setDisabled && n.setDisabled(t);
@@ -1508,91 +1611,103 @@ modules = {
1508
1611
  },
1509
1612
  findWidgetAndSetHidden: function (e, t) {
1510
1613
  let i = this.getWidgetRef(e);
1511
- i && i.setDisabled ? i.setHidden(t) : this.findWidgetOfSubFormAndSetHidden(e, t);
1614
+ i && i.setDisabled
1615
+ ? i.setHidden(t)
1616
+ : this.findWidgetOfSubFormAndSetHidden(e, t);
1512
1617
  },
1513
1618
  findWidgetOfSubFormAndSetHidden: function (e, t) {
1514
1619
  let i = this,
1515
1620
  n = baseRefUtil.getFieldWidgetByName(this.formJsonObj.widgetList, e);
1516
- n && n.options && n.options.hasOwnProperty('hidden') && (n.options.hidden = t),
1621
+ n &&
1622
+ n.options &&
1623
+ n.options.hasOwnProperty("hidden") &&
1624
+ (n.options.hidden = t),
1517
1625
  this.findWidgetNameInSubForm(e).forEach(function (e) {
1518
1626
  let n = i.getWidgetRef(e);
1519
1627
  n && n.setDisabled && n.setHidden(t);
1520
1628
  });
1521
1629
  },
1522
1630
  findWidgetNameInSubForm(widgetName) {
1523
- let result = []
1524
- let subFormName = null
1525
- Object.keys(this.subFormRefList).forEach(sfName => {
1631
+ let result = [];
1632
+ let subFormName = null;
1633
+ Object.keys(this.subFormRefList).forEach((sfName) => {
1526
1634
  const fwHandler = (fw) => {
1527
1635
  if (fw.options.name === widgetName) {
1528
- subFormName = sfName
1636
+ subFormName = sfName;
1529
1637
  }
1530
- }
1638
+ };
1531
1639
 
1532
- const sfRef = this.subFormRefList[sfName]
1533
- traverseFieldWidgetsOfContainer(sfRef.widget, fwHandler, true)
1534
- })
1640
+ const sfRef = this.subFormRefList[sfName];
1641
+ traverseFieldWidgetsOfContainer(sfRef.widget, fwHandler, true);
1642
+ });
1535
1643
 
1536
1644
  if (!!subFormName) {
1537
- let subFormRef = this.getWidgetRef(subFormName)
1645
+ let subFormRef = this.getWidgetRef(subFormName);
1538
1646
  if (!!subFormRef) {
1539
1647
  if (subFormRef.widget.type == "data-table") {
1540
1648
  let rows = subFormRef.getValue();
1541
1649
  if (rows) {
1542
- rows.forEach(row => {
1543
- result.push(widgetName + '_' + row._X_ROW_KEY)
1544
- })
1650
+ rows.forEach((row) => {
1651
+ result.push(widgetName + "_" + row._X_ROW_KEY);
1652
+ });
1545
1653
  }
1546
-
1547
1654
  } else {
1548
- let rowIds = subFormRef.getRowIdData()
1549
- if (!!rowIds && (rowIds.length > 0)) {
1550
- rowIds.forEach(rid => {
1551
- result.push(widgetName + '@row' + rid)
1552
- })
1655
+ let rowIds = subFormRef.getRowIdData();
1656
+ if (!!rowIds && rowIds.length > 0) {
1657
+ rowIds.forEach((rid) => {
1658
+ result.push(widgetName + "@row" + rid);
1659
+ });
1553
1660
  }
1554
1661
  }
1555
-
1556
1662
  }
1557
1663
  }
1558
1664
 
1559
- return result
1665
+ return result;
1560
1666
  },
1561
1667
 
1562
1668
  findFieldWidgetById(fieldId, staticWidgetsIncluded) {
1563
- return getFieldWidgetById(this.formJsonObj.widgetList, fieldId, staticWidgetsIncluded)
1669
+ return getFieldWidgetById(
1670
+ this.formJsonObj.widgetList,
1671
+ fieldId,
1672
+ staticWidgetsIncluded
1673
+ );
1564
1674
  },
1565
1675
 
1566
1676
  getSubFormNameOfWidget(widgetName) {
1567
- let result = []
1568
- let subFormName = null
1569
- Object.keys(this.subFormRefList).forEach(sfName => {
1677
+ let result = [];
1678
+ let subFormName = null;
1679
+ Object.keys(this.subFormRefList).forEach((sfName) => {
1570
1680
  const fwHandler = (fw) => {
1571
1681
  if (fw.options.name === widgetName) {
1572
- subFormName = sfName
1682
+ subFormName = sfName;
1573
1683
  }
1574
- }
1684
+ };
1575
1685
 
1576
- const sfRef = this.subFormRefList[sfName]
1577
- traverseFieldWidgetsOfContainer(sfRef.widget, fwHandler)
1578
- })
1686
+ const sfRef = this.subFormRefList[sfName];
1687
+ traverseFieldWidgetsOfContainer(sfRef.widget, fwHandler);
1688
+ });
1579
1689
 
1580
- return subFormName
1690
+ return subFormName;
1581
1691
  },
1582
1692
 
1583
1693
  changeLanguage: function (e) {
1584
1694
  baseRefUtil.changeLocale(e);
1585
1695
  },
1586
1696
  getLanguageName: function () {
1587
- return localStorage.getItem('v_form_locale') || 'zh-CN';
1697
+ return localStorage.getItem("v_form_locale") || "zh-CN";
1588
1698
  },
1589
1699
  getNativeForm: function () {
1590
- return this.$refs['renderForm'];
1700
+ return this.$refs["renderForm"];
1591
1701
  },
1592
1702
  getWidgetRef: function (e) {
1593
1703
  let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
1594
1704
  i = this.widgetRefList[e];
1595
- return !i && t && this.$message.error(this.i18nt('render.hint.refNotFound') + e), i;
1705
+ return (
1706
+ !i &&
1707
+ t &&
1708
+ this.$message.error(this.i18nt("render.hint.refNotFound") + e),
1709
+ i
1710
+ );
1596
1711
  },
1597
1712
  clearFormDataModel: function () {
1598
1713
  for (let e in this.formDataModel) delete this.formDataModel[e];
@@ -1600,42 +1715,48 @@ modules = {
1600
1715
  setFormJson: function (e) {
1601
1716
  let t = this;
1602
1717
  if (e)
1603
- if ('string' === typeof e || e.constructor === Object) {
1718
+ if ("string" === typeof e || e.constructor === Object) {
1604
1719
  let i = null;
1605
- if (((i = 'string' === typeof e ? JSON.parse(e) : e), !i.formConfig || !i.widgetList)) return void this
1606
- .$message.error('Invalid format of form json.');
1720
+ if (
1721
+ ((i = "string" === typeof e ? JSON.parse(e) : e),
1722
+ !i.formConfig || !i.widgetList)
1723
+ )
1724
+ return void this.$message.error("Invalid format of form json.");
1607
1725
  this.clearFormDataModel(),
1608
1726
  this.buildFormModel(i.widgetList),
1609
- this.$set(this.formJsonObj, 'formConfig', i.formConfig),
1727
+ this.$set(this.formJsonObj, "formConfig", i.formConfig),
1610
1728
  (this._provided.formConfig = i.formConfig),
1611
- this.$set(this.formJsonObj, 'widgetList', i.widgetList),
1729
+ this.$set(this.formJsonObj, "widgetList", i.widgetList),
1612
1730
  this.insertCustomStyleAndScriptNode(),
1613
1731
  this.$nextTick(function () {
1614
1732
  t.initFormObject(!1), t.handleOnMounted();
1615
1733
  });
1616
- } else this.$message.error('Set form json failed.');
1734
+ } else this.$message.error("Set form json failed.");
1617
1735
  },
1618
1736
  reloadOptionData: function (e) {
1619
1737
  let t = [];
1620
- e && 'string' === typeof e ? (t = [e]) : e && Array.isArray(e) && (t = [...e]), this.broadcast('FieldWidget',
1621
- 'reloadOptionItems', [t]);
1738
+ e && "string" === typeof e
1739
+ ? (t = [e])
1740
+ : e && Array.isArray(e) && (t = [...e]),
1741
+ this.broadcast("FieldWidget", "reloadOptionItems", [t]);
1622
1742
  },
1623
1743
  getFormData: function () {
1624
1744
  let e = this,
1625
1745
  t = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
1626
1746
  if (!t) return this.formDataModel;
1627
- let i = function () {
1628
- },
1747
+ let i = function () {},
1629
1748
  n = new window.Promise(function (e, t) {
1630
1749
  i = function (i, n) {
1631
1750
  n ? t(n) : e(i);
1632
1751
  };
1633
1752
  });
1634
1753
  return (
1635
- this.$refs['renderForm'].validate(function (t) {
1636
- t ? i(e.formDataModel) : i(e.formDataModel, e.i18nt('render.hint.validationFailed'));
1754
+ this.$refs["renderForm"].validate(function (t) {
1755
+ t
1756
+ ? i(e.formDataModel)
1757
+ : i(e.formDataModel, e.i18nt("render.hint.validationFailed"));
1637
1758
  }),
1638
- n
1759
+ n
1639
1760
  );
1640
1761
  },
1641
1762
  setFormData: function (e) {
@@ -1643,10 +1764,10 @@ modules = {
1643
1764
  /*Object.keys(this.formDataModel).forEach(function (i) {
1644
1765
  e && e.hasOwnProperty(i) && (t.formDataModel[i] = baseRefUtil.deepClone(e[i]));
1645
1766
  });*/
1646
- Object.assign(t.formDataModel, baseRefUtil.deepClone(e))
1767
+ Object.assign(t.formDataModel, baseRefUtil.deepClone(e));
1647
1768
  this.currentFormData = e || {};
1648
- this.broadcast('ContainerItem', 'setFormData', this.formDataModel),
1649
- this.broadcast('FieldWidget', 'setFormData', this.formDataModel);
1769
+ this.broadcast("ContainerItem", "setFormData", this.formDataModel),
1770
+ this.broadcast("FieldWidget", "setFormData", this.formDataModel);
1650
1771
  },
1651
1772
  getFieldValue: function (e) {
1652
1773
  let t = this,
@@ -1659,7 +1780,7 @@ modules = {
1659
1780
  let i = t.getWidgetRef(e);
1660
1781
  i && i.getValue && n.push(i.getValue());
1661
1782
  }),
1662
- n
1783
+ n
1663
1784
  );
1664
1785
  }
1665
1786
  },
@@ -1667,43 +1788,60 @@ modules = {
1667
1788
  let i = this,
1668
1789
  n = this.getWidgetRef(e);
1669
1790
  n && n.setValue && n.setValue(t),
1670
- n
1671
- || this.findWidgetNameInSubForm(e).forEach(function (e) {
1672
- let n = i.getWidgetRef(e);
1673
- n && n.setValue && n.setValue(t);
1674
- });
1791
+ n ||
1792
+ this.findWidgetNameInSubForm(e).forEach(function (e) {
1793
+ let n = i.getWidgetRef(e);
1794
+ n && n.setValue && n.setValue(t);
1795
+ });
1675
1796
  },
1676
1797
  getSubFormValues: function (e) {
1677
- let t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
1798
+ let t =
1799
+ !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
1678
1800
  i = this.subFormRefList[e];
1679
1801
  return i.getSubFormValues(t);
1680
1802
  },
1681
- setSubFormValues: function (e, t) {
1682
- },
1683
- disableForm: function () {
1684
- let e = this,
1685
- t = Object.keys(this.widgetRefList);
1686
- t.forEach(function (t) {
1687
- let i = e.getWidgetRef(t);
1688
- i
1689
- && (i.widget && 'sub-form' === i.widget.type
1690
- ? i.disableSubForm()
1691
- : i.widget && 'grid-sub-form' === i.widget.type
1692
- ? i.disableGridSubForm()
1693
- : i.setDisabled && i.setDisabled(!0));
1803
+ setSubFormValues: function (e, t) {},
1804
+ disableForm(ignoreFields) {
1805
+ let wNameList = Object.keys(this.widgetRefList);
1806
+ wNameList.forEach((wName) => {
1807
+ let foundW = this.getWidgetRef(wName);
1808
+ if (!!foundW) {
1809
+ if (ignoreFields && ignoreFields.includes(wName)) {
1810
+ return;
1811
+ }
1812
+ if (!!foundW.widget && foundW.widget.type === "sub-form") {
1813
+ foundW.disableSubForm();
1814
+ } else if (
1815
+ !!foundW.widget &&
1816
+ foundW.widget.type === "grid-sub-form"
1817
+ ) {
1818
+ foundW.disableGridSubForm();
1819
+ } else {
1820
+ !!foundW.setDisabled && foundW.setDisabled(true);
1821
+ }
1822
+ }
1694
1823
  });
1695
1824
  },
1696
- enableForm: function () {
1697
- let e = this,
1698
- t = Object.keys(this.widgetRefList);
1699
- t.forEach(function (t) {
1700
- let i = e.getWidgetRef(t);
1701
- i
1702
- && (i.widget && 'sub-form' === i.widget.type
1703
- ? i.enableSubForm()
1704
- : i.widget && 'grid-sub-form' === i.widget.type
1705
- ? i.enableGridSubForm()
1706
- : i.setDisabled && i.setDisabled(!1));
1825
+
1826
+ enableForm(ignoreFields) {
1827
+ let wNameList = Object.keys(this.widgetRefList);
1828
+ wNameList.forEach((wName) => {
1829
+ let foundW = this.getWidgetRef(wName);
1830
+ if (!!foundW) {
1831
+ if (ignoreFields && ignoreFields.includes(wName)) {
1832
+ return;
1833
+ }
1834
+ if (!!foundW.widget && foundW.widget.type === "sub-form") {
1835
+ foundW.enableSubForm();
1836
+ } else if (
1837
+ !!foundW.widget &&
1838
+ foundW.widget.type === "grid-sub-form"
1839
+ ) {
1840
+ foundW.enableGridSubForm();
1841
+ } else {
1842
+ !!foundW.setDisabled && foundW.setDisabled(false);
1843
+ }
1844
+ }
1707
1845
  });
1708
1846
  },
1709
1847
  resetForm: function () {
@@ -1725,60 +1863,64 @@ modules = {
1725
1863
  this.$refs.renderForm.clearValidate(e);
1726
1864
  },
1727
1865
  validateForm: function (e) {
1728
- this.$refs['renderForm'].$baseValidate(function (t) {
1866
+ this.$refs["renderForm"].$baseValidate(function (t) {
1729
1867
  e(t);
1730
1868
  });
1731
1869
  },
1732
- validateFields: function () {
1733
- },
1870
+ validateFields: function () {},
1734
1871
  disableWidgets: function (e) {
1735
1872
  let t = this;
1736
- e
1737
- && ('string' === typeof e
1738
- ? this.findWidgetAndSetDisabled(e, !0)
1739
- : Array.isArray(e)
1740
- && e.forEach(function (e) {
1741
- t.findWidgetAndSetDisabled(e, !0);
1742
- }));
1873
+ e &&
1874
+ ("string" === typeof e
1875
+ ? this.findWidgetAndSetDisabled(e, !0)
1876
+ : Array.isArray(e) &&
1877
+ e.forEach(function (e) {
1878
+ t.findWidgetAndSetDisabled(e, !0);
1879
+ }));
1743
1880
  },
1744
1881
  enableWidgets: function (e) {
1745
1882
  let t = this;
1746
- e
1747
- && ('string' === typeof e
1748
- ? this.findWidgetAndSetDisabled(e, !1)
1749
- : Array.isArray(e)
1750
- && e.forEach(function (e) {
1751
- t.findWidgetAndSetDisabled(e, !1);
1752
- }));
1883
+ e &&
1884
+ ("string" === typeof e
1885
+ ? this.findWidgetAndSetDisabled(e, !1)
1886
+ : Array.isArray(e) &&
1887
+ e.forEach(function (e) {
1888
+ t.findWidgetAndSetDisabled(e, !1);
1889
+ }));
1753
1890
  },
1754
1891
  hideWidgets: function (e) {
1755
1892
  let t = this;
1756
- e
1757
- && ('string' === typeof e
1758
- ? this.findWidgetAndSetHidden(e, !0)
1759
- : Array.isArray(e)
1760
- && e.forEach(function (e) {
1761
- t.findWidgetAndSetHidden(e, !0);
1762
- }));
1893
+ e &&
1894
+ ("string" === typeof e
1895
+ ? this.findWidgetAndSetHidden(e, !0)
1896
+ : Array.isArray(e) &&
1897
+ e.forEach(function (e) {
1898
+ t.findWidgetAndSetHidden(e, !0);
1899
+ }));
1763
1900
  },
1764
1901
  showWidgets: function (e) {
1765
1902
  let t = this;
1766
- e
1767
- && ('string' === typeof e
1768
- ? this.findWidgetAndSetHidden(e, !1)
1769
- : Array.isArray(e)
1770
- && e.forEach(function (e) {
1771
- t.findWidgetAndSetHidden(e, !1);
1772
- }));
1903
+ e &&
1904
+ ("string" === typeof e
1905
+ ? this.findWidgetAndSetHidden(e, !1)
1906
+ : Array.isArray(e) &&
1907
+ e.forEach(function (e) {
1908
+ t.findWidgetAndSetHidden(e, !1);
1909
+ }));
1773
1910
  },
1774
1911
  getFieldWidgets: function () {
1775
- let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1776
- return e ? baseRefUtil.getAllFieldWidgets(e) : baseRefUtil.getAllFieldWidgets(this.formJsonObj.widgetList);
1912
+ let e =
1913
+ arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1914
+ return e
1915
+ ? baseRefUtil.getAllFieldWidgets(e)
1916
+ : baseRefUtil.getAllFieldWidgets(this.formJsonObj.widgetList);
1777
1917
  },
1778
1918
  getContainerWidgets: function () {
1779
- let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1780
- return e ? baseRefUtil.getAllContainerWidgets(e) : baseRefUtil.getAllContainerWidgets(this.formJsonObj
1781
- .widgetList);
1919
+ let e =
1920
+ arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1921
+ return e
1922
+ ? baseRefUtil.getAllContainerWidgets(e)
1923
+ : baseRefUtil.getAllContainerWidgets(this.formJsonObj.widgetList);
1782
1924
  },
1783
1925
  addEC: function (e, t) {
1784
1926
  this.externalComponents[e] = t;
@@ -1790,7 +1932,8 @@ modules = {
1790
1932
  return this.externalComponents[e];
1791
1933
  },
1792
1934
  setReadMode: function () {
1793
- let e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
1935
+ let e =
1936
+ !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
1794
1937
  this.readModeFlag = e;
1795
1938
  },
1796
1939
  getReadMode: function () {
@@ -1801,7 +1944,7 @@ modules = {
1801
1944
  },
1802
1945
  executeDataSource: function (e, t) {
1803
1946
  let i = this;
1804
- return Object(ie['a'])(
1947
+ return Object(ie["a"])(
1805
1948
  regeneratorRuntime.mark(function n() {
1806
1949
  let o, a;
1807
1950
  return regeneratorRuntime.wrap(function (n) {
@@ -1810,16 +1953,16 @@ modules = {
1810
1953
  case 0:
1811
1954
  return (
1812
1955
  (o = baseRefUtil.getDSByName(i.formJsonObj.formConfig, e)),
1813
- (a = new Object({})),
1814
- baseRefUtil.overwriteObj(a, i.globalDsv),
1815
- baseRefUtil.overwriteObj(a, t),
1816
- (n.next = 6),
1817
- baseRefUtil.runDataSourceRequest(o, a, i, !1, i.$message)
1956
+ (a = new Object({})),
1957
+ baseRefUtil.overwriteObj(a, i.globalDsv),
1958
+ baseRefUtil.overwriteObj(a, t),
1959
+ (n.next = 6),
1960
+ baseRefUtil.runDataSourceRequest(o, a, i, !1, i.$message)
1818
1961
  );
1819
1962
  case 6:
1820
- return n.abrupt('return', n.sent);
1963
+ return n.abrupt("return", n.sent);
1821
1964
  case 7:
1822
- case 'end':
1965
+ case "end":
1823
1966
  return n.stop();
1824
1967
  }
1825
1968
  }, n);
@@ -1840,10 +1983,12 @@ modules = {
1840
1983
  },
1841
1984
  showDialog: function (e, t) {
1842
1985
  let i = baseRefUtil.getContainerWidgetByName(this.widgetList, e);
1843
- if (e && 'vf-dialog' === i.type) {
1986
+ if (e && "vf-dialog" === i.type) {
1844
1987
  let n = {
1845
1988
  widgetList: baseRefUtil.deepClone(i.widgetList),
1846
- formConfig: baseRefUtil.cloneFormConfigWithoutEventHandler(this.formConfig)
1989
+ formConfig: baseRefUtil.cloneFormConfigWithoutEventHandler(
1990
+ this.formConfig
1991
+ ),
1847
1992
  },
1848
1993
  // a = o.a.extend(fe),
1849
1994
  a = baseRefUtil.Vue.extend(baseRefUtil.dynamicDialogRender),
@@ -1854,21 +1999,23 @@ modules = {
1854
1999
  formData: t || {},
1855
2000
  optionData: this.optionData,
1856
2001
  globalDsv: this.globalDsv,
1857
- parentFormRef: this
2002
+ parentFormRef: this,
1858
2003
  },
1859
- components: {VFormRender}
2004
+ components: { VFormRender },
1860
2005
  });
1861
2006
  document.body.appendChild(l.$mount().$el), l.show();
1862
2007
  } else {
1863
- this.$message.error(this.i18nt('render.hint.refNotFound') + e);
2008
+ this.$message.error(this.i18nt("render.hint.refNotFound") + e);
1864
2009
  }
1865
2010
  },
1866
2011
  showDrawer: function (e, t) {
1867
2012
  let i = baseRefUtil.getContainerWidgetByName(this.widgetList, e);
1868
- if (i && 'vf-drawer' === i.type) {
2013
+ if (i && "vf-drawer" === i.type) {
1869
2014
  let n = {
1870
2015
  widgetList: baseRefUtil.deepClone(i.widgetList),
1871
- formConfig: baseRefUtil.cloneFormConfigWithoutEventHandler(this.formConfig)
2016
+ formConfig: baseRefUtil.cloneFormConfigWithoutEventHandler(
2017
+ this.formConfig
2018
+ ),
1872
2019
  },
1873
2020
  a = o.a.extend(we),
1874
2021
  l = new a({
@@ -1878,14 +2025,13 @@ modules = {
1878
2025
  formData: t || {},
1879
2026
  optionData: this.optionData,
1880
2027
  globalDsv: this.globalDsv,
1881
- parentFormRef: this
1882
- }
2028
+ parentFormRef: this,
2029
+ },
1883
2030
  });
1884
2031
  document.body.appendChild(l.$mount().$el), l.show();
1885
- } else this.$message.error(this.i18nt('render.hint.refNotFound') + e);
1886
- },
1887
- showDialogOrDrawer: function (e) {
2032
+ } else this.$message.error(this.i18nt("render.hint.refNotFound") + e);
1888
2033
  },
2034
+ showDialogOrDrawer: function (e) {},
1889
2035
  getTableFiledMap(flag) {
1890
2036
  let fieldMap = {};
1891
2037
  let fJson = this.formJson;
@@ -1893,22 +2039,22 @@ modules = {
1893
2039
  grid: "cols",
1894
2040
  table: "rows",
1895
2041
  "table-cell": "widgetList",
1896
- 'h5-table': "rows",
2042
+ "h5-table": "rows",
1897
2043
  "h5-table-cell": "widgetList",
1898
2044
  tab: "tabs",
1899
2045
  "tab-pane": "widgetList",
1900
2046
  "grid-col": "widgetList",
1901
2047
  "vf-box": "widgetList",
1902
- "card": "widgetList",
1903
- "detail": "panes",
2048
+ card: "widgetList",
2049
+ detail: "panes",
1904
2050
  "detail-pane": "widgetList",
1905
2051
  "detail-h5": "panes",
1906
2052
  "h5-card": "panes",
1907
2053
  "h5-card-pane": "widgetList",
1908
- }
2054
+ };
1909
2055
  let loopDo = (widgetList) => {
1910
2056
  if (!widgetList) return;
1911
- widgetList.forEach(widget => {
2057
+ widgetList.forEach((widget) => {
1912
2058
  let widgetName = widget.options.name;
1913
2059
  let fieldKeyName = this.getFieldKeyName(widget);
1914
2060
  if (widget.tableField) {
@@ -1926,35 +2072,33 @@ modules = {
1926
2072
  let itemField = itemFieldMap[widget.type];
1927
2073
  if (itemField) {
1928
2074
  if ("table" == widget.type) {
1929
- widget[itemField].forEach(item => {
2075
+ widget[itemField].forEach((item) => {
1930
2076
  loopDo(item.cols);
1931
- })
2077
+ });
1932
2078
  } else if ("h5-table" == widget.type) {
1933
- widget[itemField].forEach(item => {
2079
+ widget[itemField].forEach((item) => {
1934
2080
  loopDo(item.cols);
1935
- })
2081
+ });
1936
2082
  } else {
1937
2083
  loopDo(widget[itemField]);
1938
2084
  }
1939
2085
  }
1940
2086
  }
1941
2087
  }
1942
- })
1943
- }
2088
+ });
2089
+ };
1944
2090
  loopDo(fJson.widgetList);
1945
2091
  return fieldMap;
1946
2092
  },
1947
2093
  getFieldKeyName(widget) {
1948
2094
  let o = widget.options.name;
1949
- return (
1950
- (widget.options.keyNameEnabled
1951
- && widget.options.keyName)
1952
- || o
1953
- );
2095
+ return (widget.options.keyNameEnabled && widget.options.keyName) || o;
1954
2096
  },
1955
2097
  isVabsearchFlagWidget(widget) {
1956
2098
  let type = widget?.type;
1957
- return type == "vabsearch" || type == "singerSearch" || type == "multiSearch";
2099
+ return (
2100
+ type == "vabsearch" || type == "singerSearch" || type == "multiSearch"
2101
+ );
1958
2102
  },
1959
2103
  getFormTemplateTableDTOs() {
1960
2104
  let formTemplateTableDTOs = [];
@@ -1966,24 +2110,24 @@ modules = {
1966
2110
  grid: "cols",
1967
2111
  table: "rows",
1968
2112
  "table-cell": "widgetList",
1969
- 'h5-table': "rows",
2113
+ "h5-table": "rows",
1970
2114
  "h5-table-cell": "widgetList",
1971
2115
  tab: "tabs",
1972
2116
  "tab-pane": "widgetList",
1973
2117
  "grid-col": "widgetList",
1974
2118
  "vf-box": "widgetList",
1975
- "card": "widgetList",
1976
- "detail": "panes",
2119
+ card: "widgetList",
2120
+ detail: "panes",
1977
2121
  "detail-pane": "widgetList",
1978
2122
  "detail-h5": "panes",
1979
2123
  "h5-card": "panes",
1980
2124
  "h5-card-pane": "widgetList",
1981
- }
2125
+ };
1982
2126
  let loopDo = (widgetList) => {
1983
2127
  if (!widgetList) return;
1984
- widgetList.forEach(widget => {
2128
+ widgetList.forEach((widget) => {
1985
2129
  let submitFlag = widget.options.submitFlag || false;
1986
- if (widget.formItemFlag || widget.type == 'data-table') {
2130
+ if (widget.formItemFlag || widget.type == "data-table") {
1987
2131
  if (widget.options.submitFlag === void 0) {
1988
2132
  submitFlag = true;
1989
2133
  }
@@ -1992,28 +2136,30 @@ modules = {
1992
2136
  let uniqueName = widget.options.name;
1993
2137
  let widgetName = this.getFieldKeyName(widget);
1994
2138
  let entityTableCode = widget.options.entityTableCode;
1995
- if ((widget.type == 'data-table' || widget.type == 'list-h5')) {
2139
+ if (widget.type == "data-table" || widget.type == "list-h5") {
1996
2140
  let isTreeTable = widget.options.isTreeTable || false;
1997
2141
  if (submitFlag) {
1998
- let vailColumns = widget.options.tableColumns.filter(item => item.prop && item.label);
2142
+ let vailColumns = widget.options.tableColumns.filter(
2143
+ (item) => item.prop && item.label
2144
+ );
1999
2145
  let itemFields = [];
2000
- vailColumns.forEach(item => {
2001
- if (item.formatS == 'editSearch') {
2146
+ vailColumns.forEach((item) => {
2147
+ if (item.formatS == "editSearch") {
2002
2148
  itemFields.push({
2003
2149
  fieldDesc: item.label + "ID",
2004
- fieldName: item.prop
2150
+ fieldName: item.prop,
2005
2151
  });
2006
2152
  let vabSearchName = item?.columnOption?.vabSearchName;
2007
2153
  if (vabSearchName) {
2008
2154
  itemFields.push({
2009
2155
  fieldDesc: item.label,
2010
- fieldName: vabSearchName
2156
+ fieldName: vabSearchName,
2011
2157
  });
2012
2158
  }
2013
2159
  } else {
2014
2160
  itemFields.push({
2015
2161
  fieldDesc: item.label,
2016
- fieldName: item.prop
2162
+ fieldName: item.prop,
2017
2163
  });
2018
2164
  }
2019
2165
  });
@@ -2026,14 +2172,13 @@ modules = {
2026
2172
  tableType: 1,
2027
2173
  isTreeTable,
2028
2174
  uniqueName,
2029
- formTemplateFieldDTOs: []
2175
+ formTemplateFieldDTOs: [],
2030
2176
  };
2031
2177
  formTemplateTable.formTemplateFieldDTOs = itemFields;
2032
2178
  formTemplateTableDTOs.push(formTemplateTable);
2033
2179
  }
2034
2180
  }
2035
-
2036
- } else if (widget.type == 'vabUpload') {
2181
+ } else if (widget.type == "vabUpload") {
2037
2182
  if (submitFlag) {
2038
2183
  let formTemplateTable = {
2039
2184
  tableAlias: widgetName,
@@ -2044,7 +2189,7 @@ modules = {
2044
2189
  };
2045
2190
  formTemplateTableDTOs.push(formTemplateTable);
2046
2191
  }
2047
- } else if (widget.type == 'project-tag') {
2192
+ } else if (widget.type == "project-tag") {
2048
2193
  if (submitFlag) {
2049
2194
  let formTemplateTable = {
2050
2195
  tableAlias: widgetName,
@@ -2055,7 +2200,7 @@ modules = {
2055
2200
  };
2056
2201
  formTemplateTableDTOs.push(formTemplateTable);
2057
2202
  }
2058
- } else if (widget.type == 'table2') {
2203
+ } else if (widget.type == "table2") {
2059
2204
  if (submitFlag) {
2060
2205
  let formTemplateTable = {
2061
2206
  tableAlias: widgetName,
@@ -2070,14 +2215,14 @@ modules = {
2070
2215
  if (submitFlag) {
2071
2216
  fields.push({
2072
2217
  fieldDesc: widget.options.label + "ID",
2073
- fieldName: widgetName
2074
- })
2218
+ fieldName: widgetName,
2219
+ });
2075
2220
  let vabSearchName = widget.options.vabSearchName;
2076
2221
  if (vabSearchName) {
2077
2222
  fields.push({
2078
2223
  fieldDesc: widget.options.label,
2079
2224
  fieldName: vabSearchName,
2080
- name: vabSearchName
2225
+ name: vabSearchName,
2081
2226
  });
2082
2227
  }
2083
2228
  }
@@ -2086,37 +2231,37 @@ modules = {
2086
2231
  fields.push({
2087
2232
  fieldDesc: widget.options.label,
2088
2233
  fieldName: widgetName,
2089
- name: widget.options.name
2090
- })
2234
+ name: widget.options.name,
2235
+ });
2091
2236
  }
2092
2237
  } else {
2093
2238
  if (widget.category == "container") {
2094
2239
  let itemField = itemFieldMap[widget.type];
2095
2240
  if (itemField) {
2096
2241
  if ("table" == widget.type) {
2097
- widget[itemField].forEach(item => {
2242
+ widget[itemField].forEach((item) => {
2098
2243
  loopDo(item.cols);
2099
- })
2244
+ });
2100
2245
  } else if ("h5-table" == widget.type) {
2101
- widget[itemField].forEach(item => {
2246
+ widget[itemField].forEach((item) => {
2102
2247
  loopDo(item.cols);
2103
- })
2248
+ });
2104
2249
  } else {
2105
2250
  loopDo(widget[itemField]);
2106
2251
  }
2107
2252
  }
2108
2253
  }
2109
2254
  }
2110
- })
2111
- }
2255
+ });
2256
+ };
2112
2257
  loopDo(fJson.widgetList);
2113
2258
  if (fields.length) {
2114
2259
  let formTemplateTable = {
2115
2260
  tableAlias: null,
2116
2261
  formCode: formCode,
2117
2262
  tableType: 0,
2118
- formTemplateFieldDTOs: fields
2119
- }
2263
+ formTemplateFieldDTOs: fields,
2264
+ };
2120
2265
  formTemplateTableDTOs.push(formTemplateTable);
2121
2266
  }
2122
2267
 
@@ -2131,40 +2276,48 @@ modules = {
2131
2276
  let formConfig = this.formConfig;
2132
2277
  return new Promise((resolve, reject) => {
2133
2278
  let res = {};
2134
- this.getFormData().then((formData, b) => {
2135
- for (let key in formData) {
2136
- let tableField = tableFiledMap[key];
2137
- if (tableField) {
2138
- res[tableField] = formData[key];
2139
- }
2140
- }
2141
- let newFormData = {};
2142
- formTemplateTableDTOs.forEach(formTemplateTableDTO => {
2143
- let tableAlias = formTemplateTableDTO.tableType == 0 ? formCode : formTemplateTableDTO.tableAlias;
2144
- if (formTemplateTableDTO.tableType == 0) {
2145
- let item = this.$baseLodash.cloneDeep(this.formData);
2146
- Object.keys(item).forEach(key => {
2147
- if (Array.isArray(item[key])) {
2148
- delete item[key];
2149
- }
2150
- })
2151
- formTemplateTableDTO.formTemplateFieldDTOs.forEach(formTemplateFieldDTO => {
2152
- item[formTemplateFieldDTO.fieldName] = res[formTemplateFieldDTO.fieldName];
2153
- })
2154
- newFormData[tableAlias] = item;
2155
- } else {
2156
- newFormData[tableAlias] = formDataModel[formTemplateTableDTO.name]
2279
+ this.getFormData()
2280
+ .then((formData, b) => {
2281
+ for (let key in formData) {
2282
+ let tableField = tableFiledMap[key];
2283
+ if (tableField) {
2284
+ res[tableField] = formData[key];
2285
+ }
2157
2286
  }
2158
-
2159
- })
2160
- /*if (formConfig.formType === 1) {
2287
+ let newFormData = {};
2288
+ formTemplateTableDTOs.forEach((formTemplateTableDTO) => {
2289
+ let tableAlias =
2290
+ formTemplateTableDTO.tableType == 0
2291
+ ? formCode
2292
+ : formTemplateTableDTO.tableAlias;
2293
+ if (formTemplateTableDTO.tableType == 0) {
2294
+ let item = this.$baseLodash.cloneDeep(this.formData);
2295
+ Object.keys(item).forEach((key) => {
2296
+ if (Array.isArray(item[key])) {
2297
+ delete item[key];
2298
+ }
2299
+ });
2300
+ formTemplateTableDTO.formTemplateFieldDTOs.forEach(
2301
+ (formTemplateFieldDTO) => {
2302
+ item[formTemplateFieldDTO.fieldName] =
2303
+ res[formTemplateFieldDTO.fieldName];
2304
+ }
2305
+ );
2306
+ newFormData[tableAlias] = item;
2307
+ } else {
2308
+ newFormData[tableAlias] =
2309
+ formDataModel[formTemplateTableDTO.name];
2310
+ }
2311
+ });
2312
+ /*if (formConfig.formType === 1) {
2161
2313
  newFormData = this.getSysFormData(newFormData);
2162
2314
  }*/
2163
- resolve(newFormData);
2164
- }).catch((msg) => {
2165
- reject(msg)
2166
- })
2167
- })
2315
+ resolve(newFormData);
2316
+ })
2317
+ .catch((msg) => {
2318
+ reject(msg);
2319
+ });
2320
+ });
2168
2321
  },
2169
2322
  getSubData2(flag) {
2170
2323
  let that = this;
@@ -2185,61 +2338,79 @@ modules = {
2185
2338
  }
2186
2339
 
2187
2340
  let newFormData = {};
2188
- formTemplateTableDTOs.forEach(formTemplateTableDTO => {
2189
- let tableAlias = formTemplateTableDTO.tableType == 0 ? formCode : formTemplateTableDTO.tableAlias;
2341
+ formTemplateTableDTOs.forEach((formTemplateTableDTO) => {
2342
+ let tableAlias =
2343
+ formTemplateTableDTO.tableType == 0
2344
+ ? formCode
2345
+ : formTemplateTableDTO.tableAlias;
2190
2346
  if (formTemplateTableDTO.tableType == 0) {
2191
2347
  let item = this.$baseLodash.cloneDeep(this.currentFormData);
2192
- Object.keys(item).forEach(key => {
2348
+ Object.keys(item).forEach((key) => {
2193
2349
  if (Array.isArray(item[key])) {
2194
2350
  delete item[key];
2195
2351
  }
2196
- })
2197
- formTemplateTableDTO.formTemplateFieldDTOs.forEach(formTemplateFieldDTO => {
2198
- item[formTemplateFieldDTO.fieldName] = res[formTemplateFieldDTO.fieldName];
2199
- })
2352
+ });
2353
+ formTemplateTableDTO.formTemplateFieldDTOs.forEach(
2354
+ (formTemplateFieldDTO) => {
2355
+ item[formTemplateFieldDTO.fieldName] =
2356
+ res[formTemplateFieldDTO.fieldName];
2357
+ }
2358
+ );
2200
2359
  newFormData[tableAlias] = item ?? null;
2201
2360
  } else {
2202
2361
  if (formTemplateTableDTO.isTreeTable) {
2203
- let tableTarget = this.getWidgetRef(formTemplateTableDTO.uniqueName);
2204
- let $grid = tableTarget.getGridTable()
2362
+ let tableTarget = this.getWidgetRef(
2363
+ formTemplateTableDTO.uniqueName
2364
+ );
2365
+ let $grid = tableTarget.getGridTable();
2205
2366
  let parentField = $grid.treeConfig.parentField;
2206
2367
  let treeTaBm = newFormData.treeTaBm || [];
2207
2368
  treeTaBm.push(formTemplateTableDTO.tableAlias);
2208
2369
  newFormData.treeTaBm = treeTaBm;
2209
- let tableDatas = this.$baseLodash.cloneDeep(formDataModel[formTemplateTableDTO.name] || []);
2210
- tableDatas.forEach(tableData => {
2211
- if (tableData.id && tableData.id.startsWith && tableData.id.startsWith("row_")) {
2212
- tableData.id = null
2370
+ let tableDatas = this.$baseLodash.cloneDeep(
2371
+ formDataModel[formTemplateTableDTO.name] || []
2372
+ );
2373
+ tableDatas.forEach((tableData) => {
2374
+ if (
2375
+ tableData.id &&
2376
+ tableData.id.startsWith &&
2377
+ tableData.id.startsWith("row_")
2378
+ ) {
2379
+ tableData.id = null;
2213
2380
  }
2214
- if (tableData[parentField] && tableData[parentField].startsWith && tableData[parentField].startsWith("row_")) {
2381
+ if (
2382
+ tableData[parentField] &&
2383
+ tableData[parentField].startsWith &&
2384
+ tableData[parentField].startsWith("row_")
2385
+ ) {
2215
2386
  tableData[parentField] = null;
2216
2387
  }
2217
- if (tableData[parentField] === undefined) tableData[parentField] = null;
2218
- })
2219
- tableDatas = tableDatas.filter(item => {
2388
+ if (tableData[parentField] === undefined)
2389
+ tableData[parentField] = null;
2390
+ });
2391
+ tableDatas = tableDatas.filter((item) => {
2220
2392
  return item[parentField] === 0 || item[parentField] === null;
2221
- })
2393
+ });
2222
2394
  newFormData[tableAlias] = tableDatas;
2223
2395
  } else {
2224
- newFormData[tableAlias] = formDataModel[formTemplateTableDTO.name] ?? null;
2396
+ newFormData[tableAlias] =
2397
+ formDataModel[formTemplateTableDTO.name] ?? null;
2225
2398
  }
2226
-
2227
2399
  }
2228
-
2229
- })
2400
+ });
2230
2401
  if (flag) {
2231
2402
  newFormData = this.getSysFormData(newFormData);
2232
2403
  }
2233
2404
  return newFormData;
2234
2405
  },
2235
2406
  getSysFormData(realFormData) {
2236
- let formData0 = this.$baseLodash.cloneDeep(realFormData)
2407
+ let formData0 = this.$baseLodash.cloneDeep(realFormData);
2237
2408
  let formConfig = this.formConfig;
2238
- let reportTemplate = this.reportTemplate
2409
+ let reportTemplate = this.reportTemplate;
2239
2410
  let formCode = reportTemplate.formCode;
2240
- let formData = this.$baseLodash.cloneDeep(formData0[formCode])
2411
+ let formData = this.$baseLodash.cloneDeep(formData0[formCode]);
2241
2412
  if (formData) {
2242
- Object.keys(formData0).forEach(key => {
2413
+ Object.keys(formData0).forEach((key) => {
2243
2414
  if (key != formCode) {
2244
2415
  formData[key] = formData0[key];
2245
2416
  }
@@ -2251,19 +2422,19 @@ modules = {
2251
2422
  getRealFormData(option) {
2252
2423
  let formCode = this.reportTemplate.formCode;
2253
2424
  let subData = this.getSubData2();
2254
- let realFormData = {}
2425
+ let realFormData = {};
2255
2426
  if (option) {
2256
- Object.keys(option).forEach(key => {
2427
+ Object.keys(option).forEach((key) => {
2257
2428
  realFormData[option[key]] = subData[key];
2258
- })
2429
+ });
2259
2430
  } else {
2260
2431
  realFormData = subData;
2261
2432
  }
2262
2433
  return realFormData;
2263
2434
  },
2264
2435
  reloadForm(option) {
2265
- let target1 = this.$attrs['parent-target'];
2266
- let target2 = target1?.$attrs['parent-target'];
2436
+ let target1 = this.$attrs["parent-target"];
2437
+ let target2 = target1?.$attrs["parent-target"];
2267
2438
  let target = !target2 ? this : target1;
2268
2439
  /* if (this.$attrs['reloadDialog'] !== true) {
2269
2440
  target = this.$attrs['parent-target'];
@@ -2278,7 +2449,7 @@ modules = {
2278
2449
  },
2279
2450
  saveForm(callback) {
2280
2451
  this.validateForm(() => {
2281
- this.getSubData().then(formData => {
2452
+ this.getSubData().then((formData) => {
2282
2453
  let reportTemplate = this.reportTemplate || {};
2283
2454
  let formConfig = this.formConfig;
2284
2455
  let realFormData = Object.assign({}, formData);
@@ -2289,60 +2460,59 @@ modules = {
2289
2460
  formCode: reportTemplate.formCode,
2290
2461
  formVersion: reportTemplate.formVersion,
2291
2462
  // insUuid: reportTemplate.insUuid,
2292
- data: realFormData
2293
- }
2463
+ data: realFormData,
2464
+ };
2294
2465
 
2295
- this.$baseConfirm('您确定要保存吗?').then(() => {
2466
+ this.$baseConfirm("您确定要保存吗?").then(() => {
2296
2467
  let saveConfig = formConfig.saveConfig || {};
2297
2468
  this.formHttp({
2298
2469
  options: saveConfig,
2299
2470
  params: reqData,
2300
2471
  targetFormTemplate: reportTemplate,
2301
- success: res => {
2472
+ success: (res) => {
2302
2473
  this.$message({
2303
2474
  message: res.content,
2304
- type: 'success',
2475
+ type: "success",
2305
2476
  duration: 500,
2306
- onClose: t => {
2307
- callback && callback(res)
2308
- this.$parent.$emit('update:object_foreign_id', res.objx)
2477
+ onClose: (t) => {
2478
+ callback && callback(res);
2479
+ this.$parent.$emit("update:object_foreign_id", res.objx);
2309
2480
  // this.$parent.$attrs.wfParam.submitCallback();
2310
- this.$parent.$baseReload()
2311
- }
2481
+ this.$parent.$baseReload();
2482
+ },
2312
2483
  });
2313
- }
2314
- })
2315
- })
2484
+ },
2485
+ });
2486
+ });
2316
2487
  });
2317
- })
2488
+ });
2318
2489
  },
2319
2490
  submitForm(callback) {
2320
2491
  let reportTemplate = this.reportTemplate || {};
2321
2492
  let insUuid = reportTemplate.insUuid;
2322
2493
  if (insUuid) {
2323
- this.$baseConfirm('您确定要提交吗?').then(() => {
2494
+ this.$baseConfirm("您确定要提交吗?").then(() => {
2324
2495
  this.$http({
2325
2496
  url: USER_PREFIX + `/form_ins/submit`,
2326
2497
  method: `post`,
2327
- data: {stringOne: insUuid},
2498
+ data: { stringOne: insUuid },
2328
2499
  isLoading: true,
2329
2500
  // loadingTarget: document.body,
2330
2501
  modalStrictly: true,
2331
- success: res => {
2502
+ success: (res) => {
2332
2503
  this.$message({
2333
2504
  message: res.content,
2334
- type: 'success',
2505
+ type: "success",
2335
2506
  duration: 500,
2336
- onClose: t => {
2507
+ onClose: (t) => {
2337
2508
  callback && callback(res);
2338
2509
  // this.$parent.$attrs.wfParam.submitCallback();
2339
- this.$parent.$baseReload()
2340
- }
2510
+ this.$parent.$baseReload();
2511
+ },
2341
2512
  });
2342
-
2343
- }
2513
+ },
2344
2514
  });
2345
- })
2515
+ });
2346
2516
  }
2347
2517
  },
2348
2518
  jumpFormView(row) {
@@ -2364,10 +2534,16 @@ modules = {
2364
2534
  return res;
2365
2535
  },
2366
2536
  getContainerByType(typeName) {
2367
- let allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields, ...businessFields];
2537
+ let allWidgets = [
2538
+ ...containers,
2539
+ ...basicFields,
2540
+ ...advancedFields,
2541
+ ...customFields,
2542
+ ...businessFields,
2543
+ ];
2368
2544
  let foundCon = null;
2369
- allWidgets.forEach(con => {
2370
- if (!!con.category && !!con.type && (con.type === typeName)) {
2545
+ allWidgets.forEach((con) => {
2546
+ if (!!con.category && !!con.type && con.type === typeName) {
2371
2547
  foundCon = con;
2372
2548
  }
2373
2549
  });
@@ -2375,10 +2551,16 @@ modules = {
2375
2551
  return foundCon;
2376
2552
  },
2377
2553
  getFieldWidgetByType(typeName) {
2378
- let allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields, ...businessFields];
2554
+ let allWidgets = [
2555
+ ...containers,
2556
+ ...basicFields,
2557
+ ...advancedFields,
2558
+ ...customFields,
2559
+ ...businessFields,
2560
+ ];
2379
2561
  let foundWidget = null;
2380
- allWidgets.forEach(widget => {
2381
- if (!!!widget.category && !!widget.type && (widget.type === typeName)) {
2562
+ allWidgets.forEach((widget) => {
2563
+ if (!!!widget.category && !!widget.type && widget.type === typeName) {
2382
2564
  foundWidget = widget;
2383
2565
  }
2384
2566
  });
@@ -2387,164 +2569,167 @@ modules = {
2387
2569
  },
2388
2570
  copyNewFieldWidget(origin) {
2389
2571
  let newWidget = deepClone(origin);
2390
- newWidget.type = (newWidget.targetType || newWidget.type);
2572
+ newWidget.type = newWidget.targetType || newWidget.type;
2391
2573
  let tempId = generateId();
2392
- newWidget.id = newWidget.type.replace(/-/g, '') + tempId;
2393
- return newWidget
2394
- },
2395
- getColumnWidget(row, isEdit){
2396
- //获取
2397
- let formatS = isEdit ? row.editFormatS : row.formatS;
2398
- let type = columnFormatMap[formatS];
2399
- if(!type)return null;
2400
- if(isEdit){
2401
- if(row.editWidget){
2402
- return row.editWidget;
2403
- }
2404
- if (row.editColumnOption) {
2405
- let fieldWidget = this.copyNewFieldWidget(
2406
- this.getFieldWidgetByType(type)
2407
- );
2408
- fieldWidget.options = row.editColumnOption;
2409
- return fieldWidget
2410
- }
2411
- }else{
2412
- if(row.widget){
2413
- return row.widget;
2414
- }
2415
- if (row.columnOption) {
2416
- let fieldWidget = this.copyNewFieldWidget(
2417
- this.getFieldWidgetByType(type)
2418
- );
2419
- fieldWidget.options = row.columnOption;
2420
- return fieldWidget
2421
- }
2574
+ newWidget.id = newWidget.type.replace(/-/g, "") + tempId;
2575
+ return newWidget;
2576
+ },
2577
+ getColumnWidget(row, isEdit) {
2578
+ //获取
2579
+ let formatS = isEdit ? row.editFormatS : row.formatS;
2580
+ let type = columnFormatMap[formatS];
2581
+ if (!type) return null;
2582
+ if (isEdit) {
2583
+ if (row.editWidget) {
2584
+ return row.editWidget;
2422
2585
  }
2423
- return this.createColumnWidget(row,isEdit)
2424
- },
2425
- createColumnWidget(row, isEdit){
2426
- let formatS = isEdit ? row.editFormatS : row.formatS;
2427
- let type = columnFormatMap[formatS];
2428
- if(!type)return null;
2429
-
2430
- let columnSelectedWidget = null;
2431
- if (type) {
2432
- columnSelectedWidget = this.copyNewFieldWidget(
2586
+ if (row.editColumnOption) {
2587
+ let fieldWidget = this.copyNewFieldWidget(
2588
+ this.getFieldWidgetByType(type)
2589
+ );
2590
+ fieldWidget.options = row.editColumnOption;
2591
+ return fieldWidget;
2592
+ }
2593
+ } else {
2594
+ if (row.widget) {
2595
+ return row.widget;
2596
+ }
2597
+ if (row.columnOption) {
2598
+ let fieldWidget = this.copyNewFieldWidget(
2433
2599
  this.getFieldWidgetByType(type)
2434
2600
  );
2601
+ fieldWidget.options = row.columnOption;
2602
+ return fieldWidget;
2603
+ }
2604
+ }
2605
+ return this.createColumnWidget(row, isEdit);
2606
+ },
2607
+ createColumnWidget(row, isEdit) {
2608
+ let formatS = isEdit ? row.editFormatS : row.formatS;
2609
+ let type = columnFormatMap[formatS];
2610
+ if (!type) return null;
2435
2611
 
2436
- if (columnSelectedWidget.options.hasOwnProperty("required")) {
2437
- columnSelectedWidget.options.required = row.required || false;
2438
- }
2612
+ let columnSelectedWidget = null;
2613
+ if (type) {
2614
+ columnSelectedWidget = this.copyNewFieldWidget(
2615
+ this.getFieldWidgetByType(type)
2616
+ );
2439
2617
 
2440
- if ("editDelete" == formatS) {
2441
- columnSelectedWidget.options.prefixIcon = "el-icon-delete";
2442
- columnSelectedWidget.options.label = "删除";
2443
- columnSelectedWidget.options.labelHidden = true;
2444
- columnSelectedWidget.options.hiddenByWf = true;
2445
- columnSelectedWidget.options.onClick =
2446
- "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
2447
- } else if ("editButton" == formatS) {
2448
- columnSelectedWidget.options.prefixIcon = "el-icon-edit";
2449
- columnSelectedWidget.options.label = "查看";
2450
- columnSelectedWidget.options.labelHidden = true;
2451
- columnSelectedWidget.options.onClick =
2452
- "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
2453
- } else if ("addSiblingEditRow" == formatS) {
2454
- columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2455
- columnSelectedWidget.options.label = "新增兄弟节点";
2456
- columnSelectedWidget.options.labelHidden = false;
2457
- columnSelectedWidget.options.onClick =
2458
- "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
2459
- } else if ("addChildTreeRow" == formatS) {
2460
- columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2461
- columnSelectedWidget.options.label = "新增子节点";
2462
- columnSelectedWidget.options.labelHidden = false;
2463
- columnSelectedWidget.options.onClick =
2464
- "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
2465
- } else if ("moveUpRow" == formatS) {
2466
- columnSelectedWidget.options.label = "↑上移";
2467
- columnSelectedWidget.options.labelHidden = false;
2468
- columnSelectedWidget.options.onClick =
2469
- "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
2470
- } else if ("moveDownRow" == formatS) {
2471
- columnSelectedWidget.options.label = "↓下移";
2472
- columnSelectedWidget.options.labelHidden = false;
2473
- columnSelectedWidget.options.onClick =
2474
- "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
2475
- } else if ("removeTreeRow" == formatS) {
2476
- columnSelectedWidget.options.prefixIcon = "el-icon-delete";
2477
- columnSelectedWidget.options.label = "删除";
2478
- columnSelectedWidget.options.labelHidden = true;
2479
- columnSelectedWidget.options.onClick =
2480
- "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
2481
- }
2618
+ if (columnSelectedWidget.options.hasOwnProperty("required")) {
2619
+ columnSelectedWidget.options.required = row.required || false;
2620
+ }
2482
2621
 
2483
- if (columnSelectedWidget.options.hasOwnProperty("keyName")) {
2484
- columnSelectedWidget.options.keyName = row.prop;
2485
- columnSelectedWidget.options.keyNameEnabled = true;
2486
- } else {
2487
- columnSelectedWidget.options.name = row.prop;
2488
- }
2622
+ if ("editDelete" == formatS) {
2623
+ columnSelectedWidget.options.prefixIcon = "el-icon-delete";
2624
+ columnSelectedWidget.options.label = "删除";
2625
+ columnSelectedWidget.options.labelHidden = true;
2626
+ columnSelectedWidget.options.hiddenByWf = true;
2627
+ columnSelectedWidget.options.onClick =
2628
+ "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
2629
+ } else if ("editButton" == formatS) {
2630
+ columnSelectedWidget.options.prefixIcon = "el-icon-edit";
2631
+ columnSelectedWidget.options.label = "查看";
2632
+ columnSelectedWidget.options.labelHidden = true;
2633
+ columnSelectedWidget.options.onClick =
2634
+ "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
2635
+ } else if ("addSiblingEditRow" == formatS) {
2636
+ columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2637
+ columnSelectedWidget.options.label = "新增兄弟节点";
2638
+ columnSelectedWidget.options.labelHidden = false;
2639
+ columnSelectedWidget.options.onClick =
2640
+ "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
2641
+ } else if ("addChildTreeRow" == formatS) {
2642
+ columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2643
+ columnSelectedWidget.options.label = "新增子节点";
2644
+ columnSelectedWidget.options.labelHidden = false;
2645
+ columnSelectedWidget.options.onClick =
2646
+ "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
2647
+ } else if ("moveUpRow" == formatS) {
2648
+ columnSelectedWidget.options.label = "↑上移";
2649
+ columnSelectedWidget.options.labelHidden = false;
2650
+ columnSelectedWidget.options.onClick =
2651
+ "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
2652
+ } else if ("moveDownRow" == formatS) {
2653
+ columnSelectedWidget.options.label = "↓下移";
2654
+ columnSelectedWidget.options.labelHidden = false;
2655
+ columnSelectedWidget.options.onClick =
2656
+ "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
2657
+ } else if ("removeTreeRow" == formatS) {
2658
+ columnSelectedWidget.options.prefixIcon = "el-icon-delete";
2659
+ columnSelectedWidget.options.label = "删除";
2660
+ columnSelectedWidget.options.labelHidden = true;
2661
+ columnSelectedWidget.options.onClick =
2662
+ "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
2663
+ }
2489
2664
 
2490
- if (type != "button" && type != "a-link") {
2491
- columnSelectedWidget.options.label = row.label;
2492
- columnSelectedWidget.options.labelHidden = true;
2493
- }
2665
+ if (columnSelectedWidget.options.hasOwnProperty("keyName")) {
2666
+ columnSelectedWidget.options.keyName = row.prop;
2667
+ columnSelectedWidget.options.keyNameEnabled = true;
2668
+ } else {
2669
+ columnSelectedWidget.options.name = row.prop;
2494
2670
  }
2495
- return columnSelectedWidget;
2496
- },
2671
+
2672
+ if (type != "button" && type != "a-link") {
2673
+ columnSelectedWidget.options.label = row.label;
2674
+ columnSelectedWidget.options.labelHidden = true;
2675
+ }
2676
+ }
2677
+ return columnSelectedWidget;
2678
+ },
2497
2679
  doScriptAccess(scriptUuid, callback) {
2498
2680
  if (scriptUuid) {
2499
2681
  let scripts = this.formJson.formConfig.scriptList || [];
2500
- let item = scripts.find(item => item.scriptUuid == scriptUuid);
2682
+ let item = scripts.find((item) => item.scriptUuid == scriptUuid);
2501
2683
  if (item && item.enabled) {
2502
2684
  let path = "";
2503
2685
  let reportTemplate = this.getReportTemplate();
2504
2686
  let formCode = reportTemplate.formCode;
2505
- let e = new Function('formCode', item.scriptParams);
2687
+ let e = new Function("formCode", item.scriptParams);
2506
2688
  let params = e.call(this, formCode);
2507
2689
  this.$http({
2508
2690
  url: path,
2509
2691
  method: `post`,
2510
2692
  data: {
2511
- ...params
2693
+ ...params,
2512
2694
  },
2513
2695
  isLoading: true,
2514
2696
  // loadingTarget: document.body,
2515
2697
  modalStrictly: true,
2516
- success: res => {
2517
- let e1 = new Function('resultMsg', item.onScriptSuccess);
2698
+ success: (res) => {
2699
+ let e1 = new Function("resultMsg", item.onScriptSuccess);
2518
2700
  e1.call(this, res);
2519
2701
  callback && callback(res && res.objx ? res.objx : []);
2520
- }
2702
+ },
2521
2703
  });
2522
2704
  }
2523
2705
  }
2524
2706
  },
2525
2707
  validate(callback) {
2526
- this.$refs['renderForm'].$baseValidate((valid, obj) => {
2527
- if (!valid) {
2528
- let message = null
2529
- let keys = Object.keys(obj);
2530
- if (keys.length) {
2531
- let item = obj[keys[0]];
2532
- if (item && item.length) {
2533
- message = item[0].message;
2708
+ this.$refs["renderForm"].$baseValidate(
2709
+ (valid, obj) => {
2710
+ if (!valid) {
2711
+ let message = null;
2712
+ let keys = Object.keys(obj);
2713
+ if (keys.length) {
2714
+ let item = obj[keys[0]];
2715
+ if (item && item.length) {
2716
+ message = item[0].message;
2717
+ }
2718
+ }
2719
+ if (!message) {
2720
+ message = this.$t2("必填项不能为空", "system.message.required");
2534
2721
  }
2535
- }
2536
- if (!message) {
2537
- message = this.$t2("必填项不能为空", "system.message.required");
2538
- }
2539
2722
 
2540
- this.$message({
2541
- message: message,
2542
- type: "error",
2543
- duration: 2000,
2544
- });
2545
- }
2546
- callback && callback(valid);
2547
- }, {errorTip: false})
2723
+ this.$message({
2724
+ message: message,
2725
+ type: "error",
2726
+ duration: 2000,
2727
+ });
2728
+ }
2729
+ callback && callback(valid);
2730
+ },
2731
+ { errorTip: false }
2732
+ );
2548
2733
  },
2549
2734
  /*scrollToFirstError() {
2550
2735
  // 获取第一个验证失败的字段
@@ -2576,14 +2761,14 @@ modules = {
2576
2761
  this.showSearchDialog = true;
2577
2762
  },
2578
2763
  confirmSearchDialog(rows) {
2579
- this.searchDialogOption.confirm && this.searchDialogOption.confirm(rows)
2764
+ this.searchDialogOption.confirm && this.searchDialogOption.confirm(rows);
2580
2765
  },
2581
2766
  openFormDialog(option) {
2582
2767
  this.formDialogOption = option;
2583
2768
  this.showFormDialog = true;
2584
2769
  },
2585
2770
  confirmFormDialog() {
2586
- this.formDialogOption.confirm && this.formDialogOption.confirm()
2771
+ this.formDialogOption.confirm && this.formDialogOption.confirm();
2587
2772
  },
2588
2773
  addInterval(handler, timeout) {
2589
2774
  let timer = setInterval(handler, timeout);
@@ -2610,7 +2795,7 @@ modules = {
2610
2795
  this.showFormDrawer = true;
2611
2796
  },
2612
2797
  confirmFormDrawer() {
2613
- this.formDrawerOption.confirm && this.formDrawerOption.confirm()
2798
+ this.formDrawerOption.confirm && this.formDrawerOption.confirm();
2614
2799
  },
2615
2800
 
2616
2801
  openFileReferenceDialog(option) {
@@ -2618,187 +2803,186 @@ modules = {
2618
2803
  this.showFileReferenceDialog = true;
2619
2804
  },
2620
2805
  confirmFileReferenceDialog() {
2621
- this.fileReferenceDialogOption.confirm && this.fileReferenceDialogOption.confirm()
2806
+ this.fileReferenceDialogOption.confirm &&
2807
+ this.fileReferenceDialogOption.confirm();
2622
2808
  },
2623
- getFormRef(){
2809
+ getFormRef() {
2624
2810
  return this;
2625
2811
  },
2626
2812
  isObject(value) {
2627
2813
  return Object.prototype.toString.call(value) === "[object Object]";
2628
2814
  },
2629
- openCopyEditTab(copyData){
2815
+ openCopyEditTab(copyData) {
2630
2816
  let formData = this.$baseLodash.cloneDeep(copyData || this.formDataModel);
2631
2817
 
2632
- const handleData = (data)=>{
2633
- if(!data)return
2634
- if(Array.isArray(data)){
2635
- data.forEach((item)=>{
2636
- handleData(item)
2637
- })
2638
- return
2639
- }else if(this.isObject(data)){
2818
+ const handleData = (data) => {
2819
+ if (!data) return;
2820
+ if (Array.isArray(data)) {
2821
+ data.forEach((item) => {
2822
+ handleData(item);
2823
+ });
2824
+ return;
2825
+ } else if (this.isObject(data)) {
2640
2826
  data.id = null;
2641
2827
  data.create_by = null;
2642
2828
  data.create_date = null;
2643
2829
  data.modify_by = null;
2644
2830
  data.modify_date = null;
2645
2831
  delete data.head_table_id;
2646
- delete data.objectForeignId
2647
- if(data.createBy)data.createBy
2648
- if(data.createDate)data.createDate
2649
- if(data.modifyBy)data.modifyBy
2650
- if(data.modifyDate)data.modifyDate
2651
- Object.keys(data).forEach((key)=>{
2652
- let value = data[key]
2653
- if(value && Array.isArray(value)){
2832
+ delete data.objectForeignId;
2833
+ if (data.createBy) data.createBy;
2834
+ if (data.createDate) data.createDate;
2835
+ if (data.modifyBy) data.modifyBy;
2836
+ if (data.modifyDate) data.modifyDate;
2837
+ Object.keys(data).forEach((key) => {
2838
+ let value = data[key];
2839
+ if (value && Array.isArray(value)) {
2654
2840
  handleData(value);
2655
2841
  }
2656
- })
2842
+ });
2657
2843
  }
2658
- }
2659
- if(formData){
2660
- handleData(formData)
2844
+ };
2845
+ if (formData) {
2846
+ handleData(formData);
2661
2847
  }
2662
2848
 
2663
- this.$emit("openCopyEditTab",formData)
2849
+ this.$emit("openCopyEditTab", formData);
2664
2850
  },
2665
2851
 
2666
2852
  async exportPdf() {
2667
- // statusEl.style.display = 'block';
2668
- // statusEl.textContent = '正在准备导出内容...';
2853
+ // statusEl.style.display = 'block';
2854
+ // statusEl.textContent = '正在准备导出内容...';
2669
2855
  const loadingObj = this.$baseLoading();
2670
- try {
2671
- // 获取要导出的元素
2672
- const element = this.$parent.$el;
2673
- // 计算内容总高度
2674
-
2675
-
2676
- // 克隆元素(不影响原始页面)
2677
- // statusEl.textContent = '克隆内容...';
2678
-
2679
-
2680
- const constainter = this.$parent.$parent.$el;
2681
-
2682
-
2683
- const clonedElement = element.cloneNode(true);
2684
- let wfTab = clonedElement.querySelector(".wf-tab");
2685
- if(wfTab)wfTab.remove()
2686
-
2687
- clonedElement.style.width = element.offsetWidth + 'px';
2688
-
2689
- // 应用样式以展开内容
2690
- clonedElement.style.height = 'auto';
2691
- clonedElement.style.overflow = 'visible';
2692
- clonedElement.style.position = 'absolute';
2693
- clonedElement.style.left = '-9999px';
2694
- // document.body.appendChild(clonedElement);
2695
- // document.body.appendChild(constainter);
2696
-
2697
- constainter.appendChild(clonedElement)
2698
-
2699
- const contentHeight = clonedElement.scrollHeight;
2700
- const contentWidth = clonedElement.offsetWidth;
2701
-
2702
- // 设置PDF参数
2703
- const pdf = new JsPDF('p', 'mm', 'a4');
2704
- const pageWidth = pdf.internal.pageSize.getWidth();
2705
- const pageHeight = pdf.internal.pageSize.getHeight();
2706
- const padding = 10;
2707
-
2708
-
2709
-
2710
- // 计算需要多少页
2711
- const scale = pageWidth / contentWidth;
2712
- const scaledHeight = contentHeight * scale;
2713
- const pages = Math.ceil(scaledHeight / pageHeight);
2714
-
2715
- // 分页捕获并添加到PDF
2716
- // statusEl.textContent = '正在生成PDF (0/' + pages + ')';
2717
-
2718
- for (let i = 0; i < pages; i++) {
2719
- // 计算当前页的裁剪位置
2720
- const position = i * pageHeight / scale;
2721
-
2722
- // 使用html2canvas捕获当前页内容
2723
- const canvas = await html2Canvas(clonedElement, {
2724
- scale: 2,
2725
- // useCORS: true,
2726
- windowHeight: pageHeight / scale,
2727
- y: position,
2728
- height: pageHeight / scale,
2729
- width: contentWidth,
2730
- logging: false
2731
- });
2856
+ try {
2857
+ // 获取要导出的元素
2858
+ const element = this.$parent.$el;
2859
+ // 计算内容总高度
2860
+
2861
+ // 克隆元素(不影响原始页面)
2862
+ // statusEl.textContent = '克隆内容...';
2863
+
2864
+ const constainter = this.$parent.$parent.$el;
2865
+
2866
+ const clonedElement = element.cloneNode(true);
2867
+ let wfTab = clonedElement.querySelector(".wf-tab");
2868
+ if (wfTab) wfTab.remove();
2869
+
2870
+ clonedElement.style.width = element.offsetWidth + "px";
2871
+
2872
+ // 应用样式以展开内容
2873
+ clonedElement.style.height = "auto";
2874
+ clonedElement.style.overflow = "visible";
2875
+ clonedElement.style.position = "absolute";
2876
+ clonedElement.style.left = "-9999px";
2877
+ // document.body.appendChild(clonedElement);
2878
+ // document.body.appendChild(constainter);
2879
+
2880
+ constainter.appendChild(clonedElement);
2881
+
2882
+ const contentHeight = clonedElement.scrollHeight;
2883
+ const contentWidth = clonedElement.offsetWidth;
2884
+
2885
+ // 设置PDF参数
2886
+ const pdf = new JsPDF("p", "mm", "a4");
2887
+ const pageWidth = pdf.internal.pageSize.getWidth();
2888
+ const pageHeight = pdf.internal.pageSize.getHeight();
2889
+ const padding = 10;
2890
+
2891
+ // 计算需要多少页
2892
+ const scale = pageWidth / contentWidth;
2893
+ const scaledHeight = contentHeight * scale;
2894
+ const pages = Math.ceil(scaledHeight / pageHeight);
2895
+
2896
+ // 分页捕获并添加到PDF
2897
+ // statusEl.textContent = '正在生成PDF (0/' + pages + ')';
2898
+
2899
+ for (let i = 0; i < pages; i++) {
2900
+ // 计算当前页的裁剪位置
2901
+ const position = (i * pageHeight) / scale;
2902
+
2903
+ // 使用html2canvas捕获当前页内容
2904
+ const canvas = await html2Canvas(clonedElement, {
2905
+ scale: 2,
2906
+ // useCORS: true,
2907
+ windowHeight: pageHeight / scale,
2908
+ y: position,
2909
+ height: pageHeight / scale,
2910
+ width: contentWidth,
2911
+ logging: false,
2912
+ });
2732
2913
 
2733
- // 将canvas转换为图像
2734
- const imgData = canvas.toDataURL('image/jpeg', 0.95);
2914
+ // 将canvas转换为图像
2915
+ const imgData = canvas.toDataURL("image/jpeg", 0.95);
2735
2916
 
2736
- // 添加新页面(第一页除外)
2737
- if (i > 0) {
2738
- pdf.addPage();
2739
- }
2917
+ // 添加新页面(第一页除外)
2918
+ if (i > 0) {
2919
+ pdf.addPage();
2920
+ }
2740
2921
 
2741
- // 将图像添加到PDF
2742
- pdf.addImage(imgData, 'JPEG', padding, padding, pageWidth - 2*padding, pageHeight - 2*padding);
2922
+ // 将图像添加到PDF
2923
+ pdf.addImage(
2924
+ imgData,
2925
+ "JPEG",
2926
+ padding,
2927
+ padding,
2928
+ pageWidth - 2 * padding,
2929
+ pageHeight - 2 * padding
2930
+ );
2743
2931
 
2744
- // statusEl.textContent = '正在生成PDF (' + (i+1) + '/' + pages + ')';
2745
- }
2932
+ // statusEl.textContent = '正在生成PDF (' + (i+1) + '/' + pages + ')';
2933
+ }
2746
2934
 
2747
- // 移除克隆元素
2748
- // document.body.removeChild(constainter);
2749
- constainter.removeChild(clonedElement);
2935
+ // 移除克隆元素
2936
+ // document.body.removeChild(constainter);
2937
+ constainter.removeChild(clonedElement);
2750
2938
 
2751
- // 保存PDF
2752
- // statusEl.textContent = '正在保存文件...';
2753
- let fileName = this.reportTemplate.formName+".pdf";
2754
- pdf.save(fileName);
2939
+ // 保存PDF
2940
+ // statusEl.textContent = '正在保存文件...';
2941
+ let fileName = this.reportTemplate.formName + ".pdf";
2942
+ pdf.save(fileName);
2755
2943
 
2756
- // statusEl.textContent = 'PDF导出成功!';
2757
- // statusEl.style.background = '#e8f5e9';
2758
- // statusEl.style.color = '#2e7d32';
2944
+ // statusEl.textContent = 'PDF导出成功!';
2945
+ // statusEl.style.background = '#e8f5e9';
2946
+ // statusEl.style.color = '#2e7d32';
2759
2947
 
2760
- // 3秒后隐藏状态
2761
- /* setTimeout(() => {
2948
+ // 3秒后隐藏状态
2949
+ /* setTimeout(() => {
2762
2950
  statusEl.style.display = 'none';
2763
2951
  }, 3000); */
2764
-
2765
- } catch (error) {
2766
- console.error('导出失败:', error);
2767
- // statusEl.textContent = '导出失败: ' + error.message;
2768
- // statusEl.style.background = '#ffebee';
2769
- // statusEl.style.color = '#c62828';
2770
- }finally{
2771
- loadingObj.close();
2772
- }
2952
+ } catch (error) {
2953
+ console.error("导出失败:", error);
2954
+ // statusEl.textContent = '导出失败: ' + error.message;
2955
+ // statusEl.style.background = '#ffebee';
2956
+ // statusEl.style.color = '#c62828';
2957
+ } finally {
2958
+ loadingObj.close();
2959
+ }
2773
2960
  },
2774
2961
 
2775
2962
  async exportPdf1() {
2776
- // statusEl.style.display = 'block';
2777
- // statusEl.textContent = '正在准备导出内容...';
2778
-
2779
- try {
2780
-
2781
- // 获取要导出的元素
2782
- const element = this.$parent.$el;
2783
- // 计算内容总高度
2784
-
2963
+ // statusEl.style.display = 'block';
2964
+ // statusEl.textContent = '正在准备导出内容...';
2785
2965
 
2786
- // 克隆元素(不影响原始页面)
2787
- // statusEl.textContent = '克隆内容...';
2788
-
2789
-
2790
- const constainter = this.$parent.$parent.$el;
2966
+ try {
2967
+ // 获取要导出的元素
2968
+ const element = this.$parent.$el;
2969
+ // 计算内容总高度
2791
2970
 
2971
+ // 克隆元素(不影响原始页面)
2972
+ // statusEl.textContent = '克隆内容...';
2792
2973
 
2793
- const clonedElement = element.cloneNode(true);
2794
- let wfTab = clonedElement.querySelector(".wf-tab");
2795
- if(wfTab)wfTab.remove()
2974
+ const constainter = this.$parent.$parent.$el;
2796
2975
 
2976
+ const clonedElement = element.cloneNode(true);
2977
+ let wfTab = clonedElement.querySelector(".wf-tab");
2978
+ if (wfTab) wfTab.remove();
2797
2979
 
2798
- const scrollElements = clonedElement.querySelectorAll('.vxe-table--body-wrapper')
2980
+ const scrollElements = clonedElement.querySelectorAll(
2981
+ ".vxe-table--body-wrapper"
2982
+ );
2799
2983
 
2800
- // 临时禁用虚拟滚动
2801
- /* for(let scrollElement of scrollElements){
2984
+ // 临时禁用虚拟滚动
2985
+ /* for(let scrollElement of scrollElements){
2802
2986
  const originalScrollTop = scrollElement.scrollTop
2803
2987
  // scrollElement.style = 'overflow:visible;max-height:inherit !important'
2804
2988
  scrollElement.style = scrollElement.style+ 'overflow:visible;max-height:inherit !important;'
@@ -2806,18 +2990,17 @@ modules = {
2806
2990
  scrollElement.scrollTop = 0
2807
2991
  } */
2808
2992
 
2809
- clonedElement.style.width = element.offsetWidth + 'px';
2810
-
2811
- // 应用样式以展开内容
2812
- clonedElement.style.height = 'auto';
2813
- clonedElement.style.overflow = 'visible';
2814
- clonedElement.style.position = 'absolute';
2815
- clonedElement.style.left = '-9999px';
2816
- // document.body.appendChild(clonedElement);
2817
- // document.body.appendChild(constainter);
2993
+ clonedElement.style.width = element.offsetWidth + "px";
2818
2994
 
2995
+ // 应用样式以展开内容
2996
+ clonedElement.style.height = "auto";
2997
+ clonedElement.style.overflow = "visible";
2998
+ clonedElement.style.position = "absolute";
2999
+ clonedElement.style.left = "-9999px";
3000
+ // document.body.appendChild(clonedElement);
3001
+ // document.body.appendChild(constainter);
2819
3002
 
2820
- /* let dom1 = clonedElement.querySelector(".detail-wrap")
3003
+ /* let dom1 = clonedElement.querySelector(".detail-wrap")
2821
3004
  if(dom1){
2822
3005
  let dom2 = dom1.children[1];
2823
3006
  dom2.style.height = "auto;"
@@ -2825,70 +3008,66 @@ modules = {
2825
3008
 
2826
3009
  } */
2827
3010
 
2828
- constainter.appendChild(clonedElement)
2829
-
2830
- html2Canvas(clonedElement, {
2831
- scrollY: 0,
2832
- useCORS: true,
2833
- allowTaint: true,
2834
- scale: 2 // 提高分辨率
2835
- }).then(canvas => {
2836
- const pdf = new JsPDF('p', 'mm', 'a4')
2837
- const imgData = canvas.toDataURL('image/png')
2838
- const imgWidth = 210 // A4宽度
2839
- const imgHeight = (canvas.height * imgWidth) / canvas.width
2840
-
2841
- // 分页处理
2842
- let heightLeft = imgHeight
2843
- let position = 0
2844
- pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
2845
-
2846
- while (heightLeft > 0) {
2847
- position = heightLeft - imgHeight
2848
- pdf.addPage()
2849
- pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight)
2850
- heightLeft -= 297 // A4高度
2851
- }
2852
-
2853
- pdf.save(`导出.pdf`)
3011
+ constainter.appendChild(clonedElement);
3012
+
3013
+ html2Canvas(clonedElement, {
3014
+ scrollY: 0,
3015
+ useCORS: true,
3016
+ allowTaint: true,
3017
+ scale: 2, // 提高分辨率
3018
+ }).then((canvas) => {
3019
+ const pdf = new JsPDF("p", "mm", "a4");
3020
+ const imgData = canvas.toDataURL("image/png");
3021
+ const imgWidth = 210; // A4宽度
3022
+ const imgHeight = (canvas.height * imgWidth) / canvas.width;
3023
+
3024
+ // 分页处理
3025
+ let heightLeft = imgHeight;
3026
+ let position = 0;
3027
+ pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
3028
+
3029
+ while (heightLeft > 0) {
3030
+ position = heightLeft - imgHeight;
3031
+ pdf.addPage();
3032
+ pdf.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
3033
+ heightLeft -= 297; // A4高度
3034
+ }
2854
3035
 
2855
- constainter.removeChild(clonedElement);
2856
- })
3036
+ pdf.save(`导出.pdf`);
2857
3037
 
2858
- } catch (error) {
2859
- console.error('导出失败:', error);
2860
- // statusEl.textContent = '导出失败: ' + error.message;
2861
- // statusEl.style.background = '#ffebee';
2862
- // statusEl.style.color = '#c62828';
2863
- }
3038
+ constainter.removeChild(clonedElement);
3039
+ });
3040
+ } catch (error) {
3041
+ console.error("导出失败:", error);
3042
+ // statusEl.textContent = '导出失败: ' + error.message;
3043
+ // statusEl.style.background = '#ffebee';
3044
+ // statusEl.style.color = '#c62828';
3045
+ }
2864
3046
  },
2865
3047
  async exportPdf2() {
2866
- // statusEl.style.display = 'block';
2867
- // statusEl.textContent = '正在准备导出内容...';
2868
-
2869
- try {
3048
+ // statusEl.style.display = 'block';
3049
+ // statusEl.textContent = '正在准备导出内容...';
2870
3050
 
2871
- // 获取要导出的元素
2872
- const element = this.$parent.$el;
2873
- // 计算内容总高度
2874
-
2875
-
2876
- // 克隆元素(不影响原始页面)
2877
- // statusEl.textContent = '克隆内容...';
2878
-
2879
-
2880
- const constainter = this.$parent.$parent.$el;
3051
+ try {
3052
+ // 获取要导出的元素
3053
+ const element = this.$parent.$el;
3054
+ // 计算内容总高度
2881
3055
 
3056
+ // 克隆元素(不影响原始页面)
3057
+ // statusEl.textContent = '克隆内容...';
2882
3058
 
2883
- const clonedElement = element.cloneNode(true);
2884
- let wfTab = clonedElement.querySelector(".wf-tab");
2885
- if(wfTab)wfTab.remove()
3059
+ const constainter = this.$parent.$parent.$el;
2886
3060
 
3061
+ const clonedElement = element.cloneNode(true);
3062
+ let wfTab = clonedElement.querySelector(".wf-tab");
3063
+ if (wfTab) wfTab.remove();
2887
3064
 
2888
- const scrollElements = clonedElement.querySelectorAll('.vxe-table--body-wrapper')
3065
+ const scrollElements = clonedElement.querySelectorAll(
3066
+ ".vxe-table--body-wrapper"
3067
+ );
2889
3068
 
2890
- // 临时禁用虚拟滚动
2891
- /* for(let scrollElement of scrollElements){
3069
+ // 临时禁用虚拟滚动
3070
+ /* for(let scrollElement of scrollElements){
2892
3071
  const originalScrollTop = scrollElement.scrollTop
2893
3072
  // scrollElement.style = 'overflow:visible;max-height:inherit !important'
2894
3073
  // scrollElement.style = scrollElement.style+ 'overflow:visible;max-height:inherit !important;'
@@ -2897,305 +3076,297 @@ modules = {
2897
3076
  scrollElement.scrollTop = 0
2898
3077
  } */
2899
3078
 
3079
+ let dom4 = clonedElement.querySelector(".designer-view");
3080
+ // dom4.style.height = "auto;"
3081
+ let dom1 = clonedElement.querySelector(".detail-wrap");
3082
+ if (dom1) {
3083
+ let dom2 = dom1.children[1];
3084
+ dom2.style.height = "auto;";
3085
+ dom2.querySelector(".d-cont").style.height = "auto;";
3086
+ }
2900
3087
 
2901
- let dom4 = clonedElement.querySelector(".designer-view")
2902
- // dom4.style.height = "auto;"
2903
- let dom1 = clonedElement.querySelector(".detail-wrap")
2904
- if(dom1){
2905
- let dom2 = dom1.children[1];
2906
- dom2.style.height = "auto;"
2907
- dom2.querySelector(".d-cont").style.height = "auto;"
2908
-
2909
- }
2910
-
2911
- clonedElement.style.width = element.offsetWidth + 'px';
2912
-
2913
- // 应用样式以展开内容
2914
- clonedElement.style.height = 'auto';
2915
- clonedElement.style.overflow = 'visible';
2916
- clonedElement.style.position = 'absolute';
2917
- // clonedElement.style.left = '-9999px';
2918
- clonedElement.style.left = '100px';
2919
- // document.body.appendChild(clonedElement);
2920
- // document.body.appendChild(constainter);
2921
-
2922
- constainter.appendChild(clonedElement)
2923
-
2924
- const contentHeight = clonedElement.scrollHeight;
2925
- const contentWidth = clonedElement.offsetWidth;
2926
-
2927
- // 设置PDF参数
2928
- const pdf = new JsPDF('p', 'mm', 'a4');
2929
- const pageWidth = pdf.internal.pageSize.getWidth();
2930
- const pageHeight = pdf.internal.pageSize.getHeight();
2931
- const padding = 10;
2932
-
2933
-
2934
-
2935
- // 计算需要多少页
2936
- const scale = pageWidth / contentWidth;
2937
- const scaledHeight = contentHeight * scale;
2938
- const pages = Math.ceil(scaledHeight / pageHeight);
2939
-
2940
- // 分页捕获并添加到PDF
2941
- // statusEl.textContent = '正在生成PDF (0/' + pages + ')';
2942
- for (let i = 0; i < pages; i++) {
2943
- // 计算当前页的裁剪位置
2944
- const position = i * pageHeight / scale;
2945
-
2946
- // 使用html2canvas捕获当前页内容
2947
- const canvas = await html2Canvas(clonedElement, {
2948
- scale: 2,
2949
- useCORS: true,
2950
- windowHeight: pageHeight / scale,
2951
- y: position,
2952
- height: pageHeight / scale,
2953
- width: contentWidth,
2954
- logging: false
2955
- });
3088
+ clonedElement.style.width = element.offsetWidth + "px";
3089
+
3090
+ // 应用样式以展开内容
3091
+ clonedElement.style.height = "auto";
3092
+ clonedElement.style.overflow = "visible";
3093
+ clonedElement.style.position = "absolute";
3094
+ // clonedElement.style.left = '-9999px';
3095
+ clonedElement.style.left = "100px";
3096
+ // document.body.appendChild(clonedElement);
3097
+ // document.body.appendChild(constainter);
3098
+
3099
+ constainter.appendChild(clonedElement);
3100
+
3101
+ const contentHeight = clonedElement.scrollHeight;
3102
+ const contentWidth = clonedElement.offsetWidth;
3103
+
3104
+ // 设置PDF参数
3105
+ const pdf = new JsPDF("p", "mm", "a4");
3106
+ const pageWidth = pdf.internal.pageSize.getWidth();
3107
+ const pageHeight = pdf.internal.pageSize.getHeight();
3108
+ const padding = 10;
3109
+
3110
+ // 计算需要多少页
3111
+ const scale = pageWidth / contentWidth;
3112
+ const scaledHeight = contentHeight * scale;
3113
+ const pages = Math.ceil(scaledHeight / pageHeight);
3114
+
3115
+ // 分页捕获并添加到PDF
3116
+ // statusEl.textContent = '正在生成PDF (0/' + pages + ')';
3117
+ for (let i = 0; i < pages; i++) {
3118
+ // 计算当前页的裁剪位置
3119
+ const position = (i * pageHeight) / scale;
3120
+
3121
+ // 使用html2canvas捕获当前页内容
3122
+ const canvas = await html2Canvas(clonedElement, {
3123
+ scale: 2,
3124
+ useCORS: true,
3125
+ windowHeight: pageHeight / scale,
3126
+ y: position,
3127
+ height: pageHeight / scale,
3128
+ width: contentWidth,
3129
+ logging: false,
3130
+ });
2956
3131
 
2957
- // 将canvas转换为图像
2958
- const imgData = canvas.toDataURL('image/jpeg', 0.95);
3132
+ // 将canvas转换为图像
3133
+ const imgData = canvas.toDataURL("image/jpeg", 0.95);
2959
3134
 
2960
- // 添加新页面(第一页除外)
2961
- if (i > 0) {
2962
- pdf.addPage();
2963
- }
3135
+ // 添加新页面(第一页除外)
3136
+ if (i > 0) {
3137
+ pdf.addPage();
3138
+ }
2964
3139
 
2965
- // 将图像添加到PDF
2966
- pdf.addImage(imgData, 'JPEG', padding, padding, pageWidth - 2*padding, pageHeight - 2*padding);
3140
+ // 将图像添加到PDF
3141
+ pdf.addImage(
3142
+ imgData,
3143
+ "JPEG",
3144
+ padding,
3145
+ padding,
3146
+ pageWidth - 2 * padding,
3147
+ pageHeight - 2 * padding
3148
+ );
2967
3149
 
2968
- // statusEl.textContent = '正在生成PDF (' + (i+1) + '/' + pages + ')';
2969
- }
3150
+ // statusEl.textContent = '正在生成PDF (' + (i+1) + '/' + pages + ')';
3151
+ }
2970
3152
 
2971
- // 移除克隆元素
2972
- // document.body.removeChild(constainter);
2973
- constainter.removeChild(clonedElement);
3153
+ // 移除克隆元素
3154
+ // document.body.removeChild(constainter);
3155
+ constainter.removeChild(clonedElement);
2974
3156
 
2975
- // 保存PDF
2976
- // statusEl.textContent = '正在保存文件...';
2977
- pdf.save('exported-content.pdf');
3157
+ // 保存PDF
3158
+ // statusEl.textContent = '正在保存文件...';
3159
+ pdf.save("exported-content.pdf");
2978
3160
 
2979
- // statusEl.textContent = 'PDF导出成功!';
2980
- // statusEl.style.background = '#e8f5e9';
2981
- // statusEl.style.color = '#2e7d32';
3161
+ // statusEl.textContent = 'PDF导出成功!';
3162
+ // statusEl.style.background = '#e8f5e9';
3163
+ // statusEl.style.color = '#2e7d32';
2982
3164
 
2983
- // 3秒后隐藏状态
2984
- /* setTimeout(() => {
3165
+ // 3秒后隐藏状态
3166
+ /* setTimeout(() => {
2985
3167
  statusEl.style.display = 'none';
2986
3168
  }, 3000); */
2987
-
2988
- } catch (error) {
2989
- console.error('导出失败:', error);
2990
- // statusEl.textContent = '导出失败: ' + error.message;
2991
- // statusEl.style.background = '#ffebee';
2992
- // statusEl.style.color = '#c62828';
2993
- }
3169
+ } catch (error) {
3170
+ console.error("导出失败:", error);
3171
+ // statusEl.textContent = '导出失败: ' + error.message;
3172
+ // statusEl.style.background = '#ffebee';
3173
+ // statusEl.style.color = '#c62828';
3174
+ }
2994
3175
  },
2995
3176
  async exportPdf4() {
2996
- // statusEl.style.display = 'block';
2997
- // statusEl.textContent = '正在准备导出内容...';
2998
-
2999
- try {
3000
-
3001
- // 获取要导出的元素
3002
- const element = this.$parent.$el;
3003
- // 计算内容总高度
3004
-
3005
-
3006
- // 克隆元素(不影响原始页面)
3007
- // statusEl.textContent = '克隆内容...';
3008
-
3009
-
3010
- const constainter = this.$parent.$parent.$el;
3011
-
3012
-
3013
- const clonedElement = element.cloneNode(true);
3014
- let wfTab = clonedElement.querySelector(".wf-tab");
3015
- if(wfTab)wfTab.remove()
3016
-
3017
-
3018
- const scrollElements = clonedElement.querySelectorAll('.vxe-table--body-wrapper')
3019
-
3020
- // 临时禁用虚拟滚动
3021
- for(let scrollElement of scrollElements){
3022
- const originalScrollTop = scrollElement.scrollTop
3023
- // scrollElement.style = 'overflow:visible;max-height:inherit !important'
3024
- // scrollElement.style = scrollElement.style+ 'overflow:visible;max-height:inherit !important;'
3025
- scrollElement.style["overflow"] = 'visible'
3026
- scrollElement.style["max-height"] = 'inherit !important'
3027
- scrollElement.scrollTop = 0
3028
- }
3177
+ // statusEl.style.display = 'block';
3178
+ // statusEl.textContent = '正在准备导出内容...';
3029
3179
 
3180
+ try {
3181
+ // 获取要导出的元素
3182
+ const element = this.$parent.$el;
3183
+ // 计算内容总高度
3030
3184
 
3031
- let dom4 = clonedElement.querySelector(".designer-view")
3032
- // dom4.style.height = "auto;"
3033
- let dom1 = clonedElement.querySelector(".detail-wrap")
3034
- if(dom1){
3035
- let dom2 = dom1.children[1];
3036
- dom2.style.height = "auto;"
3037
- dom2.querySelector(".d-cont").style.height = "auto;"
3185
+ // 克隆元素(不影响原始页面)
3186
+ // statusEl.textContent = '克隆内容...';
3038
3187
 
3039
- }
3188
+ const constainter = this.$parent.$parent.$el;
3040
3189
 
3041
- clonedElement.style.width = element.offsetWidth + 'px';
3190
+ const clonedElement = element.cloneNode(true);
3191
+ let wfTab = clonedElement.querySelector(".wf-tab");
3192
+ if (wfTab) wfTab.remove();
3042
3193
 
3043
- // 应用样式以展开内容
3044
- clonedElement.style.height = 'auto';
3045
- clonedElement.style.overflow = 'visible';
3046
- clonedElement.style.position = 'absolute';
3047
- // clonedElement.style.left = '-9999px';
3048
- clonedElement.style.left = '100px';
3049
- // document.body.appendChild(clonedElement);
3050
- // document.body.appendChild(constainter);
3194
+ const scrollElements = clonedElement.querySelectorAll(
3195
+ ".vxe-table--body-wrapper"
3196
+ );
3051
3197
 
3052
- constainter.appendChild(clonedElement)
3198
+ // 临时禁用虚拟滚动
3199
+ for (let scrollElement of scrollElements) {
3200
+ const originalScrollTop = scrollElement.scrollTop;
3201
+ // scrollElement.style = 'overflow:visible;max-height:inherit !important'
3202
+ // scrollElement.style = scrollElement.style+ 'overflow:visible;max-height:inherit !important;'
3203
+ scrollElement.style["overflow"] = "visible";
3204
+ scrollElement.style["max-height"] = "inherit !important";
3205
+ scrollElement.scrollTop = 0;
3206
+ }
3053
3207
 
3208
+ let dom4 = clonedElement.querySelector(".designer-view");
3209
+ // dom4.style.height = "auto;"
3210
+ let dom1 = clonedElement.querySelector(".detail-wrap");
3211
+ if (dom1) {
3212
+ let dom2 = dom1.children[1];
3213
+ dom2.style.height = "auto;";
3214
+ dom2.querySelector(".d-cont").style.height = "auto;";
3215
+ }
3054
3216
 
3055
- const canvas = await html2Canvas(clonedElement, {
3056
- scale: 2,
3057
- useCORS: true,
3058
- logging: false,
3059
- onclone: (clonedDoc) => {
3217
+ clonedElement.style.width = element.offsetWidth + "px";
3060
3218
 
3061
- }
3062
- });
3219
+ // 应用样式以展开内容
3220
+ clonedElement.style.height = "auto";
3221
+ clonedElement.style.overflow = "visible";
3222
+ clonedElement.style.position = "absolute";
3223
+ // clonedElement.style.left = '-9999px';
3224
+ clonedElement.style.left = "100px";
3225
+ // document.body.appendChild(clonedElement);
3226
+ // document.body.appendChild(constainter);
3063
3227
 
3228
+ constainter.appendChild(clonedElement);
3064
3229
 
3065
- // 移除克隆元素
3066
- // document.body.removeChild(constainter);
3067
- constainter.removeChild(clonedElement);
3230
+ const canvas = await html2Canvas(clonedElement, {
3231
+ scale: 2,
3232
+ useCORS: true,
3233
+ logging: false,
3234
+ onclone: (clonedDoc) => {},
3235
+ });
3068
3236
 
3069
- // 5. 生成PDF
3070
- this.currentStep = '创建PDF文档...';
3071
- this.progress = 70;
3237
+ // 移除克隆元素
3238
+ // document.body.removeChild(constainter);
3239
+ constainter.removeChild(clonedElement);
3072
3240
 
3073
- const imgData = canvas.toDataURL('image/jpeg', 0.95);
3074
- const pdf = new JsPDF('p', 'mm', 'a4');
3241
+ // 5. 生成PDF
3242
+ this.currentStep = "创建PDF文档...";
3243
+ this.progress = 70;
3075
3244
 
3076
- const pageWidth = pdf.internal.pageSize.getWidth();
3077
- const pageHeight = pdf.internal.pageSize.getHeight();
3245
+ const imgData = canvas.toDataURL("image/jpeg", 0.95);
3246
+ const pdf = new JsPDF("p", "mm", "a4");
3078
3247
 
3079
- // const imgWidth = canvas.width;
3080
- const imgWidth = element.offsetWidth;
3081
- const imgHeight = canvas.height;
3248
+ const pageWidth = pdf.internal.pageSize.getWidth();
3249
+ const pageHeight = pdf.internal.pageSize.getHeight();
3082
3250
 
3083
- const ratio = pageWidth / imgWidth;
3084
- const imgHeightOnPDF = imgHeight * ratio;
3251
+ // const imgWidth = canvas.width;
3252
+ const imgWidth = element.offsetWidth;
3253
+ const imgHeight = canvas.height;
3085
3254
 
3086
- // 计算需要多少页
3087
- let totalPages = Math.ceil(imgHeightOnPDF / pageHeight);
3088
- let position = 0;
3255
+ const ratio = pageWidth / imgWidth;
3256
+ const imgHeightOnPDF = imgHeight * ratio;
3089
3257
 
3090
- // 添加第一页
3091
- pdf.addImage(imgData, 'JPEG', 0, position, pageWidth, imgHeightOnPDF);
3258
+ // 计算需要多少页
3259
+ let totalPages = Math.ceil(imgHeightOnPDF / pageHeight);
3260
+ let position = 0;
3092
3261
 
3093
- // 添加额外页面(如果需要)
3094
- for (let i = 1; i < totalPages; i++) {
3095
- position -= pageHeight;
3096
- pdf.addPage();
3097
- pdf.addImage(imgData, 'JPEG', 0, position, pageWidth, imgHeightOnPDF);
3098
- }
3262
+ // 添加第一页
3263
+ pdf.addImage(imgData, "JPEG", 0, position, pageWidth, imgHeightOnPDF);
3099
3264
 
3100
- this.pdfPages = totalPages;
3265
+ // 添加额外页面(如果需要)
3266
+ for (let i = 1; i < totalPages; i++) {
3267
+ position -= pageHeight;
3268
+ pdf.addPage();
3269
+ pdf.addImage(imgData, "JPEG", 0, position, pageWidth, imgHeightOnPDF);
3270
+ }
3101
3271
 
3102
- // 6. 生成预览
3103
- this.currentStep = '生成预览...';
3104
- this.progress = 90;
3272
+ this.pdfPages = totalPages;
3105
3273
 
3106
- const pdfBlob = pdf.output('blob');
3107
- this.pdfPreviewUrl = URL.createObjectURL(pdfBlob);
3274
+ // 6. 生成预览
3275
+ this.currentStep = "生成预览...";
3276
+ this.progress = 90;
3108
3277
 
3109
- // 7. 自动下载
3110
- pdf.save('exported-content.pdf');
3278
+ const pdfBlob = pdf.output("blob");
3279
+ this.pdfPreviewUrl = URL.createObjectURL(pdfBlob);
3111
3280
 
3112
- this.progress = 100;
3113
- setTimeout(() => {
3114
- this.isExporting = false;
3115
- }, 500);
3281
+ // 7. 自动下载
3282
+ pdf.save("exported-content.pdf");
3116
3283
 
3117
- } catch (error) {
3118
- console.error('导出失败:', error);
3119
- // statusEl.textContent = '导出失败: ' + error.message;
3120
- // statusEl.style.background = '#ffebee';
3121
- // statusEl.style.color = '#c62828';
3122
- }
3284
+ this.progress = 100;
3285
+ setTimeout(() => {
3286
+ this.isExporting = false;
3287
+ }, 500);
3288
+ } catch (error) {
3289
+ console.error("导出失败:", error);
3290
+ // statusEl.textContent = '导出失败: ' + error.message;
3291
+ // statusEl.style.background = '#ffebee';
3292
+ // statusEl.style.color = '#c62828';
3293
+ }
3123
3294
  },
3124
3295
  async exportPdf5() {
3125
3296
  try {
3126
- // 获取要导出的元素
3127
- const element = this.$parent.$el;
3128
- // 计算内容总高度
3129
-
3130
-
3131
- // 克隆元素(不影响原始页面)
3132
- // statusEl.textContent = '克隆内容...';
3133
-
3134
-
3135
- const constainter = this.$parent.$parent.$el;
3136
- // 获取dom元素
3137
- // const dom = document.querySelector('#id名称')
3138
- if (element) {
3139
- html2Canvas(element).then(async canvas => {
3140
- // A4纸,纵向
3141
- let pdf = new JsPDF('p', 'mm', 'a4')
3142
- let ctx = canvas.getContext('2d')
3143
- let a4w = 190
3144
- // A4大小,210mm x 297mm,四边各保留10mm的边距,显示区域190x277
3145
- let a4h = 277
3146
- // 按A4显示比例换算一页图像的像素高度
3147
- let imgHeight = Math.floor((a4h * canvas.width) / a4w)
3148
- let renderedHeight = 0
3149
- while (renderedHeight < canvas.height) {
3150
- let page = document.createElement('canvas')
3151
- page.width = canvas.width
3152
- // 可能内容不足一页
3153
- page.height = Math.min(imgHeight, canvas.height - renderedHeight)
3154
- // 用getImageData剪裁指定区域,并画到前面创建的canvas对象中
3155
- page.getContext('2d').putImageData(
3156
- ctx.getImageData(
3157
- 0,
3158
- renderedHeight,
3159
- canvas.width,
3160
- Math.min(imgHeight, canvas.height - renderedHeight)
3161
- ),
3162
- 0,
3163
- 0
3164
- )
3165
- // 添加图像到页面,保留10mm边距
3166
- pdf.addImage(
3167
- page.toDataURL('image/jpeg', 1.0),
3168
- 'JPEG',
3169
- 10,
3170
- 10,
3171
- a4w,
3172
- Math.min(a4h, (a4w * page.height) / page.width)
3173
- )
3174
-
3175
- renderedHeight += imgHeight
3176
- if (renderedHeight < canvas.height) {
3177
- // 如果后面还有内容,添加一个空页
3178
- pdf.addPage()
3179
- }
3180
- // delete page;
3181
- }
3182
- // 保存文件
3183
- pdf.save('文档名称.pdf')
3184
- })
3297
+ // 获取要导出的元素
3298
+ const element = this.$parent.$el;
3299
+ // 计算内容总高度
3300
+
3301
+ // 克隆元素(不影响原始页面)
3302
+ // statusEl.textContent = '克隆内容...';
3303
+
3304
+ const constainter = this.$parent.$parent.$el;
3305
+ // 获取dom元素
3306
+ // const dom = document.querySelector('#id名称')
3307
+ if (element) {
3308
+ html2Canvas(element).then(async (canvas) => {
3309
+ // A4纸,纵向
3310
+ let pdf = new JsPDF("p", "mm", "a4");
3311
+ let ctx = canvas.getContext("2d");
3312
+ let a4w = 190;
3313
+ // A4大小,210mm x 297mm,四边各保留10mm的边距,显示区域190x277
3314
+ let a4h = 277;
3315
+ // A4显示比例换算一页图像的像素高度
3316
+ let imgHeight = Math.floor((a4h * canvas.width) / a4w);
3317
+ let renderedHeight = 0;
3318
+ while (renderedHeight < canvas.height) {
3319
+ let page = document.createElement("canvas");
3320
+ page.width = canvas.width;
3321
+ // 可能内容不足一页
3322
+ page.height = Math.min(imgHeight, canvas.height - renderedHeight);
3323
+ // 用getImageData剪裁指定区域,并画到前面创建的canvas对象中
3324
+ page
3325
+ .getContext("2d")
3326
+ .putImageData(
3327
+ ctx.getImageData(
3328
+ 0,
3329
+ renderedHeight,
3330
+ canvas.width,
3331
+ Math.min(imgHeight, canvas.height - renderedHeight)
3332
+ ),
3333
+ 0,
3334
+ 0
3335
+ );
3336
+ // 添加图像到页面,保留10mm边距
3337
+ pdf.addImage(
3338
+ page.toDataURL("image/jpeg", 1.0),
3339
+ "JPEG",
3340
+ 10,
3341
+ 10,
3342
+ a4w,
3343
+ Math.min(a4h, (a4w * page.height) / page.width)
3344
+ );
3345
+
3346
+ renderedHeight += imgHeight;
3347
+ if (renderedHeight < canvas.height) {
3348
+ // 如果后面还有内容,添加一个空页
3349
+ pdf.addPage();
3350
+ }
3351
+ // delete page;
3185
3352
  }
3186
- } catch (err) {
3187
- console.log(err)
3353
+ // 保存文件
3354
+ pdf.save("文档名称.pdf");
3355
+ });
3188
3356
  }
3357
+ } catch (err) {
3358
+ console.log(err);
3359
+ }
3189
3360
  },
3190
3361
  openFormulaDialog(option) {
3191
- this.formulaDialogOption = option
3362
+ this.formulaDialogOption = option;
3192
3363
  this.formulaDialogVisible = true;
3193
3364
  },
3194
3365
  openBaseFormulaDialog(option) {
3195
- this.baseFormulaDialogOption = option
3366
+ this.baseFormulaDialogOption = option;
3196
3367
  this.baseFormulaDialogVisible = true;
3197
- }
3198
- }
3368
+ },
3369
+ },
3199
3370
  };
3200
3371
 
3201
3372
  export default modules;