diff --git a/.env.test b/.env.test index e578329..98f1da8 100644 --- a/.env.test +++ b/.env.test @@ -1,5 +1,5 @@ # backend service base url, test environment -VITE_SERVICE_BASE_URL=http://192.168.1.36:9527 +VITE_SERVICE_BASE_URL=http://192.168.1.36:9528 # other backend service base url, test environment VITE_OTHER_SERVICE_BASE_URL= `{}` diff --git a/src/components/advanced/table-header-operation.vue b/src/components/advanced/table-header-operation.vue index 7ca287f..e8bfd10 100644 --- a/src/components/advanced/table-header-operation.vue +++ b/src/components/advanced/table-header-operation.vue @@ -39,34 +39,32 @@ function refresh() { diff --git a/src/components/table/index.ts b/src/components/table/index.ts index 6b5c973..0181b1b 100644 --- a/src/components/table/index.ts +++ b/src/components/table/index.ts @@ -1,3 +1,4 @@ +import type { Component, VNode } from 'vue'; import { h } from 'vue'; import type { ButtonProps, DataTableColumn, DataTableColumns } from 'naive-ui'; import { NButton, NSpace } from 'naive-ui'; @@ -24,12 +25,27 @@ export interface Pagination { [key: string]: any; } -export type TableFetchData = (page: Pagination) => ReturnType; +export type TableFetchData = (query: { + pagination: Pagination; + filter?: Record; +}) => ReturnType; + +export type TableFilterColumn = { + key: string; + title: string; + component?: Component | VNode; + componentProps?: Record; +}; + +export type TableFilterColumns = Array; export function transformColumns(columns: TableBaseColumns): DataTableColumns { return columns.map(col => { return { ...col, + ellipsis: { + tooltip: true + }, render: col.operations ? (row: T) => h(NSpace, null, { diff --git a/src/components/table/table-base.vue b/src/components/table/table-base.vue index 2f4eab6..a01bfe5 100644 --- a/src/components/table/table-base.vue +++ b/src/components/table/table-base.vue @@ -1,12 +1,25 @@ + + + + diff --git a/src/typings/components.d.ts b/src/typings/components.d.ts index f7f7fe8..170cc05 100644 --- a/src/typings/components.d.ts +++ b/src/typings/components.d.ts @@ -91,6 +91,7 @@ declare module 'vue' { SystemLogo: typeof import('./../components/common/system-logo.vue')['default'] TableBase: typeof import('./../components/table/table-base.vue')['default'] TableColumnSetting: typeof import('./../components/advanced/table-column-setting.vue')['default'] + TableFilter: typeof import('./../components/table/table-filter.vue')['default'] TableHeaderOperation: typeof import('./../components/advanced/table-header-operation.vue')['default'] ThemeSchemaSwitch: typeof import('./../components/common/theme-schema-switch.vue')['default'] WaveBg: typeof import('./../components/custom/wave-bg.vue')['default'] @@ -178,6 +179,7 @@ declare global { const SystemLogo: typeof import('./../components/common/system-logo.vue')['default'] const TableBase: typeof import('./../components/table/table-base.vue')['default'] const TableColumnSetting: typeof import('./../components/advanced/table-column-setting.vue')['default'] + const TableFilter: typeof import('./../components/table/table-filter.vue')['default'] const TableHeaderOperation: typeof import('./../components/advanced/table-header-operation.vue')['default'] const ThemeSchemaSwitch: typeof import('./../components/common/theme-schema-switch.vue')['default'] const WaveBg: typeof import('./../components/custom/wave-bg.vue')['default'] diff --git a/src/views/rwa/product/index.vue b/src/views/rwa/product/index.vue index 71b6a26..72dbb28 100644 --- a/src/views/rwa/product/index.vue +++ b/src/views/rwa/product/index.vue @@ -1,18 +1,20 @@