上传封面
-展示宽度为220,高度140,JPG/PNG/GIF,3MB以内
-上传封面
-展示宽度为1920,高度300,JPG/PNG/GIF,3MB以内
-支持扩展名:.rar .zip .doc .docx .pdf .jpg...
-From 7f861789d13a2be3c07bc39be9bac084ef05ef96 Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Tue, 31 Jan 2023 16:46:28 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=8E=E4=B8=AD=E5=8F=B0=E5=A4=8D=E5=88=B6?=
=?UTF-8?q?=E7=AB=9E=E8=B5=9B=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/index.js | 114 ++-
src/const/match.js | 48 ++
src/layouts/navbar/index.vue | 15 +-
src/pages/assessment/list/index.vue | 71 +-
src/pages/match/add/index.vue | 929 +++++------------------
src/pages/match/add/set.vue | 228 ++++++
src/pages/match/add/step1.vue | 824 ++++++++++++++++++++
src/pages/match/add/step2.vue | 427 +++++++++++
src/pages/match/add/step3.vue | 290 +++++++
src/pages/match/add/step4.vue | 53 ++
src/pages/match/list/index.vue | 39 +-
src/pages/match/manage/index.vue | 63 +-
src/pages/match/manage/matchArch.vue | 109 +++
src/pages/match/manage/matchArchList.vue | 381 ++++++++++
src/pages/match/manage/matchInfo.vue | 562 ++++++++++++++
src/pages/match/manage/matchProgress.vue | 29 +-
src/pages/match/manage/matchRank.vue | 476 ++++++++++++
src/pages/match/manage/matchReport.vue | 370 +++++++++
src/pages/match/manage/matchSignup.vue | 400 ++++++++--
src/pages/match/manage/notice.vue | 15 +-
src/pages/match/manage/noticeDetail.vue | 17 +-
src/pages/match/preview/index.vue | 8 +-
src/pages/project/list/index.vue | 14 +-
src/pages/screen/index.vue | 7 +-
src/pages/student/list/index.vue | 2 +-
src/setting.js | 4 +-
26 files changed, 4491 insertions(+), 1004 deletions(-)
create mode 100644 src/const/match.js
create mode 100644 src/pages/match/add/set.vue
create mode 100644 src/pages/match/add/step1.vue
create mode 100644 src/pages/match/add/step2.vue
create mode 100644 src/pages/match/add/step3.vue
create mode 100644 src/pages/match/add/step4.vue
create mode 100644 src/pages/match/manage/matchArch.vue
create mode 100644 src/pages/match/manage/matchArchList.vue
create mode 100644 src/pages/match/manage/matchInfo.vue
create mode 100644 src/pages/match/manage/matchRank.vue
create mode 100644 src/pages/match/manage/matchReport.vue
diff --git a/src/api/index.js b/src/api/index.js
index 1742eb8..ae526fc 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -2,7 +2,7 @@ import Setting from "@/setting";
const host = Setting.apiBaseURL
const uploadURL = Setting.upload.apiURL;
const host1 = "https://www.occupationlab.com:8080/"
-const host2 = 'http://192.168.31.137:9000/'
+const host2 = 'http://192.168.31.51:9000/'
export default {
queryToken: `liuwanr/userInfo/queryToken`,
@@ -113,39 +113,93 @@ export default {
// 赛事
- contestPageConditionQueryByOccupationlab: `occupationlab/occupationlab/enterprise/match/contest/contestPageConditionQueryByOccupationlab`,
- addContest: `occupationlab/occupationlab/enterprise/match/contest/addContest`,
- editContest: `occupationlab/occupationlab/enterprise/match/contest/editContest`,
- deleteContest: `occupationlab/occupationlab/enterprise/match/contest/deleteContest`,
- getContest: `occupationlab/occupationlab/enterprise/match/contest/getContest`,
- deleteAnnex: `occupationlab/occupationlab/contest/annex/delete`,
- saveAnnex: `occupationlab/occupationlab/contest/annex/save`,
- getSchoolsByProvince: `nakadai/nakadai/school/getSchoolsByProvince`,
- disabledEvents: `occupationlab/occupationlab/enterprise/match/contest/disabledEvents`,
- batchDeleteContest: `occupationlab/occupationlab/enterprise/match/contest/batchDeleteContest`,
+ competitionPageConditionQueryByOccupationlab: `competition/competition/management/competitionPageConditionQueryByOccupationlab`,
+ addCompetition: `competition/competition/management/addCompetition`,
+ batchDeleteCompetition: `competition/competition/management/batchDeleteCompetition`,
+ checkTheStatusOfTheCompetition: `competition/competition/management/checkTheStatusOfTheCompetition`,
+ disabledEventsCompetition: `competition/competition/management/disabledEvents`,
+ editCompetition: `competition/competition/management/editCompetition`,
+ getCompetition: `competition/competition/management/getCompetition`,
+ getProjectAssessmentByCompetition: `occupationlab/occupationlab/projectManage/getProjectAssessmentByCompetition`,
+ publishCompetition: `competition/competition/management/publishCompetition`,
+ detailsOfCompetitionStage: `${host1}competition/competition/management/detailsOfCompetitionStage`,
+ entryInformation: `competition/competition/team/entryInformation`,
+ getCustomerOrder: `nakadai/nakadai/valueModuleManagement/getCustomerOrder`,
+ curriculumList: `nakadai/nakadai/curriculum/schoolCourse`,
+ queryCustomer: `nakadai/nakadai/customer/queryCustomer`,
+ // 赛事内容
+ addCompetitionContent: `competition/competition/content/addCompetitionContent`,
+ editCompetitionContent: `competition/competition/content/editCompetitionContent`,
+ getCompetitionContent: `competition/competition/content/getCompetitionContent`,
+ // 赛事附件
+ delAnnex: `competition/competition/announcementAnnex/delete`,
+ saveAnnex: `competition/competition/announcementAnnex/save`,
+ updateAnnex: `competition/competition/announcementAnnex/update`,
+ viewAttachments: `competition/competition/announcementAnnex/viewAttachments`,
+ // 赛事规则
+ addCompetitionRule: `competition/competition/rule/addCompetitionRule`,
+ editCompetitionRule: `competition/competition/rule/editCompetitionRule`,
+ getCompetitionRule: `competition/competition/rule/getCompetitionRule`,
+ queryCompetitionStageBySetupId: `competition/competition/stage/queryCompetitionStageBySetupId`,
// 竞赛进展
- addContestProgress: `occupationlab/occupationlab/enterprise/match/contest-progress/addContestProgress`,
- deleteContestProgress: `occupationlab/occupationlab/enterprise/match/contest-progress/deleteContestProgress`,
- getContestProgress: `occupationlab/occupationlab/enterprise/match/contest-progress/getContestProgress`,
- editContestProgress: `occupationlab/occupationlab/enterprise/match/contest-progress/editContestProgress`,
+ addCompetitionProgress: `competition/competition/progress/addCompetitionProgress`,
+ deleteCompetitionProgress: `competition/competition/progress/deleteCompetitionProgress`,
+ editCompetitionProgress: `competition/competition/progress/editCompetitionProgress`,
+ getCompetitionProgress: `competition/competition/progress/getCompetitionProgress`,
// 报名人员
- addApplicant: `occupationlab/occupationlab/enterprise/match/applicant/addApplicant`,
- disableContests: `occupationlab/occupationlab/enterprise/match/applicant/disableContests`,
- excelExport: `${host}occupationlab/occupationlab/enterprise/match/applicant/excelExport`,
- queryApplicantByCondition: `occupationlab/occupationlab/enterprise/match/applicant/queryApplicantByCondition`,
- disableApplicant: `occupationlab/occupationlab/enterprise/match/applicant/disableApplicant`,
- exportDataInBatches: `${host}occupationlab/occupationlab/enterprise/match/applicant/exportDataInBatches`,
+ addCompetitionRegistration: `competition/competition/registration/addCompetitionRegistration`,
+ cancelRegistration: `competition/competition/registration/cancelRegistration`,
+ disableContests: `competition/competition/registration/disableContests`,
+ disableRegistration: `competition/competition/registration/disableRegistration`,
+ excelExport: `competition/competition/registration/excelExport`,
+ exportDataInBatches: `competition/competition/registration/exportDataInBatches`,
+ queryRegistrationByCondition: `competition/competition/registration/queryRegistrationByCondition`,
+ searchTeam: `competition/competition/team/searchTeam`,
+ joinCompetitionTeam: `competition/competition/team/joinCompetitionTeam`,
+ addCompetitionTeam: `competition/competition/team/addCompetitionTeam`,
+ studentAccountApplication: `users/users/register/studentAccountApplication`,
+ checkPhoneOrEmailExist: `users/users/userInfo/checkPhoneOrEmailExist`,
+ editCompetitionTeam: `competition/competition/team/editCompetitionTeam`,
+ addAnAdvisor: `competition/competition/teamInstructor/addAnAdvisor`,
+ deleteAnAdvisor: `competition/competition/teamInstructor/deleteAnAdvisor`,
+ captainOfTransfer: `competition/competition/team/captainOfTransfer`,
+ removeTheLine: `competition/competition/team/removeTheLine`,
+ stageSelectParticipants: `competition/competition/teamParticipant/stageSelectParticipants`,
+ updateUser: `users/users/userInfo/updateUser`,
+ enquireAboutSchoolStudents: `users/users/userAccount/enquireAboutSchoolStudents`,
// 赛事公告
- addAnnouncement: `occupationlab/occupationlab/contest/announcement/addAnnouncement`,
- amendmentAnnouncement: `occupationlab/occupationlab/contest/announcement/amendmentAnnouncement`,
- deleteAnnouncement: `occupationlab/occupationlab/contest/announcement/deleteAnnouncement`,
- disableAnnouncement: `occupationlab/occupationlab/contest/announcement/disableAnnouncement`,
- queryAnnouncementByContestId: `occupationlab/occupationlab/contest/announcement/queryAnnouncementByContestId`,
- queryAnnouncementDetails: `occupationlab/occupationlab/contest/announcement/queryAnnouncementDetails`,
- deleteAnnouncementAnnex: `occupationlab/occupationlab/contestAnnouncementAnnex/delete`,
- saveAnnouncementAnnex: `occupationlab/occupationlab/contestAnnouncementAnnex/save`,
-
+ addAnnouncement: `competition/competition/announcement/addAnnouncement`,
+ amendmentAnnouncement: `competition/competition/announcement/amendmentAnnouncement`,
+ deleteAnnouncement: `competition/competition/announcement/deleteAnnouncement`,
+ disableAnnouncement: `competition/competition/announcement/disableAnnouncement`,
+ queryAnnouncementByCompetitionId: `competition/competition/announcement/queryAnnouncementByCompetitionId`,
+ queryAnnouncementDetails: `competition/competition/announcement/queryAnnouncementDetails`,
+ saveAnnouncementAnnex: `competition/competition/announcementAnnex/save`,
+ // 赛事成绩
+ batchDeleteContestGrade: `${host1}competition/competition/performance/batchDeleteContestGrade`,
+ batchImportGrades: `${host1}competition/competition/performance/batchImportGrades`,
+ exportExperimentalResultsInBatch: `${host1}competition/competition/performance/exportExperimentalResultsInBatch`,
+ performanceExportFailure: `${host1}competition/competition/performance/exportFailure`,
+ rankExportFailure: `${host1}competition/competition/rank/exportFailure`,
+ stageGradeManagementList: `${host1}competition/competition/performance/stageGradeManagementList`,
+ stageRaceRanking: `${host1}competition/competition/rank/stageRaceRanking`,
+ overallStandingsInThePointsRace: `${host1}competition/competition/rank/overallStandingsInThePointsRace`,
+ batchImportRanking: `${host1}competition/competition/rank/batchImportRanking`,
+ publishRanking: `${host1}competition/competition/rank/publishRanking`,
+ stageTeamScoreDetails: `${host1}competition/competition/rank/stageTeamScoreDetails`,
+ multipleStageTeamScoreDetails: `${host1}competition/competition/rank/multipleStageTeamScoreDetails`,
+ detailsOfTotalTeamScores: `${host1}competition/competition/rank/detailsOfTotalTeamScores`,
+ cancelRanking: `${host1}competition/competition/rank/cancelRanking`,
+ reportDetail: `${host1}occupationlab/occupationlab/achievement/reportDetail`,
+ deleteLastPublication: `${host1}competition/competition/rank/deleteLastPublication`,
+ whetherToPublish: `${host1}competition/competition/rank/whetherToPublish`,
+ manuallyRankTheUploadList: `${host1}competition/competition/rank/manuallyRankTheUploadList`,
+ queryPublicationSource: `${host1}competition/competition/rank/queryPublicationSource`,
+ releaseVerification: `${host1}competition/competition/rank/releaseVerification`,
+ gradeImport: `${host2}template/赛事成绩导入模板.xlsx`,
+ rankImportTeam: `${host2}template/赛事排名导入模板(团队赛).xlsx`,
+ rankImportPerson: `${host2}template/赛事排名导入模板(个人赛).xlsx`,
// 栏目管理
addColumn: `occupationlab/occupationlab/information/column/addColumn`,
deleteColumn: `occupationlab/occupationlab/information/column/deleteColumn`,
diff --git a/src/const/match.js b/src/const/match.js
new file mode 100644
index 0000000..c6c17e1
--- /dev/null
+++ b/src/const/match.js
@@ -0,0 +1,48 @@
+/**
+ * 大赛配置
+ * */
+
+ export default {
+ rules: [
+ {
+ id: 0,
+ name: '积分赛'
+ },
+ {
+ id: 1,
+ name: '淘汰赛'
+ },
+ {
+ id: 2,
+ name: '单项赛'
+ }
+ ],
+ methods: [
+ {
+ id: 0,
+ name: '实操'
+ },
+ {
+ id: 1,
+ name: '理论'
+ },
+ {
+ id: 2,
+ name: '线下'
+ }
+ ],
+ teamCalculationMethods: [
+ {
+ id: 0,
+ name: '最高分'
+ },
+ {
+ id: 1,
+ name: '平均分'
+ },
+ {
+ id: 2,
+ name: '总分'
+ }
+ ],
+}
\ No newline at end of file
diff --git a/src/layouts/navbar/index.vue b/src/layouts/navbar/index.vue
index 7f6541c..a39b4c9 100644
--- a/src/layouts/navbar/index.vue
+++ b/src/layouts/navbar/index.vue
@@ -1,6 +1,6 @@
大赛信息填写 赛程与规则设置 比赛内容设置 发布{{ !editing && id ? '成功' : '' }} 上传封面 展示宽度为220,高度140,JPG/PNG/GIF,3MB以内 上传封面 展示宽度为1920,高度300,JPG/PNG/GIF,3MB以内 支持扩展名:.rar .zip .doc .docx .pdf .jpg... 比赛名称 比赛时间 课程 上传封面 展示宽度为220,高度140,JPG/PNG/GIF,3MB以内 上传封面 展示宽度为1920,高度300,JPG/PNG/GIF,3MB以内 支持扩展名:.rar .zip .doc .docx .pdf .jpg... 积分赛——包含多个竞赛阶段,每个阶段的成绩都包含在最终总成绩里,最后一轮结束后总成绩排名靠前的参赛者得到获奖资格。 淘汰赛——包含多个竞赛阶段,每个阶段结束后之后只有部分参赛者能晋级下一阶段,晋级最后一轮且在最后一轮排名靠前的参赛者得到获奖资格。 单项赛——仅包含一个竞赛阶段,单项的成绩排名即为最终排名,排名靠前的参赛者得到获奖资格。 注:系统默认排名规则,优先按分数排名(分数高则排名靠前),分数相同则按用时排名(用时短则排名靠前)。 (若选择加权求和,则需要设置每个阶段成绩所占权重,且权重总和须为100%)
+ *晋级规则:
+ 若选择“是”,则公布成绩详情,竞赛结束后参赛者可查看自己的比赛成绩得分详情; 若选择“否”,则不公布成绩详情,参赛者只能知晓自己的分数及排名,不能查看得分详情。 若选择“是”,则公布成绩详情,竞赛结束后参赛者可查看自己的比赛成绩得分详情; 若选择“否”,则不公布成绩详情,参赛者只能知晓自己的分数及排名,不能查看得分详情。 实验总人数 {{ totalNumber }} 实验平均分 {{ avgScore }} 队长:{{ info.caption.userName }} 注:当前阶段限制1人参赛,且此竞赛每个成员只能参加一个阶段赛项。
+
+ 大赛已发布!
+
+
+
+
+ 团队名称:
+
+
+ 团队邀请码:
+
+
+
+
+
+
+
+
+ 姓名:
+ {{ info.person.userName }}
+
+
+ 学号:
+ {{ info.person.workNumber }}
+
+
+
+
+ 学校:
+ {{ info.person.schoolName }}
+
+
+ 队长:
+ {{ info.caption.userName }}{{ info.caption.schoolName && ',' + info.caption.schoolName }}{{ info.caption.workNumber && ',' + info.caption.workNumber }}
+
+
+
+
+ 团队成员:
+
+
+
+
+ 指导老师:
+
+
+
+
+ 竞赛阶段:
+
+
+
+
+
+
+
+ 序号
+ 赛项阶段名称
+
+ 参赛人数限制
+ 允许参赛人员
+ 总分
+
+ 竞赛成绩
+
+
+
+ {{ i + 1 }}
+ {{ item.stageName }}
+
+ {{ item.teamNumLimit || '不限制' }}
+ {{ item.teamParticipantIds || '无' }}
+ {{ info.totalScore }}
+
+
+ 分数{{item.score}}
+
+
+
+ 暂无数据
+ 团队名称:{{ members[0].teamName }} 阶段名称:{{ curRow.stageName }}
+
+
+
+
+
+
+ 序号
+ 姓名
+ 学校
+ 用时
+ 分数
+ 得分详情
+
+
+
+ {{ i + 1 }}
+ {{ item.userName }}
+ {{ item.schoolName }}
+ {{ item.timeSum }}min
+ {{ item.score }}
+
+
+
+
+ 暂无数据
+ 标准实验报告
+
+
+ 基本信息
+
+
+
+
+
+ 实验项目名称
+
+
+
+ 实验目的
+
+
+
+
+ 实验数据
+
+
+
+ 实验总结与体会
+
+