cloud-web-corejs 1.0.54-dev.535 → 1.0.54-dev.537

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. package/package.json +1 -1
  2. package/src/components/excelExport/exportFieldDialog.vue +0 -1
  3. package/src/components/excelExport/mixins.js +1 -963
  4. package/src/components/hiprint/css/bootstrap.min.css +6 -0
  5. package/src/components/hiprint/fonts/glyphicons-halflings-regular.eot +0 -0
  6. package/src/components/hiprint/fonts/glyphicons-halflings-regular.svg +288 -0
  7. package/src/components/hiprint/fonts/glyphicons-halflings-regular.ttf +0 -0
  8. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff +0 -0
  9. package/src/components/hiprint/fonts/glyphicons-halflings-regular.woff2 +0 -0
  10. package/src/components/hiprint/view/design/index.vue +1 -0
  11. package/src/components/table/index.js +0 -1
  12. package/src/components/xform/form-designer/form-widget/field-widget/copy_button-widget.vue +8 -2
  13. package/src/components/xform/form-designer/form-widget/field-widget/static-text-widget.vue +8 -3
  14. package/src/components/xform/form-designer/setting-panel/property-editor/copyButton-editor.vue +1 -1
  15. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/preWrap-editor.vue +23 -0
  16. package/src/components/xform/form-designer/setting-panel/property-editor/field-static-text/textContent-editor.vue +1 -1
  17. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +1 -0
  18. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +2 -0
  19. package/src/components/xform/form-render/container-item/data-table-mixin.js +83 -82
  20. package/src/components/xform/form-render/indexMixin.js +383 -208
  21. package/src/components/xform/lang/zh-CN.js +1 -0
  22. package/src/router/modules/customer.js +9 -0
  23. package/src/views/user/position/list.vue +124 -68
@@ -301,8 +301,8 @@ modules = {
301
301
  },
302
302
  initGlobalConfig() {
303
303
  //初始化全局配置
304
- this.globalConfig =
305
- this.handleCustomEvent(this.formConfig.globalConfig) || {};
304
+ this.globalConfig
305
+ = this.handleCustomEvent(this.formConfig.globalConfig) || {};
306
306
  },
307
307
  /**
308
308
  * 数据对象key 驼峰下划线相互转化
@@ -317,8 +317,8 @@ modules = {
317
317
  data.forEach((item) => formatTransferKey(item));
318
318
  } else if (data instanceof Object) {
319
319
  for (let key in data) {
320
- hump =
321
- type === "hump" ? this.formatToHump(key) : this.formatToLine(key);
320
+ hump
321
+ = type === "hump" ? this.formatToHump(key) : this.formatToLine(key);
322
322
  data[hump] = data[key];
323
323
  if (key !== hump) {
324
324
  delete data[key];
@@ -328,8 +328,8 @@ modules = {
328
328
  }
329
329
  }
330
330
  } else if (typeof data === "string") {
331
- data =
332
- type === "hump" ? this.formatToHump(data) : this.formatToLine(data);
331
+ data
332
+ = type === "hump" ? this.formatToHump(data) : this.formatToLine(data);
333
333
  }
334
334
  };
335
335
  formatTransferKey(data);
@@ -552,9 +552,9 @@ modules = {
552
552
  handleTableColumnWidget(widget) {
553
553
  //修复data-table旧数据表格列widget与editWidget为空的问题
554
554
  if (
555
- !widget ||
556
- widget.type != "data-table" ||
557
- !widget.options.tableColumns
555
+ !widget
556
+ || widget.type != "data-table"
557
+ || !widget.options.tableColumns
558
558
  )
559
559
  return;
560
560
  let columnLoopDo = (t, e) => {
@@ -614,7 +614,7 @@ modules = {
614
614
  hanldeCommonWidget2() {
615
615
  let wfParam = this.wfParam || {};
616
616
  let wfInfo = wfParam?.wfInfo;
617
- let taskDefinitionKey = wfInfo?.taskDefinitionKey;
617
+ let taskDefinitionKey = wfInfo?.taskDefinitionKey || wfInfo?.nodeCode;
618
618
  let toModify = wfInfo?.toModify || false; //后台返回流程可以修改单据
619
619
 
620
620
  let hasModifyItem = false;
@@ -646,9 +646,9 @@ modules = {
646
646
  this.hanldeWfWidgetItemNew(widget);
647
647
  }
648
648
  if (
649
- widget.formItemFlag &&
650
- !widget.options.hidden &&
651
- !widget.options.disbaled
649
+ widget.formItemFlag
650
+ && !widget.options.hidden
651
+ && !widget.options.disbaled
652
652
  ) {
653
653
  //存在存在可以编辑输入框框
654
654
  hasModifyItem = true;
@@ -673,7 +673,6 @@ modules = {
673
673
  let modelOrders = wfInfo.orders;
674
674
  let companyCode = this.$store.getters.companyCode;
675
675
  let taskStep = (wfInfo.taskStep ?? "") + "";
676
- let taskDefinitionKey = wfInfo.taskDefinitionKey;
677
676
  let bdService = this.bdService;
678
677
 
679
678
  let wfConfigData = formConfig.wfAgreeConfigData || [];
@@ -688,12 +687,12 @@ modules = {
688
687
  : [];
689
688
  let flag1 = !item.serveName || item.serveName == bdService;
690
689
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
691
- let flag2 =
692
- item.modelOrders === undefined ||
693
- item.modelOrders === null ||
694
- item.modelOrders === modelOrders;
695
- let flag3 =
696
- !companyCodes.length || companyCodes.includes(companyCode);
690
+ let flag2
691
+ = item.modelOrders === undefined
692
+ || item.modelOrders === null
693
+ || item.modelOrders === modelOrders;
694
+ let flag3
695
+ = !companyCodes.length || companyCodes.includes(companyCode);
697
696
  if (flag1 && flag2 && flag3) {
698
697
  //可编辑
699
698
  result = true;
@@ -716,7 +715,6 @@ modules = {
716
715
  let modelOrders = wfInfo.orders;
717
716
  let companyCode = this.$store.getters.companyCode;
718
717
  let taskStep = (wfInfo.taskStep ?? "") + "";
719
- let taskDefinitionKey = wfInfo.taskDefinitionKey;
720
718
  let bdService = this.bdService;
721
719
 
722
720
  let wfConfigData = formConfig.wfConfigData || [];
@@ -731,12 +729,12 @@ modules = {
731
729
  : [];
732
730
  let flag1 = !item.serveName || item.serveName == bdService;
733
731
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
734
- let flag2 =
735
- item.modelOrders === undefined ||
736
- item.modelOrders === null ||
737
- item.modelOrders === modelOrders;
738
- let flag3 =
739
- !companyCodes.length || companyCodes.includes(companyCode);
732
+ let flag2
733
+ = item.modelOrders === undefined
734
+ || item.modelOrders === null
735
+ || item.modelOrders === modelOrders;
736
+ let flag3
737
+ = !companyCodes.length || companyCodes.includes(companyCode);
740
738
  if (flag1 && flag2 && flag3) {
741
739
  //可编辑
742
740
  result = true;
@@ -750,25 +748,25 @@ modules = {
750
748
  if (!widget) return false;
751
749
  let widgetType = widget.type;
752
750
  let sourceType = widget.sourceType;
753
- let result =
754
- freeWidgetTypesOfWf.includes(widgetType) ||
755
- (sourceType && freeWidgetTypesOfWf.includes(sourceType));
751
+ let result
752
+ = freeWidgetTypesOfWf.includes(widgetType)
753
+ || (sourceType && freeWidgetTypesOfWf.includes(sourceType));
756
754
  return widget.options.label == "重置" || result;
757
755
  },
758
756
  getIsHiddenWidgetTypesOfWf(widget) {
759
757
  if (!widget) return false;
760
758
  let widgetType = widget.type;
761
759
  let targetType = widget.targetType;
762
- let result =
763
- hiddenWidgetTypesOfWf.includes(widgetType) ||
764
- (targetType && hiddenWidgetTypesOfWf.includes(targetType));
760
+ let result
761
+ = hiddenWidgetTypesOfWf.includes(widgetType)
762
+ || (targetType && hiddenWidgetTypesOfWf.includes(targetType));
765
763
  return result;
766
764
  },
767
765
  hanldeWfWidgetNew1(widget) {
768
766
  if (!widget) return;
769
- let flag =
770
- widget.columnType &&
771
- ["editDelete", "removeTreeRow"].includes(widget.columnType);
767
+ let flag
768
+ = widget.columnType
769
+ && ["editDelete", "removeTreeRow"].includes(widget.columnType);
772
770
  if (!flag && this.getIsfreeWidgetTypesOfWf(widget)) return; //过滤掉不受限组件
773
771
  if (this.widgetEditOnWf) return; //匹配到流程第一步可编辑,不执行下面禁用隐藏
774
772
  let wfParam = this.wfParam || {};
@@ -830,12 +828,12 @@ modules = {
830
828
  let flag1 = !item.serveName || item.serveName == bdService;
831
829
  // let flag2 = !item.modelKey || item.modelKey == modelKey;
832
830
 
833
- let flag2 =
834
- item.modelOrders === undefined ||
835
- item.modelOrders === null ||
836
- item.modelOrders === modelOrders;
837
- let flag3 =
838
- !companyCodes.length || companyCodes.includes(companyCode);
831
+ let flag2
832
+ = item.modelOrders === undefined
833
+ || item.modelOrders === null
834
+ || item.modelOrders === modelOrders;
835
+ let flag3
836
+ = !companyCodes.length || companyCodes.includes(companyCode);
839
837
  if (flag1 && flag2 && flag3) {
840
838
  if (type === 1) {
841
839
  //可编辑
@@ -902,8 +900,8 @@ modules = {
902
900
  let companyCodes = companyCodeStr
903
901
  ? companyCodeStr.split(",").filter((item) => !!item)
904
902
  : [];
905
- let flag3 =
906
- !companyCodes.length || companyCodes.includes(companyCode);
903
+ let flag3
904
+ = !companyCodes.length || companyCodes.includes(companyCode);
907
905
  if (flag1) {
908
906
  item3 = item;
909
907
  } else if (flag2) {
@@ -963,8 +961,8 @@ modules = {
963
961
  // setDisabled(target,true);
964
962
  let onClick = options ? options.onClick : widget.options.onClick;
965
963
  if (
966
- onClick &&
967
- onClick.startsWith("this.getFormRef().$baseReload()")
964
+ onClick
965
+ && onClick.startsWith("this.getFormRef().$baseReload()")
968
966
  ) {
969
967
  // setDisabled(target,false);
970
968
  disabled = false;
@@ -993,9 +991,9 @@ modules = {
993
991
  hidden = true;
994
992
  }
995
993
  if (
996
- widget &&
997
- widgetType == "save_button" &&
998
- hiddenByWf === undefined
994
+ widget
995
+ && widgetType == "save_button"
996
+ && hiddenByWf === undefined
999
997
  ) {
1000
998
  // setHidden(target,true)
1001
999
  // widget.options.hidden = true;
@@ -1050,7 +1048,7 @@ modules = {
1050
1048
  let modelKey = wfInfo.modelKey;
1051
1049
  let companyCode = this.$store.getters.companyCode;
1052
1050
  let taskStep = (wfInfo.taskStep ?? "") + "";
1053
- let taskDefinitionKey = wfInfo.taskDefinitionKey;
1051
+ let taskDefinitionKey = wfInfo?.taskDefinitionKey || wfInfo?.nodeCode;
1054
1052
  if (!taskDefinitionKey) return;
1055
1053
  let toModify = wfInfo.toModify;
1056
1054
  if (!toModify) return;
@@ -1105,8 +1103,8 @@ modules = {
1105
1103
  : [];
1106
1104
  let flag1 = !item.serveName || item.serveName == bdService;
1107
1105
  let flag2 = !item.modelKey || item.modelKey == modelKey;
1108
- let flag3 =
1109
- !companyCodes.length || companyCodes.includes(companyCode);
1106
+ let flag3
1107
+ = !companyCodes.length || companyCodes.includes(companyCode);
1110
1108
  if (flag1 && flag2 && flag3) {
1111
1109
  if (type === 1) {
1112
1110
  //可编辑
@@ -1407,8 +1405,8 @@ modules = {
1407
1405
  this.addFieldValidateEventHandler(),
1408
1406
  this.registerFormToRefList(),
1409
1407
  this.handleOnCreated(),
1410
- this.disabledMode &&
1411
- this.$nextTick(function () {
1408
+ this.disabledMode
1409
+ && this.$nextTick(function () {
1412
1410
  e.disableForm();
1413
1411
  });
1414
1412
  },
@@ -1423,24 +1421,24 @@ modules = {
1423
1421
  this.changeLanguage(e);
1424
1422
  },
1425
1423
  insertCustomStyleAndScriptNode: function () {
1426
- this.formConfig &&
1427
- this.formConfig.cssCode &&
1428
- baseRefUtil.insertCustomCssToHead(
1424
+ this.formConfig
1425
+ && this.formConfig.cssCode
1426
+ && baseRefUtil.insertCustomCssToHead(
1429
1427
  this.formConfig.cssCode,
1430
1428
  this.previewState ? "" : this.formId
1431
1429
  ),
1432
- this.formConfig &&
1433
- this.formConfig.functions &&
1434
- baseRefUtil.insertGlobalFunctionsToHtml(
1430
+ this.formConfig
1431
+ && this.formConfig.functions
1432
+ && baseRefUtil.insertGlobalFunctionsToHtml(
1435
1433
  this.formConfig.functions,
1436
1434
  this.previewState ? "" : this.formId
1437
1435
  );
1438
1436
  },
1439
1437
  buildFormModel: function (e) {
1440
1438
  let t = this;
1441
- e &&
1442
- e.length > 0 &&
1443
- e.forEach(function (e) {
1439
+ e
1440
+ && e.length > 0
1441
+ && e.forEach(function (e) {
1444
1442
  t.buildDataFromWidget(e);
1445
1443
  });
1446
1444
  },
@@ -1449,8 +1447,8 @@ modules = {
1449
1447
  let dataId = this.dataId;
1450
1448
  let currentFormData = this.currentFormData;
1451
1449
  let fieldKeyName = this.getFieldKeyName(e);
1452
- let defaultValue =
1453
- e.options.defaultValue === undefined || e.options.defaultValue === ""
1450
+ let defaultValue
1451
+ = e.options.defaultValue === undefined || e.options.defaultValue === ""
1454
1452
  ? null
1455
1453
  : e.options.defaultValue;
1456
1454
  if ("container" === e.category) {
@@ -1470,48 +1468,48 @@ modules = {
1470
1468
  });
1471
1469
  }
1472
1470
  } else if ("grid" === e.type)
1473
- e.cols &&
1474
- e.cols.length > 0 &&
1475
- e.cols.forEach(function (e) {
1471
+ e.cols
1472
+ && e.cols.length > 0
1473
+ && e.cols.forEach(function (e) {
1476
1474
  t.buildDataFromWidget(e);
1477
1475
  });
1478
1476
  else if ("table" === e.type)
1479
- e.rows &&
1480
- e.rows.length > 0 &&
1481
- e.rows.forEach(function (e) {
1482
- e.cols &&
1483
- e.cols.length > 0 &&
1484
- e.cols.forEach(function (e) {
1477
+ e.rows
1478
+ && e.rows.length > 0
1479
+ && e.rows.forEach(function (e) {
1480
+ e.cols
1481
+ && e.cols.length > 0
1482
+ && e.cols.forEach(function (e) {
1485
1483
  t.buildDataFromWidget(e);
1486
1484
  });
1487
1485
  });
1488
1486
  else if ("h5-table" === e.type)
1489
- e.rows &&
1490
- e.rows.length > 0 &&
1491
- e.rows.forEach(function (e) {
1492
- e.cols &&
1493
- e.cols.length > 0 &&
1494
- e.cols.forEach(function (e) {
1487
+ e.rows
1488
+ && e.rows.length > 0
1489
+ && e.rows.forEach(function (e) {
1490
+ e.cols
1491
+ && e.cols.length > 0
1492
+ && e.cols.forEach(function (e) {
1495
1493
  t.buildDataFromWidget(e);
1496
1494
  });
1497
1495
  });
1498
1496
  else if ("tab" === e.type)
1499
- e.tabs &&
1500
- e.tabs.length > 0 &&
1501
- e.tabs.forEach(function (e) {
1502
- e.widgetList &&
1503
- e.widgetList.length > 0 &&
1504
- e.widgetList.forEach(function (e) {
1497
+ e.tabs
1498
+ && e.tabs.length > 0
1499
+ && e.tabs.forEach(function (e) {
1500
+ e.widgetList
1501
+ && e.widgetList.length > 0
1502
+ && e.widgetList.forEach(function (e) {
1505
1503
  t.buildDataFromWidget(e);
1506
1504
  });
1507
1505
  });
1508
1506
  else if ("detail" === e.type)
1509
- e.panes &&
1510
- e.panes.length > 0 &&
1511
- e.panes.forEach(function (e) {
1512
- e.widgetList &&
1513
- e.widgetList.length > 0 &&
1514
- e.widgetList.forEach(function (e) {
1507
+ e.panes
1508
+ && e.panes.length > 0
1509
+ && e.panes.forEach(function (e) {
1510
+ e.widgetList
1511
+ && e.widgetList.length > 0
1512
+ && e.widgetList.forEach(function (e) {
1515
1513
  t.buildDataFromWidget(e);
1516
1514
  });
1517
1515
  });
@@ -1549,26 +1547,26 @@ modules = {
1549
1547
  : this.$set(this.formDataModel, a, []);
1550
1548
  }
1551
1549
  } else if ("detail-h5" === e.type) {
1552
- e.panes &&
1553
- e.panes.length > 0 &&
1554
- e.panes.forEach(function (e) {
1550
+ e.panes
1551
+ && e.panes.length > 0
1552
+ && e.panes.forEach(function (e) {
1555
1553
  t.buildDataFromWidget(e);
1556
1554
  });
1557
1555
  } else if ("h5-card" === e.type) {
1558
- e.panes &&
1559
- e.panes.length > 0 &&
1560
- e.panes.forEach(function (e) {
1561
- e.widgetList &&
1562
- e.widgetList.length > 0 &&
1563
- e.widgetList.forEach(function (e) {
1556
+ e.panes
1557
+ && e.panes.length > 0
1558
+ && e.panes.forEach(function (e) {
1559
+ e.widgetList
1560
+ && e.widgetList.length > 0
1561
+ && e.widgetList.forEach(function (e) {
1564
1562
  t.buildDataFromWidget(e);
1565
1563
  });
1566
1564
  });
1567
1565
  } else
1568
1566
  "grid-col" === e.type || e.type,
1569
- e.widgetList &&
1570
- e.widgetList.length > 0 &&
1571
- e.widgetList.forEach(function (e) {
1567
+ e.widgetList
1568
+ && e.widgetList.length > 0
1569
+ && e.widgetList.forEach(function (e) {
1572
1570
  t.buildDataFromWidget(e);
1573
1571
  });
1574
1572
  } else if ("vabsearch" === e.type) {
@@ -1674,10 +1672,10 @@ modules = {
1674
1672
  findWidgetOfSubFormAndSetDisabled: function (e, t) {
1675
1673
  let i = this,
1676
1674
  n = baseRefUtil.getFieldWidgetByName(this.formJsonObj.widgetList, e);
1677
- n &&
1678
- n.options &&
1679
- n.options.hasOwnProperty("disabled") &&
1680
- (n.options.disabled = t),
1675
+ n
1676
+ && n.options
1677
+ && n.options.hasOwnProperty("disabled")
1678
+ && (n.options.disabled = t),
1681
1679
  this.findWidgetNameInSubForm(e).forEach(function (e) {
1682
1680
  let n = i.getWidgetRef(e);
1683
1681
  n && n.setDisabled && n.setDisabled(t);
@@ -1692,10 +1690,10 @@ modules = {
1692
1690
  findWidgetOfSubFormAndSetHidden: function (e, t) {
1693
1691
  let i = this,
1694
1692
  n = baseRefUtil.getFieldWidgetByName(this.formJsonObj.widgetList, e);
1695
- n &&
1696
- n.options &&
1697
- n.options.hasOwnProperty("hidden") &&
1698
- (n.options.hidden = t),
1693
+ n
1694
+ && n.options
1695
+ && n.options.hasOwnProperty("hidden")
1696
+ && (n.options.hidden = t),
1699
1697
  this.findWidgetNameInSubForm(e).forEach(function (e) {
1700
1698
  let n = i.getWidgetRef(e);
1701
1699
  n && n.setDisabled && n.setHidden(t);
@@ -1777,9 +1775,9 @@ modules = {
1777
1775
  let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
1778
1776
  i = this.widgetRefList[e];
1779
1777
  return (
1780
- !i &&
1781
- t &&
1782
- this.$message.error(this.i18nt("render.hint.refNotFound") + e),
1778
+ !i
1779
+ && t
1780
+ && this.$message.error(this.i18nt("render.hint.refNotFound") + e),
1783
1781
  i
1784
1782
  );
1785
1783
  },
@@ -1862,15 +1860,15 @@ modules = {
1862
1860
  let i = this,
1863
1861
  n = this.getWidgetRef(e);
1864
1862
  n && n.setValue && n.setValue(t),
1865
- n ||
1866
- this.findWidgetNameInSubForm(e).forEach(function (e) {
1863
+ n
1864
+ || this.findWidgetNameInSubForm(e).forEach(function (e) {
1867
1865
  let n = i.getWidgetRef(e);
1868
1866
  n && n.setValue && n.setValue(t);
1869
1867
  });
1870
1868
  },
1871
1869
  getSubFormValues: function (e) {
1872
- let t =
1873
- !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
1870
+ let t
1871
+ = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1],
1874
1872
  i = this.subFormRefList[e];
1875
1873
  return i.getSubFormValues(t);
1876
1874
  },
@@ -1886,8 +1884,8 @@ modules = {
1886
1884
  if (!!foundW.widget && foundW.widget.type === "sub-form") {
1887
1885
  foundW.disableSubForm();
1888
1886
  } else if (
1889
- !!foundW.widget &&
1890
- foundW.widget.type === "grid-sub-form"
1887
+ !!foundW.widget
1888
+ && foundW.widget.type === "grid-sub-form"
1891
1889
  ) {
1892
1890
  foundW.disableGridSubForm();
1893
1891
  } else if (!!foundW.widget && foundW.widget.type === "data-table") {
@@ -1910,8 +1908,8 @@ modules = {
1910
1908
  if (!!foundW.widget && foundW.widget.type === "sub-form") {
1911
1909
  foundW.enableSubForm();
1912
1910
  } else if (
1913
- !!foundW.widget &&
1914
- foundW.widget.type === "grid-sub-form"
1911
+ !!foundW.widget
1912
+ && foundW.widget.type === "grid-sub-form"
1915
1913
  ) {
1916
1914
  foundW.enableGridSubForm();
1917
1915
  } else if (!!foundW.widget && foundW.widget.type === "data-table") {
@@ -1948,54 +1946,54 @@ modules = {
1948
1946
  validateFields: function () {},
1949
1947
  disableWidgets: function (e) {
1950
1948
  let t = this;
1951
- e &&
1952
- ("string" === typeof e
1949
+ e
1950
+ && ("string" === typeof e
1953
1951
  ? this.findWidgetAndSetDisabled(e, !0)
1954
- : Array.isArray(e) &&
1955
- e.forEach(function (e) {
1952
+ : Array.isArray(e)
1953
+ && e.forEach(function (e) {
1956
1954
  t.findWidgetAndSetDisabled(e, !0);
1957
1955
  }));
1958
1956
  },
1959
1957
  enableWidgets: function (e) {
1960
1958
  let t = this;
1961
- e &&
1962
- ("string" === typeof e
1959
+ e
1960
+ && ("string" === typeof e
1963
1961
  ? this.findWidgetAndSetDisabled(e, !1)
1964
- : Array.isArray(e) &&
1965
- e.forEach(function (e) {
1962
+ : Array.isArray(e)
1963
+ && e.forEach(function (e) {
1966
1964
  t.findWidgetAndSetDisabled(e, !1);
1967
1965
  }));
1968
1966
  },
1969
1967
  hideWidgets: function (e) {
1970
1968
  let t = this;
1971
- e &&
1972
- ("string" === typeof e
1969
+ e
1970
+ && ("string" === typeof e
1973
1971
  ? this.findWidgetAndSetHidden(e, !0)
1974
- : Array.isArray(e) &&
1975
- e.forEach(function (e) {
1972
+ : Array.isArray(e)
1973
+ && e.forEach(function (e) {
1976
1974
  t.findWidgetAndSetHidden(e, !0);
1977
1975
  }));
1978
1976
  },
1979
1977
  showWidgets: function (e) {
1980
1978
  let t = this;
1981
- e &&
1982
- ("string" === typeof e
1979
+ e
1980
+ && ("string" === typeof e
1983
1981
  ? this.findWidgetAndSetHidden(e, !1)
1984
- : Array.isArray(e) &&
1985
- e.forEach(function (e) {
1982
+ : Array.isArray(e)
1983
+ && e.forEach(function (e) {
1986
1984
  t.findWidgetAndSetHidden(e, !1);
1987
1985
  }));
1988
1986
  },
1989
1987
  getFieldWidgets: function () {
1990
- let e =
1991
- arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1988
+ let e
1989
+ = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1992
1990
  return e
1993
1991
  ? baseRefUtil.getAllFieldWidgets(e)
1994
1992
  : baseRefUtil.getAllFieldWidgets(this.formJsonObj.widgetList);
1995
1993
  },
1996
1994
  getContainerWidgets: function () {
1997
- let e =
1998
- arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1995
+ let e
1996
+ = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null;
1999
1997
  return e
2000
1998
  ? baseRefUtil.getAllContainerWidgets(e)
2001
1999
  : baseRefUtil.getAllContainerWidgets(this.formJsonObj.widgetList);
@@ -2010,8 +2008,8 @@ modules = {
2010
2008
  return this.externalComponents[e];
2011
2009
  },
2012
2010
  setReadMode: function () {
2013
- let e =
2014
- !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
2011
+ let e
2012
+ = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0];
2015
2013
  this.readModeFlag = e;
2016
2014
  },
2017
2015
  getReadMode: function () {
@@ -2364,8 +2362,8 @@ modules = {
2364
2362
  }
2365
2363
  let newFormData = {};
2366
2364
  formTemplateTableDTOs.forEach((formTemplateTableDTO) => {
2367
- let tableAlias =
2368
- formTemplateTableDTO.tableType == 0
2365
+ let tableAlias
2366
+ = formTemplateTableDTO.tableType == 0
2369
2367
  ? formCode
2370
2368
  : formTemplateTableDTO.tableAlias;
2371
2369
  if (formTemplateTableDTO.tableType == 0) {
@@ -2377,14 +2375,14 @@ modules = {
2377
2375
  });
2378
2376
  formTemplateTableDTO.formTemplateFieldDTOs.forEach(
2379
2377
  (formTemplateFieldDTO) => {
2380
- item[formTemplateFieldDTO.fieldName] =
2381
- res[formTemplateFieldDTO.fieldName];
2378
+ item[formTemplateFieldDTO.fieldName]
2379
+ = res[formTemplateFieldDTO.fieldName];
2382
2380
  }
2383
2381
  );
2384
2382
  newFormData[tableAlias] = item;
2385
2383
  } else {
2386
- newFormData[tableAlias] =
2387
- formDataModel[formTemplateTableDTO.name];
2384
+ newFormData[tableAlias]
2385
+ = formDataModel[formTemplateTableDTO.name];
2388
2386
  }
2389
2387
  });
2390
2388
  /*if (formConfig.formType === 1) {
@@ -2417,8 +2415,8 @@ modules = {
2417
2415
 
2418
2416
  let newFormData = {};
2419
2417
  formTemplateTableDTOs.forEach((formTemplateTableDTO) => {
2420
- let tableAlias =
2421
- formTemplateTableDTO.tableType == 0
2418
+ let tableAlias
2419
+ = formTemplateTableDTO.tableType == 0
2422
2420
  ? formCode
2423
2421
  : formTemplateTableDTO.tableAlias;
2424
2422
  if (formTemplateTableDTO.tableType == 0) {
@@ -2430,8 +2428,8 @@ modules = {
2430
2428
  });
2431
2429
  formTemplateTableDTO.formTemplateFieldDTOs.forEach(
2432
2430
  (formTemplateFieldDTO) => {
2433
- item[formTemplateFieldDTO.fieldName] =
2434
- res[formTemplateFieldDTO.fieldName];
2431
+ item[formTemplateFieldDTO.fieldName]
2432
+ = res[formTemplateFieldDTO.fieldName];
2435
2433
  }
2436
2434
  );
2437
2435
  newFormData[tableAlias] = item ?? null;
@@ -2450,16 +2448,16 @@ modules = {
2450
2448
  );
2451
2449
  tableDatas.forEach((tableData) => {
2452
2450
  if (
2453
- tableData.id &&
2454
- tableData.id.startsWith &&
2455
- tableData.id.startsWith("row_")
2451
+ tableData.id
2452
+ && tableData.id.startsWith
2453
+ && tableData.id.startsWith("row_")
2456
2454
  ) {
2457
2455
  tableData.id = null;
2458
2456
  }
2459
2457
  if (
2460
- tableData[parentField] &&
2461
- tableData[parentField].startsWith &&
2462
- tableData[parentField].startsWith("row_")
2458
+ tableData[parentField]
2459
+ && tableData[parentField].startsWith
2460
+ && tableData[parentField].startsWith("row_")
2463
2461
  ) {
2464
2462
  tableData[parentField] = null;
2465
2463
  }
@@ -2471,8 +2469,8 @@ modules = {
2471
2469
  });
2472
2470
  newFormData[tableAlias] = tableDatas;
2473
2471
  } else {
2474
- newFormData[tableAlias] =
2475
- formDataModel[formTemplateTableDTO.name] ?? null;
2472
+ newFormData[tableAlias]
2473
+ = formDataModel[formTemplateTableDTO.name] ?? null;
2476
2474
  }
2477
2475
  }
2478
2476
  });
@@ -2534,8 +2532,8 @@ modules = {
2534
2532
  //获取表单的第一个组件
2535
2533
  let target = null;
2536
2534
  if (
2537
- this.formJsonObj.widgetList &&
2538
- this.formJsonObj.widgetList.length > 0
2535
+ this.formJsonObj.widgetList
2536
+ && this.formJsonObj.widgetList.length > 0
2539
2537
  ) {
2540
2538
  target = this.getWidgetRef(this.formJsonObj.widgetList[0].options.name);
2541
2539
  }
@@ -2751,42 +2749,42 @@ modules = {
2751
2749
  columnSelectedWidget.options.label = "删除";
2752
2750
  columnSelectedWidget.options.labelHidden = true;
2753
2751
  columnSelectedWidget.options.hiddenByWf = true;
2754
- columnSelectedWidget.options.onClick =
2755
- "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
2752
+ columnSelectedWidget.options.onClick
2753
+ = "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.deleteRow(tableParam.row,tableParam.rowIndex);";
2756
2754
  } else if ("editButton" == formatS) {
2757
2755
  columnSelectedWidget.options.prefixIcon = "el-icon-edit";
2758
2756
  columnSelectedWidget.options.label = "查看";
2759
2757
  columnSelectedWidget.options.labelHidden = true;
2760
- columnSelectedWidget.options.onClick =
2761
- "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
2758
+ columnSelectedWidget.options.onClick
2759
+ = "let tableParam = this.tableParam;\nlet tableRef = this.getWidgetRef(this.parentWidget.options.name);\ntableRef.openEditDialog(tableParam.row)";
2762
2760
  } else if ("addSiblingEditRow" == formatS) {
2763
2761
  columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2764
2762
  columnSelectedWidget.options.label = "新增兄弟节点";
2765
2763
  columnSelectedWidget.options.labelHidden = false;
2766
- columnSelectedWidget.options.onClick =
2767
- "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
2764
+ columnSelectedWidget.options.onClick
2765
+ = "let tableParam = this.tableParam;\nthis.getParentTarget().addSiblingTreeRow(null,tableParam);";
2768
2766
  } else if ("addChildTreeRow" == formatS) {
2769
2767
  columnSelectedWidget.options.prefixIcon = "el-icon-plus";
2770
2768
  columnSelectedWidget.options.label = "新增子节点";
2771
2769
  columnSelectedWidget.options.labelHidden = false;
2772
- columnSelectedWidget.options.onClick =
2773
- "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
2770
+ columnSelectedWidget.options.onClick
2771
+ = "let tableParam = this.tableParam;\nthis.getParentTarget().addChildTreeRow(null,tableParam);";
2774
2772
  } else if ("moveUpRow" == formatS) {
2775
2773
  columnSelectedWidget.options.label = "↑上移";
2776
2774
  columnSelectedWidget.options.labelHidden = false;
2777
- columnSelectedWidget.options.onClick =
2778
- "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
2775
+ columnSelectedWidget.options.onClick
2776
+ = "let tableParam = this.tableParam;\nthis.getParentTarget().moveUpRow(tableParam);";
2779
2777
  } else if ("moveDownRow" == formatS) {
2780
2778
  columnSelectedWidget.options.label = "↓下移";
2781
2779
  columnSelectedWidget.options.labelHidden = false;
2782
- columnSelectedWidget.options.onClick =
2783
- "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
2780
+ columnSelectedWidget.options.onClick
2781
+ = "let tableParam = this.tableParam;\nthis.getParentTarget().moveDownRow(tableParam);";
2784
2782
  } else if ("removeTreeRow" == formatS) {
2785
2783
  columnSelectedWidget.options.prefixIcon = "el-icon-delete";
2786
2784
  columnSelectedWidget.options.label = "删除";
2787
2785
  columnSelectedWidget.options.labelHidden = true;
2788
- columnSelectedWidget.options.onClick =
2789
- "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
2786
+ columnSelectedWidget.options.onClick
2787
+ = "let tableParam = this.tableParam;\nthis.getParentTarget().removeTreeRow(tableParam);";
2790
2788
  }
2791
2789
 
2792
2790
  if (columnSelectedWidget.options.hasOwnProperty("keyName")) {
@@ -2935,8 +2933,8 @@ modules = {
2935
2933
  this.showFileReferenceDialog = true;
2936
2934
  },
2937
2935
  confirmFileReferenceDialog() {
2938
- this.fileReferenceDialogOption.confirm &&
2939
- this.fileReferenceDialogOption.confirm();
2936
+ this.fileReferenceDialogOption.confirm
2937
+ && this.fileReferenceDialogOption.confirm();
2940
2938
  },
2941
2939
  getFormRef() {
2942
2940
  return this;
@@ -2944,38 +2942,215 @@ modules = {
2944
2942
  isObject(value) {
2945
2943
  return Object.prototype.toString.call(value) === "[object Object]";
2946
2944
  },
2947
- openCopyEditTab(copyData) {
2948
- let formData = this.$baseLodash.cloneDeep(copyData || this.formDataModel);
2945
+ handleCopyTreeData(value, widget) {
2946
+ if (!value || !widget || !Array.isArray(value) || value.length === 0) return;
2947
+
2948
+ // 获取树形表格配置
2949
+ const widgetName = widget.options.name;
2950
+ const gridRef = this.getWidgetRef(widgetName);
2951
+ const $grid = gridRef.getGridTable();
2952
+ const treeConfig = $grid.treeConfig;
2953
+ const idField = treeConfig.rowField || "id";
2954
+ const parentField = treeConfig.parentField;
2955
+ const childrenField = treeConfig.children;
2956
+
2957
+ // 初始化 id 生成器
2958
+ const baseTime = new Date().valueOf();
2959
+ let counter = 0;
2960
+ const idMap = {}; // 旧 id 到新 id 的映射
2961
+
2962
+ // 生成新的 id(以 'row_' 开头)
2963
+ const generateNewId = () => {
2964
+ counter++;
2965
+ return `row_${baseTime}_${counter}_${Math.floor(Math.random() * 1000000)}`;
2966
+ };
2949
2967
 
2950
- const handleData = (data) => {
2951
- if (!data) return;
2952
- if (Array.isArray(data)) {
2953
- data.forEach((item) => {
2954
- handleData(item);
2955
- });
2956
- return;
2957
- } else if (this.isObject(data)) {
2958
- data.id = null;
2959
- data.create_by = null;
2960
- data.create_date = null;
2961
- data.modify_by = null;
2962
- data.modify_date = null;
2963
- delete data.head_table_id;
2964
- delete data.objectForeignId;
2965
- if (data.createBy) data.createBy;
2966
- if (data.createDate) data.createDate;
2967
- if (data.modifyBy) data.modifyBy;
2968
- if (data.modifyDate) data.modifyDate;
2969
- Object.keys(data).forEach((key) => {
2970
- let value = data[key];
2971
- if (value && Array.isArray(value)) {
2972
- handleData(value);
2968
+ // 收集所有节点(包括扁平数组和嵌套结构中的节点),使用 Set 去重
2969
+ const allNodes = [];
2970
+ const processedNodes = new WeakSet(); // 使用 WeakSet 来跟踪已处理的节点,避免重复处理
2971
+
2972
+ const collectAllNodes = (nodes) => {
2973
+ if (!Array.isArray(nodes)) return;
2974
+ nodes.forEach(node => {
2975
+ if (node && this.isObject(node) && !processedNodes.has(node)) {
2976
+ processedNodes.add(node);
2977
+ allNodes.push(node);
2978
+ // 递归收集嵌套在 childrenField 中的节点
2979
+ if (node[childrenField] && Array.isArray(node[childrenField])) {
2980
+ collectAllNodes(node[childrenField]);
2973
2981
  }
2974
- });
2982
+ }
2983
+ });
2984
+ };
2985
+ collectAllNodes(value);
2986
+
2987
+ // 第一步:为所有节点生成新的 id 并建立映射
2988
+ // 注意:即使 id 为 null,也要生成新 id
2989
+ allNodes.forEach(node => {
2990
+ if (node[idField] !== undefined && node[idField] !== null) {
2991
+ // 如果节点已有 id,记录映射关系
2992
+ const oldId = node[idField];
2993
+ const newId = generateNewId();
2994
+ idMap[oldId] = newId;
2995
+ node[idField] = newId;
2996
+ } else {
2997
+ // 如果节点 id 为 null 或 undefined,直接生成新 id
2998
+ const newId = generateNewId();
2999
+ node[idField] = newId;
3000
+ }
3001
+ });
3002
+
3003
+ // 第二步:更新所有节点的 parentField(使用映射的新 id)
3004
+ allNodes.forEach(node => {
3005
+ if (node[parentField] !== undefined && node[parentField] !== null && node[parentField] !== 0) {
3006
+ const oldParentId = node[parentField];
3007
+ // 如果父节点的旧 id 在映射中,更新为新 id
3008
+ if (idMap[oldParentId]) {
3009
+ node[parentField] = idMap[oldParentId];
3010
+ } else {
3011
+ // 如果父节点不在映射中(可能是外部引用或已处理),尝试在 allNodes 中查找
3012
+ const parentNode = allNodes.find(n => n[idField] === oldParentId);
3013
+ if (parentNode) {
3014
+ node[parentField] = parentNode[idField];
3015
+ } else {
3016
+ // 找不到父节点,设置为 0(根节点)
3017
+ node[parentField] = 0;
3018
+ }
3019
+ }
2975
3020
  }
3021
+ });
3022
+
3023
+ // 第三步:更新嵌套的 childrenField 结构中的 parentField
3024
+ const updateNestedChildrenParent = (node) => {
3025
+ if (!node || !node[childrenField] || !Array.isArray(node[childrenField]) || node[childrenField].length === 0) {
3026
+ return;
3027
+ }
3028
+
3029
+ node[childrenField].forEach(child => {
3030
+ if (child && node[idField]) {
3031
+ child[parentField] = node[idField];
3032
+ }
3033
+ updateNestedChildrenParent(child);
3034
+ });
2976
3035
  };
3036
+ allNodes.forEach(node => updateNestedChildrenParent(node));
3037
+
3038
+ // 第四步:处理节点中的其他数组字段(如子表单、附件列表等)
3039
+ // 注意:需要跳过树形结构相关的字段,避免误处理
3040
+ const treeRelatedFields = new Set([idField, parentField, childrenField, '_X_ROW_KEY', '_X_ROW_CHILD', 'f_wbs']);
3041
+ const processedArrayNodes = new WeakSet(); // 跟踪已处理的数组节点,避免重复处理
3042
+
3043
+ const processNodeArrayFields = (node) => {
3044
+ if (!node || !this.isObject(node)) return;
3045
+
3046
+ // 如果节点已经在 allNodes 中(是树形节点),跳过处理,避免覆盖已生成的 id
3047
+ if (processedNodes.has(node)) {
3048
+ return;
3049
+ }
3050
+
3051
+ Object.keys(node).forEach(key => {
3052
+ // 跳过树形结构相关字段
3053
+ if (treeRelatedFields.has(key)) {
3054
+ return;
3055
+ }
3056
+
3057
+ const fieldValue = node[key];
3058
+
3059
+ // 处理数组字段
3060
+ if (Array.isArray(fieldValue) && fieldValue.length > 0) {
3061
+ fieldValue.forEach(item => {
3062
+ if (this.isObject(item)) {
3063
+ // 如果这个对象是树形节点(在 allNodes 中),跳过处理
3064
+ if (processedNodes.has(item)) {
3065
+ return;
3066
+ }
3067
+
3068
+ // 只有非树形节点的数组元素才需要清空 id
3069
+ if (item.id !== undefined) {
3070
+ item.id = null;
3071
+ }
3072
+ this.handleCopyDefaultData(item);
3073
+
3074
+ // 标记已处理,避免重复处理
3075
+ if (!processedArrayNodes.has(item)) {
3076
+ processedArrayNodes.add(item);
3077
+ processNodeArrayFields(item);
3078
+ }
3079
+ }
3080
+ });
3081
+ return;
3082
+ }
3083
+
3084
+ // 处理嵌套对象
3085
+ if (this.isObject(fieldValue)) {
3086
+ // 如果这个对象是树形节点,跳过处理
3087
+ if (!processedNodes.has(fieldValue)) {
3088
+ processNodeArrayFields(fieldValue);
3089
+ }
3090
+ }
3091
+ });
3092
+ };
3093
+
3094
+ // 处理所有节点中的其他数组字段
3095
+ allNodes.forEach(node => processNodeArrayFields(node));
3096
+ },
3097
+ handleCopyDefaultData(data){
3098
+ data.create_by = null;
3099
+ data._create_by = null;
3100
+ data.create_date = null;
3101
+ data.modify_by = null;
3102
+ data._modify_by = null;
3103
+ data.modify_date = null;
3104
+ delete data.head_table_id;
3105
+ delete data.objectForeignId;
3106
+ },
3107
+ handleCopyData(data, fieldKey) {
3108
+ if (!data) return;
3109
+
3110
+ // 处理数组类型数据
3111
+ if (Array.isArray(data)) {
3112
+ if (data.length === 0) return;
3113
+
3114
+ // 检查是否为树形表格数据
3115
+ const formRef = this.getFormRef();
3116
+ if (formRef && formRef.getTableFiledMap && fieldKey) {
3117
+ const fieldMap = formRef.getTableFiledMap(1); // flag=1 返回 widget 对象
3118
+ const widget = fieldMap[fieldKey];
3119
+
3120
+ if (widget && widget.type === 'data-table' && !widget.options.isQueryTable && widget.options.isTreeTable) {
3121
+ this.handleCopyTreeData(data, widget);
3122
+ return;
3123
+ }
3124
+ }
3125
+
3126
+ // 普通数组,递归处理每个元素
3127
+ data.forEach(item => {
3128
+ this.handleCopyData(item);
3129
+ });
3130
+ return;
3131
+ }
3132
+
3133
+ // 处理对象类型数据
3134
+ if (this.isObject(data)) {
3135
+ data.id = null;
3136
+ this.handleCopyDefaultData(data);
3137
+
3138
+ // 递归处理对象中的数组字段
3139
+ Object.keys(data).forEach(key => {
3140
+ const value = data[key];
3141
+ if (Array.isArray(value)) {
3142
+ this.handleCopyData(value, key);
3143
+ }
3144
+ });
3145
+ }
3146
+ },
3147
+ openCopyEditTab(copyData) {
3148
+
3149
+ let formData = this.$baseLodash.cloneDeep(copyData || this.formDataModel);
2977
3150
  if (formData) {
2978
- handleData(formData);
3151
+ console.log("copyData",copyData)
3152
+ this.handleCopyData(formData);
3153
+ console.log("formData",formData)
2979
3154
  }
2980
3155
 
2981
3156
  this.$emit("openCopyEditTab", formData);