@ibiz-template/runtime 0.6.0 → 0.6.1-dev.0

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 (43) hide show
  1. package/dist/index.esm.js +343 -83
  2. package/dist/index.system.min.js +1 -1
  3. package/out/command/app/open-app-view/open-app-view.d.ts +1 -1
  4. package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
  5. package/out/command/app/open-app-view/open-app-view.js +3 -3
  6. package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts +2 -1
  7. package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts.map +1 -1
  8. package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.js +1 -0
  9. package/out/controller/control/app-menu/app-menu.controller.d.ts +1 -1
  10. package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
  11. package/out/controller/control/app-menu/app-menu.controller.js +2 -2
  12. package/out/controller/control/gantt/gantt.controller.d.ts +50 -14
  13. package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
  14. package/out/controller/control/gantt/gantt.controller.js +285 -41
  15. package/out/controller/control/gantt/gantt.service.d.ts +7 -9
  16. package/out/controller/control/gantt/gantt.service.d.ts.map +1 -1
  17. package/out/controller/control/gantt/gantt.service.js +29 -9
  18. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
  19. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +1 -0
  20. package/out/controller/notification/internal-message.controller.d.ts.map +1 -1
  21. package/out/controller/notification/internal-message.controller.js +2 -3
  22. package/out/engine/view-base.engine.d.ts.map +1 -1
  23. package/out/engine/view-base.engine.js +8 -3
  24. package/out/interface/controller/common/i-nav-view-msg/i-nav-view-msg.d.ts +9 -0
  25. package/out/interface/controller/common/i-nav-view-msg/i-nav-view-msg.d.ts.map +1 -1
  26. package/out/interface/controller/event/control/i-gantt.event.d.ts +10 -0
  27. package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
  28. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +1 -1
  29. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
  30. package/out/service/vo/gantt-node-data/gantt-node-data-util.js +1 -1
  31. package/package.json +2 -2
  32. package/src/command/app/open-app-view/open-app-view.ts +3 -2
  33. package/src/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.ts +1 -0
  34. package/src/controller/control/app-menu/app-menu.controller.ts +2 -0
  35. package/src/controller/control/gantt/gantt.controller.ts +354 -53
  36. package/src/controller/control/gantt/gantt.service.ts +38 -17
  37. package/src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts +1 -0
  38. package/src/controller/notification/internal-message.controller.ts +2 -3
  39. package/src/engine/view-base.engine.ts +10 -3
  40. package/src/interface/controller/common/i-nav-view-msg/i-nav-view-msg.ts +10 -0
  41. package/src/interface/controller/event/control/i-gantt.event.ts +8 -1
  42. package/src/interface/util/i-open-view-util/i-open-view-util.ts +1 -0
  43. package/src/service/vo/gantt-node-data/gantt-node-data-util.ts +1 -1
@@ -32,7 +32,7 @@ export declare class OpenAppViewCommand {
32
32
  * @param {IContext} [context]
33
33
  * @param {IParams} [params={}]
34
34
  */
35
- protected openIndexViewTab(appView: IViewConfig, context: IContext, params?: IParams): Promise<IModalData>;
35
+ protected openIndexViewTab(appView: IViewConfig, context: IContext, params?: IParams, modalOptions?: IData): Promise<IModalData>;
36
36
  /**
37
37
  * 模态路由打开视图,路由拼接于当前视图路由后。再由特殊解析呈现
38
38
  *
@@ -1 +1 @@
1
- {"version":3,"file":"open-app-view.d.ts","sourceRoot":"","sources":["../../../../src/command/app/open-app-view/open-app-view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAK/E;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,wBAAwB;;IAM3C;;;;;;;;;;OAUG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAuE7B;;;;;;;;;OASG;IACH,SAAS,CAAC,gBAAgB,CACxB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,SAAS,CACvB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC;IAUtB;;;;;;;;;;OAUG;cACa,UAAU,CACxB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;CAGvB"}
1
+ {"version":3,"file":"open-app-view.d.ts","sourceRoot":"","sources":["../../../../src/command/app/open-app-view/open-app-view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAK/E;;;;;;;GAOG;AACH,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,wBAAwB;;IAM3C;;;;;;;;;;OAUG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAuE7B;;;;;;;;;OASG;IACH,SAAS,CAAC,gBAAgB,CACxB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,YAAY,GAAE,KAAU,GACvB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,uBAAuB,CAC/B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,SAAS,CACvB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,UAAU,CAAC;IAUtB;;;;;;;;;;OAUG;cACa,UAAU,CACxB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;IAItB;;;;;;;;;;OAUG;cACa,cAAc,CAC5B,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,UAAU,CAAC;CAGvB"}
@@ -65,7 +65,7 @@ export class OpenAppViewCommand {
65
65
  this.openIndexViewTab(appView, context, params);
66
66
  return { ok: true };
67
67
  }
68
- return this.openIndexViewTab(appView, context, params);
68
+ return this.openIndexViewTab(appView, context, params, opts);
69
69
  case 'INDEXVIEWTAB_POPUPMODAL':
70
70
  return this.openIndexViewTabByModal(appView, context, params);
71
71
  case 'POPUP':
@@ -97,8 +97,8 @@ export class OpenAppViewCommand {
97
97
  * @param {IContext} [context]
98
98
  * @param {IParams} [params={}]
99
99
  */
100
- openIndexViewTab(appView, context, params = {}) {
101
- return ibiz.openView.root(appView.id, context, params);
100
+ openIndexViewTab(appView, context, params = {}, modalOptions = {}) {
101
+ return ibiz.openView.root(appView.id, context, params, modalOptions);
102
102
  }
103
103
  /**
104
104
  * 模态路由打开视图,路由拼接于当前视图路由后。再由特殊解析呈现
@@ -1,5 +1,6 @@
1
1
  export declare enum TreeGridExNotifyState {
2
2
  LOAD = "LOAD",
3
- SAVE = "SAVE"
3
+ SAVE = "SAVE",
4
+ DRAFT = "DRAFT"
4
5
  }
5
6
  //# sourceMappingURL=tree-grid-ex-notify.state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-grid-ex-notify.state.d.ts","sourceRoot":"","sources":["../../../../../src/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.ts"],"names":[],"mappings":"AACA,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,IAAI,SAAS;CACd"}
1
+ {"version":3,"file":"tree-grid-ex-notify.state.d.ts","sourceRoot":"","sources":["../../../../../src/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.ts"],"names":[],"mappings":"AACA,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB"}
@@ -3,4 +3,5 @@ export var TreeGridExNotifyState;
3
3
  (function (TreeGridExNotifyState) {
4
4
  TreeGridExNotifyState["LOAD"] = "LOAD";
5
5
  TreeGridExNotifyState["SAVE"] = "SAVE";
6
+ TreeGridExNotifyState["DRAFT"] = "DRAFT";
6
7
  })(TreeGridExNotifyState || (TreeGridExNotifyState = {}));
@@ -57,7 +57,7 @@ export declare class AppMenuController extends ControlController<IAppMenu, IAppM
57
57
  * @param {string} id
58
58
  * @return {*} {Promise<void>}
59
59
  */
60
- onClickMenuItem(id: string, event?: MouseEvent, useDepth?: boolean): Promise<void>;
60
+ onClickMenuItem(id: string, event?: MouseEvent, useDepth?: boolean, opts?: IData): Promise<void>;
61
61
  /**
62
62
  * 初始化菜单项状态
63
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"app-menu.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/app-menu/app-menu.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;;;GAQG;AACH,qBAAa,iBACX,SAAQ,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAChE,YAAW,kBAAkB;IAE7B,GAAG,EAAG,WAAW,CAAC;IAElB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;OAKG;IACH,eAAe,EAAG,YAAY,EAAE,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAE5D;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;gBAEW,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;cAKzD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;;;;;OAMG;cACa,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzD;;;;;;;OAOG;IACG,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,GAAE,OAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAwChB;;;;;;OAMG;IAEH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB;IAwBD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAcjC;;;;;OAKG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQzC;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAkB3C"}
1
+ {"version":3,"file":"app-menu.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/app-menu/app-menu.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC;;;;;;;;GAQG;AACH,qBAAa,iBACX,SAAQ,iBAAiB,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAChE,YAAW,kBAAkB;IAE7B,GAAG,EAAG,WAAW,CAAC;IAElB,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;OAKG;IACH,eAAe,EAAG,YAAY,EAAE,CAAC;IAEjC;;;;;OAKG;IACH,aAAa,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAE5D;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;gBAEW,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG;cAKzD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;;;;;OAMG;cACa,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzD;;;;;;;OAOG;IACG,eAAe,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,GAAE,OAAc,EACxB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;;;OAMG;IAEH,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG;QACrC,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB;IAwBD;;;;;OAKG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAcjC;;;;;OAKG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQzC;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAkB3C"}
@@ -70,7 +70,7 @@ export class AppMenuController extends ControlController {
70
70
  * @param {string} id
71
71
  * @return {*} {Promise<void>}
72
72
  */
73
- async onClickMenuItem(id, event, useDepth = true) {
73
+ async onClickMenuItem(id, event, useDepth = true, opts = {}) {
74
74
  const menuItem = findRecursiveChild(this.model, id, {
75
75
  compareField: 'id',
76
76
  childrenFields: ['appMenuItems'],
@@ -97,7 +97,7 @@ export class AppMenuController extends ControlController {
97
97
  toRouteDepth: this.routeDepth + 1,
98
98
  });
99
99
  }
100
- await ibiz.commands.execute(AppFuncCommand.TAG, menuItem.appFuncId, tempContext, this.params);
100
+ await ibiz.commands.execute(AppFuncCommand.TAG, menuItem.appFuncId, tempContext, this.params, opts);
101
101
  }
102
102
  /**
103
103
  * 初始化菜单项状态
@@ -1,7 +1,9 @@
1
- import { IDEGantt, IDETreeNode } from '@ibiz/model-core';
2
- import { IGanttController, IGanttEvent, IGanttNodeData, IGanttState, IGanttStyle } from '../../../interface';
1
+ import { IDEGantt } from '@ibiz/model-core';
2
+ import { IGanttController, IGanttEvent, IGanttNodeData, IGanttState, IGanttStyle, ITreeNodeData, MDCtrlLoadParams, MDCtrlRemoveParams } from '../../../interface';
3
3
  import { GanttService } from './gantt.service';
4
- import { TreeGridExController } from '../tree-grid-ex';
4
+ import { TreeGridExController, TreeGridExRowState } from '../tree-grid-ex';
5
+ import { GanttDataSetNodeData } from '../../../service';
6
+ import { ControllerEvent } from '../../utils';
5
7
  /**
6
8
  * 甘特图控制器
7
9
  *
@@ -14,6 +16,7 @@ import { TreeGridExController } from '../tree-grid-ex';
14
16
  */
15
17
  export declare class GanttController extends TreeGridExController<IDEGantt, IGanttState, IGanttEvent> implements IGanttController {
16
18
  service: GanttService;
19
+ protected get _evt(): ControllerEvent<IGanttEvent>;
17
20
  /**
18
21
  * 初始化状态
19
22
  *
@@ -46,22 +49,55 @@ export declare class GanttController extends TreeGridExController<IDEGantt, IGan
46
49
  */
47
50
  setGanttStyle(style: IGanttStyle): void;
48
51
  /**
49
- * 转化节点数据项
50
- * vo -> do
51
- * @param {IDETreeNode} nodeModel 节点模型
52
- * @param {IData} data 数据
52
+ * 设置行属性的值
53
+ *
54
+ * @param {TreeGridExRowState} row
55
+ * @param {string} name
56
+ * @param {unknown} value
57
+ * @return {*} {Promise<void>}
58
+ * @memberof GanttController
59
+ */
60
+ setRowValue(row: TreeGridExRowState, name: string, value: unknown): Promise<void>;
61
+ /**
62
+ * 修改节点时间
63
+ *
64
+ * @param {IGanttNodeData} nodeData
65
+ * @memberof GanttController
66
+ */
67
+ modifyNodeTime(nodeData: IGanttNodeData, { begin, end }: {
68
+ begin?: string;
69
+ end?: string;
70
+ }): Promise<void>;
71
+ /**
72
+ * 保存
73
+ *
74
+ * @param {ITreeNodeData} nodeData
75
+ * @return {*} {Promise<void>}
53
76
  * @memberof GanttController
54
77
  */
55
- transformNodeDataItem(nodeModel: IDETreeNode, data: IData): IData;
78
+ save(nodeData: ITreeNodeData): Promise<void>;
56
79
  /**
57
- * 更新节点数据
80
+ * 删除
58
81
  *
59
- * @param {(IGanttNodeData | IData)} nodeData 节点数据
60
- * @param {IData} data 更新数据
61
- * @param {boolean} [isTransformData=false] 是否转化数据项
62
- * @return {*}
82
+ * @param {MDCtrlRemoveParams} [args]
83
+ * @return {*} {Promise<void>}
84
+ * @memberof GanttController
85
+ */
86
+ remove(args?: MDCtrlRemoveParams): Promise<void>;
87
+ /**
88
+ * 后台删除结束后界面删除逻辑
89
+ *
90
+ * @param {GanttDataSetNodeData} data
91
+ * @memberof GanttController
92
+ */
93
+ afterRemove(data: GanttDataSetNodeData): void;
94
+ /**
95
+ * 新建行
96
+ *
97
+ * @param {MDCtrlLoadParams} [args={}]
98
+ * @return {*} {Promise<void>}
63
99
  * @memberof GanttController
64
100
  */
65
- updateNodeData(nodeData: IGanttNodeData | IData, data: IData, isTransformData?: boolean): Promise<void>;
101
+ newRow(args?: MDCtrlLoadParams): Promise<void>;
66
102
  }
67
103
  //# sourceMappingURL=gantt.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gantt.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/gantt/gantt.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGvD;;;;;;;;;GASG;AACH,qBAAa,eACX,SAAQ,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAC/D,YAAW,gBAAgB;IAEnB,OAAO,EAAE,YAAY,CAAC;IAE9B;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAExC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIvC;;;;;;OAMG;IACH,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAgBjE;;;;;;;;OAQG;IACG,cAAc,CAClB,QAAQ,EAAE,cAAc,GAAG,KAAK,EAChC,IAAI,EAAE,KAAK,EACX,eAAe,GAAE,OAAe,GAC/B,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
1
+ {"version":3,"file":"gantt.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/gantt/gantt.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EAIT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAS,MAAM,kBAAkB,CAAC;AAQ/D,OAAO,EAAE,eAAe,EAAiB,MAAM,aAAa,CAAC;AAE7D;;;;;;;;;GASG;AACH,qBAAa,eACX,SAAQ,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAC/D,YAAW,gBAAgB;IAEnB,OAAO,EAAE,YAAY,CAAC;IAE9B,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAEjD;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B;;;;;;OAMG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAExC;;;;;;OAMG;cACa,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAIvC;;;;;;;;OAQG;IACG,WAAW,CACf,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,OAAO,CAAC,IAAI,CAAC;IA0BhB;;;;;OAKG;IACG,cAAc,CAClB,QAAQ,EAAE,cAAc,EACxB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkElD;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+EtD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAyB7C;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;CAwFzD"}
@@ -1,6 +1,11 @@
1
+ import { awaitTimeout, RuntimeError } from '@ibiz-template/core';
1
2
  import { GanttService } from './gantt.service';
2
- import { TreeGridExController } from '../tree-grid-ex';
3
- import { calcDeCodeNameById } from '../../../model';
3
+ import { TreeGridExController, TreeGridExRowState } from '../tree-grid-ex';
4
+ import { Srfuf } from '../../../service';
5
+ import { calcDeCodeNameById, getChildNodeRSs, getRootNode, } from '../../../model';
6
+ import { TreeGridExNotifyState } from '../../constant';
7
+ import { handleAllSettled } from '../../../utils';
8
+ import { isValueChange } from '../../utils';
4
9
  /**
5
10
  * 甘特图控制器
6
11
  *
@@ -12,6 +17,9 @@ import { calcDeCodeNameById } from '../../../model';
12
17
  * @implements {IGanttController}
13
18
  */
14
19
  export class GanttController extends TreeGridExController {
20
+ get _evt() {
21
+ return this.evt;
22
+ }
15
23
  /**
16
24
  * 初始化状态
17
25
  *
@@ -52,56 +60,292 @@ export class GanttController extends TreeGridExController {
52
60
  this.state.ganttStyle = style;
53
61
  }
54
62
  /**
55
- * 转化节点数据项
56
- * vo -> do
57
- * @param {IDETreeNode} nodeModel 节点模型
58
- * @param {IData} data 数据
63
+ * 设置行属性的值
64
+ *
65
+ * @param {TreeGridExRowState} row
66
+ * @param {string} name
67
+ * @param {unknown} value
68
+ * @return {*} {Promise<void>}
59
69
  * @memberof GanttController
60
70
  */
61
- transformNodeDataItem(nodeModel, data) {
62
- var _a;
63
- const dataItem = {};
64
- (_a = nodeModel.detreeNodeDataItems) === null || _a === void 0 ? void 0 : _a.forEach(item => {
65
- if (item.id &&
66
- item.appDEFieldId &&
67
- data.hasOwnProperty(item.id.toLowerCase())) {
68
- Object.assign(dataItem, {
69
- [item.appDEFieldId.toLowerCase()]: data[item.id.toLowerCase()],
70
- });
71
- }
72
- });
73
- return dataItem;
71
+ async setRowValue(row, name, value) {
72
+ const { beginDataItemName, endDataItemName } = this.model;
73
+ if (Object.prototype.hasOwnProperty.call(row.data, name) &&
74
+ !isValueChange(row.data[name], value)) {
75
+ // `表格行数据里没有属性${name}或者${name}的值未发生改变`
76
+ return;
77
+ }
78
+ // 改变值
79
+ row.data[name] = value;
80
+ if (name === beginDataItemName) {
81
+ row.data._beginDataItemValue = value;
82
+ }
83
+ else if (name === endDataItemName) {
84
+ row.data._endDataItemValue = value;
85
+ }
86
+ row.modified = true;
87
+ row.processing = true;
88
+ try {
89
+ await this.dataChangeNotify(row, [name]);
90
+ }
91
+ finally {
92
+ row.processing = false;
93
+ }
94
+ }
95
+ /**
96
+ * 修改节点时间
97
+ *
98
+ * @param {IGanttNodeData} nodeData
99
+ * @memberof GanttController
100
+ */
101
+ async modifyNodeTime(nodeData, { begin, end }) {
102
+ if (nodeData._nodeType !== 'DE') {
103
+ throw new RuntimeError('不是实体甘特节点数据');
104
+ }
105
+ const rowState = this.getRowState(nodeData._id);
106
+ if (!rowState) {
107
+ throw new RuntimeError('行数据不存在');
108
+ }
109
+ const { beginDataItemName, endDataItemName } = this.model;
110
+ this.setRowValue(rowState, beginDataItemName, begin);
111
+ this.setRowValue(rowState, endDataItemName, end);
112
+ await this.save(rowState.data);
74
113
  }
75
114
  /**
76
- * 更新节点数据
115
+ * 保存
77
116
  *
78
- * @param {(IGanttNodeData | IData)} nodeData 节点数据
79
- * @param {IData} data 更新数据
80
- * @param {boolean} [isTransformData=false] 是否转化数据项
81
- * @return {*}
117
+ * @param {ITreeNodeData} nodeData
118
+ * @return {*} {Promise<void>}
82
119
  * @memberof GanttController
83
120
  */
84
- async updateNodeData(nodeData, data, isTransformData = false) {
85
- const key = nodeData.srfkey ? 'srfkey' : '_id';
86
- const currentNode = this.state.items.find(item => item[key] === nodeData[key]);
87
- if (!currentNode || !currentNode.srfkey) {
88
- ibiz.log.error('找不到对应的动态实体树节点数据', nodeData);
121
+ async save(nodeData) {
122
+ if (this.state.isSimple) {
123
+ ibiz.log.debug('简单模式,不保存');
124
+ return;
125
+ }
126
+ if (nodeData._nodeType !== 'DE') {
127
+ throw new RuntimeError('非实体节点数据不能保存');
128
+ }
129
+ const rowState = this.state.rows[nodeData._uuid];
130
+ if (!rowState) {
131
+ throw new RuntimeError('行数据不存在');
132
+ }
133
+ if (!rowState.modified) {
134
+ ibiz.log.debug('值没有发生改变');
135
+ return;
136
+ }
137
+ // 如果数据正在处理中,则延迟保存
138
+ if (rowState.processing) {
139
+ await awaitTimeout(500, this.save.bind(this), [nodeData]);
140
+ return;
141
+ }
142
+ const nodeModel = this.getNodeModel(nodeData._nodeId);
143
+ const { appDataEntityId } = nodeModel;
144
+ const isCreate = nodeData._deData.srfuf === Srfuf.CREATE;
145
+ if (isCreate) {
89
146
  return;
90
147
  }
91
- const nodeModel = this.getNodeModel(currentNode._nodeId);
92
- if (nodeModel) {
93
- const newData = isTransformData
94
- ? this.transformNodeDataItem(nodeModel, data)
95
- : data;
96
- if (Object.keys(newData).length > 0) {
97
- const deName = calcDeCodeNameById(nodeModel.appDataEntityId);
98
- const tempContext = Object.assign(this.context.clone(), {
99
- [deName]: currentNode.srfkey,
148
+ // 处理接口
149
+ const deName = calcDeCodeNameById(appDataEntityId);
150
+ const tempContext = this.context.clone();
151
+ tempContext[deName] = nodeData._deData.srfkey;
152
+ const app = ibiz.hub.getApp(this.context.srfappid);
153
+ let res;
154
+ try {
155
+ res = await app.deService.exec(appDataEntityId, isCreate ? 'create' : 'update', tempContext, nodeData._deData);
156
+ }
157
+ catch (error) {
158
+ await this._evt.emit('onSaveError', undefined);
159
+ this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
160
+ error: error,
161
+ data: rowState.data,
162
+ });
163
+ throw error;
164
+ }
165
+ // 后续处理
166
+ rowState.data._deData = res.data;
167
+ rowState.modified = false;
168
+ this.gridStateNotify(rowState, TreeGridExNotifyState.SAVE);
169
+ await this._evt.emit('onSaveSuccess', undefined);
170
+ }
171
+ /**
172
+ * 删除
173
+ *
174
+ * @param {MDCtrlRemoveParams} [args]
175
+ * @return {*} {Promise<void>}
176
+ * @memberof GanttController
177
+ */
178
+ async remove(args) {
179
+ const { context, params, data } = this.handlerAbilityParams(args);
180
+ if (!(data === null || data === void 0 ? void 0 : data.length)) {
181
+ throw new RuntimeError('未选中数据');
182
+ }
183
+ // 删除确认提示
184
+ if ((args === null || args === void 0 ? void 0 : args.silent) !== true) {
185
+ const del = await ibiz.confirm.error({
186
+ title: '数据删除',
187
+ desc: '确认删除数据?',
188
+ });
189
+ if (!del) {
190
+ return;
191
+ }
192
+ }
193
+ await this._evt.emit('onBeforeRemove', undefined);
194
+ await this.startLoading();
195
+ let needRefresh = false;
196
+ let refreshNode;
197
+ try {
198
+ const app = ibiz.hub.getApp(this.context.srfappid);
199
+ await handleAllSettled(data.map(async (item) => {
200
+ // 新建未保存的数据直接走后续删除处理逻辑
201
+ if (item._nodeType === 'DE') {
202
+ const tempContext = context.clone();
203
+ const nodeModel = this.getNodeModel(item._nodeId);
204
+ // 新建未保存的数据直接走后续删除处理逻辑
205
+ if (nodeModel && item._deData.srfuf !== Srfuf.CREATE) {
206
+ const { appDataEntityId } = nodeModel;
207
+ const deName = calcDeCodeNameById(appDataEntityId);
208
+ tempContext[deName] = item.srfkey;
209
+ // 删除后台的数据
210
+ await app.deService.exec(appDataEntityId, 'remove', tempContext, params);
211
+ if (refreshNode) {
212
+ refreshNode = item;
213
+ }
214
+ needRefresh = true;
215
+ }
216
+ this.afterRemove(item);
217
+ }
218
+ }));
219
+ if ((args === null || args === void 0 ? void 0 : args.silent) !== true) {
220
+ this.actionNotification('REMOVESUCCESS', {
221
+ data,
222
+ default: `数据[${data
223
+ .map(item => item.srfmajortext)
224
+ .join('、')}]删除成功!`,
100
225
  });
101
- const response = await this.service.execDeService(nodeModel.appDataEntityId, 'update', tempContext, newData);
102
- if (response.status === 200) {
103
- this.refreshNodeChildren(nodeData, true);
226
+ }
227
+ // 刷新数据,补全这一页缺少的数据
228
+ if (needRefresh && !(args === null || args === void 0 ? void 0 : args.notRefresh)) {
229
+ await this.refreshNodeChildren(refreshNode, true);
230
+ }
231
+ }
232
+ catch (error) {
233
+ await this._evt.emit('onRemoveError', undefined);
234
+ this.actionNotification('REMOVEERROR', {
235
+ error: error,
236
+ data,
237
+ });
238
+ throw error;
239
+ }
240
+ finally {
241
+ await this.endLoading();
242
+ }
243
+ this.state.selectedData = [];
244
+ await this._evt.emit('onRemoveSuccess', undefined);
245
+ }
246
+ /**
247
+ * 后台删除结束后界面删除逻辑
248
+ *
249
+ * @param {GanttDataSetNodeData} data
250
+ * @memberof GanttController
251
+ */
252
+ afterRemove(data) {
253
+ var _a;
254
+ // 删除 items 里的数据
255
+ const index = this.state.items.findIndex(item => item._uuid === data._uuid);
256
+ if (index !== -1) {
257
+ this.state.items.splice(index, 1);
258
+ }
259
+ // 删除rows里面的数据
260
+ if (this.state.rows[data._uuid]) {
261
+ delete this.state.rows[data._uuid];
262
+ }
263
+ // 如果是新建数据 从父中删除该项子数据
264
+ if (data._deData.srfuf === Srfuf.CREATE && data._parent) {
265
+ const parentNodeData = this.getNodeData(data._parent._id);
266
+ const childIndex = parentNodeData._children.findIndex(child => child._uuid === data._uuid);
267
+ if (childIndex !== -1) {
268
+ (_a = parentNodeData._children) === null || _a === void 0 ? void 0 : _a.splice(childIndex, 1);
269
+ }
270
+ }
271
+ }
272
+ /**
273
+ * 新建行
274
+ *
275
+ * @param {MDCtrlLoadParams} [args={}]
276
+ * @return {*} {Promise<void>}
277
+ * @memberof GanttController
278
+ */
279
+ async newRow(args = {}) {
280
+ var _a;
281
+ const { data } = args;
282
+ const { editShowMode } = ibiz.config.grid;
283
+ if (editShowMode === 'row') {
284
+ const editingRow = Object.values(this.state.rows).find(item => item.showRowEdit);
285
+ if (editingRow) {
286
+ throw new RuntimeError('请先完成当前行编辑中的行的操作');
287
+ }
288
+ }
289
+ let parentModel;
290
+ let parentNodeData;
291
+ if (data) {
292
+ const item = (Array.isArray(data) ? data[0] : data);
293
+ parentNodeData = this.getNodeData(item._id);
294
+ parentModel = this.getNodeModel(parentNodeData._nodeId);
295
+ }
296
+ else {
297
+ parentNodeData = this.state.rootNodes[0];
298
+ parentModel = getRootNode(this.model);
299
+ }
300
+ if (parentModel) {
301
+ const nodeRSs = getChildNodeRSs(this.model, {
302
+ parentId: parentModel.id,
303
+ hasQuery: false,
304
+ });
305
+ let nodeRS;
306
+ let nodeModel;
307
+ nodeRSs.forEach(_nodeRS => {
308
+ const childNode = this.getNodeModel(_nodeRS.childDETreeNodeId);
309
+ if ((childNode === null || childNode === void 0 ? void 0 : childNode.treeNodeType) === 'DE' && childNode.appDataEntityId) {
310
+ nodeRS = _nodeRS;
311
+ nodeModel = childNode;
312
+ }
313
+ });
314
+ if (nodeModel) {
315
+ let draftData;
316
+ try {
317
+ draftData = await this.service.getNodeDraft(nodeModel, nodeRS, parentNodeData, {
318
+ hasQuery: false,
319
+ context: this.context.clone(),
320
+ params: this.params,
321
+ });
322
+ }
323
+ catch (error) {
324
+ this.actionNotification('GETDRAFTERROR', {
325
+ error: error,
326
+ });
327
+ throw error;
328
+ }
329
+ // 填充新建默认值
330
+ const defaultVal = this.calcDefaultValue(draftData, true);
331
+ Object.assign(draftData, defaultVal);
332
+ // 将子数据挂载到父数据下
333
+ const parentRow = this.getRowState(parentNodeData._id);
334
+ if ((_a = parentNodeData._children) === null || _a === void 0 ? void 0 : _a.length) {
335
+ parentNodeData._children.push(draftData);
336
+ }
337
+ else {
338
+ parentNodeData._children = [draftData];
339
+ }
340
+ this.state.items.push(draftData);
341
+ const rowState = new TreeGridExRowState(draftData, this);
342
+ this.state.rows[draftData._uuid] = rowState;
343
+ this.gridStateNotify(rowState, TreeGridExNotifyState.DRAFT);
344
+ if (editShowMode === 'row') {
345
+ this.switchRowEdit(rowState, true);
104
346
  }
347
+ this._evt.emit('onNewRow', { row: parentRow });
348
+ this.actionNotification('GETDRAFTSUCCESS', { data: draftData });
105
349
  }
106
350
  }
107
351
  }
@@ -1,5 +1,4 @@
1
1
  import { IDETreeCodeListNode, IDETreeDataSetNode, IDETreeNode, IDETreeNodeRS } from '@ibiz/model-core';
2
- import { IHttpResponse } from '@ibiz-template/core';
3
2
  import { IGanttNodeData } from '../../../interface';
4
3
  import { TreeFetchOpts, TreeService } from '../tree';
5
4
  /**
@@ -13,17 +12,16 @@ import { TreeFetchOpts, TreeService } from '../tree';
13
12
  */
14
13
  export declare class GanttService extends TreeService {
15
14
  /**
16
- * 执行实体服务
15
+ * 获取节点草稿
17
16
  *
18
- * @protected
19
- * @param {string} appDataEntityId 实体标识
20
- * @param {string} actionName 行为标识
21
- * @param {IContext} context 上下文
22
- * @param {IParams} params 参数
23
- * @return {*} {Promise<IHttpResponse<IData>>}
17
+ * @param {IDETreeDataSetNode} nodeModel
18
+ * @param {(IDETreeNodeRS | undefined)} nodeRS
19
+ * @param {(IGanttNodeData | undefined)} parentNodeData
20
+ * @param {TreeFetchOpts} opts
21
+ * @return {*} {Promise<IGanttNodeData>}
24
22
  * @memberof GanttService
25
23
  */
26
- execDeService(appDataEntityId: string, actionName: string, context: IContext, params: IParams): Promise<IHttpResponse<IData>>;
24
+ getNodeDraft(nodeModel: IDETreeDataSetNode, nodeRS: IDETreeNodeRS | undefined, parentNodeData: IGanttNodeData | undefined, opts: TreeFetchOpts): Promise<IGanttNodeData>;
27
25
  /**
28
26
  * 获取子节点数据
29
27
  *
@@ -1 +1 @@
1
- {"version":3,"file":"gantt.service.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/gantt/gantt.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAc,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOrD;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;OAUG;IACH,aAAa,CACX,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAShC;;;;;;;;OAQG;IACG,eAAe,CACnB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IA8CxC;;;;;;;;;;;OAWG;cACa,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IAoE5B;;;;;;;;;;;OAWG;cACa,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,CAAC;IAU1B;;;;;;;;;;;OAWG;cACa,mBAAmB,CACjC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IA6C5B;;;;;;;;;;;OAWG;cACa,yBAAyB,CACvC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;CAmC7B"}
1
+ {"version":3,"file":"gantt.service.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/gantt/gantt.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOrD;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;OASG;IACG,YAAY,CAChB,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,CAAC;IA+B1B;;;;;;;;OAQG;IACG,eAAe,CACnB,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC;IA8CxC;;;;;;;;;;;OAWG;cACa,oBAAoB,CAClC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IAoE5B;;;;;;;;;;;OAWG;cACa,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,CAAC;IAU1B;;;;;;;;;;;OAWG;cACa,mBAAmB,CACjC,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IA6C5B;;;;;;;;;;;OAWG;cACa,yBAAyB,CACvC,SAAS,EAAE,mBAAmB,EAC9B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;CAmC7B"}
@@ -14,18 +14,38 @@ import { GanttCodeListNodeData, GanttDataSetNodeData, GanttStaticNodeData, } fro
14
14
  */
15
15
  export class GanttService extends TreeService {
16
16
  /**
17
- * 执行实体服务
17
+ * 获取节点草稿
18
18
  *
19
- * @protected
20
- * @param {string} appDataEntityId 实体标识
21
- * @param {string} actionName 行为标识
22
- * @param {IContext} context 上下文
23
- * @param {IParams} params 参数
24
- * @return {*} {Promise<IHttpResponse<IData>>}
19
+ * @param {IDETreeDataSetNode} nodeModel
20
+ * @param {(IDETreeNodeRS | undefined)} nodeRS
21
+ * @param {(IGanttNodeData | undefined)} parentNodeData
22
+ * @param {TreeFetchOpts} opts
23
+ * @return {*} {Promise<IGanttNodeData>}
25
24
  * @memberof GanttService
26
25
  */
27
- execDeService(appDataEntityId, actionName, context, params) {
28
- return this.app.deService.exec(appDataEntityId, actionName, context, params);
26
+ async getNodeDraft(nodeModel, nodeRS, parentNodeData, opts) {
27
+ var _a;
28
+ const { appDataEntityId } = nodeModel;
29
+ // 处理查询参数,没有关系的时候不处理参数了
30
+ const { context, params, navContext, navParams } = nodeRS
31
+ ? this.getNodeRSFilterParams(nodeRS, parentNodeData, opts)
32
+ : {
33
+ context: opts.context,
34
+ params: opts.params,
35
+ navContext: {},
36
+ navParams: {},
37
+ };
38
+ const response = await this.app.deService.exec(appDataEntityId, 'getdraft', context, params);
39
+ const { data } = response;
40
+ if (((_a = nodeRS === null || nodeRS === void 0 ? void 0 : nodeRS.parentDER1N) === null || _a === void 0 ? void 0 : _a.pickupDEFName) && parentNodeData) {
41
+ data[nodeRS.parentDER1N.pickupDEFName] = parentNodeData._value;
42
+ }
43
+ return new GanttDataSetNodeData(this.model, nodeModel, parentNodeData, {
44
+ data: response.data,
45
+ leaf: true,
46
+ navContext,
47
+ navParams,
48
+ });
29
49
  }
30
50
  /**
31
51
  * 获取子节点数据
@@ -1 +1 @@
1
- {"version":3,"file":"tab-exp-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EAEtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAC5E,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,aAAa,UAAQ;IAErB;;;;;OAKG;IACH,UAAU,UAAS;IAEnB;;;;;;;;OAQG;IACH,IAAI,OAAO,IAAI,OAAO,CAQrB;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;OAKG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAiBpB;;;;OAIG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CACnB,GAAG,GAAE,eAA+C,EACpD,aAAa,UAAQ,GACpB,IAAI;IAQP;;;;;;;;OAQG;IACH,IAAI,uBAAuB,IAAI,eAAe,CAI7C;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG;QAC5C,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IA6BD;;;;;;;;OAQG;IACI,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,WAAW;CAUjE"}
1
+ {"version":3,"file":"tab-exp-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,eAAe,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EAEtB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CAAC,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAC5E,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,aAAa,UAAQ;IAErB;;;;;OAKG;IACH,UAAU,UAAS;IAEnB;;;;;;;;OAQG;IACH,IAAI,OAAO,IAAI,OAAO,CAQrB;IAED;;;;;;;;OAQG;IACH,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;;;;OAKG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAM3B;;;;;;OAMG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQhC;;;;OAIG;IACH,YAAY,IAAI,IAAI;IAiBpB;;;;OAIG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;;;;OAMG;IACH,eAAe,IAAI,IAAI;IAsBvB;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CACnB,GAAG,GAAE,eAA+C,EACpD,aAAa,UAAQ,GACpB,IAAI;IAQP;;;;;;;;OAQG;IACH,IAAI,uBAAuB,IAAI,eAAe,CAI7C;IAED;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtC;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG;QAC5C,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IA6BD;;;;;;;;OAQG;IACI,aAAa,CAAC,YAAY,EAAE,eAAe,GAAG,WAAW;CAWjE"}