@byteluck-fe/model-driven-engine 1.7.3 → 1.7.6

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.
@@ -753,13 +753,6 @@ var Engine = /*#__PURE__*/ function(Watcher) {
753
753
  return this.store.getState(controlId, rowIndex);
754
754
  }
755
755
  };
756
- _proto.getFieldCodeState = function getFieldCodeState(controlId) {
757
- if (controlId === undefined) {
758
- return this.store.fieldCodeState;
759
- } else {
760
- return this.store.getFieldCodeState(controlId);
761
- }
762
- };
763
756
  _proto.getEmptyState = function getEmptyState(controlId) {
764
757
  if (controlId === undefined) {
765
758
  return JSONCopy(this.store.emptyState);
@@ -840,11 +833,70 @@ var Engine = /*#__PURE__*/ function(Watcher) {
840
833
  }
841
834
  };
842
835
  _proto.getData = function getData(dataCode) {
843
- if (dataCode) {
844
- var dataBindMapping = this.getDataBindMapping(dataCode);
845
- if (dataBindMapping) {
846
- var controlId = dataBindMapping.controlId;
847
- return this.getFieldCodeState(controlId);
836
+ if (!dataCode) return;
837
+ var dataBindMapping = this.getDataBindMapping(dataCode);
838
+ var controlIdMapping = this.getControlIdMapping();
839
+ if (dataBindMapping) {
840
+ var controlId = dataBindMapping.controlId;
841
+ var getFieldData = this.getField(dataCode);
842
+ // 明细子表值
843
+ if (Array.isArray(getFieldData)) {
844
+ var data = getFieldData.map(function(item) {
845
+ var obj = {};
846
+ for(var key in item){
847
+ var _controlIdMapping_controlId_children_key, _controlIdMapping_controlId, _controlIdMapping_controlId_children_key_dataBind, _controlIdMapping_controlId1;
848
+ if ((_controlIdMapping_controlId_children_key = (_controlIdMapping_controlId = controlIdMapping[controlId]) === null || _controlIdMapping_controlId === void 0 ? void 0 : _controlIdMapping_controlId.children[key]) === null || _controlIdMapping_controlId_children_key === void 0 ? void 0 : (_controlIdMapping_controlId_children_key_dataBind = _controlIdMapping_controlId_children_key.dataBind) === null || _controlIdMapping_controlId_children_key_dataBind === void 0 ? void 0 : _controlIdMapping_controlId_children_key_dataBind.fieldCode) {
849
+ var _controlIdMapping_controlId_children_key1;
850
+ obj[(_controlIdMapping_controlId_children_key1 = controlIdMapping[controlId].children[key]) === null || _controlIdMapping_controlId_children_key1 === void 0 ? void 0 : _controlIdMapping_controlId_children_key1.dataBind.fieldCode] = item[key];
851
+ } else if ((_controlIdMapping_controlId1 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId1 === void 0 ? void 0 : _controlIdMapping_controlId1.children[key]) {
852
+ // 兼容一个控件需要绑定多个字段的情况
853
+ for(var keyChi in item[key]){
854
+ var _controlIdMapping_controlId_children_key2, _controlIdMapping_controlId2;
855
+ obj[(_controlIdMapping_controlId_children_key2 = (_controlIdMapping_controlId2 = controlIdMapping[controlId]) === null || _controlIdMapping_controlId2 === void 0 ? void 0 : _controlIdMapping_controlId2.children[key]) === null || _controlIdMapping_controlId_children_key2 === void 0 ? void 0 : _controlIdMapping_controlId_children_key2.dataBind[keyChi].fieldCode] = item[key][keyChi];
856
+ }
857
+ }
858
+ }
859
+ return obj;
860
+ });
861
+ return data;
862
+ } else {
863
+ var _loop = function(key) {
864
+ var _controlIdMapping_key, _controlIdMapping_key_dataBind, _controlIdMapping_key1, _controlIdMapping_key_dataBind1;
865
+ if ((_controlIdMapping_key = controlIdMapping[key]) === null || _controlIdMapping_key === void 0 ? void 0 : (_controlIdMapping_key_dataBind = _controlIdMapping_key.dataBind) === null || _controlIdMapping_key_dataBind === void 0 ? void 0 : _controlIdMapping_key_dataBind.fieldCode) {
866
+ var _controlIdMapping_key2;
867
+ obj[(_controlIdMapping_key2 = controlIdMapping[key]) === null || _controlIdMapping_key2 === void 0 ? void 0 : _controlIdMapping_key2.dataBind.fieldCode] = getFieldData[key];
868
+ } else if ((_controlIdMapping_key1 = controlIdMapping[key]) === null || _controlIdMapping_key1 === void 0 ? void 0 : (_controlIdMapping_key_dataBind1 = _controlIdMapping_key1.dataBind) === null || _controlIdMapping_key_dataBind1 === void 0 ? void 0 : _controlIdMapping_key_dataBind1.dataCode) {
869
+ var _controlIdMapping_key3;
870
+ // 明细字表只循环一层明细子表未递归
871
+ obj[(_controlIdMapping_key3 = controlIdMapping[key]) === null || _controlIdMapping_key3 === void 0 ? void 0 : _controlIdMapping_key3.dataBind.dataCode] = getFieldData[key].map(function(item) {
872
+ var objChi = {};
873
+ for(var keyChi in item){
874
+ var _controlIdMapping_key_children_keyChi;
875
+ if ((_controlIdMapping_key_children_keyChi = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi === void 0 ? void 0 : _controlIdMapping_key_children_keyChi.dataBind.fieldCode) {
876
+ var _controlIdMapping_key_children_keyChi1;
877
+ objChi[(_controlIdMapping_key_children_keyChi1 = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi1 === void 0 ? void 0 : _controlIdMapping_key_children_keyChi1.dataBind.fieldCode] = item[keyChi];
878
+ } else {
879
+ for(var keyChi1 in item[keyChi]){
880
+ var _controlIdMapping_key_children_keyChi2;
881
+ objChi[(_controlIdMapping_key_children_keyChi2 = controlIdMapping[key].children[keyChi]) === null || _controlIdMapping_key_children_keyChi2 === void 0 ? void 0 : _controlIdMapping_key_children_keyChi2.dataBind[keyChi1].fieldCode] = item[keyChi][keyChi1];
882
+ //
883
+ }
884
+ }
885
+ }
886
+ return objChi;
887
+ });
888
+ } else if (controlIdMapping[key]) {
889
+ // 兼容一个控件需要绑定多个字段的情况
890
+ for(var keyChi in getFieldData[key]){
891
+ var _controlIdMapping_key_dataBind_keyChi, _controlIdMapping_key4;
892
+ obj[(_controlIdMapping_key_dataBind_keyChi = (_controlIdMapping_key4 = controlIdMapping[key]) === null || _controlIdMapping_key4 === void 0 ? void 0 : _controlIdMapping_key4.dataBind[keyChi]) === null || _controlIdMapping_key_dataBind_keyChi === void 0 ? void 0 : _controlIdMapping_key_dataBind_keyChi.fieldCode] = getFieldData[key][keyChi];
893
+ }
894
+ }
895
+ };
896
+ // 主表
897
+ var obj = {};
898
+ for(var key in getFieldData)_loop(key);
899
+ return obj;
848
900
  }
849
901
  }
850
902
  return;
@@ -30,10 +30,9 @@ var Store = /*#__PURE__*/ function() {
30
30
  "use strict";
31
31
  function Store(props) {
32
32
  _classCallCheck(this, Store);
33
- var _init = init(props.instance), state = _init.state, emptyState = _init.emptyState, databindMapping = _init.databindMapping, controlidMapping = _init.controlidMapping, fieldCodeState = _init.fieldCodeState;
33
+ var _init = init(props.instance), state = _init.state, emptyState = _init.emptyState, databindMapping = _init.databindMapping, controlidMapping = _init.controlidMapping;
34
34
  this.emptyState = emptyState;
35
35
  this.state = state;
36
- this.fieldCodeState = fieldCodeState;
37
36
  this.dataBindMapping = databindMapping;
38
37
  this.controlIdMapping = controlidMapping;
39
38
  }
@@ -124,25 +123,6 @@ var Store = /*#__PURE__*/ function() {
124
123
  }
125
124
  }
126
125
  };
127
- _proto.getFieldCodeState = function getFieldCodeState(controlId) {
128
- //qiyu 由于header的数据是后补充的,所以从state获取第一层值。
129
- // const controlInfo = this.controlIdMapping[controlId]
130
- var detection = this.fieldCodeState[controlId];
131
- if (detection !== undefined) {
132
- return this.fieldCodeState[controlId];
133
- } else {
134
- var controlInfo = this.controlIdMapping[controlId];
135
- var dataCode = controlInfo.dataBind.dataCode;
136
- if (controlInfo !== undefined) {
137
- if (controlInfo.dataView === controlId) {
138
- return this.fieldCodeState[controlId];
139
- } else {
140
- var dataCode1 = controlInfo.dataBind.dataCode;
141
- return this.fieldCodeState[controlInfo.dataView][dataCode1] || this.fieldCodeState[controlInfo.dataView];
142
- }
143
- }
144
- }
145
- };
146
126
  _proto.getEmptyState = function getEmptyState(controlId) {
147
127
  var _this = this;
148
128
  var detection = this.emptyState[controlId];
@@ -193,8 +173,6 @@ var Store = /*#__PURE__*/ function() {
193
173
  function init(instance) {
194
174
  var state = {};
195
175
  var emptyState = {};
196
- var fieldCodeState = {};
197
- var fieldCodeEmptyState = {};
198
176
  var databindMapping = {};
199
177
  var controlidMapping = {};
200
178
  // loopFormControl(instance, (item, children) => {
@@ -204,76 +182,39 @@ function init(instance) {
204
182
  var dvId = dataView.id;
205
183
  var dataViewState = {};
206
184
  var emptyDataViewState = {};
207
- var dataViewFieldCodeState = {};
208
- var emptyDataViewFieldCodeState = {};
209
185
  // @ts-ignore
210
186
  loopFormControl([
211
187
  dataView
212
188
  ], function(item, children) {
213
- buildState(dataViewState, emptyDataViewState, dataViewFieldCodeState, emptyDataViewFieldCodeState, item);
189
+ buildState(dataViewState, emptyDataViewState, item);
214
190
  buildDataBindMapping(databindMapping, dvId, item);
215
191
  buildControlIdMapping(controlidMapping, dvId, item);
216
192
  });
217
193
  state[dvId] = dataViewState;
218
194
  emptyState[dvId] = emptyDataViewState;
219
- fieldCodeState[dvId] = dataViewFieldCodeState;
220
- fieldCodeEmptyState[dvId] = emptyDataViewFieldCodeState;
221
195
  });
222
196
  return {
223
197
  state: state,
224
198
  emptyState: emptyState,
225
199
  databindMapping: databindMapping,
226
- controlidMapping: controlidMapping,
227
- fieldCodeState: fieldCodeState,
228
- fieldCodeEmptyState: fieldCodeEmptyState
200
+ controlidMapping: controlidMapping
229
201
  };
230
202
  }
231
- function buildState(dataViewState, emptyDataViewState, dataViewFieldCodeState, emptyDataViewFieldCodeState, // @ts-ignore
203
+ function buildState(dataViewState, emptyDataViewState, // @ts-ignore
232
204
  item) {
233
205
  if (_instanceof(item, RuntimeFormControl)) {
234
206
  dataViewState[item.id] = JSONCopy(item.props.defaultValue);
235
207
  emptyDataViewState[item.id] = JSONCopy(item.props.defaultValue);
236
- if (_instanceof(item.props.dataBind, ObjectDataBind)) {
237
- // 特殊的dataBind,比如:金额是currency+amount两个key组成的,日期区间,继承自ObjectDataBind的需要通过Object.keys拿到多个databind
238
- Object.keys(item.props.dataBind).forEach(function(key) {
239
- var dataBind = item.props.dataBind;
240
- var defaultValue = item.props.defaultValue;
241
- var dataBindFieldCode = dataBind[key].fieldCode;
242
- dataViewFieldCodeState[dataBindFieldCode] = JSONCopy(defaultValue[key]);
243
- emptyDataViewFieldCodeState[dataBindFieldCode] = JSONCopy(defaultValue[key]);
244
- });
245
- } else {
246
- var dataBindFieldCode = item.props.dataBind.fieldCode;
247
- dataViewFieldCodeState[dataBindFieldCode] = JSONCopy(item.props.defaultValue);
248
- emptyDataViewFieldCodeState[dataBindFieldCode] = JSONCopy(item.props.defaultValue);
249
- }
250
208
  } else {
251
209
  var emptyTemplate = {};
252
- var emptyFieldCodeTemplate = {};
253
210
  loopFormSchema(item.props.headers, function(headerItem) {
254
211
  emptyTemplate[headerItem.id] = JSONCopy(headerItem.props.defaultValue);
255
- // 处理成fieldCode
256
- var headerItemFieldCode = headerItem.props.dataBind.fieldCode;
257
- if (_instanceof(headerItem.props.dataBind, ObjectDataBind)) {
258
- // 特殊的dataBind,比如:金额是currency+amount两个key组成的,日期区间,继承自ObjectDataBind的需要通过Object.keys拿到多个databind
259
- Object.keys(headerItem.props.dataBind).forEach(function(key) {
260
- emptyFieldCodeTemplate[headerItem.props.dataBind[key].fieldCode] = JSONCopy(headerItem.props.defaultValue[key]);
261
- });
262
- } else {
263
- emptyFieldCodeTemplate[headerItemFieldCode] = JSONCopy(headerItem.props.defaultValue);
264
- }
265
212
  });
266
213
  var _item_props_defaultRows;
267
214
  dataViewState[item.id] = new Array((_item_props_defaultRows = item.props.defaultRows) !== null && _item_props_defaultRows !== void 0 ? _item_props_defaultRows : 1).fill(0).map(function() {
268
215
  return JSONCopy(emptyTemplate);
269
216
  });
270
217
  emptyDataViewState[item.id] = emptyTemplate;
271
- var dataBindFieldCode1 = item.props.datasourceBind.dataCode;
272
- var _item_props_defaultRows1;
273
- dataViewFieldCodeState[dataBindFieldCode1] = new Array((_item_props_defaultRows1 = item.props.defaultRows) !== null && _item_props_defaultRows1 !== void 0 ? _item_props_defaultRows1 : 1).fill(0).map(function() {
274
- return JSONCopy(emptyFieldCodeTemplate);
275
- });
276
- emptyDataViewFieldCodeState[dataBindFieldCode1] = emptyFieldCodeTemplate;
277
218
  }
278
219
  }
279
220
  function buildDataBindMapping(data, dataViewId, // @ts-ignore