diff --git a/apps/web-antd/src/adapter/style.css b/apps/web-antd/src/adapter/style.css deleted file mode 100644 index 01368a928..000000000 --- a/apps/web-antd/src/adapter/style.css +++ /dev/null @@ -1,79 +0,0 @@ -/* 来自 @vben/plugins/vxe-table style.css,覆盖 vxe-table 原有的样式定义,使用 vben 的样式主题 */ -:root { - --vxe-ui-font-color: hsl(var(--foreground)); - --vxe-ui-font-primary-color: hsl(var(--primary)); - - /* --vxe-ui-font-lighten-color: #babdc0; - --vxe-ui-font-darken-color: #86898e; */ - --vxe-ui-font-disabled-color: hsl(var(--foreground) / 50%); - - /* base */ - --vxe-ui-base-popup-border-color: hsl(var(--border)); - --vxe-ui-input-disabled-color: hsl(var(--border) / 60%); - - /* --vxe-ui-base-popup-box-shadow: 0px 12px 30px 8px rgb(0 0 0 / 50%); */ - - /* layout */ - --vxe-ui-layout-background-color: hsl(var(--background)); - --vxe-ui-table-resizable-line-color: hsl(var(--heavy)); - - /* --vxe-ui-table-fixed-left-scrolling-box-shadow: 8px 0px 10px -5px hsl(var(--accent)); - --vxe-ui-table-fixed-right-scrolling-box-shadow: -8px 0px 10px -5px hsl(var(--accent)); */ - - /* input */ - --vxe-ui-input-border-color: hsl(var(--border)); - - /* --vxe-ui-input-placeholder-color: #8d9095; */ - - /* --vxe-ui-input-disabled-background-color: #262727; */ - - /* loading */ - --vxe-ui-loading-background-color: hsl(var(--overlay-content)); - - /* table */ - --vxe-ui-table-header-background-color: hsl(var(--accent)); - --vxe-ui-table-border-color: hsl(var(--border)); - --vxe-ui-table-row-hover-background-color: hsl(var(--accent-hover)); - --vxe-ui-table-row-striped-background-color: hsl(var(--accent) / 60%); - --vxe-ui-table-row-hover-striped-background-color: hsl(var(--accent)); - --vxe-ui-table-row-radio-checked-background-color: hsl(var(--accent)); - --vxe-ui-table-row-hover-radio-checked-background-color: hsl( - var(--accent-hover) - ); - --vxe-ui-table-row-checkbox-checked-background-color: hsl(var(--accent)); - --vxe-ui-table-row-hover-checkbox-checked-background-color: hsl( - var(--accent-hover) - ); - --vxe-ui-table-row-current-background-color: hsl(var(--accent)); - --vxe-ui-table-row-hover-current-background-color: hsl(var(--accent-hover)); - --vxe-ui-font-primary-tinge-color: hsl(var(--primary)); - --vxe-ui-font-primary-lighten-color: hsl(var(--primary) / 60%); - --vxe-ui-font-primary-darken-color: hsl(var(--primary)); - - /* height: auto !important; */ - - /* --vxe-ui-table-fixed-scrolling-box-shadow-color: rgb(0 0 0 / 80%); */ -} - -.vxe-tools--operate { - margin-right: 0.25rem; - margin-left: 0.75rem; -} - -.vxe-table-custom--checkbox-option:hover { - background: none !important; -} - -.vxe-toolbar { - padding: 0; -} - -.vxe-buttons--wrapper:not(:empty), -.vxe-tools--operate:not(:empty), -.vxe-tools--wrapper:not(:empty) { - padding: 0.6em 0; -} - -.vxe-tools--operate:not(:has(button)) { - margin-left: 0; -} diff --git a/apps/web-antd/src/adapter/vxe-table.ts b/apps/web-antd/src/adapter/vxe-table.ts index e28a6ae1d..96c85d129 100644 --- a/apps/web-antd/src/adapter/vxe-table.ts +++ b/apps/web-antd/src/adapter/vxe-table.ts @@ -6,7 +6,8 @@ import { h } from 'vue'; import { IconifyIcon } from '@vben/icons'; import { $te } from '@vben/locales'; import { - AsyncComponents, + AsyncVxeColumn, + AsyncVxeTable, createRequiredValidation, setupVbenVxeTable, useVbenVxeGrid, @@ -34,8 +35,6 @@ import { $t } from '#/locales'; import { useVbenForm } from './form'; -import '#/adapter/style.css'; - setupVbenVxeTable({ configVxeTable: (vxeUI) => { vxeUI.setConfig({ @@ -357,16 +356,8 @@ setupVbenVxeTable({ export { createRequiredValidation, useVbenVxeGrid }; -const [VxeTable, VxeColumn, VxeToolbar] = AsyncComponents; -export { VxeColumn, VxeTable, VxeToolbar }; +export const [VxeTable, VxeColumn] = [AsyncVxeTable, AsyncVxeColumn]; -// add by 芋艿:from https://github.com/vbenjs/vue-vben-admin/blob/main/playground/src/adapter/vxe-table.ts#L264-L270 -export type OnActionClickParams> = { - code: string; - row: T; -}; -export type OnActionClickFn> = ( - params: OnActionClickParams, -) => void; export * from '#/components/table-action'; + export type * from '@vben/plugins/vxe-table'; diff --git a/apps/web-antd/src/components/table-toolbar/index.ts b/apps/web-antd/src/components/table-toolbar/index.ts deleted file mode 100644 index 720e3224b..000000000 --- a/apps/web-antd/src/components/table-toolbar/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as TableToolbar } from './table-toolbar.vue'; diff --git a/apps/web-antd/src/components/table-toolbar/table-toolbar.vue b/apps/web-antd/src/components/table-toolbar/table-toolbar.vue deleted file mode 100644 index 738d52652..000000000 --- a/apps/web-antd/src/components/table-toolbar/table-toolbar.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - diff --git a/apps/web-antd/src/hooks/index.ts b/apps/web-antd/src/hooks/index.ts deleted file mode 100644 index 75f01b531..000000000 --- a/apps/web-antd/src/hooks/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './use-table-toolbar'; diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/data.ts b/apps/web-antd/src/views/infra/demo/demo03/erp/data.ts index 31ce2d45e..f8acac72a 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/data.ts +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/data.ts @@ -1,15 +1,12 @@ import type { VbenFormSchema } from '#/adapter/form'; -import type { OnActionClickFn, VxeTableGridOptions } from '#/adapter/vxe-table'; +import type { VxeTableGridOptions } from '#/adapter/vxe-table'; import type { Demo03StudentApi } from '#/api/infra/demo/demo03/erp'; -import { useAccess } from '@vben/access'; import { DICT_TYPE } from '@vben/constants'; import { getDictOptions } from '@vben/hooks'; import { getRangePickerDefaultProps } from '#/utils'; -const { hasAccessByCodes } = useAccess(); - /** 新增/修改的表单 */ export function useFormSchema(): VbenFormSchema[] { return [ @@ -105,9 +102,7 @@ export function useGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useGridColumns( - onActionClick?: OnActionClickFn, -): VxeTableGridOptions['columns'] { +export function useGridColumns(): VxeTableGridOptions['columns'] { return [ { type: 'checkbox', width: 40 }, { @@ -147,30 +142,10 @@ export function useGridColumns( formatter: 'formatDateTime', }, { - field: 'operation', title: '操作', - minWidth: 200, - align: 'center', + width: 280, fixed: 'right', - showOverflow: false, - cellRender: { - attrs: { - nameField: 'id', - nameTitle: '学生', - onClick: onActionClick, - }, - name: 'CellOperation', - options: [ - { - code: 'edit', - show: hasAccessByCodes(['infra:demo03-student:update']), - }, - { - code: 'delete', - show: hasAccessByCodes(['infra:demo03-student:delete']), - }, - ], - }, + slots: { default: 'actions' }, }, ]; } @@ -252,9 +227,7 @@ export function useDemo03CourseGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useDemo03CourseGridColumns( - onActionClick?: OnActionClickFn, -): VxeTableGridOptions['columns'] { +export function useDemo03CourseGridColumns(): VxeTableGridOptions['columns'] { return [ { type: 'checkbox', width: 40 }, { @@ -284,31 +257,10 @@ export function useDemo03CourseGridColumns( formatter: 'formatDateTime', }, { - field: 'operation', title: '操作', - minWidth: 200, - align: 'center', + width: 280, fixed: 'right', - - showOverflow: false, - cellRender: { - attrs: { - nameField: 'id', - nameTitle: '学生课程', - onClick: onActionClick, - }, - name: 'CellOperation', - options: [ - { - code: 'edit', - show: hasAccessByCodes(['infra:demo03-student:update']), - }, - { - code: 'delete', - show: hasAccessByCodes(['infra:demo03-student:delete']), - }, - ], - }, + slots: { default: 'actions' }, }, ]; } @@ -390,9 +342,7 @@ export function useDemo03GradeGridFormSchema(): VbenFormSchema[] { } /** 列表的字段 */ -export function useDemo03GradeGridColumns( - onActionClick?: OnActionClickFn, -): VxeTableGridOptions['columns'] { +export function useDemo03GradeGridColumns(): VxeTableGridOptions['columns'] { return [ { type: 'checkbox', width: 40 }, { @@ -422,31 +372,10 @@ export function useDemo03GradeGridColumns( formatter: 'formatDateTime', }, { - field: 'operation', title: '操作', - minWidth: 200, - align: 'center', + width: 280, fixed: 'right', - - showOverflow: false, - cellRender: { - attrs: { - nameField: 'id', - nameTitle: '学生班级', - onClick: onActionClick, - }, - name: 'CellOperation', - options: [ - { - code: 'edit', - show: hasAccessByCodes(['infra:demo03-student:update']), - }, - { - code: 'delete', - show: hasAccessByCodes(['infra:demo03-student:delete']), - }, - ], - }, + slots: { default: 'actions' }, }, ]; } diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue index 8700e9511..973697494 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue @@ -1,8 +1,5 @@