赛事修复

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

@ -465,7 +465,7 @@ export default {
}).then(() => {
this.$post(`${this.api.deleteAnAdvisor}?id=${row.id}`).then(res => {
util.successMsg('删除成功')
this.getInfo()
this.info.teamInstructors.splice(i, 1)
}).catch(res => { })
}).catch(() => { })
} else {
@ -475,7 +475,9 @@ export default {
//
addAdvisor () {
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) {

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

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

Loading…
Cancel
Save