From 0e3d3af66af12687d0b57b1db1c5ebc879b8fc1a Mon Sep 17 00:00:00 2001 From: puhui999 Date: Wed, 16 Apr 2025 15:24:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=87=8D=E6=96=B0=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=8D=95=E8=A1=A8=E5=92=8C=E6=A0=91=E8=A1=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/infra/demo/demo01/data.ts | 13 +++++---- .../src/views/infra/demo/demo01/index.vue | 27 ++++++++++++------- .../views/infra/demo/demo01/modules/form.vue | 26 +++++++++++------- .../src/views/infra/demo/demo02/data.ts | 7 ++--- .../src/views/infra/demo/demo02/index.vue | 23 ++++++++-------- .../views/infra/demo/demo02/modules/form.vue | 21 ++++----------- 6 files changed, 63 insertions(+), 54 deletions(-) diff --git a/apps/web-antd/src/views/infra/demo/demo01/data.ts b/apps/web-antd/src/views/infra/demo/demo01/data.ts index e1f1eeb25..95dd37fde 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/data.ts +++ b/apps/web-antd/src/views/infra/demo/demo01/data.ts @@ -1,6 +1,7 @@ import type { VbenFormSchema } from '#/adapter/form'; -import type { OnActionClickFn, VxeTableGridOptions } from '#/adapter/vxe-table'; +import type { OnActionClickFn } from '#/adapter/vxe-table'; import type { Demo01ContactApi } from '#/api/infra/demo/demo01'; +import type { VxeTableGridOptions } from '@vben/plugins/vxe-table'; import { getRangePickerDefaultProps } from '#/utils/date'; import { DICT_TYPE, getDictOptions } from '#/utils/dict'; @@ -105,9 +106,9 @@ export function useGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useGridColumns( - onActionClick: OnActionClickFn, -): VxeTableGridOptions['columns'] { +export function useGridColumns( + onActionClick?: OnActionClickFn, +): VxeTableGridOptions['columns'] { return [ { field: 'id', @@ -153,9 +154,11 @@ export function useGridColumns( { field: 'operation', title: '操作', - minWidth: 180, + minWidth: 200, align: 'center', fixed: 'right', + headerAlign: 'center', + showOverflow: false, cellRender: { attrs: { nameField: 'id', diff --git a/apps/web-antd/src/views/infra/demo/demo01/index.vue b/apps/web-antd/src/views/infra/demo/demo01/index.vue index 92e307080..6b36142e2 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -11,6 +11,7 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteDemo01Contact, exportDemo01Contact, getDemo01ContactPage } from '#/api/infra/demo/demo01'; import { $t } from '#/locales'; import { downloadByData } from '#/utils/download'; +import { h } from 'vue'; import { useGridColumns, useGridFormSchema } from './data'; @@ -62,14 +63,14 @@ async function onDelete(row: Demo01ContactApi.Demo01Contact) { /** 表格操作按钮的回调函数 */ function onActionClick({ code, row }: OnActionClickParams) { switch (code) { - case 'edit': { - onEdit(row); - break; - } case 'delete': { onDelete(row); break; } + case 'edit': { + onEdit(row); + break; + } } } @@ -80,7 +81,9 @@ const [Grid, gridApi] = useVbenVxeGrid({ gridOptions: { columns: useGridColumns(onActionClick), height: 'auto', - keepSource: true, + pagerConfig: { + enabled: true, + }, proxyConfig: { ajax: { query: async ({ page }, formValues) => { @@ -94,6 +97,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, rowConfig: { keyField: 'id', + isHover: true, }, toolbarConfig: { refresh: { code: 'query' }, @@ -106,14 +110,19 @@ const [Grid, gridApi] = useVbenVxeGrid({