From e103c32b7be56546943934aa24da6985096d8a9b Mon Sep 17 00:00:00 2001 From: zhf <1204297681@qq.com> Date: Wed, 14 May 2025 20:25:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=9E=E6=8E=A5=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=92=8C=E8=A1=A8=E5=8D=95=E9=A1=B9=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E8=A1=A5=E5=85=85=E6=8E=92=E5=BA=8F=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/psdellcond/psdellcond.service.ts | 31 +++++++++++ .../pswflinkcond/pswflinkcond.service.ts | 31 +++++++++++ .../psdefdlogic/psdefdlogic.service.ts | 52 +++++++++++++++++++ 3 files changed, 114 insertions(+) diff --git a/packages/antv-x6-design/src/service/psdellcond/psdellcond.service.ts b/packages/antv-x6-design/src/service/psdellcond/psdellcond.service.ts index 72df7b03..a1881ab3 100644 --- a/packages/antv-x6-design/src/service/psdellcond/psdellcond.service.ts +++ b/packages/antv-x6-design/src/service/psdellcond/psdellcond.service.ts @@ -1,6 +1,7 @@ import { DEService, IAppService, IDataEntity } from '@ibiz-template/runtime'; import { IAppDataEntity, ICodeItem } from '@ibiz/model-core'; import { IHttpResponse } from '@ibiz-template/core'; +import { generateOrderValue } from 'qx-util'; import { PSDellCond } from '../../entity'; /** @@ -71,12 +72,42 @@ export class PSDellCondService extends DEService { } } + /** + * @description 填充默认数据 + * @protected + * @param {IContext} context + * @param {(IData | IData[])} params + * @returns {*} {Promise} + * @memberof PSDellCondService + */ + protected async fillDefault( + context: IContext, + params: IData | IData[], + ): Promise { + const res = await this.fetchDefault(context); + if (res && res.ok && Array.isArray(res.data)) { + const orderValue = Math.max( + ...res.data.map(item => item.ordervalue || 0), + 0, + ); + const items = Array.isArray(params) ? params : [params]; + items.forEach((item, i) => { + if (item.ordervalue == null) { + item.ordervalue = orderValue + generateOrderValue(i); + } + }); + } + } + async exec( id: string, context: IContext, params?: IData | IData[], params2?: IParams, ): Promise> { + if (id === 'create' && params) { + await this.fillDefault(context, params); + } const result = await super.exec(id, context, params, params2); if (id === 'create' || id === 'remove') { await this.updateLogicLinkCount(context); diff --git a/packages/antv-x6-design/src/service/pswflinkcond/pswflinkcond.service.ts b/packages/antv-x6-design/src/service/pswflinkcond/pswflinkcond.service.ts index 37fa52c5..51167a79 100644 --- a/packages/antv-x6-design/src/service/pswflinkcond/pswflinkcond.service.ts +++ b/packages/antv-x6-design/src/service/pswflinkcond/pswflinkcond.service.ts @@ -1,6 +1,7 @@ import { DEService, IAppService, IDataEntity } from '@ibiz-template/runtime'; import { IAppDataEntity, ICodeItem } from '@ibiz/model-core'; import { IHttpResponse } from '@ibiz-template/core'; +import { generateOrderValue } from 'qx-util'; import { PSWFLinkCond } from '../../entity'; /** @@ -71,12 +72,42 @@ export class PSWFLinkCondService extends DEService { } } + /** + * @description 填充默认数据 + * @protected + * @param {IContext} context + * @param {(IData | IData[])} params + * @returns {*} {Promise} + * @memberof PSWFLinkCondService + */ + protected async fillDefault( + context: IContext, + params: IData | IData[], + ): Promise { + const res = await this.fetchDefault(context); + if (res && res.ok && Array.isArray(res.data)) { + const orderValue = Math.max( + ...res.data.map(item => item.ordervalue || 0), + 0, + ); + const items = Array.isArray(params) ? params : [params]; + items.forEach((item, i) => { + if (item.ordervalue == null) { + item.ordervalue = orderValue + generateOrderValue(i); + } + }); + } + } + async exec( id: string, context: IContext, params?: IData | IData[], params2?: IParams, ): Promise> { + if (id === 'create' && params) { + await this.fillDefault(context, params); + } const result = await super.exec(id, context, params, params2); if (id === 'create' || id === 'remove') { await this.updateLogicLinkCount(context); diff --git a/packages/dnd-design/src/service/psdefdlogic/psdefdlogic.service.ts b/packages/dnd-design/src/service/psdefdlogic/psdefdlogic.service.ts index c03f8e7f..22743e46 100644 --- a/packages/dnd-design/src/service/psdefdlogic/psdefdlogic.service.ts +++ b/packages/dnd-design/src/service/psdefdlogic/psdefdlogic.service.ts @@ -1,5 +1,7 @@ import { DEService, IDataEntity } from '@ibiz-template/runtime'; import { IAppDataEntity, ICodeItem } from '@ibiz/model-core'; +import { IHttpResponse } from '@ibiz-template/core'; +import { generateOrderValue } from 'qx-util'; import { PSDEFDLogic } from '../../entity'; /** @@ -35,4 +37,54 @@ export class PSDEFDLogicService extends DEService { } return new PSDEFDLogic(this.model, data, this.typeCodeItems); } + + /** + * @description 填充默认数据 + * @protected + * @param {IContext} context + * @param {(IData | IData[])} params + * @returns {*} {Promise} + * @memberof PSDEFDLogicService + */ + protected async fillDefault( + context: IContext, + params: IData | IData[], + ): Promise { + const res = await this.fetchDefault(context); + if (res && res.ok && Array.isArray(res.data)) { + const orderValue = Math.max( + ...res.data.map(item => item.ordervalue || 0), + 0, + ); + const items = Array.isArray(params) ? params : [params]; + items.forEach((item, i) => { + if (item.ordervalue == null) { + item.ordervalue = orderValue + generateOrderValue(i); + } + }); + } + } + + /** + * @description 执行服务方法 + * @param {string} id + * @param {IContext} context + * @param {(IData | IData[])} [params] + * @param {IParams} [params2] + * @param {IData} [header] + * @returns {*} {Promise>} + * @memberof PSDEFDLogicService + */ + async exec( + id: string, + context: IContext, + params?: IData | IData[], + params2?: IParams, + header?: IData, + ): Promise> { + if (id === 'create' && params) { + await this.fillDefault(context, params); + } + return super.exec(id, context, params, params2, header); + } } -- Gitee