From 8e413a9eff2896abd50270551f7fa54e0d149a00 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Fri, 5 Jul 2024 19:01:43 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=20=E4=BC=98=E5=8C=96=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E8=A7=86=E5=9B=BE=E5=8F=98=E6=9B=B4=E5=BD=93=E5=89=8D=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E6=95=B0=E6=8D=AE=E9=80=BB=E8=BE=91=EF=BC=88?= =?UTF-8?q?=E4=B8=8A=E4=B8=80=E6=9D=A1=EF=BC=8C=E4=B8=8B=E4=B8=80=E6=9D=A1?= =?UTF-8?q?=E7=AD=89=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view-engine/edit-view.engine.ts | 33 ++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/view-engine/edit-view.engine.ts b/src/view-engine/edit-view.engine.ts index f12f013c..81b4015f 100644 --- a/src/view-engine/edit-view.engine.ts +++ b/src/view-engine/edit-view.engine.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-case-declarations */ import { RuntimeError, IMarkOpenData } from '@ibiz-template/core'; import { ViewEngineBase, @@ -563,32 +564,44 @@ export class EditViewEngine extends ViewEngineBase { let targetItem: IData | undefined; switch (type) { case SysUIActionTag.FIRST_RECORD: - if (index === 0) { + const data1 = (await view.call(ViewCallTag.TO_FIRST_PAGE)) as IData[]; + if (data1.length === 0) { ibiz.message.info(ibiz.i18n.t('viewEngine.firstPieceOfData')); return; } - targetItem = items[0]; + targetItem = data1[0]; break; case SysUIActionTag.LAST_RECORD: - if (index === items.length - 1) { + const data2 = (await view.call(ViewCallTag.TO_LAST_PAGE)) as IData[]; + if (data2.length === 0) { ibiz.message.info(ibiz.i18n.t('viewEngine.lastPieceOfData')); return; } - targetItem = items[items.length - 1]; + targetItem = data2[data2.length - 1]; break; case SysUIActionTag.PREV_RECORD: if (index === 0) { - ibiz.message.info(ibiz.i18n.t('viewEngine.firstPieceOfData')); - return; + const data3 = (await view.call(ViewCallTag.PRE_PAGE)) as IData[]; + if (data3.length === 0) { + ibiz.message.info(ibiz.i18n.t('viewEngine.firstPieceOfData')); + return; + } + targetItem = data3[data3.length - 1]; + } else { + targetItem = items[index - 1]; } - targetItem = items[index - 1]; break; case SysUIActionTag.NEXT_RECORD: if (index === items.length - 1) { - ibiz.message.info(ibiz.i18n.t('viewEngine.lastPieceOfData')); - return; + const data4 = (await view.call(ViewCallTag.NEXT_PAGE)) as IData[]; + if (data4.length === 0) { + ibiz.message.info(ibiz.i18n.t('viewEngine.lastPieceOfData')); + return; + } + targetItem = data4[0]; + } else { + targetItem = items[index + 1]; } - targetItem = items[index + 1]; break; default: break; -- Gitee