
diff --git a/package.json b/package.json
index f4d4f28..367fe90 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"preinstall": "node ./scripts/preinstall.js"
},
"dependencies": {
+ "@ant-design/icons-vue": "^7.0.1",
"@element-plus/icons-vue": "^2.3.1",
"axios": "^1.6.8",
"echarts": "5.3.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 557beaa..085ad97 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,6 +1,9 @@
lockfileVersion: '6.0'
dependencies:
+ '@ant-design/icons-vue':
+ specifier: ^7.0.1
+ version: 7.0.1(vue@3.4.21)
'@element-plus/icons-vue':
specifier: ^2.3.1
version: 2.3.1(vue@3.4.21)
@@ -131,6 +134,26 @@ packages:
'@jridgewell/trace-mapping': 0.3.25
dev: true
+ /@ant-design/colors@6.0.0:
+ resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==}
+ dependencies:
+ '@ctrl/tinycolor': 3.6.1
+ dev: false
+
+ /@ant-design/icons-svg@4.4.2:
+ resolution: {integrity: sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==}
+ dev: false
+
+ /@ant-design/icons-vue@7.0.1(vue@3.4.21):
+ resolution: {integrity: sha512-eCqY2unfZK6Fe02AwFlDHLfoyEFreP6rBwAZMIJ1LugmfMiVgwWDYlp1YsRugaPtICYOabV1iWxXdP12u9U43Q==}
+ peerDependencies:
+ vue: '>=3.0.3'
+ dependencies:
+ '@ant-design/colors': 6.0.0
+ '@ant-design/icons-svg': 4.4.2
+ vue: 3.4.21(typescript@5.2.2)
+ dev: false
+
/@babel/code-frame@7.24.7:
resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
engines: {node: '>=6.9.0'}
diff --git a/src/api/person.ts b/src/api/person.ts
index 27ad773..97db75a 100644
--- a/src/api/person.ts
+++ b/src/api/person.ts
@@ -1,37 +1,58 @@
-import request from '@/utils/requset'
-function f(callback: Function) {
- return (...arg: any[]) => {
- return new Promise((resolve, reject) => {
- callback(...arg).then((res: any) => {
- if (res.code >= 200 && res.code < 300) resolve(res)
- else reject(res)
- }).catch(reject);
- })
+import req1 from '@/utils/requset';
+import { AxiosInstance } from 'axios';
+function copyRequest(req1: AxiosInstance, instanceConfig = {}) {
+ let request: AxiosInstance, copyStatus: boolean;
+ try {
+ // @ts-ignore
+ const req2 = req1.create(instanceConfig);
+ function acopyInterceptors(target: any, interceptorManager: any) {
+ const handlers = interceptorManager.handlers;
+ for (let index = 0; index < handlers?.length; index++) {
+
+ const { fulfilled, rejected, runWhen, synchronous } = handlers[index];
+ let options;
+ if (synchronous !== false || runWhen !== null) options = { synchronous, runWhen };
+ target.use(fulfilled, rejected, options)
+ }
+ }
+ acopyInterceptors(req2.interceptors.request, req1.interceptors.request);
+ acopyInterceptors(req2.interceptors.response, req1.interceptors.response);
+ request = req2;
+ copyStatus = true;
+ } catch (error) {
+ console.warn('拷贝失败,私有拦截器可能失效:\n', error);
+ request = req1;
+ copyStatus = false;
}
+
+ return { request, copyStatus };
+}
+
+const { request, copyStatus } = copyRequest(req1);
+
+// 若拷贝成功,添加自己独有的拦截器
+if (copyStatus) {
+ request.interceptors.response.use((response: any) => {
+ if (response.code >= 200 && response.code < 300) return response;
+ else return Promise.reject(response);
+ })
}
+// =============================================================================
enum api {
- liststu = '/abilityEvaluation/personalAbilityEvaluationCollect/liststu', // 个人能力评价列表
- integral = '/annualScore/personalCompTotalScore/liststu', // 个人积分列表
+ liststu = '/abilityEvaluation/personalAbilityEvaluationCollect/liststu', // 个人能力评价列表
+ integral = '/annualScore/personalCompTotalScore/liststu', // 个人积分列表
PAGE_XSFXBG = '/annualcompetitionprojectregistration/annualCompetitionProjectRegistration/xsfxbg', // 个人能力报告
- competition = '/AnnualCompPoint/annualCompPoint/findcompp', // 比赛项目列表
- competitionOne = '/AnnualCompPoint/annualCompPoint/findcomppxq', // 比赛项目单个
- signUp = '/annualcompetitionprojectregistration/annualCompetitionProjectRegistration/edit', // 年度比赛项目报名 POST
+ competition = '/AnnualCompPoint/annualCompPoint/findcompp', // 比赛项目列表
+ competitionOne = '/AnnualCompPoint/annualCompPoint/findcomppxq', // 比赛项目单个
+ signUp = '/annualcompetitionprojectregistration/annualCompetitionProjectRegistration/edit', // 年度比赛项目报名 POST
+ membersList = '/online/cgreport/api/getData/1696139786651197442', // 团队成员列表
+ adviserList = '/online/cgreport/api/getData/1828357196360998913', // 指导老师列表
+ listStudent = '/AnnualCompPoint/annualCompPoint/listStudent', // 比赛项目报名表
}
-export const getlEvaluateApi = f((params: Record<'pageNo' | 'pageSize', number>) => request.get(api.liststu, { params }));
-export const getlIntegralApi = f((params: Record<'pageNo' | 'pageSize', number>) => request.get(api.integral, { params }));
-
-export const getXsfxbgApi = f(
- (params = {}) => {
- const par = { recreateFlag: false, annualid: '' };
- Object.assign(par, params);
- return request.get(api.PAGE_XSFXBG, { params: par });
- }
-);
-export const getCompetitionApi = f((id: string) => request.get(api.competition, { params: { id } }));
-export const getCompetitionOneApi = f((id: string) => request.get(api.competitionOne, { params: { id } }));
+// http://10.115.2.247:3300/jeecgboot/AnnualCompPoint/annualCompPoint/listStudent?column=createTime&order=desc&pageNo=1&pageSize=10&_t=1727422864387
interface SignUpData {
annualCompid: string,
entryFormat: '团队' | '个人',
@@ -39,4 +60,31 @@ interface SignUpData {
instructorSheetList?: any[],
teamManagementList?: any[],
}
-export const getSignUpApi = f((data: SignUpData) => request.post(api.signUp, data));
\ No newline at end of file
+
+interface MembersOrAdviser {
+ pageNo: number,
+ pageSize: number,
+ onlRepUrlParamStr: `annualCompid=${string}`,
+ entryFormat: '团队' | '个人',
+ id: string,
+ column?: string,
+ order?: 'asc' | 'desc'
+}
+
+export const getlEvaluateApi = (params: Record<'pageNo' | 'pageSize', number>) => request.get(api.liststu, { params });
+export const getlIntegralApi = (params: Record<'pageNo' | 'pageSize', number>) => request.get(api.integral, { params });
+
+export const getXsfxbgApi = (params = {}) => {
+ const par = { recreateFlag: false, annualid: '' };
+ Object.assign(par, params);
+ return request.get(api.PAGE_XSFXBG, { params: par });
+}
+
+export const getCompetitionApi = (id: string) => request.get(api.competition, { params: { id } });
+export const getCompetitionOneApi = (id: string) => request.get(api.competitionOne, { params: { id } });
+
+export const getSignUpApi = (data: SignUpData) => request.post(api.signUp, data);
+
+export const getMembersList = (params: MembersOrAdviser) => request.get(api.membersList, { params });
+export const getAdviserList = (params: MembersOrAdviser) => request.get(api.adviserList, { params });
+
diff --git a/src/views/projectName/index.vue b/src/views/projectName/index.vue
index cf585aa..516cda5 100644
--- a/src/views/projectName/index.vue
+++ b/src/views/projectName/index.vue
@@ -84,7 +84,6 @@ function handleSub() {
let path;
if (data.value.entryForm === 'Y') path = '/registrationGroup';
else path = '/registrationPersonage';
-
router.push({ path, query: { id: route.query.id,objName:data.value.objName } })
}
diff --git a/src/views/registrationGroup copy/components/dalog.vue b/src/views/registrationGroup copy/components/dalog.vue
new file mode 100644
index 0000000..bcfad46
--- /dev/null
+++ b/src/views/registrationGroup copy/components/dalog.vue
@@ -0,0 +1,76 @@
+
+ 红色之旅赛道
+
+