From 1735e4e0bbad0e17c37302dec83e9f4d99a7e0d1 Mon Sep 17 00:00:00 2001 From: Quicy <1728550853@qq.com> Date: Mon, 19 Jan 2026 16:57:20 +0800 Subject: [PATCH] feat: create Model --- .../components/native-select/NativeSelect.vue | 50 +++++ .../native-select/NativeSelectOptGroup.vue | 15 ++ .../native-select/NativeSelectOption.vue | 15 ++ .../ui/src/components/native-select/index.ts | 3 + .../ui/src/components/scroll-area/index.ts | 4 +- packages/ui/src/index.ts | 1 + packages/web/package.json | 1 + .../web/src/components/CreateModel/index.vue | 208 ++++++++++++++++++ .../web/src/components/DataTable/index.vue | 83 +++++++ packages/web/src/pages/login/index.vue | 2 - packages/web/src/pages/models/index.vue | 44 +++- packages/web/src/utils/request.ts | 12 +- pnpm-lock.yaml | 3 + 13 files changed, 429 insertions(+), 12 deletions(-) create mode 100644 packages/ui/src/components/native-select/NativeSelect.vue create mode 100644 packages/ui/src/components/native-select/NativeSelectOptGroup.vue create mode 100644 packages/ui/src/components/native-select/NativeSelectOption.vue create mode 100644 packages/ui/src/components/native-select/index.ts create mode 100644 packages/web/src/components/CreateModel/index.vue create mode 100644 packages/web/src/components/DataTable/index.vue diff --git a/packages/ui/src/components/native-select/NativeSelect.vue b/packages/ui/src/components/native-select/NativeSelect.vue new file mode 100644 index 00000000..70a0e8b7 --- /dev/null +++ b/packages/ui/src/components/native-select/NativeSelect.vue @@ -0,0 +1,50 @@ + + + diff --git a/packages/ui/src/components/native-select/NativeSelectOptGroup.vue b/packages/ui/src/components/native-select/NativeSelectOptGroup.vue new file mode 100644 index 00000000..c21efe10 --- /dev/null +++ b/packages/ui/src/components/native-select/NativeSelectOptGroup.vue @@ -0,0 +1,15 @@ + + + + + + diff --git a/packages/ui/src/components/native-select/NativeSelectOption.vue b/packages/ui/src/components/native-select/NativeSelectOption.vue new file mode 100644 index 00000000..d19488c1 --- /dev/null +++ b/packages/ui/src/components/native-select/NativeSelectOption.vue @@ -0,0 +1,15 @@ + + + + + + diff --git a/packages/ui/src/components/native-select/index.ts b/packages/ui/src/components/native-select/index.ts new file mode 100644 index 00000000..04e92c7e --- /dev/null +++ b/packages/ui/src/components/native-select/index.ts @@ -0,0 +1,3 @@ +export { default as NativeSelect } from "./NativeSelect.vue" +export { default as NativeSelectOptGroup } from "./NativeSelectOptGroup.vue" +export { default as NativeSelectOption } from "./NativeSelectOption.vue" diff --git a/packages/ui/src/components/scroll-area/index.ts b/packages/ui/src/components/scroll-area/index.ts index c416759c..2bd4fae5 100644 --- a/packages/ui/src/components/scroll-area/index.ts +++ b/packages/ui/src/components/scroll-area/index.ts @@ -1,2 +1,2 @@ -export { default as ScrollArea } from "./ScrollArea.vue" -export { default as ScrollBar } from "./ScrollBar.vue" +export { default as ScrollArea } from './ScrollArea.vue' +export { default as ScrollBar } from './ScrollBar.vue' diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts index a0e2cdd7..82898938 100644 --- a/packages/ui/src/index.ts +++ b/packages/ui/src/index.ts @@ -16,6 +16,7 @@ export * from './components/input/index' export * from './components/input-group/index' export * from './components/kbd/index' export * from './components/label/index' +export * from './components/native-select/index' export * from './components/radio-group/index' export * from './components/scroll-area/index' export * from './components/select/index' diff --git a/packages/web/package.json b/packages/web/package.json index 06f0da6f..ed66fb8e 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -15,6 +15,7 @@ "@memoh/ui": "workspace:*", "@pinia/colada": "^0.21.1", "@tailwindcss/vite": "^4.1.18", + "@tanstack/vue-table": "^8.21.3", "@vee-validate/zod": "^4.15.1", "axios": "^1.13.2", "dotenv": "^17.2.3", diff --git a/packages/web/src/components/CreateModel/index.vue b/packages/web/src/components/CreateModel/index.vue new file mode 100644 index 00000000..ad034394 --- /dev/null +++ b/packages/web/src/components/CreateModel/index.vue @@ -0,0 +1,208 @@ + + + \ No newline at end of file diff --git a/packages/web/src/components/DataTable/index.vue b/packages/web/src/components/DataTable/index.vue new file mode 100644 index 00000000..2b1205b0 --- /dev/null +++ b/packages/web/src/components/DataTable/index.vue @@ -0,0 +1,83 @@ + + + + \ No newline at end of file diff --git a/packages/web/src/pages/login/index.vue b/packages/web/src/pages/login/index.vue index 6a603305..8dea5b33 100644 --- a/packages/web/src/pages/login/index.vue +++ b/packages/web/src/pages/login/index.vue @@ -107,10 +107,8 @@ import { CardContent, CardFooter, Input, - Button, FormControl, - FormField, FormItem, FormLabel, diff --git a/packages/web/src/pages/models/index.vue b/packages/web/src/pages/models/index.vue index ff69061e..4ecc519e 100644 --- a/packages/web/src/pages/models/index.vue +++ b/packages/web/src/pages/models/index.vue @@ -1,5 +1,43 @@ + + \ No newline at end of file diff --git a/packages/web/src/utils/request.ts b/packages/web/src/utils/request.ts index 1174924d..234b1de4 100644 --- a/packages/web/src/utils/request.ts +++ b/packages/web/src/utils/request.ts @@ -6,13 +6,8 @@ export default (function () { const axiosInstance = axios.create({ baseURL:'http://localhost:7002/' }) - - axiosInstance.interceptors.request.use((config) => { - return config - }, (error) => Promise.reject(error)) axiosInstance.interceptors.response.use((response) => { - return response }, (error) => { if (error?.status === 401) { @@ -23,6 +18,13 @@ export default (function () { return Promise.reject(error) }) return (params: AxiosRequestConfig,isToken=true) => { + axiosInstance.interceptors.request.use((config) => { + if (isToken) { + const token = localStorage.getItem('token') + config.headers['Authorization'] =`Bearer ${token}` + } + return config + }, (error) => Promise.reject(error)) return axiosInstance(params) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f1261d4..b865a8ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -246,6 +246,9 @@ importers: '@tailwindcss/vite': specifier: ^4.1.18 version: 4.1.18(vite@7.3.0(@types/node@24.10.4)(jiti@2.6.1)(lightningcss@1.30.2)(tsx@4.21.0)) + '@tanstack/vue-table': + specifier: ^8.21.3 + version: 8.21.3(vue@3.5.26(typescript@5.9.3)) '@vee-validate/zod': specifier: ^4.15.1 version: 4.15.1(vue@3.5.26(typescript@5.9.3))(zod@4.3.5)