From 000db018343aef57f821863b6aa5bea9da8fa934 Mon Sep 17 00:00:00 2001 From: yuping <82253452@qq.com> Date: Tue, 31 Jan 2023 01:45:35 +0800 Subject: [PATCH] =?UTF-8?q?--fix=20=E6=9D=83=E9=99=90=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/apis.js | 1 + src/api/request.js | 94 ++- src/components/project/OrgClass.vue | 4 +- src/components/student/CommonStudent.vue | 8 +- src/components/student/TableModelStudent.vue | 460 +++++++++++ src/components/student/TableStudent.vue | 74 +- src/views/courselibrary/CoursewareManage.vue | 758 ++----------------- src/views/learningpath/LearningPath.vue | 54 +- src/views/learningpath/LevelAdd.vue | 56 +- src/views/projectcenter/ProjectManage.vue | 70 +- src/views/projectcenter/TaskPage.vue | 28 +- 11 files changed, 647 insertions(+), 960 deletions(-) create mode 100644 src/api/apis.js create mode 100644 src/components/student/TableModelStudent.vue diff --git a/src/api/apis.js b/src/api/apis.js new file mode 100644 index 00000000..ef3088b2 --- /dev/null +++ b/src/api/apis.js @@ -0,0 +1 @@ +export const STUDENT_LIST = '/admin/student/getStudent' \ No newline at end of file diff --git a/src/api/request.js b/src/api/request.js index 54b97d64..707aba9f 100644 --- a/src/api/request.js +++ b/src/api/request.js @@ -1,4 +1,4 @@ -import {reactive, ref, toRefs, watch} from "vue"; +import {isRef, reactive, ref, toRefs, unref, watch, watchEffect} from "vue"; import {getCookieForName, throttle} from "@/api/method"; import JSONBigInt from 'json-bigint'; @@ -22,7 +22,7 @@ export function useBoeApiPage(_url, params = {}, config = { function fetch() { state.loading = true - return request(_url, params).then(r => { + return boeRequest(_url, params).then(r => { state.data = config.result(r) state.totalPage = config.totalPage(r) state.total = config.total(r) @@ -62,7 +62,7 @@ export function useBoeApi(_url, params = {}, config = { function fetch() { state.loading = true - return request(_url, params).then(r => { + return boeRequest(_url, params).then(r => { state.data = config.result(r) state.loading = false }) @@ -95,7 +95,7 @@ export function useBoeUserListPage(_url, params = {}, init = true) { state.loading = false return } - return request(_url, params).then(r => { + return boeRequest(_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 @@ -110,31 +110,48 @@ export function useBoeUserListPage(_url, params = {}, init = true) { }; } -export function usePage(_url, params = {}, init = true) { +export function usePage(_url, params, init = true) { const state = reactive({ data: [], + total:1, + current:1, + pages:1, loading: false }) - watch(params, () => { - fetch() - }) + if (isRef(params)) { + watch(params, () => { + fetch() + }) + } + + function reset(){ + state.data = [] + state.loading = false + } function fetch() { state.loading = true - return request(_url, params).then(r => { - console.log('fetch') - console.log(r) - state.data = r.result + return request(unref(_url), unref(params)).then(r => { + state.data = r.data.records + state.current = r.data.current + state.pages = r.data.pages + state.total = r.data.total state.loading = false }) } - init && fetch() + if (isRef(_url)) { + watchEffect(fetch) + } else { + init && fetch() + } + return { ...toRefs(state), fetch, + reset, }; } @@ -163,7 +180,7 @@ export function useRequest(_url, params = {}, init = true) { }; } -export async function request(_url, params) { +export async function boeRequest(_url, params) { const s = _url.split(' ') let url = s[0] const method = s[1]?.toLowerCase() || 'get' @@ -193,23 +210,34 @@ export async function request(_url, params) { }).then(res => { return JSONBigIntStr.parse(res) }) - // return axios({ - // url, - // method, - // headers: { - // token: getCookie('token'), - // ...method !== 'get' ? {'Content-Type': 'application/json'} : {} - // }, - // baseURL: '', - // ...method !== 'get' ? {data: JSON.stringify(body)} : {} - // }).then(resp => { - // return resp.data - // }).then(response => { - // console.log(response) - // return response - // }).catch(e => { - // console.log(2222) - // console.log(e) - // // router.push({path: '/login'}) - // }) +} + +export async function request(_url, params) { + const s = _url.split(' ') + let url = s[0] + const method = s[1]?.toLowerCase() || 'get' + if (method === 'get') { + let paramsArray = []; + if (params) { + Object.keys(params).forEach(key => paramsArray.push(key + '=' + params[key])) + if (url.search(/\?/) === -1) { + url += '?' + paramsArray.join('&') + } else { + url += '&' + paramsArray.join('&') + } + } + } + const body = method !== 'get' ? params || {} : {} + return fetch(process.env.VUE_APP_BASE_API + url, { + method, + headers: { + token: getCookieForName('token'), + ...method !== 'get' ? {'Content-Type': 'application/json'} : {} + }, + ...method !== 'get' ? {body: JSON.stringify(body)} : {} + }).then(res => { + return res.text() + }).then(res => { + return JSONBigIntStr.parse(res) + }) } \ No newline at end of file diff --git a/src/components/project/OrgClass.vue b/src/components/project/OrgClass.vue index 5d676227..31f207cd 100644 --- a/src/components/project/OrgClass.vue +++ b/src/components/project/OrgClass.vue @@ -28,7 +28,7 @@ + \ No newline at end of file diff --git a/src/components/student/TableStudent.vue b/src/components/student/TableStudent.vue index 5d8481fe..a0fbdc66 100644 --- a/src/components/student/TableStudent.vue +++ b/src/components/student/TableStudent.vue @@ -214,50 +214,13 @@ 调整 --> - - - - - - -
- 通过 -
-
- -
- 拒绝 -
-
- -
- 删除 -
-
-
+ + + 换组 + 通过 + 拒绝 + 删除 + @@ -366,11 +329,11 @@ />