From 9baf321254a10345f3bcc116f91b8c406a50a303 Mon Sep 17 00:00:00 2001 From: yuping <82253452@qq.com> Date: Fri, 23 Dec 2022 15:07:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?--=20=E6=8E=88=E8=AF=BE=E6=95=99=E5=B8=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/request.js | 40 ++++++++++-- src/components/project/ProjectManagerNew.vue | 64 ++++++-------------- 2 files changed, 56 insertions(+), 48 deletions(-) diff --git a/src/api/request.js b/src/api/request.js index acac32b1..9cc44508 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -1,5 +1,5 @@ import {reactive, ref, toRefs, watch} from "vue"; -import {getCookieForName} from "@/api/method"; +import {getCookieForName, throttle} from "@/api/method"; import JSONBigInt from 'json-bigint'; const JSONBigIntStr = JSONBigInt({storeAsString: true}); @@ -21,11 +21,8 @@ export function useBoeApiPage(_url, params = {}, config = { }) function fetch() { - console.log('params', params) state.loading = true return request(_url, params).then(r => { - console.log(2222222222222) - console.log(r) state.data = config.result(r) state.totalPage = config.totalPage(r) state.total = config.total(r) @@ -69,6 +66,41 @@ export function useBoeApi(_url, params = {}, config = { }; } +export function useBoeUserListPage(_url, params = {}, init = true) { + + const state = reactive({ + data: [], + loading: false, + total: 0, + totalPage: 0, + page: 1, + ...params + }) + + watch(() => params.keyWord, throttle(fetch, 600)) + watch(() => params.page, fetch) + + function fetch() { + state.loading = true + if (!params.keyWord) { + state.loading = false + return + } + return request(_url, params).then(r => { + state.data = params.page === 1 ? r.result.userInfoList : [...state.data, ...r.result.userInfoList] + state.totalPage = r.result.totalPage + state.total = r.result.totalElement + state.loading = false + }) + } + + init && fetch() + return { + ...toRefs(state), + fetch, + }; +} + export function usePage(_url, params = {}, init = true) { const state = reactive({ diff --git a/src/components/project/ProjectManagerNew.vue b/src/components/project/ProjectManagerNew.vue index afa0baf1..e33bc8bd 100644 --- a/src/components/project/ProjectManagerNew.vue +++ b/src/components/project/ProjectManagerNew.vue @@ -28,8 +28,8 @@