@ibiz-template/runtime 0.1.23 → 0.1.25

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 (81) hide show
  1. package/dist/index.esm.js +184 -109
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/command/app/app-func/app-func.js +2 -2
  5. package/out/config/global-config.d.ts.map +1 -1
  6. package/out/config/global-config.js +1 -0
  7. package/out/controller/common/control/control.controller.d.ts +4 -4
  8. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  9. package/out/controller/common/control/control.controller.js +3 -2
  10. package/out/controller/common/control/md-control.controller.d.ts +20 -1
  11. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  12. package/out/controller/common/control/md-control.controller.js +21 -2
  13. package/out/controller/common/editor/editor.controller.js +2 -2
  14. package/out/controller/common/view/view.controller.js +2 -2
  15. package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
  16. package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +1 -0
  17. package/out/controller/control/exp-bar/exp-bar.controller.d.ts +10 -0
  18. package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
  19. package/out/controller/control/exp-bar/exp-bar.controller.js +32 -7
  20. package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
  21. package/out/controller/control/exp-bar/tree-exp-bar.controller.js +1 -0
  22. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/edit-form/edit-form.controller.js +7 -1
  24. package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +2 -2
  25. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +2 -2
  26. package/out/controller/control/pickup-view-panel/pickup-view-panel.controller.js +2 -2
  27. package/out/de-logic/de-logic.d.ts +9 -0
  28. package/out/de-logic/de-logic.d.ts.map +1 -1
  29. package/out/de-logic/de-logic.js +14 -0
  30. package/out/interface/common/i-global-config/i-global-view-config.d.ts +8 -0
  31. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  32. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts +10 -0
  33. package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts.map +1 -1
  34. package/out/interface/provider/i-control.provider.d.ts +15 -0
  35. package/out/interface/provider/i-control.provider.d.ts.map +1 -1
  36. package/out/interface/provider/i-view.provider.d.ts +15 -0
  37. package/out/interface/provider/i-view.provider.d.ts.map +1 -1
  38. package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -4
  39. package/out/service/dto/method.dto.d.ts.map +1 -1
  40. package/out/service/dto/method.dto.js +4 -3
  41. package/out/service/service/entity/method/method.d.ts.map +1 -1
  42. package/out/service/service/entity/method/method.js +0 -1
  43. package/out/service/vo/control.vo.d.ts.map +1 -1
  44. package/out/service/vo/control.vo.js +9 -12
  45. package/out/service/vo/ui-map-field.d.ts +7 -0
  46. package/out/service/vo/ui-map-field.d.ts.map +1 -1
  47. package/out/service/vo/ui-map-field.js +24 -0
  48. package/out/ui-action/provider/ui-action-provider-base.js +2 -2
  49. package/out/utils/nav-params/calc-nav-params.js +2 -2
  50. package/out/utils/nav-params/nav-params.d.ts +11 -25
  51. package/out/utils/nav-params/nav-params.d.ts.map +1 -1
  52. package/out/utils/nav-params/nav-params.js +79 -84
  53. package/out/utils/open-redirect-view/open-redirect-view.js +2 -2
  54. package/package.json +3 -3
  55. package/src/command/app/app-func/app-func.ts +2 -2
  56. package/src/config/global-config.ts +1 -0
  57. package/src/controller/common/control/control.controller.ts +5 -4
  58. package/src/controller/common/control/md-control.controller.ts +34 -3
  59. package/src/controller/common/editor/editor.controller.ts +2 -2
  60. package/src/controller/common/view/view.controller.ts +2 -2
  61. package/src/controller/control/exp-bar/calendar-exp-bar.controller.ts +1 -0
  62. package/src/controller/control/exp-bar/exp-bar.controller.ts +35 -7
  63. package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +1 -0
  64. package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -1
  65. package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +3 -3
  66. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +2 -2
  67. package/src/controller/control/pickup-view-panel/pickup-view-panel.controller.ts +2 -2
  68. package/src/de-logic/de-logic.ts +24 -0
  69. package/src/interface/common/i-global-config/i-global-view-config.ts +9 -0
  70. package/src/interface/controller/controller/control/i-exp-bar-control.controller.ts +8 -0
  71. package/src/interface/provider/i-control.provider.ts +22 -0
  72. package/src/interface/provider/i-view.provider.ts +22 -0
  73. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +4 -4
  74. package/src/service/dto/method.dto.ts +3 -3
  75. package/src/service/service/entity/method/method.ts +0 -1
  76. package/src/service/vo/control.vo.ts +10 -14
  77. package/src/service/vo/ui-map-field.ts +28 -0
  78. package/src/ui-action/provider/ui-action-provider-base.ts +4 -4
  79. package/src/utils/nav-params/calc-nav-params.ts +2 -2
  80. package/src/utils/nav-params/nav-params.ts +86 -91
  81. package/src/utils/open-redirect-view/open-redirect-view.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAThB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA6CxD;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAiCrE;;;;;;;;OAQG;cACa,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7E"}
1
+ {"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAThB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA2CxD;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmCrE;;;;;;;;OAQG;cACa,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7E"}
@@ -58,9 +58,7 @@ export class MethodDto {
58
58
  for (let j = 0; j < items.length; j++) {
59
59
  arr.push(await dto.get(context, items[j]));
60
60
  }
61
- if (arr.length > 0) {
62
- params[key] = arr;
63
- }
61
+ params[key] = arr;
64
62
  }
65
63
  break;
66
64
  }
@@ -99,6 +97,9 @@ export class MethodDto {
99
97
  if (items) {
100
98
  await dto.sets(context, items);
101
99
  }
100
+ else {
101
+ await dto.sets(context, []);
102
+ }
102
103
  });
103
104
  for (let i = 0; i < all.length; i++) {
104
105
  await all[i];
@@ -1 +1 @@
1
- {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GAEd,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAyC7B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
1
+ {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GAEd,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAwC7B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
@@ -56,7 +56,6 @@ export class Method {
56
56
  break;
57
57
  case 'PUT': {
58
58
  res = await this.app.net.put(`${path}/${methodName}`, notNilEmpty(data) ? data : params);
59
- const entity = this.createEntity(data);
60
59
  break;
61
60
  }
62
61
  case 'DELETE':
@@ -1 +1 @@
1
- {"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;;OAOG;IACK,OAAO,EAAE,KAAK,CAAC;IAEvB;;;;;;;OAOG;IACK,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;gBAED,OAAO,GAAE,KAAU,EACnB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa;IAiCjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;OAMG;IACH,SAAS,IAAI,KAAK;IAIlB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIxC;;;;;;OAMG;IACH,KAAK,IAAI,SAAS;CAQnB"}
1
+ {"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;;OAOG;IACK,OAAO,EAAE,KAAK,CAAC;IAEvB;;;;;;;OAOG;IACK,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;gBAED,OAAO,GAAE,KAAU,EACnB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa;IA8BjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;OAMG;IACH,SAAS,IAAI,KAAK;IAIlB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIxC;;;;;;OAMG;IACH,KAAK,IAAI,SAAS;CAQnB"}
@@ -1,4 +1,3 @@
1
- import { DataTypes } from '@ibiz-template/core';
2
1
  import { clone, isNil } from 'ramda';
3
2
  import { Srfuf } from '../constant';
4
3
  /**
@@ -105,9 +104,7 @@ export class ControlVO {
105
104
  this.$dataUIMap.forEach((mapField, key) => {
106
105
  const value = mapField.dataKey;
107
106
  // 关联映射属性
108
- const forceNumber = mapField.dataType !== undefined &&
109
- DataTypes.isNumber(mapField.dataType);
110
- this.linkProperty(key, value, mapField.isOriginField, forceNumber);
107
+ this.linkProperty(key, value, mapField);
111
108
  });
112
109
  // 映射属性里没有涉及到的建立直接关联,用于使用实体属性也要取到值的场景。
113
110
  Object.keys($origin).forEach(value => {
@@ -129,7 +126,8 @@ export class ControlVO {
129
126
  * @param {boolean} [forceNumber=false] 是否强制转换成数值,是的话set的时候转成数值
130
127
  * @returns {*}
131
128
  */
132
- linkProperty(uiKey, dataKey, isOriginField = true, forceNumber = false) {
129
+ linkProperty(uiKey, dataKey, mapField) {
130
+ const isOriginField = mapField ? mapField.isOriginField : true;
133
131
  // srfuf和srfkey不做处理
134
132
  if (uiKey === 'srfuf') {
135
133
  return;
@@ -147,15 +145,14 @@ export class ControlVO {
147
145
  : this.$origin[dataKey];
148
146
  },
149
147
  set(val) {
150
- // 非空且强制转数值时,转换值的类型
151
- let val2 = forceNumber && !isNil(val) ? Number(val) : val;
152
- if (Number.isNaN(val2)) {
153
- val2 = val; // NaN时还原值
154
- ibiz.log.error(`${val}不能转换成数字`);
155
- }
156
- this.$origin[dataKey] = val2;
148
+ // 有mapField的走它的转换
149
+ this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
157
150
  },
158
151
  });
152
+ // 一开始初始化的时候先把值转换一下。
153
+ if (mapField) {
154
+ this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
155
+ }
159
156
  }
160
157
  else {
161
158
  Object.defineProperty(this, uiKey, {
@@ -50,5 +50,12 @@ export declare class UIMapField {
50
50
  isOriginField?: boolean;
51
51
  dataType?: number;
52
52
  });
53
+ /**
54
+ * 值转换
55
+ * @author lxm
56
+ * @date 2023-09-14 06:45:44
57
+ * @param {unknown} value 原值
58
+ */
59
+ convertVal(value: unknown): unknown;
53
60
  }
54
61
  //# sourceMappingURL=ui-map-field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAQ;gBAG5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;CAWT"}
1
+ {"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAQ;gBAG5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;IAYR;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAoBpC"}
@@ -1,3 +1,4 @@
1
+ import { DataTypes } from '@ibiz-template/core';
1
2
  import { isNil } from 'ramda';
2
3
  /**
3
4
  * 界面映射字段信息
@@ -34,4 +35,27 @@ export class UIMapField {
34
35
  this.dataType = opts.dataType;
35
36
  }
36
37
  }
38
+ /**
39
+ * 值转换
40
+ * @author lxm
41
+ * @date 2023-09-14 06:45:44
42
+ * @param {unknown} value 原值
43
+ */
44
+ convertVal(value) {
45
+ // 没有数据类型的给原值
46
+ if (!this.dataType) {
47
+ return value;
48
+ }
49
+ // 数值转换
50
+ if (DataTypes.isNumber(this.dataType)) {
51
+ const numVal = !isNil(value) && value !== '' ? Number(value) : value;
52
+ if (Number.isNaN(numVal)) {
53
+ // 不能转换的给原值
54
+ ibiz.log.debug(`${value}不能转换成数字`);
55
+ return value;
56
+ }
57
+ return numVal;
58
+ }
59
+ return value;
60
+ }
37
61
  }
@@ -185,11 +185,11 @@ export class UIActionProviderBase {
185
185
  const isMultiData = ['MULTIKEY', 'MULTIDATA'].includes(action.actionTarget) &&
186
186
  data.length > 0;
187
187
  // 处理自定义导航上下文
188
- const tempContext = convertNavData(navContexts, context, params, isMultiData ? formatMultiData(navContexts, data) : data[0] || {});
188
+ const tempContext = convertNavData(navContexts, isMultiData ? formatMultiData(navContexts, data) : data[0] || {}, params, context);
189
189
  Object.assign(resultContext, tempContext);
190
190
  // 处理自定义导航视图参数
191
191
  const navParams = action.navigateParams;
192
- const resultParams = convertNavData(navParams, resultContext, params, isMultiData ? formatMultiData(navParams, data) : data[0] || {});
192
+ const resultParams = convertNavData(navParams, isMultiData ? formatMultiData(navParams, data) : data[0] || {}, params, resultContext);
193
193
  return { resultContext, resultData, resultParams };
194
194
  }
195
195
  }
@@ -37,8 +37,8 @@ export function calcNavParams(model, originParams) {
37
37
  }
38
38
  }
39
39
  // 自定义导航视图参数和上下文
40
- const tempContext = convertNavData(navContexts, context, params, data);
41
- const tempParams = convertNavData(navParams, context, params, data);
40
+ const tempContext = convertNavData(navContexts, data, params, context);
41
+ const tempParams = convertNavData(navParams, data, params, context);
42
42
  Object.assign(resultContext, tempContext);
43
43
  Object.assign(resultParams, tempParams);
44
44
  return {
@@ -1,4 +1,13 @@
1
1
  import { INavigateParam } from '@ibiz/model-core';
2
+ /**
3
+ * 把对象格式的导航参数转换成数组格式的导航参数
4
+ * @author lxm
5
+ * @date 2023-07-10 03:33:14
6
+ * @export
7
+ * @param {IData} navParams
8
+ * @return {*} {IPSNavigateParam[]}
9
+ */
10
+ export declare function convertObjectToNavParams(navParams: IData): INavigateParam[];
2
11
  /**
3
12
  * 转换导航数据(如导航上下文,导航视图参数)
4
13
  * - 把%xxx%,转换成origins元素里对应叫xxx的值
@@ -9,10 +18,10 @@ import { INavigateParam } from '@ibiz/model-core';
9
18
  * @author lxm
10
19
  * @date 2022-08-22 11:08:18
11
20
  * @export
12
- * @param {INavigateParam[]} naviDatas 导航参数
21
+ * @param {INavigateParam[]} navParams 导航参数
13
22
  * @param {...IData[]} origins 转换数据来源集合
14
23
  */
15
- export declare function convertNavData(naviDatas: INavigateParam[] | IData | undefined | null, ...origins: IData[]): IData;
24
+ export declare function convertNavData(navParams: INavigateParam[] | IData | undefined | null, ...origins: IData[]): IData;
16
25
  /**
17
26
  * 通过模型中的导航数组 转换导航数据(如导航上下文,导航视图参数)
18
27
  * - 把%xxx%,转换成origins元素里对应叫xxx的值
@@ -27,29 +36,6 @@ export declare function convertNavData(naviDatas: INavigateParam[] | IData | und
27
36
  * @param {...IData[]} origins 转换数据来源集合
28
37
  */
29
38
  export declare function convertNavDataByArray(naviDatas: INavigateParam[], ...origins: IData[]): IData;
30
- /**
31
- * 通过对象 转换导航数据(如导航上下文,导航视图参数)
32
- * - 把%xxx%,转换成origins元素里对应叫xxx的值
33
- * - 按顺序查找origins的元素,且只要有xxx的属性就算找到,不管值是否为空。
34
- * - naviData里{a:%xxx%},origins里找不到xxx则返回值里不存在a属性
35
- * - naviData里非%xxx%形式的,都当成直接值原样返回,包括空值。
36
- *
37
- * @author lxm
38
- * @date 2022-08-22 11:08:18
39
- * @export
40
- * @param {IData} naviData
41
- * @param {...IData[]} origins
42
- */
43
- export declare function convertNavDataByObject(naviData: IData, ...origins: IData[]): IData;
44
- /**
45
- * 把对象格式的导航参数转换成数组格式的导航参数
46
- * @author lxm
47
- * @date 2023-07-10 03:33:14
48
- * @export
49
- * @param {IData} naviData
50
- * @return {*} {IPSNavigateParam[]}
51
- */
52
- export declare function convertObjectToNavParams(naviData: IData): INavigateParam[];
53
39
  /**
54
40
  * 根据导航参数把多条数据转换成单条数据,用;分隔
55
41
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"nav-params.d.ts","sourceRoot":"","sources":["../../../src/utils/nav-params/nav-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CAaP;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,EAC3B,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CAwBP;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,EACf,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CAoBP;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,KAAK,GAAG,cAAc,EAAE,CAmB1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,EAAE,KAAK,EAAE,GACf,KAAK,CAsBP"}
1
+ {"version":3,"file":"nav-params.d.ts","sourceRoot":"","sources":["../../../src/utils/nav-params/nav-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,KAAK,GAAG,cAAc,EAAE,CAmB3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CAYP;AA8BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,EAC3B,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CA8BP;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,EAAE,KAAK,EAAE,GACf,KAAK,CAsBP"}
@@ -1,5 +1,32 @@
1
1
  import { isEmpty } from 'lodash-es';
2
2
  import { isNilOrEmpty, notNilEmpty } from 'qx-util';
3
+ /**
4
+ * 把对象格式的导航参数转换成数组格式的导航参数
5
+ * @author lxm
6
+ * @date 2023-07-10 03:33:14
7
+ * @export
8
+ * @param {IData} navParams
9
+ * @return {*} {IPSNavigateParam[]}
10
+ */
11
+ export function convertObjectToNavParams(navParams) {
12
+ const result = [];
13
+ const reg = /^%(.+)%$/;
14
+ // eslint-disable-next-line guard-for-in
15
+ for (const key in navParams) {
16
+ let rawValue = true;
17
+ let value = navParams[key];
18
+ if (notNilEmpty(navParams[key]) && reg.test(navParams[key])) {
19
+ rawValue = false;
20
+ value = navParams[key].substring(1, navParams[key].length - 1);
21
+ }
22
+ result.push({
23
+ key: key.toLowerCase(),
24
+ rawValue,
25
+ value,
26
+ });
27
+ }
28
+ return result;
29
+ }
3
30
  /**
4
31
  * 转换导航数据(如导航上下文,导航视图参数)
5
32
  * - 把%xxx%,转换成origins元素里对应叫xxx的值
@@ -10,21 +37,42 @@ import { isNilOrEmpty, notNilEmpty } from 'qx-util';
10
37
  * @author lxm
11
38
  * @date 2022-08-22 11:08:18
12
39
  * @export
13
- * @param {INavigateParam[]} naviDatas 导航参数
40
+ * @param {INavigateParam[]} navParams 导航参数
14
41
  * @param {...IData[]} origins 转换数据来源集合
15
42
  */
16
- export function convertNavData(naviDatas, ...origins) {
43
+ export function convertNavData(navParams, ...origins) {
17
44
  // 如果导航参数不存在或者为空对象,返回{}
18
- if (!naviDatas || isEmpty(naviDatas)) {
45
+ if (!navParams || isEmpty(navParams)) {
19
46
  return {};
20
47
  }
21
- if (Object.prototype.toString.call(naviDatas) === '[object Array]') {
22
- return convertNavDataByArray(naviDatas, ...origins);
23
- }
24
- if (Object.prototype.toString.call(naviDatas) === '[object Object]') {
25
- return convertNavDataByObject(naviDatas, ...origins);
26
- }
27
- return {};
48
+ // 把对象形式的导航参数转换成INavigateParam[]形式
49
+ const navParamsArr = Array.isArray(navParams)
50
+ ? navParams
51
+ : convertObjectToNavParams(navParams);
52
+ return convertNavDataByArray(navParamsArr, ...origins);
53
+ }
54
+ /**
55
+ * 从origins每个元素里找到对应属性key的值
56
+ * 如果都找不到抛异常。
57
+ * @author lxm
58
+ * @date 2023-09-13 11:38:43
59
+ * @param {IData[]} origins 来源数据集合
60
+ * @param {string} key 属性标识
61
+ * @return {*} {{ find: boolean; value: unknown }} 返回find是否找到值,value为找到的值,可以是空值
62
+ */
63
+ function getVal(origins, key) {
64
+ // 找到origins里第一个有该属性的的项
65
+ const findOrigin = origins.find(item => {
66
+ if (isNilOrEmpty(item)) {
67
+ return false;
68
+ }
69
+ return (
70
+ // proxy数据判断是否能拿到值
71
+ item[key] ||
72
+ // 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
73
+ Object.prototype.hasOwnProperty.call(item, key));
74
+ });
75
+ return { find: !!findOrigin, value: findOrigin === null || findOrigin === void 0 ? void 0 : findOrigin[key] };
28
76
  }
29
77
  /**
30
78
  * 通过模型中的导航数组 转换导航数据(如导航上下文,导航视图参数)
@@ -40,91 +88,38 @@ export function convertNavData(naviDatas, ...origins) {
40
88
  * @param {...IData[]} origins 转换数据来源集合
41
89
  */
42
90
  export function convertNavDataByArray(naviDatas, ...origins) {
91
+ const regex = /\$\{[^}]*\}/g; // 匹配${xxx}格式字符串
43
92
  const result = {};
44
93
  for (const naviData of naviDatas) {
45
- if (notNilEmpty(naviData.value) && !naviData.rawValue) {
46
- // 找到origins里第一个有该属性的的项
47
- const findOrigin = origins.find(item => {
48
- if (isNilOrEmpty(item)) {
49
- return false;
94
+ if (!naviData.rawValue) {
95
+ const matchArr = naviData.value.match(regex);
96
+ if (matchArr !== null) {
97
+ // 有${xxx}的找每一个xxx的值,替换原始字符串里的值,最后赋值处理过的字符串
98
+ let valueStr = naviData.value;
99
+ matchArr.forEach(key => {
100
+ // 没有${xxx}
101
+ const { find, value } = getVal(origins, key.slice(2, -1));
102
+ if (find) {
103
+ valueStr = valueStr.replace(key, `${value}`);
104
+ }
105
+ });
106
+ result[naviData.key.toLowerCase()] = valueStr;
107
+ }
108
+ else {
109
+ // 没有${xxx}
110
+ const { find, value } = getVal(origins, naviData.value);
111
+ if (find) {
112
+ result[naviData.key.toLowerCase()] = value;
50
113
  }
51
- return (
52
- // proxy数据判断是否能拿到值
53
- item[naviData.value] ||
54
- // 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
55
- Object.prototype.hasOwnProperty.call(item, naviData.value));
56
- });
57
- if (findOrigin) {
58
- result[naviData.key.toLowerCase()] = findOrigin[naviData.value];
59
114
  }
60
115
  }
61
116
  else {
117
+ // 直接值,空值时赋null
62
118
  result[naviData.key.toLowerCase()] = naviData.value || null;
63
119
  }
64
120
  }
65
121
  return result;
66
122
  }
67
- /**
68
- * 通过对象 转换导航数据(如导航上下文,导航视图参数)
69
- * - 把%xxx%,转换成origins元素里对应叫xxx的值
70
- * - 按顺序查找origins的元素,且只要有xxx的属性就算找到,不管值是否为空。
71
- * - naviData里{a:%xxx%},origins里找不到xxx则返回值里不存在a属性
72
- * - naviData里非%xxx%形式的,都当成直接值原样返回,包括空值。
73
- *
74
- * @author lxm
75
- * @date 2022-08-22 11:08:18
76
- * @export
77
- * @param {IData} naviData
78
- * @param {...IData[]} origins
79
- */
80
- export function convertNavDataByObject(naviData, ...origins) {
81
- const result = {};
82
- const reg = /^%(.+)%$/;
83
- for (const key in naviData) {
84
- if (notNilEmpty(naviData[key]) && reg.test(naviData[key])) {
85
- // 获取值的属性名称
86
- const valueKey = naviData[key].substring(1, naviData[key].length - 1);
87
- // 找到origins里第一个有该属性的的项
88
- const findOrigin = origins.find(item => {
89
- return Object.prototype.hasOwnProperty.call(item, valueKey);
90
- });
91
- if (findOrigin) {
92
- result[key.toLowerCase()] = findOrigin[valueKey];
93
- }
94
- }
95
- else {
96
- result[key.toLowerCase()] = naviData[key] || null;
97
- }
98
- }
99
- return result;
100
- }
101
- /**
102
- * 把对象格式的导航参数转换成数组格式的导航参数
103
- * @author lxm
104
- * @date 2023-07-10 03:33:14
105
- * @export
106
- * @param {IData} naviData
107
- * @return {*} {IPSNavigateParam[]}
108
- */
109
- export function convertObjectToNavParams(naviData) {
110
- const result = [];
111
- const reg = /^%(.+)%$/;
112
- // eslint-disable-next-line guard-for-in
113
- for (const key in naviData) {
114
- let rawValue = true;
115
- let value = naviData[key];
116
- if (notNilEmpty(naviData[key]) && reg.test(naviData[key])) {
117
- rawValue = false;
118
- value = naviData[key].substring(1, naviData[key].length - 1);
119
- }
120
- result.push({
121
- key: key.toLowerCase(),
122
- rawValue,
123
- value,
124
- });
125
- }
126
- return result;
127
- }
128
123
  /**
129
124
  * 根据导航参数把多条数据转换成单条数据,用;分隔
130
125
  * @author lxm
@@ -83,11 +83,11 @@ export async function openDERedirectView(appView, context, params = {}, opts = {
83
83
  var _a;
84
84
  // 计算重定向视图上下文参数转换
85
85
  const navContext = appView.appViewNavContexts || [];
86
- const navContextData = convertNavData(navContext, context, params);
86
+ const navContextData = convertNavData(navContext, params, context);
87
87
  context = Object.assign(context.clone(), navContextData);
88
88
  // 计算重定向视图视图参数转换
89
89
  const navParams = appView.appViewNavParams || [];
90
- const navParamsData = convertNavData(navParams, context, params);
90
+ const navParamsData = convertNavData(navParams, params, context);
91
91
  Object.assign(params, navParamsData);
92
92
  // 重定向视图对应应用实体
93
93
  const entityId = appView.appDataEntityId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -29,7 +29,7 @@
29
29
  "author": "chitanda",
30
30
  "license": "MIT",
31
31
  "devDependencies": {
32
- "@ibiz-template/core": "^0.1.23",
32
+ "@ibiz-template/core": "^0.1.24",
33
33
  "@ibiz/model-core": "^0.0.16",
34
34
  "@types/path-browserify": "^1.0.0",
35
35
  "@types/qs": "^6.9.8",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "7a5c053d7e48ffc3f6e38d84ef07f2aa1df007a4"
60
+ "gitHead": "bfc52e088d9eb1548c4c22cd783ec22d76499ee1"
61
61
  }
@@ -52,8 +52,8 @@ export class AppFuncCommand {
52
52
  // 导航参数转换
53
53
  const { navigateContexts, navigateParams, appFuncType } = appFunc;
54
54
  const _context = context.clone();
55
- Object.assign(_context, convertNavData(navigateContexts, context, params));
56
- const _params = convertNavData(navigateParams, context, params);
55
+ Object.assign(_context, convertNavData(navigateContexts, params, context));
56
+ const _params = convertNavData(navigateParams, params, context);
57
57
 
58
58
  switch (appFuncType) {
59
59
  case 'APPVIEW':
@@ -19,6 +19,7 @@ export class GlobalConfig implements IGlobalConfig {
19
19
  // 全局视图配置
20
20
  view: IGlobalViewConfig = {
21
21
  enableDataInfoBar: true,
22
+ enableExpCache: true,
22
23
  };
23
24
 
24
25
  // 全局表格配置
@@ -13,8 +13,8 @@ import {
13
13
  } from '../../../interface/controller';
14
14
  import { ControllerEvent } from '../../utils';
15
15
  import {
16
- IControlProvider,
17
16
  IDataAbilityParams,
17
+ IProvider,
18
18
  IUILogicParams,
19
19
  } from '../../../interface';
20
20
  import { ControlLogicScheduler } from '../../../logic-scheduler';
@@ -64,12 +64,12 @@ export class ControlController<
64
64
  layoutPanel?: IViewLayoutPanelController;
65
65
 
66
66
  /**
67
- * 子部件适配器
67
+ * 子适配器
68
68
  * @author lxm
69
69
  * @date 2023-07-19 04:14:50
70
- * @type {{ [key: string]: IControlProvider }}
70
+ * @type {{ [key: string]: IProvider }}
71
71
  */
72
- providers: { [key: string]: IControlProvider } = {};
72
+ providers: { [key: string]: IProvider } = {};
73
73
 
74
74
  /**
75
75
  * Creates an instance of ControlController.
@@ -296,6 +296,7 @@ export class ControlController<
296
296
  }
297
297
 
298
298
  if (opts?.error) {
299
+ ibiz.log.error(opts.error);
299
300
  // 报错时抛错误
300
301
  throw new NoticeError(message, duration);
301
302
  } else {
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable max-classes-per-file */
2
2
  import { isElementSame, RuntimeError } from '@ibiz-template/core';
3
- import { IMDControl } from '@ibiz/model-core';
3
+ import { IAppDataEntity, IMDControl } from '@ibiz/model-core';
4
4
  import {
5
5
  IMDControlController,
6
6
  IMDControlEvent,
@@ -68,21 +68,52 @@ export class MDControlController<
68
68
  */
69
69
  protected fieldIdNameMap = new Map<string, string>();
70
70
 
71
+ /**
72
+ * 当前多数据部件对应的应用实体对象
73
+ *
74
+ * @author chitanda
75
+ * @date 2023-09-13 17:09:32
76
+ * @protected
77
+ * @type {IAppDataEntity}
78
+ */
79
+ protected dataEntity!: IAppDataEntity;
80
+
71
81
  protected async onCreated(): Promise<void> {
72
82
  await super.onCreated();
73
83
 
74
84
  // 初始化实体属性id和name的映射
75
- const dataEntity = await ibiz.hub.getAppDataEntity(
85
+ this.dataEntity = await ibiz.hub.getAppDataEntity(
76
86
  this.model.appDataEntityId!,
77
87
  );
78
- dataEntity.appDEFields?.forEach(field => {
88
+ this.dataEntity.appDEFields?.forEach(field => {
79
89
  this.fieldIdNameMap.set(field.id!, field.name!);
80
90
  });
91
+ this.onDataChange = this.onDataChange.bind(this);
92
+ ibiz.mc.command.change.on(this.onDataChange);
81
93
 
82
94
  // 设置默认排序
83
95
  this.setSort();
84
96
  }
85
97
 
98
+ protected onDestroyed(): Promise<void> {
99
+ ibiz.mc.command.change.off(this.onDataChange);
100
+ return super.onDestroyed();
101
+ }
102
+
103
+ /**
104
+ * 当数据放生变更时,若为当前应用实体数据。则多数据部件进行刷新
105
+ *
106
+ * @author chitanda
107
+ * @date 2023-09-13 17:09:04
108
+ * @protected
109
+ * @param {IData} msg
110
+ */
111
+ protected onDataChange(msg: IData): void {
112
+ if (msg.data && msg.data.srfdecodename === this.dataEntity.codeName) {
113
+ this.refresh();
114
+ }
115
+ }
116
+
86
117
  /**
87
118
  * 设置排序
88
119
  * 无参数时设置的是默认排序。
@@ -156,13 +156,13 @@ export class EditorController<T extends IEditor = IEditor>
156
156
  .model as INavigateParamContainer;
157
157
  let selfContext = {};
158
158
  if (navigateContexts && data) {
159
- selfContext = convertNavData(navigateContexts!, context, params, data);
159
+ selfContext = convertNavData(navigateContexts!, data, params, context);
160
160
  }
161
161
  const _context = Object.assign(context.clone(), selfContext);
162
162
 
163
163
  let selfParams = {};
164
164
  if (navigateParams && data) {
165
- selfParams = convertNavData(navigateParams!, context, params, data);
165
+ selfParams = convertNavData(navigateParams!, data, params, context);
166
166
  }
167
167
  const _params: IParams = { ...params, ...selfParams };
168
168
  return { context: _context, params: _params };
@@ -321,7 +321,7 @@ export class ViewController<
321
321
  const navContexts = this.model.appViewNavContexts;
322
322
  let context = {};
323
323
  if (notNilEmpty(navContexts)) {
324
- context = convertNavData(navContexts!, this.context, this.params);
324
+ context = convertNavData(navContexts!, this.params, this.context);
325
325
  }
326
326
  Object.assign(this.context, context);
327
327
 
@@ -329,7 +329,7 @@ export class ViewController<
329
329
  const navParams = this.model.appViewNavParams;
330
330
  let params = {};
331
331
  if (notNilEmpty(navParams)) {
332
- params = convertNavData(navParams!, this.context, this.params);
332
+ params = convertNavData(navParams!, this.params, this.context);
333
333
  }
334
334
  Object.assign(this.params, params);
335
335
 
@@ -92,6 +92,7 @@ export class CalendarExpBarController
92
92
  this.params,
93
93
  );
94
94
  context.currentSrfNav = item.navId;
95
+ this.state.srfnav = item.navId;
95
96
  return {
96
97
  key: item.navId,
97
98
  context,