From 8eeb624ea2b4d94823350070ea32c46d20a0d75f Mon Sep 17 00:00:00 2001 From: timerzz Date: Tue, 27 Aug 2024 14:26:41 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=B7=BB=E5=8A=A0=E4=BE=9B=E5=BA=94?= =?UTF-8?q?=E5=95=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bun.lockb | Bin 109838 -> 110190 bytes package.json | 1 + src/api/product.js | 8 +- src/api/provider.js | 25 ++++ src/api/utils.js | 7 + src/routers/index.js | 5 + src/views/Provider/index.vue | 248 +++++++++++++++++++++++++++++++++++ src/views/layout/Aside.vue | 8 +- vite.config.js | 17 ++- 9 files changed, 306 insertions(+), 13 deletions(-) create mode 100644 src/api/provider.js create mode 100644 src/api/utils.js create mode 100644 src/views/Provider/index.vue diff --git a/bun.lockb b/bun.lockb index c08fb62e4c380c107fce41944ff167a69ca9d442..e35e8a4f102abd268b907437b40ced1d130c198c 100644 GIT binary patch delta 16847 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 delta 16823 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 RBe`~@Xtb{?T^tzse*gye&5i&7 diff --git a/package.json b/package.json index d3ec56a..a75ea70 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "dependencies": { "@ant-design/icons-vue": "^7.0.1", "ant-design-vue": "4.x", + "dayjs": "^1.11.13", "mande": "^2.0.8", "moment": "^2.30.1", "radash": "^12.1.0", diff --git a/src/api/product.js b/src/api/product.js index e350c5b..5552c2d 100644 --- a/src/api/product.js +++ b/src/api/product.js @@ -1,14 +1,8 @@ import {mande} from "mande"; +import {queryRemoveZero} from "@/api/utils.js"; const product = mande('/api/v1/products') -const queryRemoveZero = (query)=>{ - let q = {} - Object.keys(query).forEach(key => { - query[key] === 'undefined' || query[key] === null || query[key] === '' || (q[key] = query[key]) - }) - return q -} export const ListProducts = (query) => { const q = queryRemoveZero(query) return product.get({query:q}) diff --git a/src/api/provider.js b/src/api/provider.js new file mode 100644 index 0000000..7eba9fd --- /dev/null +++ b/src/api/provider.js @@ -0,0 +1,25 @@ +import {mande} from "mande"; +import {queryRemoveZero} from "@/api/utils.js"; + +const product = mande('/api/v2/providers') + +export const ListProviders = (q) => { + const query = queryRemoveZero(q) + return product.get({query}) +} + +export const CreateProvider = (provider)=>{ + return product.post(provider) +} + +export const UpdateProvider = (provider)=>{ + return product.put(provider) +} + +export const GetProvider = (id) =>{ + return product.get(`/${id}`) +} + +export const DeleteProvider = (id)=>{ + return product.delete(`/${id}`) +} \ No newline at end of file diff --git a/src/api/utils.js b/src/api/utils.js new file mode 100644 index 0000000..b054395 --- /dev/null +++ b/src/api/utils.js @@ -0,0 +1,7 @@ +export const queryRemoveZero = (query)=>{ + let q = {} + Object.keys(query).forEach(key => { + query[key] === 'undefined' || query[key] === null || query[key] === '' || (q[key] = query[key]) + }) + return q +} \ No newline at end of file diff --git a/src/routers/index.js b/src/routers/index.js index 8688c6c..9c5f6e9 100644 --- a/src/routers/index.js +++ b/src/routers/index.js @@ -30,6 +30,11 @@ const routes = [ name: 'pusher', component: ()=>import('@/views/Pusher/index.vue') }, + { + path: '/provider', + name: 'provider', + component: ()=>import('@/views/Provider/index.vue') + } ] const router = createRouter({ diff --git a/src/views/Provider/index.vue b/src/views/Provider/index.vue new file mode 100644 index 0000000..0beaeee --- /dev/null +++ b/src/views/Provider/index.vue @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file diff --git a/src/views/layout/Aside.vue b/src/views/layout/Aside.vue index 6c7573e..938709b 100644 --- a/src/views/layout/Aside.vue +++ b/src/views/layout/Aside.vue @@ -8,7 +8,7 @@ >