@ibiz-template/runtime 0.2.13 → 0.2.16
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.
- package/dist/index.esm.js +106 -71
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/controller/common/control/md-control.controller.js +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts +3 -3
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +24 -8
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +0 -4
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +3 -8
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +28 -39
- package/out/controller/control/panel/panel/panel-item.controller.d.ts +8 -9
- package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
- package/out/controller/control/panel/panel/panel-item.controller.js +2 -2
- package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts +8 -0
- package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
- package/out/controller/control/wizard-panel/wizard-panel.controller.js +58 -15
- package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts +7 -0
- package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-control.controller.d.ts +9 -0
- package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-edit-form.controller.d.ts +10 -1
- package/out/interface/controller/controller/control/i-edit-form.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-md-control.controller.d.ts +2 -2
- package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts +6 -0
- package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts +5 -0
- package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts +8 -0
- package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/controller/common/control/md-control.controller.ts +1 -1
- package/src/controller/control/form/edit-form/edit-form.controller.ts +27 -10
- package/src/controller/control/grid/grid/grid.controller.ts +0 -3
- package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +30 -46
- package/src/controller/control/panel/panel/panel-item.controller.ts +7 -7
- package/src/controller/control/wizard-panel/wizard-panel.controller.ts +67 -18
- package/src/interface/common/i-data-ability-params/i-data-ability-params.ts +8 -0
- package/src/interface/controller/controller/control/i-control.controller.ts +10 -0
- package/src/interface/controller/controller/control/i-edit-form.controller.ts +11 -1
- package/src/interface/controller/controller/control/i-md-control.controller.ts +2 -2
- package/src/interface/controller/controller/control/i-medit-view-panel.controller.ts +8 -1
- package/src/interface/controller/state/control/i-medit-view-panel.state.ts +6 -0
- package/src/interface/controller/state/control/panel-item/i-panel-item.state.ts +9 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IAppDEEditView, IDEEditForm } from '@ibiz/model-core';
|
|
2
|
-
import { IEditFormState, IEditFormEvent, IEditFormController, IViewController, IEditViewState, IEditViewEvent, IDataAbilityParams } from '../../../../interface';
|
|
2
|
+
import { IEditFormState, IEditFormEvent, IEditFormController, IViewController, IEditViewState, IEditViewEvent, IDataAbilityParams, FormSaveParams } from '../../../../interface';
|
|
3
3
|
import { FormController } from '../form';
|
|
4
4
|
import { EditFormService } from './edit-form.service';
|
|
5
5
|
/**
|
|
@@ -58,7 +58,7 @@ export declare class EditFormController extends FormController<IDEEditForm, IEdi
|
|
|
58
58
|
* @author lxm
|
|
59
59
|
* @date 2022-08-31 22:08:40
|
|
60
60
|
*/
|
|
61
|
-
save(args?:
|
|
61
|
+
save(args?: FormSaveParams): Promise<IData>;
|
|
62
62
|
/**
|
|
63
63
|
* 删除表单数据
|
|
64
64
|
*
|
|
@@ -74,7 +74,7 @@ export declare class EditFormController extends FormController<IDEEditForm, IEdi
|
|
|
74
74
|
* @date 2022-09-01 09:09:36
|
|
75
75
|
* @returns {*}
|
|
76
76
|
*/
|
|
77
|
-
goBack(): Promise<
|
|
77
|
+
goBack(): Promise<IData>;
|
|
78
78
|
/**
|
|
79
79
|
* 表单项更新
|
|
80
80
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/form/edit-form/edit-form.controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,
|
|
1
|
+
{"version":3,"file":"edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/form/edit-form/edit-form.controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/D,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;;GAQG;AACH,qBAAa,kBACX,SAAQ,cAAc,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAClE,YAAW,mBAAmB;IAE9B;;;;;OAKG;IACH,OAAO,EAAG,eAAe,CAAC;IAE1B,IAAI,IAAI,IAAI,eAAe,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,CAAC,CAM1E;IAED;;;;;;;OAOG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAY1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1C;;;;;OAKG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAiC1D;;;;;;OAMG;cACa,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;IA8CtC;;;;;OAKG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IA4CrD;;;;;OAKG;IACG,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC;IAoEjD;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4CzD;;;;;;OAMG;IACG,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;IAe9B;;;;;;;OAOG;IACG,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C7D;;;;;;;OAOG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBvD;;;;;;;OAOG;IACG,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BlD,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtD;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAUhC"}
|
|
@@ -179,16 +179,19 @@ export class EditFormController extends FormController {
|
|
|
179
179
|
* @date 2022-08-31 22:08:40
|
|
180
180
|
*/
|
|
181
181
|
async save(args) {
|
|
182
|
+
const silent = (args === null || args === void 0 ? void 0 : args.silent) === true;
|
|
182
183
|
// 如果数据正在处理中,则延迟保存
|
|
183
184
|
if (this.state.processing) {
|
|
184
|
-
const data = await awaitTimeout(500, this.save.bind(this));
|
|
185
|
+
const data = await awaitTimeout(500, this.save.bind(this), [args]);
|
|
185
186
|
return data;
|
|
186
187
|
}
|
|
187
188
|
const isValid = await this.validate();
|
|
188
189
|
if (!isValid) {
|
|
189
190
|
throw new RuntimeError('请检查表单填写!');
|
|
190
191
|
}
|
|
191
|
-
|
|
192
|
+
if (!silent) {
|
|
193
|
+
await this.startLoading();
|
|
194
|
+
}
|
|
192
195
|
await this.evt.emit('onBeforeSave', undefined);
|
|
193
196
|
const { context, data } = this.handlerAbilityParams(args);
|
|
194
197
|
const saveData = data[0];
|
|
@@ -207,19 +210,31 @@ export class EditFormController extends FormController {
|
|
|
207
210
|
throw error;
|
|
208
211
|
}
|
|
209
212
|
finally {
|
|
210
|
-
|
|
213
|
+
if (!silent) {
|
|
214
|
+
await this.endLoading();
|
|
215
|
+
}
|
|
211
216
|
}
|
|
217
|
+
const noFillBack = (args === null || args === void 0 ? void 0 : args.noFillBack) === true;
|
|
212
218
|
// 保存结束后合并修改临时主键
|
|
213
219
|
if (res.data) {
|
|
214
|
-
|
|
220
|
+
// 回填数据的合并后台数据
|
|
221
|
+
if (noFillBack) {
|
|
222
|
+
// 自动保存不回填数据的时候只更新更新时间
|
|
223
|
+
this.data.updatedate = res.data.updatedate;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
mergeInLeft(this.data, res.data);
|
|
227
|
+
}
|
|
215
228
|
this.data.tempsrfkey = this.data.srfkey;
|
|
216
229
|
}
|
|
217
230
|
this.state.modified = false;
|
|
218
231
|
await this.evt.emit('onSaveSuccess', undefined);
|
|
219
232
|
this.formStateNotify(FormNotifyState.SAVE);
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
233
|
+
if (!silent) {
|
|
234
|
+
this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}SUCCESS`, {
|
|
235
|
+
default: `${this.data.srfmajortext || ''}保存成功`,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
223
238
|
if (this.view.modal.mode === 'ROUTE') {
|
|
224
239
|
ibiz.mc.command.send(this.data.$origin, isCreate ? 'OBJECTCREATED' : 'OBJECTUPDATED');
|
|
225
240
|
}
|
|
@@ -294,6 +309,7 @@ export class EditFormController extends FormController {
|
|
|
294
309
|
if (res.data) {
|
|
295
310
|
mergeInLeft(this.data, res.data);
|
|
296
311
|
}
|
|
312
|
+
return this.data;
|
|
297
313
|
}
|
|
298
314
|
/**
|
|
299
315
|
* 表单项更新
|
|
@@ -411,7 +427,7 @@ export class EditFormController extends FormController {
|
|
|
411
427
|
if (this.model.enableAutoSave) {
|
|
412
428
|
// 自动保存静默,报错直接控制台输出
|
|
413
429
|
try {
|
|
414
|
-
await this.save();
|
|
430
|
+
await this.save({ silent: true, noFillBack: true });
|
|
415
431
|
}
|
|
416
432
|
catch (error) {
|
|
417
433
|
ibiz.log.error(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/grid/grid/grid.controller.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"grid.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/grid/grid/grid.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -383,7 +383,6 @@ export class GridController extends MDControlController {
|
|
|
383
383
|
if (!isValid) {
|
|
384
384
|
throw new RuntimeError('行数据校验不通过,保存取消');
|
|
385
385
|
}
|
|
386
|
-
await this.startLoading();
|
|
387
386
|
let res;
|
|
388
387
|
const deName = calcDeCodeNameById(this.model.appDataEntityId);
|
|
389
388
|
const tempContext = this.context.clone();
|
|
@@ -401,9 +400,6 @@ export class GridController extends MDControlController {
|
|
|
401
400
|
});
|
|
402
401
|
throw error;
|
|
403
402
|
}
|
|
404
|
-
finally {
|
|
405
|
-
await this.endLoading();
|
|
406
|
-
}
|
|
407
403
|
// 后续处理
|
|
408
404
|
const index = this.findRowStateIndex(data);
|
|
409
405
|
this.state.items.splice(index, 1, res.data);
|
|
@@ -12,11 +12,6 @@ import { MEditViewPanelService } from './medit-view-panel.service';
|
|
|
12
12
|
*/
|
|
13
13
|
export declare class MEditViewPanelController extends MDControlController<IDEMultiEditViewPanel, IMEditViewPanelState, IMEditViewPanelEvent> implements IMEditViewPanelController {
|
|
14
14
|
service: MEditViewPanelService;
|
|
15
|
-
/**
|
|
16
|
-
* 是否显示底部按钮
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
showButton: boolean;
|
|
20
15
|
/**
|
|
21
16
|
* 当前应用视图参数对象
|
|
22
17
|
*
|
|
@@ -56,7 +51,7 @@ export declare class MEditViewPanelController extends MDControlController<IDEMul
|
|
|
56
51
|
* @author: zhujiamin
|
|
57
52
|
* @Date: 2023-10-16 15:00:02
|
|
58
53
|
*/
|
|
59
|
-
doItems(datas: ControlVO[]): void;
|
|
54
|
+
doItems(datas: ControlVO[], tempPanelUiItems?: IPanelUiItem[]): void;
|
|
60
55
|
/**
|
|
61
56
|
* 处理添加
|
|
62
57
|
* @return {*}
|
|
@@ -97,11 +92,11 @@ export declare class MEditViewPanelController extends MDControlController<IDEMul
|
|
|
97
92
|
*/
|
|
98
93
|
onViewDataChange(args: DataChangeEvent, id: string): void;
|
|
99
94
|
/**
|
|
100
|
-
*
|
|
95
|
+
* 处理数据变化
|
|
101
96
|
*
|
|
102
97
|
* @param {ControlVO} data
|
|
103
98
|
* @returns {*} {Promise<void>}
|
|
104
99
|
*/
|
|
105
|
-
|
|
100
|
+
handleDataChange(data: ControlVO, id: string): Promise<void>;
|
|
106
101
|
}
|
|
107
102
|
//# sourceMappingURL=medit-view-panel.controller.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"medit-view-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/medit-view-panel/medit-view-panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"medit-view-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/medit-view-panel/medit-view-panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,wBACX,SAAQ,mBAAmB,CACzB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,CAEtB,YAAW,yBAAyB;IAE5B,OAAO,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;IACH,UAAU,EAAE,KAAK,EAAE,CAAM;cAET,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1C,SAAS,CAAC,SAAS,IAAI,IAAI;IAQ3B;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBrC;;;;;;;;OAQG;IACG,SAAS,CACb,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBvB;;;;;;OAMG;IACH,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY;IAiCnD;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI;IAUpE;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhC;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAcrD;;;;;;OAMG;IACG,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvE;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAW9B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOzD;;;;;OAKG;IACG,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBnE"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-shadow */
|
|
2
2
|
import { RuntimeError } from '@ibiz-template/core';
|
|
3
3
|
import { createUUID } from 'qx-util';
|
|
4
|
-
import { calcDeCodeNameById } from '../../../model';
|
|
5
|
-
import { Srfuf } from '../../../service';
|
|
6
4
|
import { MDControlController } from '../../common';
|
|
7
5
|
import { MEditViewPanelService } from './medit-view-panel.service';
|
|
8
6
|
/**
|
|
@@ -15,11 +13,6 @@ import { MEditViewPanelService } from './medit-view-panel.service';
|
|
|
15
13
|
export class MEditViewPanelController extends MDControlController {
|
|
16
14
|
constructor() {
|
|
17
15
|
super(...arguments);
|
|
18
|
-
/**
|
|
19
|
-
* 是否显示底部按钮
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
this.showButton = true;
|
|
23
16
|
/**
|
|
24
17
|
* 当前应用视图参数对象
|
|
25
18
|
*
|
|
@@ -37,6 +30,7 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
37
30
|
this.state.panelUiItems = [];
|
|
38
31
|
this.state.activeTab = '';
|
|
39
32
|
this.state.size = 1000;
|
|
33
|
+
this.state.isNeedScroll = false;
|
|
40
34
|
}
|
|
41
35
|
/**
|
|
42
36
|
* 初始化嵌入应用视图及实体参数对象
|
|
@@ -75,11 +69,16 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
75
69
|
*/
|
|
76
70
|
async afterLoad(args, items) {
|
|
77
71
|
await super.afterLoad(args, items);
|
|
72
|
+
// 找出临时UI数据
|
|
73
|
+
const tempPanelUiItems = this.state.panelUiItems.filter(UiItem => {
|
|
74
|
+
return UiItem.id.startsWith('mockId:');
|
|
75
|
+
});
|
|
78
76
|
this.state.panelUiItems = [];
|
|
79
|
-
this.doItems(items);
|
|
77
|
+
this.doItems(items, tempPanelUiItems);
|
|
80
78
|
// 设置默认激活
|
|
81
79
|
if (this.model.panelStyle === 'TAB_TOP' &&
|
|
82
|
-
this.state.panelUiItems.length > 0
|
|
80
|
+
this.state.panelUiItems.length > 0 &&
|
|
81
|
+
tempPanelUiItems.length === 0) {
|
|
83
82
|
this.state.activeTab = this.state.panelUiItems[0].id;
|
|
84
83
|
}
|
|
85
84
|
return items;
|
|
@@ -128,11 +127,14 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
128
127
|
* @author: zhujiamin
|
|
129
128
|
* @Date: 2023-10-16 15:00:02
|
|
130
129
|
*/
|
|
131
|
-
doItems(datas) {
|
|
130
|
+
doItems(datas, tempPanelUiItems) {
|
|
132
131
|
datas.forEach((arg) => {
|
|
133
132
|
const item = this.handlePanelItemParams(arg);
|
|
134
133
|
this.state.panelUiItems.push(item);
|
|
135
134
|
});
|
|
135
|
+
if (tempPanelUiItems) {
|
|
136
|
+
this.state.panelUiItems.push(...tempPanelUiItems);
|
|
137
|
+
}
|
|
136
138
|
}
|
|
137
139
|
/**
|
|
138
140
|
* 处理添加
|
|
@@ -141,6 +143,7 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
141
143
|
* @Date: 2023-10-16 15:18:01
|
|
142
144
|
*/
|
|
143
145
|
async handleAdd() {
|
|
146
|
+
this.state.isNeedScroll = true;
|
|
144
147
|
this.doItems([{ srfuf: 0 }]);
|
|
145
148
|
if (this.model.panelStyle === 'TAB_TOP') {
|
|
146
149
|
// 上分页添加后激活最后一个
|
|
@@ -156,6 +159,7 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
156
159
|
* @Date: 2023-10-16 15:23:59
|
|
157
160
|
*/
|
|
158
161
|
async handleDelete(item) {
|
|
162
|
+
this.state.isNeedScroll = false;
|
|
159
163
|
// 新建的界面上删除即可
|
|
160
164
|
if (item.data.srfuf === 0) {
|
|
161
165
|
// 删除items中已删除的项
|
|
@@ -165,7 +169,7 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
165
169
|
this.state.panelUiItems.splice(index, 1);
|
|
166
170
|
}
|
|
167
171
|
else {
|
|
168
|
-
await this.remove({ data: [item.data] });
|
|
172
|
+
await this.remove({ data: [item.data], notRefresh: true });
|
|
169
173
|
}
|
|
170
174
|
}
|
|
171
175
|
/**
|
|
@@ -215,46 +219,31 @@ export class MEditViewPanelController extends MDControlController {
|
|
|
215
219
|
onViewDataChange(args, id) {
|
|
216
220
|
// 新建的保存成功后该部件需要保存来更新数据
|
|
217
221
|
if (args.eventName === 'onSaveSuccess') {
|
|
218
|
-
this.
|
|
222
|
+
this.handleDataChange(args.data[0], id);
|
|
219
223
|
}
|
|
220
224
|
}
|
|
221
225
|
/**
|
|
222
|
-
*
|
|
226
|
+
* 处理数据变化
|
|
223
227
|
*
|
|
224
228
|
* @param {ControlVO} data
|
|
225
229
|
* @returns {*} {Promise<void>}
|
|
226
230
|
*/
|
|
227
|
-
async
|
|
231
|
+
async handleDataChange(data, id) {
|
|
228
232
|
const panelUiItemIndex = this.state.panelUiItems.findIndex(item => item.id === id);
|
|
229
|
-
if (
|
|
233
|
+
if (panelUiItemIndex < 0) {
|
|
230
234
|
throw new RuntimeError('编辑视图面板部件UI数据不存在');
|
|
231
235
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const tempContext = this.context.clone();
|
|
237
|
-
tempContext[deName] = data.srfkey;
|
|
238
|
-
try {
|
|
239
|
-
res = isCreate
|
|
240
|
-
? await this.service.create(tempContext, data)
|
|
241
|
-
: await this.service.update(tempContext, data);
|
|
236
|
+
const tempUiItem = this.state.panelUiItems[panelUiItemIndex];
|
|
237
|
+
if (tempUiItem.id.startsWith('mockId:')) {
|
|
238
|
+
this.state.panelUiItems[panelUiItemIndex] =
|
|
239
|
+
this.handlePanelItemParams(data);
|
|
242
240
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
|
|
246
|
-
error: error,
|
|
247
|
-
data: this.state.panelUiItems[panelUiItemIndex].data,
|
|
248
|
-
});
|
|
249
|
-
throw error;
|
|
241
|
+
else {
|
|
242
|
+
tempUiItem.srfmajortext = data.srfmajortext;
|
|
250
243
|
}
|
|
251
|
-
|
|
252
|
-
|
|
244
|
+
if (this.model.panelStyle === 'TAB_TOP') {
|
|
245
|
+
// 上分页保存后激活保存的这一个
|
|
246
|
+
this.state.activeTab = this.state.panelUiItems[panelUiItemIndex].id;
|
|
253
247
|
}
|
|
254
|
-
// 后续处理
|
|
255
|
-
const index = this.state.items.findIndex(item => item.srfkey === data.srfkey);
|
|
256
|
-
this.state.items.splice(index, 1, res.data);
|
|
257
|
-
this.state.panelUiItems.splice(panelUiItemIndex, 1, this.handlePanelItemParams(res.data));
|
|
258
|
-
await this.evt.emit('onSaveSuccess', undefined);
|
|
259
248
|
}
|
|
260
249
|
}
|
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import { IPanelItem } from '@ibiz/model-core';
|
|
2
|
-
import { IPanelItemController, IPanelController, IPanelDataContainerController } from '../../../../interface';
|
|
2
|
+
import { IPanelItemController, IPanelController, IPanelDataContainerController, IPanelItemState } from '../../../../interface';
|
|
3
3
|
import { PanelNotifyState } from '../../../constant';
|
|
4
4
|
import { PanelItemState } from './panel-item.state';
|
|
5
|
-
import { PanelController } from './panel.controller';
|
|
6
5
|
export declare class PanelItemController<T extends IPanelItem = IPanelItem> implements IPanelItemController {
|
|
7
6
|
readonly model: T;
|
|
8
|
-
readonly panel:
|
|
9
|
-
readonly parent?:
|
|
7
|
+
readonly panel: IPanelController;
|
|
8
|
+
readonly parent?: IPanelItemController | undefined;
|
|
10
9
|
/**
|
|
11
10
|
* 面板项状态
|
|
12
11
|
*
|
|
13
12
|
* @author chitanda
|
|
14
13
|
* @date 2023-01-04 09:01:04
|
|
15
|
-
* @type {
|
|
14
|
+
* @type {IPanelItemState}
|
|
16
15
|
*/
|
|
17
|
-
state:
|
|
16
|
+
state: IPanelItemState;
|
|
18
17
|
/**
|
|
19
18
|
* 数据父容器
|
|
20
19
|
* @author lxm
|
|
@@ -52,10 +51,10 @@ export declare class PanelItemController<T extends IPanelItem = IPanelItem> impl
|
|
|
52
51
|
* @author lxm
|
|
53
52
|
* @date 2023-04-27 06:37:12
|
|
54
53
|
* @param {T} model 面板成员模型
|
|
55
|
-
* @param {
|
|
56
|
-
* @param {
|
|
54
|
+
* @param {IPanelController} panel 面板控制器
|
|
55
|
+
* @param {IPanelItemController} [parent] 父容器控制器
|
|
57
56
|
*/
|
|
58
|
-
constructor(model: T, panel:
|
|
57
|
+
constructor(model: T, panel: IPanelController, parent?: IPanelItemController | undefined);
|
|
59
58
|
/**
|
|
60
59
|
* 子类不可覆盖或重写此方法,在 init 时需要重写的使用 onInit 方法。
|
|
61
60
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC7B,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAChE,YAAW,oBAAoB;aAgEb,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,gBAAgB;aACvB,MAAM,CAAC;IAhEzB;;;;;;OAMG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,6BAA6B,CAEjE;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;;;;OAOG;gBAEe,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,gBAAgB,EACvB,MAAM,CAAC,kCAAsB;IAK/C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC,OAAO,IAAI,IAAI;IAEf;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBlC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,EAAE;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAIC;IAEF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAmC5E;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,GAAG,6BAA6B;IAWnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAe1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -48,8 +48,8 @@ export class PanelItemController {
|
|
|
48
48
|
* @author lxm
|
|
49
49
|
* @date 2023-04-27 06:37:12
|
|
50
50
|
* @param {T} model 面板成员模型
|
|
51
|
-
* @param {
|
|
52
|
-
* @param {
|
|
51
|
+
* @param {IPanelController} panel 面板控制器
|
|
52
|
+
* @param {IPanelItemController} [parent] 父容器控制器
|
|
53
53
|
*/
|
|
54
54
|
constructor(model, panel, parent) {
|
|
55
55
|
this.model = model;
|
|
@@ -103,6 +103,14 @@ export declare class WizardPanelController extends ControlController<IDEWizardPa
|
|
|
103
103
|
* @Date: 2023-06-08 14:06:25
|
|
104
104
|
*/
|
|
105
105
|
onFormSaved(event: EventBase): void;
|
|
106
|
+
/**
|
|
107
|
+
* 根据tag获取应该激活的向导表单
|
|
108
|
+
* @param {string} tag
|
|
109
|
+
* @return {*}
|
|
110
|
+
* @author: zhujiamin
|
|
111
|
+
* @Date: 2023-11-10 18:35:37
|
|
112
|
+
*/
|
|
113
|
+
getWizardFormByTag(tag: string): IDEWizardForm | undefined;
|
|
106
114
|
/**
|
|
107
115
|
* 执行初始化操作,存在初始化实体行为的时候加载数据并把主键放入上下文
|
|
108
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/wizard-panel/wizard-panel.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;GAQG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CACvB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAEnB,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,OAAO,EAAG,kBAAkB,CAAC;IAE7B;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,EAAE,CAAM;IAE1B;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEpD;;;;;OAKG;IACH,SAAS,EAAE,aAAa,GAAG,SAAS,CAAa;IAEjD;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAa;IAE7D;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,CAAM;IAErB;;;;;OAKG;IACH,QAAQ,EAAE,KAAK,CAAM;IAErB,SAAS,CAAC,SAAS,IAAI,IAAI;cAIX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1C;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAWhD;IAED;;;;;;;OAOG;IACH,IAAI,oBAAoB,IAAI,kBAAkB,CAO7C;IAED;;;;;;OAMG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAO5D;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQnC;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/wizard-panel/wizard-panel.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,aAAa,EACb,cAAc,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;GAQG;AACH,qBAAa,qBACX,SAAQ,iBAAiB,CACvB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,CAEnB,YAAW,sBAAsB;IAEjC;;;;;OAKG;IACH,OAAO,EAAG,kBAAkB,CAAC;IAE7B;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,EAAE,CAAM;IAE1B;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEpD;;;;;OAKG;IACH,SAAS,EAAE,aAAa,GAAG,SAAS,CAAa;IAEjD;;;;;OAKG;IACH,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAa;IAE7D;;;;;OAKG;IACH,KAAK,EAAE,MAAM,EAAE,CAAM;IAErB;;;;;OAKG;IACH,QAAQ,EAAE,KAAK,CAAM;IAErB,SAAS,CAAC,SAAS,IAAI,IAAI;cAIX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA2C1C;;;;;;;OAOG;IACH,IAAI,gBAAgB,IAAI,aAAa,GAAG,SAAS,CAWhD;IAED;;;;;;;OAOG;IACH,IAAI,oBAAoB,IAAI,kBAAkB,CAO7C;IAED;;;;;;OAMG;IACH,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAO5D;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQnC;;;;;;OAMG;IACH,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAgB1D;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BjC;;;;;;;OAOG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC;;;;;;OAMG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA6ClC;;;;;;OAMG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;CAKrC"}
|
|
@@ -163,6 +163,27 @@ export class WizardPanelController extends ControlController {
|
|
|
163
163
|
this.context[deName] = data.srfkey;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* 根据tag获取应该激活的向导表单
|
|
168
|
+
* @param {string} tag
|
|
169
|
+
* @return {*}
|
|
170
|
+
* @author: zhujiamin
|
|
171
|
+
* @Date: 2023-11-10 18:35:37
|
|
172
|
+
*/
|
|
173
|
+
getWizardFormByTag(tag) {
|
|
174
|
+
var _a;
|
|
175
|
+
if (!((_a = this.model.dewizard) === null || _a === void 0 ? void 0 : _a.dewizardForms)) {
|
|
176
|
+
throw new RuntimeError(`没有配置向导表单集合`);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const wizardForm = this.model.dewizard.dewizardForms.find((form) => {
|
|
180
|
+
return form.formTag === tag;
|
|
181
|
+
});
|
|
182
|
+
if (!wizardForm) {
|
|
183
|
+
throw new RuntimeError(`找不到标识为${tag}的向导表单`);
|
|
184
|
+
}
|
|
185
|
+
return wizardForm;
|
|
186
|
+
}
|
|
166
187
|
/**
|
|
167
188
|
* 执行初始化操作,存在初始化实体行为的时候加载数据并把主键放入上下文
|
|
168
189
|
*
|
|
@@ -178,8 +199,18 @@ export class WizardPanelController extends ControlController {
|
|
|
178
199
|
if (res.data && res.data.srfkey) {
|
|
179
200
|
this.context[deName] = res.data.srfkey;
|
|
180
201
|
}
|
|
202
|
+
// 初始化时状态向导面板根据状态属性去决定当前激活哪个表单
|
|
203
|
+
if (res.data &&
|
|
204
|
+
this.model.stateAppDEFieldId &&
|
|
205
|
+
res.data[this.model.stateAppDEFieldId]) {
|
|
206
|
+
const activeForm = this.getWizardFormByTag(res.data[this.model.stateAppDEFieldId]);
|
|
207
|
+
if (activeForm) {
|
|
208
|
+
this.state.activeFormTag = activeForm.formTag;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
181
211
|
}
|
|
182
|
-
|
|
212
|
+
// 没有激活的表单标识就选配置的首表单
|
|
213
|
+
if (!this.state.activeFormTag && this.firstForm) {
|
|
183
214
|
this.state.activeFormTag = this.firstForm.formTag;
|
|
184
215
|
this.tagHistory.push(this.firstForm.formTag);
|
|
185
216
|
}
|
|
@@ -205,10 +236,19 @@ export class WizardPanelController extends ControlController {
|
|
|
205
236
|
*/
|
|
206
237
|
async onPrevClick() {
|
|
207
238
|
// 先执行表单返回行为
|
|
208
|
-
await this.activeFormController.goBack();
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
239
|
+
const data = await this.activeFormController.goBack();
|
|
240
|
+
let prevTag;
|
|
241
|
+
// 返回上一个表单优先级 stateAppDEFieldId > tagHistory
|
|
242
|
+
if (this.model.stateAppDEFieldId && data[this.model.stateAppDEFieldId]) {
|
|
243
|
+
const wizardForm = this.getWizardFormByTag(data[this.model.stateAppDEFieldId]);
|
|
244
|
+
if (wizardForm) {
|
|
245
|
+
prevTag = data[this.model.stateAppDEFieldId];
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
prevTag = this.tagHistory[this.tagHistory.length - 1];
|
|
250
|
+
this.tagHistory.pop();
|
|
251
|
+
}
|
|
212
252
|
if (!prevTag) {
|
|
213
253
|
throw new RuntimeError('没有上一个表单');
|
|
214
254
|
}
|
|
@@ -226,13 +266,18 @@ export class WizardPanelController extends ControlController {
|
|
|
226
266
|
const data = await this.activeFormController.save();
|
|
227
267
|
let nextTag;
|
|
228
268
|
if (data.srfnextform) {
|
|
229
|
-
const wizardForm = this.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
269
|
+
const wizardForm = this.getWizardFormByTag(data.srfnextform);
|
|
270
|
+
if (wizardForm) {
|
|
271
|
+
nextTag = data.srfnextform;
|
|
272
|
+
this.tagHistory.push(nextTag);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
else if (this.model.stateAppDEFieldId &&
|
|
276
|
+
data[this.model.stateAppDEFieldId]) {
|
|
277
|
+
const wizardForm = this.getWizardFormByTag(data[this.model.stateAppDEFieldId]);
|
|
278
|
+
if (wizardForm) {
|
|
279
|
+
nextTag = data[this.model.stateAppDEFieldId];
|
|
234
280
|
}
|
|
235
|
-
nextTag = data.srfnextform;
|
|
236
281
|
}
|
|
237
282
|
else {
|
|
238
283
|
// 通过步骤找,找到下一个步骤对应的第一个向导表单
|
|
@@ -246,10 +291,8 @@ export class WizardPanelController extends ControlController {
|
|
|
246
291
|
if (!nextWizardStep) {
|
|
247
292
|
throw new RuntimeError('找不到下一个向导步骤');
|
|
248
293
|
}
|
|
249
|
-
const nextWizardForm = this.
|
|
250
|
-
|
|
251
|
-
});
|
|
252
|
-
if (nextWizardForm) {
|
|
294
|
+
const nextWizardForm = this.getWizardFormByTag(nextWizardStep.stepTag);
|
|
295
|
+
if (nextWizardForm && nextWizardForm.formTag) {
|
|
253
296
|
nextTag = nextWizardForm.formTag;
|
|
254
297
|
}
|
|
255
298
|
}
|
|
@@ -28,5 +28,12 @@ export interface IDataAbilityParams {
|
|
|
28
28
|
* @type {IData[]}
|
|
29
29
|
*/
|
|
30
30
|
data?: IData[] | IData;
|
|
31
|
+
/**
|
|
32
|
+
* 是否静默执行,不出loading效果,不弹成功提示
|
|
33
|
+
* @author lxm
|
|
34
|
+
* @date 2023-11-10 06:35:27
|
|
35
|
+
* @type {boolean}
|
|
36
|
+
*/
|
|
37
|
+
silent?: boolean;
|
|
31
38
|
}
|
|
32
39
|
//# sourceMappingURL=i-data-ability-params.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-data-ability-params.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-data-ability-params/i-data-ability-params.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"i-data-ability-params.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-data-ability-params/i-data-ability-params.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB"}
|
|
@@ -4,6 +4,7 @@ import { IControlState } from '../../state';
|
|
|
4
4
|
import { IController } from '../i.controller';
|
|
5
5
|
import { IViewController } from '../view/i-view.controller';
|
|
6
6
|
import { IViewLayoutPanelController } from './i-view-layout-panel.controller';
|
|
7
|
+
import { ControlLogicScheduler } from '../../../../logic-scheduler';
|
|
7
8
|
/**
|
|
8
9
|
* 部件控制器
|
|
9
10
|
* @author lxm
|
|
@@ -27,6 +28,14 @@ export interface IControlController<T extends IControl = IControl, S extends ICo
|
|
|
27
28
|
* @type {IViewLayoutPanelController}
|
|
28
29
|
*/
|
|
29
30
|
layoutPanel?: IViewLayoutPanelController;
|
|
31
|
+
/**
|
|
32
|
+
* 部件逻辑调度器
|
|
33
|
+
*
|
|
34
|
+
* @author chitanda
|
|
35
|
+
* @date 2023-11-11 10:11:16
|
|
36
|
+
* @type {ControlLogicScheduler}
|
|
37
|
+
*/
|
|
38
|
+
scheduler?: ControlLogicScheduler;
|
|
30
39
|
/**
|
|
31
40
|
* 开始加载
|
|
32
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E"}
|
|
@@ -3,6 +3,15 @@ import { IDataAbilityParams } from '../../../common';
|
|
|
3
3
|
import { IEditFormEvent } from '../../event';
|
|
4
4
|
import { IEditFormState } from '../../state';
|
|
5
5
|
import { IFormController } from './i-form.controller';
|
|
6
|
+
export interface FormSaveParams extends IDataAbilityParams {
|
|
7
|
+
/**
|
|
8
|
+
* 保存之后是否不合并后台回来的数据
|
|
9
|
+
* @author lxm
|
|
10
|
+
* @date 2023-11-11 11:28:23
|
|
11
|
+
* @type {boolean}
|
|
12
|
+
*/
|
|
13
|
+
noFillBack?: boolean;
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
16
|
* 编辑表单控制器
|
|
8
17
|
* @author lxm
|
|
@@ -25,7 +34,7 @@ export interface IEditFormController extends IFormController<IDEEditForm, IEditF
|
|
|
25
34
|
* @date 2023-05-16 12:59:03
|
|
26
35
|
* @return {*} {Promise<IData>}
|
|
27
36
|
*/
|
|
28
|
-
save(args?:
|
|
37
|
+
save(args?: FormSaveParams): Promise<IData>;
|
|
29
38
|
/**
|
|
30
39
|
* 删除表单数据
|
|
31
40
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i-edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-edit-form.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,WAAW,mBACf,SAAQ,eAAe,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC;IACpE;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"i-edit-form.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-edit-form.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBACf,SAAQ,eAAe,CAAC,WAAW,EAAE,cAAc,EAAE,cAAc,CAAC;IACpE;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhD;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE5C;;;;;;;OAOG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpD;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD"}
|