From 048d68dfd6a83c004f9bf9efe86cc84aaf493050 Mon Sep 17 00:00:00 2001 From: yujialong <479214531@qq.com> Date: Fri, 10 Feb 2023 16:50:03 +0800 Subject: [PATCH] fix --- src/main.js | 2 - src/setting.js | 4 +- src/utils/api.js | 48 +++++++++---------- src/views/match/manage/matchRank.vue | 65 ++++++++++---------------- src/views/match/manage/matchSignup.vue | 35 +++++++++----- 5 files changed, 73 insertions(+), 81 deletions(-) diff --git a/src/main.js b/src/main.js index 4d4e648..93f963a 100644 --- a/src/main.js +++ b/src/main.js @@ -16,7 +16,6 @@ import { systemStatus, systemTypeStatus, systemAttributionStatus, courseTypeStat import preventReClick from './utils/preventReClick' //防多次点击,重复提交 import plugins from '@/directive'; - Vue.prototype.api = api; Vue.prototype.$get = get; Vue.prototype.$post = post; @@ -44,7 +43,6 @@ Vue.config.productionTip = false; Vue.use(ElementUI, { size: 'small' }); Vue.use(plugins); - new Vue({ router, store, diff --git a/src/setting.js b/src/setting.js index 57df0a0..9a12b7a 100644 --- a/src/setting.js +++ b/src/setting.js @@ -11,8 +11,8 @@ if (isDev) { jumpPath = 'http://192.168.31.125:8087/' // 本地调试-需要启动本地判分点系统 host = 'http://121.37.12.51/' // host = 'https://huorantech.cn/' - host = 'http://192.168.31.51:9000/'// 榕 - host = 'http://192.168.31.116:9000/'// 赓 + // host = 'http://192.168.31.51:9000/'// 榕 + // host = 'http://192.168.31.116:9000/'// 赓 } else if (isPro) { jumpPath = 'https://www.huorantech.cn/judgmentPoint/' } diff --git a/src/utils/api.js b/src/utils/api.js index 0e8274d..130c547 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -1,7 +1,7 @@ import Setting from "@/setting"; const host = Setting.apiBaseURL -const host1 = 'http://192.168.31.51:9000/' +const host1 = 'http://121.37.12.51/' const uploadURL = Setting.uploadURL export default { @@ -305,7 +305,7 @@ export default { getCompetition: `competition/competition/management/getCompetition`, getProjectAssessmentByCompetition: `occupationlab/occupationlab/projectManage/getProjectAssessmentByCompetition`, publishCompetition: `competition/competition/management/publishCompetition`, - detailsOfCompetitionStage: `${host1}competition/competition/management/detailsOfCompetitionStage`, + detailsOfCompetitionStage: `competition/competition/management/detailsOfCompetitionStage`, entryInformation: `competition/competition/team/entryInformation`, // 赛事内容 @@ -336,7 +336,7 @@ export default { cancelRegistration: `competition/competition/registration/cancelRegistration`, disableContests: `competition/competition/registration/disableContests`, disableRegistration: `competition/competition/registration/disableRegistration`, - excelExport: `competition/competition/registration/excelExport`, + excelExport: `${host}competition/competition/registration/excelExport`, exportDataInBatches: `competition/competition/registration/exportDataInBatches`, queryRegistrationByCondition: `competition/competition/registration/queryRegistrationByCondition`, searchTeam: `competition/competition/team/searchTeam`, @@ -362,27 +362,27 @@ export default { 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`, - totalRankingScoreDetails: `${host1}competition/competition/rank/totalRankingScoreDetails`, + batchDeleteContestGrade: `competition/competition/performance/batchDeleteContestGrade`, + batchImportGrades: `${host}competition/competition/performance/batchImportGrades`, + exportExperimentalResultsInBatch: `${host}competition/competition/performance/exportExperimentalResultsInBatch`, + performanceExportFailure: `${host}competition/competition/performance/exportFailure`, + rankExportFailure: `${host}competition/competition/rank/exportFailure`, + stageGradeManagementList: `competition/competition/performance/stageGradeManagementList`, + stageRaceRanking: `competition/competition/rank/stageRaceRanking`, + overallStandingsInThePointsRace: `competition/competition/rank/overallStandingsInThePointsRace`, + batchImportRanking: `${host}competition/competition/rank/batchImportRanking`, + publishRanking: `competition/competition/rank/publishRanking`, + stageTeamScoreDetails: `competition/competition/rank/stageTeamScoreDetails`, + multipleStageTeamScoreDetails: `competition/competition/rank/multipleStageTeamScoreDetails`, + detailsOfTotalTeamScores: `competition/competition/rank/detailsOfTotalTeamScores`, + cancelRanking: `competition/competition/rank/cancelRanking`, + reportDetail: `occupationlab/occupationlab/achievement/reportDetail`, + deleteLastPublication: `competition/competition/rank/deleteLastPublication`, + whetherToPublish: `competition/competition/rank/whetherToPublish`, + manuallyRankTheUploadList: `competition/competition/rank/manuallyRankTheUploadList`, + queryPublicationSource: `competition/competition/rank/queryPublicationSource`, + releaseVerification: `competition/competition/rank/releaseVerification`, + totalRankingScoreDetails: `competition/competition/rank/totalRankingScoreDetails`, gradeImport: `http://121.37.12.51/template/赛事成绩导入模板.xlsx`, rankImportTeam: `http://121.37.12.51/template/赛事排名导入模板(团队赛).xlsx`, rankImportPerson: `http://121.37.12.51/template/赛事排名导入模板(个人赛).xlsx`, diff --git a/src/views/match/manage/matchRank.vue b/src/views/match/manage/matchRank.vue index d87f19b..3ac763f 100644 --- a/src/views/match/manage/matchRank.vue +++ b/src/views/match/manage/matchRank.vue @@ -80,14 +80,17 @@

{{ item.pointWeight }}%

- {{ i + 1 }} - {{ item.userName }} - {{ item.schoolName }} - {{ item.timeSum }}min - {{ item.score }} - - 查看 - + + @@ -201,9 +204,11 @@ export default { // 获排名 getData() { // 查询是否已经发布排名 - this.$post(`${this.api.whetherToPublish}?competitionId=${this.id}&stageId=${this.active || ''}&isOverallRanking=${this.active ? 0 : 1}`).then(({ whetherToPublish }) => { + this.$post(`${this.api.whetherToPublish}?competitionId=${this.id}&stageId=${this.active || this.stageId}&isOverallRanking=${this.active ? 0 : 1}`).then(({ whetherToPublish }) => { + const ids = this.grades.map(e => e.stageId) + ids.pop() // 如果已发布,查询发布上一次排名的来源——>默认顺序或者手动发布(返回数据:是否手动发布(1为是,0不是)) - whetherToPublish && this.$post(`${this.api.queryPublicationSource}?competitionId=${this.id}&stageId=${this.active || ''}&isOverallRanking=${this.active ? 0 : 1}`).then(({ source }) => { + whetherToPublish && this.$post(`${this.api.queryPublicationSource}?competitionId=${this.id}&stageId=${this.active || this.stageId}&isOverallRanking=${this.active ? 0 : 1}`).then(({ source }) => { this.sourceType = source this.type = source == 1 ? 1 : 0 }).catch(res => {}) @@ -278,6 +283,7 @@ export default { }, // 查看详情 show(row, i) { + this.teams = [] // 个人:跳转实验报告,团队:弹框显示成员列表 if (this.competitionType == 1) { row.index = i + 1 @@ -303,49 +309,24 @@ export default { // 发布跟没发布调不同的接口 // if (this.published) { this.$post(this.api.totalRankingScoreDetails, data).then(({ data }) => { - if (data.length && data[0].stageTeamInformation.length) { - const resultCalculationMethod = data[0].stageTeamInformation[0].resultCalculationMethod + if (data.length) { const result = [] - let totalScore = 0 // 合并数据 data.map(e => { const team = e.stageTeamInformation if (team.length) { - // 第一条才赋值团队得分和合并行数 - const method = e.teamCalculationMethod - const scores = team.map(n => +n.score) - let score - // 根据团队规则计算方式计算团队得分 - if (method == 0) { // 最高分 - score = Math.max(scores) - } else if (method == 1) { // 平均分 - score = scores.reduce((prev, next) => prev + next) / scores.length - } else { // 求和 - score = scores.reduce((prev, next) => prev + next) - } - team[0].teamScore = score const teamCItem = this.teamCalculationMethods.find(n => n.id == e.teamCalculationMethod) if (teamCItem) team[0].teamCalculationMethodName = teamCItem.name team[0].rowspan = team.length team.map(n => { n = Object.assign(n, e) }) - console.log("🚀 ~ file: matchRank.vue:334 ~ this.$post ~ resultCalculationMethod", resultCalculationMethod, score) - - // 计算权重(权重为0则不计入总成绩) 团队得分*权重/100 总成绩计算方式选的是加权求和才需要计算 - if (e.pointWeight && !resultCalculationMethod) totalScore += score * e.pointWeight / 100 result.push(...team) + } else { + e.rowspan = 1 + result.push(e) } }) - // 根据总成绩计算方式计算总分 - const teamScores = data.map(e => e.teamScore) - console.log("🚀 ~ file: matchRank.vue:339 ~ this.$post ~ teamScores", teamScores, totalScore) - if (resultCalculationMethod === 1) { // 求和 - totalScore = teamScores.reduce((prev, next) => prev + next) - } else if (resultCalculationMethod === 2) { // 平均分 - totalScore = teamScores.reduce((prev, next) => prev + next) / teamScores.length - } - this.totalScore = totalScore this.teams = result } }).catch(res => {}) @@ -399,14 +380,16 @@ export default { list.map(e => { e.competitionId = id e.isOverallRanking = isOverall - if (isOverall) delete e.stageId + // if (isOverall) delete e.stageId if (isPerson) e.teamId = null // 个人赛则teamId传null }) data = list } } + const ids = this.grades.map(e => e.stageId) + ids.pop() // 发布前校验 - this.$post(`${this.api.releaseVerification}?competitionId=${this.id}&stageId=${this.active || ''}&isOverallRanking=${this.active ? 0 : 1}&whetherToManuallyPublish=${this.type}`).then(res => { + this.$post(`${this.api.releaseVerification}?competitionId=${this.id}&stageId=${this.active || this.stageId}&isOverallRanking=${this.active ? 0 : 1}&whetherToManuallyPublish=${this.type}`).then(res => { this.$post(this.api.publishRanking, data).then(res => { this.uploadData = [] this.getData() diff --git a/src/views/match/manage/matchSignup.vue b/src/views/match/manage/matchSignup.vue index b7d708f..6a1c2c8 100644 --- a/src/views/match/manage/matchSignup.vue +++ b/src/views/match/manage/matchSignup.vue @@ -7,7 +7,7 @@ -
  • +
  • @@ -29,7 +29,7 @@ - + @@ -40,15 +40,17 @@ @@ -122,6 +124,9 @@ export default { return { token: sessionStorage.getItem('token'), id: +this.$route.query.id, + info: { + completeCompetitionSetup: {} + }, isDisable: '', statusList: [ { @@ -176,7 +181,6 @@ export default { }, submiting: false, - teamVisible: false, teams: [], teamNameRepeat: false, @@ -202,6 +206,7 @@ export default { }, mounted() { this.initData() + this.getInfo() this.getClient() this.getTeam() }, @@ -222,6 +227,12 @@ export default { }).catch(res => { }); }, + // 获取赛事信息 + getInfo() { + this.$post(`${this.api.getCompetition}?competitionId=${this.id}`).then(({ competition }) => { + this.info = competition + }).catch(err => {}) + }, initData() { this.page = 1 this.getData()