diff --git a/packages/pro-table/package.json b/packages/pro-table/package.json index b25bc619..2ed3e5ea 100644 --- a/packages/pro-table/package.json +++ b/packages/pro-table/package.json @@ -1,6 +1,6 @@ { - "name": "@ant-design-vue/pro-table", - "version": "0.0.1", + "name": "pro-table-ant-design-vue", + "version": "0.0.9", "scripts": { "dev": "vite", "build": "vue-tsc --noEmit && vite build", @@ -17,28 +17,27 @@ ], "types": "./dist", "style": "./dist/style.css", - "main": "./dist/pro-table.umd.js", - "module": "./dist/pro-table.es.js", + "main": "./dist/pro-table-ant-design-vue.umd.js", + "module": "./dist/pro-table-ant-design-vue.es.js", "exports": { ".": { - "import": "./dist/pro-table.es.js", - "require": "./dist/pro-table.umd.js" + "import": "./dist/pro-table-ant-design-vue.es.js", + "require": "./dist/pro-table-ant-design-vue.umd.js" }, "./dist/style.css": "./dist/style.css", "./dist/style.less": "./dist/style.less" }, "dependencies": { "@ant-design/icons-vue": "^6.1.0", - "@ant-design-vue/pro-form": "workspace:^0.1.1", - "@ant-design-vue/pro-utils": "workspace:^0.0.0", + "@ant-design-vue/pro-form": "^0.1.1", "lodash-es": "^4.17.21", "screenfull": "^6.0.2" }, "devDependencies": { - "@ant-design-vue/pro-layout": "workspace:^3.2.3", + "@ant-design-vue/pro-layout": "^3.2.3", "@rollup/plugin-typescript": "^8.3.2", "@rushstack/eslint-patch": "^1.1.3", - "@shared/vite-plugin-less-copy": "workspace:^0.0.0", + "@shared/vite-plugin-less-copy": "^0.0.0", "@types/jsdom": "^16.2.14", "@types/lodash-es": "^4.17.6", "@types/node": "^16.11.27", diff --git a/packages/pro-table/src/components/Form/index.tsx b/packages/pro-table/src/components/Form/index.tsx index 096f1097..5f18c192 100644 --- a/packages/pro-table/src/components/Form/index.tsx +++ b/packages/pro-table/src/components/Form/index.tsx @@ -1,6 +1,6 @@ import { defineComponent, reactive, computed, toRaw, type PropType } from 'vue'; import { useSharedContext } from '../../shared/Context'; -import { QueryFilter, queryFilterProps, ProFormText } from '@ant-design-vue/pro-form'; +import { QueryFilter, queryFilterProps, ProFormText, ProFormDatePicker, ProFormSelect } from '@ant-design-vue/pro-form'; import type { ProColumnsType, ProColumnType } from '../../typings'; import './index.less'; @@ -8,7 +8,7 @@ import './index.less'; type RecordType = Record; const filterSeatchColumns = (columns: ProColumnsType = []) => - columns.filter(column => column.search).map(column => column as ProColumnType); + columns.filter((column) => column.search).map((column) => column as ProColumnType); const searchFormProps = { ...queryFilterProps, @@ -32,15 +32,36 @@ const SearchForm = defineComponent({ return () => { if (searchColumns.value.length === 0) return null; - const formFields = searchColumns.value.map(column => ( - - )); + const formFields = searchColumns.value.map((column: any) => { + if (column.valueType === 'select') { + return ( + { + return { + label: item[1].text, + icon: item[1].icon, + value: item[0], + }; + })} + /> + ); + } else if (column.valueType === 'date') { + return ; + } else { + return ( + + ); + } + }); const onFinish = (model: Record) => { emit('finish', toRaw(model)); @@ -48,7 +69,7 @@ const SearchForm = defineComponent({ return (
- + {...formFields}
diff --git a/packages/pro-table/src/typings.ts b/packages/pro-table/src/typings.ts index 7e2184ea..073b3af0 100644 --- a/packages/pro-table/src/typings.ts +++ b/packages/pro-table/src/typings.ts @@ -23,7 +23,7 @@ export declare type FixedType = 'left' | 'right' | boolean; export declare type DataIndex = string | number | readonly (string | number)[]; export type ProColumnType = ColumnType & { - valueType?: 'index' | 'indexBorder' | 'text' | 'select'; + valueType?: 'index' | 'indexBorder' | 'text' | 'select' | 'date'; search?: boolean; };