赛事修复

master
yujialong 8 months ago
parent bc119ffe55
commit ec2eac1727
  1. 35
      src/pages/match/add/step2.vue
  2. 6
      src/pages/match/manage/matchInfo.vue
  3. 25
      src/pages/match/manage/matchSignup.vue
  4. 2
      src/setting.js

@ -79,14 +79,14 @@
class="line"> class="line">
<span class="req">*</span> <span class="req">*</span>
团队参赛人数限制 团队参赛人数限制
<el-radio v-model="item.teamNumLimitOpt" <el-radio v-model="item.teamNumLimit"
:label="0">不限制</el-radio> :label="0">不限制</el-radio>
<el-radio v-model="item.teamNumLimitOpt" <el-radio v-model="item.teamNumLimit"
:label="1">自定义</el-radio> :label="1">自定义</el-radio>
<el-input v-model.number="item.teamNumLimit" <el-input v-model.number="item.customNumber"
type="number" type="number"
style="width: 150px;" style="width: 150px;"
:disabled="item.teamNumLimitOpt === 0"></el-input> :disabled="item.teamNumLimit === 0"></el-input>
<span class="tips">可限制本阶段单个团队的出战人数</span> <span class="tips">可限制本阶段单个团队的出战人数</span>
</div> </div>
<div v-if="step1.completeCompetitionSetup.competitionType" <div v-if="step1.completeCompetitionSetup.competitionType"
@ -243,8 +243,8 @@ export default {
scoreLimit: '', scoreLimit: '',
operator: '>', operator: '>',
score: '', score: '',
teamNumLimit: '', customNumber: '',
teamNumLimitOpt: 0, teamNumLimit: 0,
resultAnnouncementTime: '', resultAnnouncementTime: '',
resultsDetails: '', resultsDetails: '',
}, },
@ -259,8 +259,8 @@ export default {
scoreLimit: '', scoreLimit: '',
operator: '>', operator: '>',
score: '', score: '',
teamNumLimit: '', customNumber: '',
teamNumLimitOpt: 0, teamNumLimit: 0,
resultAnnouncementTime: '', resultAnnouncementTime: '',
resultsDetails: '', resultsDetails: '',
}, },
@ -275,8 +275,8 @@ export default {
scoreLimit: '', scoreLimit: '',
operator: '>', operator: '>',
score: '', score: '',
teamNumLimit: '', customNumber: '',
teamNumLimitOpt: 0, teamNumLimit: 0,
resultAnnouncementTime: '', resultAnnouncementTime: '',
resultsDetails: '', resultsDetails: '',
} }
@ -334,7 +334,6 @@ export default {
const num = limit.replace(/\D+/, '') const num = limit.replace(/\D+/, '')
if (num) e.score = num if (num) e.score = num
} }
e.teamNumLimitOpt = e.teamNumLimit ? 1 : 0
e.teamCalculationMethod = +e.teamCalculationMethod e.teamCalculationMethod = +e.teamCalculationMethod
}) })
this.form = rule this.form = rule
@ -392,7 +391,7 @@ export default {
} }
form.competitionStageList = stages.slice(0, 1) // form.competitionStageList = stages.slice(0, 1) //
} else { // } else { //
let teamNumLimit = 0 let customNumber = 0
const { competitionType, minTeamSize, maxTeamSize } = step1.completeCompetitionSetup // 01 const { competitionType, minTeamSize, maxTeamSize } = step1.completeCompetitionSetup // 01
for (const i in stages) { for (const i in stages) {
const e = stages[i] const e = stages[i]
@ -420,16 +419,16 @@ export default {
} }
if (e.score !== '') e.scoreLimit = e.operator + e.score if (e.score !== '') e.scoreLimit = e.operator + e.score
} }
if (rule !== 2 && competitionType && e.teamNumLimitOpt) { if (rule !== 2 && competitionType && e.teamNumLimit) {
if (e.teamNumLimit === '') { if (e.customNumber === '') {
invalid = 1 invalid = 1
util.errorMsg('请输入团队参数人数限制') util.errorMsg('请输入团队参数人数限制')
break break
} else if (e.teamNumLimit < 0) { } else if (e.customNumber < 0) {
invalid = 1 invalid = 1
util.errorMsg('团队参数人数不得小于0') util.errorMsg('团队参数人数不得小于0')
break break
} else if (maxTeamSize !== '' && e.teamNumLimit > maxTeamSize) { } else if (maxTeamSize !== '' && e.customNumber > maxTeamSize) {
invalid = 1 invalid = 1
util.errorMsg('团队参数人数不得大于团队人数上限') util.errorMsg('团队参数人数不得大于团队人数上限')
break break
@ -448,12 +447,12 @@ export default {
} }
e.resultAnnouncementTime = +e.resultAnnouncementTime e.resultAnnouncementTime = +e.resultAnnouncementTime
} }
if (e.teamNumLimitOpt && e.teamNumLimit) teamNumLimit += e.teamNumLimit // if (e.teamNumLimit && e.customNumber) customNumber += e.customNumber //
} }
if (invalid) return if (invalid) return
if (form.teamLimit && competitionType) { if (form.teamLimit && competitionType) {
if (stages.length > minTeamSize) return util.errorMsg('阶段数不得大于团队人数下限') if (stages.length > minTeamSize) return util.errorMsg('阶段数不得大于团队人数下限')
if (teamNumLimit > minTeamSize) return util.errorMsg('各阶段自定义的参赛人数之和不得大于团队人数下限') if (customNumber > minTeamSize) return util.errorMsg('各阶段自定义的参赛人数之和不得大于团队人数下限')
} }
if (form.resultCalculationMethod == 0 && !rule && pointWeight > 0 && pointWeight !== 100) return util.errorMsg('权重须等于100,请重新输入') if (form.resultCalculationMethod == 0 && !rule && pointWeight > 0 && pointWeight !== 100) return util.errorMsg('权重须等于100,请重新输入')
} }

@ -465,7 +465,7 @@ export default {
}).then(() => { }).then(() => {
this.$post(`${this.api.deleteAnAdvisor}?id=${row.id}`).then(res => { this.$post(`${this.api.deleteAnAdvisor}?id=${row.id}`).then(res => {
util.successMsg('删除成功') util.successMsg('删除成功')
this.getInfo() this.info.teamInstructors.splice(i, 1)
}).catch(res => { }) }).catch(res => { })
}).catch(() => { }) }).catch(() => { })
} else { } else {
@ -475,7 +475,9 @@ export default {
// //
addAdvisor () { addAdvisor () {
if (this.info.teamInstructors.length > 4) return util.errorMsg('指导老师仅限添加5个!') if (this.info.teamInstructors.length > 4) return util.errorMsg('指导老师仅限添加5个!')
this.info.teamInstructors.push(JSON.parse(JSON.stringify(this.originIns))) const line = JSON.parse(JSON.stringify(this.originIns))
line.edit = 1
this.info.teamInstructors.push(line)
}, },
// //
editAdvisor (row) { editAdvisor (row) {

@ -127,13 +127,10 @@
align="center" align="center"
width="270"> width="270">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.identification && schoolId === scope.row.schoolId" <el-button v-if="scope.row.identification"
type="text" type="text"
@click="edit(scope.row)" @click="edit(scope.row)"
v-auth="'/match/list:管理:报名人员:编辑'">编辑</el-button> v-auth="'/match/list:管理:报名人员:编辑'">编辑</el-button>
<el-button v-else
type="text"
@click="edit(scope.row, 1)">查看</el-button>
<el-button type="text" <el-button type="text"
@click="del(scope.row)">删除</el-button> @click="del(scope.row)">删除</el-button>
<template v-if="info.releaseType"> <template v-if="info.releaseType">
@ -160,7 +157,7 @@
</el-pagination> </el-pagination>
</div> </div>
<el-dialog :title="(diffSchool ? '查看' : (!isAdd ? '编辑' : '新增')) + '参赛人员'" <el-dialog :title="(!isAdd ? '编辑' : '新增') + '参赛人员'"
:visible.sync="addVisible" :visible.sync="addVisible"
width="440px" width="440px"
class="dialog" class="dialog"
@ -169,7 +166,6 @@
<el-form ref="form" <el-form ref="form"
:model="form" :model="form"
:rules="rules" :rules="rules"
:disabled="diffSchool"
label-width="110px" label-width="110px"
style='margin-right: 10px;'> style='margin-right: 10px;'>
<el-form-item v-if="!schoolDisable" <el-form-item v-if="!schoolDisable"
@ -196,20 +192,20 @@
:label="item.schoolName" :label="item.schoolName"
:value="item.schoolId"></el-option> :value="item.schoolId"></el-option>
</el-select> </el-select>
<p v-if="!diffSchool" <p style="margin-top: 10px;line-height: 1.4;font-size: 12px;">学生所属院校为学生实际院校</p>
style="margin-top: 10px;line-height: 1.4;font-size: 12px;">学生所属院校为学生实际院校若为空则默认与学生账号归属院校一致</p>
</el-form-item> </el-form-item>
<el-form-item prop="workNumber" <el-form-item prop="workNumber"
label="学生学号"> label="学生学号">
<el-input v-model="form.workNumber" <el-input v-model="form.workNumber"
placeholder="请输入学生学号" placeholder="请输入学生学号"
:disabled="diffSchool"
@change="workNumberChange"></el-input> @change="workNumberChange"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="userName" <el-form-item prop="userName"
label="学生姓名"> label="学生姓名">
<el-input v-model="form.userName" <el-input v-model="form.userName"
placeholder="请输入学生姓名" placeholder="请输入学生姓名"
:disabled="isAdd"></el-input> :disabled="isAdd || diffSchool"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="账号角色"> <el-form-item label="账号角色">
学生 学生
@ -219,7 +215,7 @@
label="所属团队"> label="所属团队">
<div style="display: flex;align-items: center"> <div style="display: flex;align-items: center">
<el-select v-model="form.teamId" <el-select v-model="form.teamId"
:disabled="formEnable && isAdd" :disabled="(formEnable && isAdd) || diffSchool"
filterable filterable
style="width: 240px;margin-right: 10px"> style="width: 240px;margin-right: 10px">
<el-option v-for="(item, i) in teams" <el-option v-for="(item, i) in teams"
@ -237,13 +233,13 @@
<el-input v-model="form.phone" <el-input v-model="form.phone"
maxlength="11" maxlength="11"
placeholder="请输入手机号" placeholder="请输入手机号"
:disabled="isAdd"></el-input> :disabled="isAdd || diffSchool"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="email" <el-form-item prop="email"
label="邮箱"> label="邮箱">
<el-input v-model="form.email" <el-input v-model="form.email"
placeholder="请输入邮箱" placeholder="请输入邮箱"
:disabled="isAdd"></el-input> :disabled="isAdd || diffSchool"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<p v-if="!isAdd && schoolId === form.schoolId" <p v-if="!isAdd && schoolId === form.schoolId"
@ -598,7 +594,7 @@ export default {
.then(() => { .then(() => {
this.$post(this.api.batchDeleteApplicants, { registrationVOS: [row] }).then(res => { this.$post(this.api.batchDeleteApplicants, { registrationVOS: [row] }).then(res => {
util.successMsg("删除成功"); util.successMsg("删除成功");
this.getData(); this.init()
}).catch(res => { }).catch(res => {
}); });
}) })
@ -773,6 +769,7 @@ export default {
if (!form.teamName) return util.errorMsg('请输入团队名称') if (!form.teamName) return util.errorMsg('请输入团队名称')
if (form.invitationCode.length !== 6) return util.errorMsg('请输入6位数团队邀请码') if (form.invitationCode.length !== 6) return util.errorMsg('请输入6位数团队邀请码')
form.accountId = this.form.id form.accountId = this.form.id
form.schoolId = this.form.schoolId
form.studentAffiliatedInstitutionId = this.form.studentAffiliatedInstitutionId form.studentAffiliatedInstitutionId = this.form.studentAffiliatedInstitutionId
this.$post(this.api.addCompetitionTeam, form).then(res => { this.$post(this.api.addCompetitionTeam, form).then(res => {
this.teamVisible = false this.teamVisible = false
@ -818,7 +815,7 @@ export default {
type: "warning" type: "warning"
}).then(() => { }).then(() => {
this.$post(this.api.batchDeleteApplicants, { registrationVOS: list }).then(res => { this.$post(this.api.batchDeleteApplicants, { registrationVOS: list }).then(res => {
this.getData(); this.init()
this.$message.success("删除成功"); this.$message.success("删除成功");
this.$refs.table.clearSelection() this.$refs.table.clearSelection()
}).catch(err => { }).catch(err => {

@ -31,7 +31,7 @@ if (isPro) {
uploadURL = `http://121.37.12.51/` uploadURL = `http://121.37.12.51/`
host = "http://121.37.12.51/"; // 中台测试服 host = "http://121.37.12.51/"; // 中台测试服
// host = 'https://www.occupationlab.com/' // 正式服 // host = 'https://www.occupationlab.com/' // 正式服
host = "http://192.168.31.51:9000/"; host = "http://192.168.31.217:9000/";
} else if (isSq) { } else if (isSq) {
zcPath = `10.20.100.204:8883` zcPath = `10.20.100.204:8883`
} }

Loading…
Cancel
Save