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() {
-
+
-
-
+
+
+
+
+
+
+ {{ $t('common.add') }}
+
+
+
+
+
+
+ {{ $t('common.batchDelete') }}
+
+
+
-
+
- {{ $t('common.add') }}
+ {{ $t('common.refresh') }}
-
-
-
-
-
-
- {{ $t('common.batchDelete') }}
-
-
- {{ $t('common.confirmDelete') }}
-
-
-
-
-
-
- {{ $t('common.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 @@
-
+