@byteluck-fe/model-driven-engine 2.8.1-beta.10 → 2.8.1-beta.13

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.
@@ -348,6 +348,7 @@ import { findItem, proxyState } from "./proxyState";
348
348
  import { ActionManager } from "./ActionManager";
349
349
  import { DataManager } from "./DataManager";
350
350
  import { checkerSubtableValue, checkerValue } from "./checkerValue";
351
+ import { buildUUID } from "../utils/runtimeUtils";
351
352
  if (typeof window !== "undefined") {
352
353
  // @ts-ignore
353
354
  window.engines = {};
@@ -602,14 +603,16 @@ var Engine = /*#__PURE__*/ function(Watcher) {
602
603
  result
603
604
  ];
604
605
  }
606
+ var subtableData = this.getState(subtable.id);
607
+ this._handlerSubtableUpdateUid(subtableData);
605
608
  this.emit("list-change", {
606
609
  instance: subtable,
607
- value: this.getState(subtable.id),
610
+ value: subtableData,
608
611
  options: Object.assign({}, options, {
609
612
  changed: createdNewRows,
610
613
  data: createdNewRowsData,
611
614
  deleted: deleted !== null && deleted !== void 0 ? deleted : [],
612
- jsonValue: JSON.stringify(this.getState(subtable.id)),
615
+ jsonValue: JSON.stringify(subtableData),
613
616
  isDeleteLastOne: isDeleteLastOne,
614
617
  type: type,
615
618
  args: args
@@ -620,6 +623,18 @@ var Engine = /*#__PURE__*/ function(Watcher) {
620
623
  }
621
624
  }
622
625
  },
626
+ {
627
+ key: "_handlerSubtableUpdateUid",
628
+ value: function _handlerSubtableUpdateUid(subtableData) {
629
+ subtableData.forEach(function(item) {
630
+ if (!item.uid) {
631
+ Object.assign(item, {
632
+ uid: "new:" + buildUUID("uid")
633
+ });
634
+ }
635
+ });
636
+ }
637
+ },
623
638
  {
624
639
  key: "_handlerObjectUpdate",
625
640
  value: function _handlerObjectUpdate(state, key, value, oldValue) {
@@ -652,6 +667,7 @@ var Engine = /*#__PURE__*/ function(Watcher) {
652
667
  if ((options === null || options === void 0 ? void 0 : options.setData) === true) {
653
668
  deleted = [];
654
669
  }
670
+ this._handlerSubtableUpdateUid(newValue);
655
671
  this.emit("list-change", {
656
672
  instance: instance,
657
673
  value: value,
@@ -661,7 +677,8 @@ var Engine = /*#__PURE__*/ function(Watcher) {
661
677
  data: newValue,
662
678
  deleted: deleted,
663
679
  // deleted: oldValue ?? [],
664
- type: "push"
680
+ type: "push",
681
+ jsonValue: JSON.stringify(newValue)
665
682
  })
666
683
  });
667
684
  } else {
@@ -79,6 +79,16 @@ var Store = /*#__PURE__*/ function() {
79
79
  var controlInfo = this.controlIdMapping[controlId];
80
80
  var noProxyValue = JSONCopy(value);
81
81
  if (controlInfo !== undefined) {
82
+ //明细表
83
+ if (controlInfo.children) {
84
+ value.forEach(function(item) {
85
+ if (!item.uid) {
86
+ Object.assign(item, {
87
+ uid: "new:" + buildUUID("uid")
88
+ });
89
+ }
90
+ });
91
+ }
82
92
  //qiyu 按照对象赋值,Object.assign会触发多次key的change事件
83
93
  this.state[controlInfo.dataView][controlId] = noProxyValue;
84
94
  // if (