更新0731

This commit is contained in:
xyc 2025-07-31 10:41:16 +08:00
parent 4fec2aec95
commit ab5423a0c6
13 changed files with 272 additions and 90 deletions

View File

@ -7,6 +7,8 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
/** /**
* 大赛预报名表 preliminary * 大赛预报名表 preliminary
*/ */
@ -58,6 +60,9 @@ public class Preliminary {
private String racetrack; private String racetrack;
/** 团队成员 */
private List<Long> teammate;
} }

View File

@ -32,5 +32,11 @@ public class HitRegInfoUserImportVo extends BaseEntity
@Excel(name = "化验分") @Excel(name = "化验分")
private BigDecimal assayScore; private BigDecimal assayScore;
/**
* 赛道
*/
@Excel(name = "赛道", dictType = "com_racetrack")
private String racetrack;
private Long userId; private Long userId;
} }

View File

@ -2,6 +2,7 @@ package com.ruoyi.cms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.cms.domain.HitRegInfoUser; import com.ruoyi.cms.domain.HitRegInfoUser;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -12,8 +13,7 @@ import java.util.List;
* @author ruoyi * @author ruoyi
* @date 2024-09-01 * @date 2024-09-01
*/ */
public interface HitRegInfoUserMapper extends BaseMapper<HitRegInfoUser> public interface HitRegInfoUserMapper extends BaseMapper<HitRegInfoUser> {
{
/** /**
* 查询报名相关人员信息 * 查询报名相关人员信息
* *
@ -61,4 +61,13 @@ public interface HitRegInfoUserMapper extends BaseMapper<HitRegInfoUser>
* @return 结果 * @return 结果
*/ */
public int deleteHitRegInfoUserByIds(Long[] ids); public int deleteHitRegInfoUserByIds(Long[] ids);
/**
* 根据用户id和赛道查询
*
* @param userId
* @param racetrack
* @return
*/
HitRegInfoUser selectByUserIdAndRacetrack(@Param("userId") Long userId, @Param("racetrack") String racetrack);
} }

View File

@ -549,9 +549,12 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService {
if (!StringUtils.isEmpty(item.getMobile())) { if (!StringUtils.isEmpty(item.getMobile())) {
try { try {
HitRegInfoUser hitRegInfoUser = BeanUtil.copyProperties(item, HitRegInfoUser.class); HitRegInfoUser hitRegInfoUser = BeanUtil.copyProperties(item, HitRegInfoUser.class);
//根据赛道查询团队id
HitRegInfoUser queryRegUser = hitRegInfoUserMapper.selectByUserIdAndRacetrack(item.getUserId(), item.getRacetrack());
hitRegInfoUserMapper.update(hitRegInfoUser, new LambdaUpdateWrapper<HitRegInfoUser>() hitRegInfoUserMapper.update(hitRegInfoUser, new LambdaUpdateWrapper<HitRegInfoUser>()
.eq(HitRegInfoUser::getUserId, item.getUserId()) .eq(HitRegInfoUser::getUserId, item.getUserId())
.eq(HitRegInfoUser::getRegId, queryRegUser.getRegId())
.between(HitRegInfoUser::getCreateTime, DateUtil.beginOfYear(now), DateUtil.endOfYear(now))); .between(HitRegInfoUser::getCreateTime, DateUtil.beginOfYear(now), DateUtil.endOfYear(now)));
} catch (Exception e) { } catch (Exception e) {
log.error("更新学生信息失败phoneNumber: " + item.getMobile(), e); log.error("更新学生信息失败phoneNumber: " + item.getMobile(), e);

View File

@ -75,17 +75,34 @@ public class HitTeamsServiceImpl extends ServiceImpl<HitTeamsMapper, HitTeams> i
throw new Exception("当前团队名已存在,请修改团队名"); throw new Exception("当前团队名已存在,请修改团队名");
} }
//判断所选三个队员是否存在待确认 // 判断是否是产业赛道
if (preliminary.getTeammateOne().equals(preliminary.getTeammateTwo())) { if (preliminary.getRacetrack().contains("2")) {
throw new Exception("队员不可重复"); // 循环队友判断是否存在
} // 判断队友是否超过十人
HitRegInfo hitRegInfo1 = regInfoService.selectHitByUserId2(preliminary.getTeammateOne(),preliminary.getRacetrack()); if (preliminary.getTeammate().size() > 10) {
if (ObjectUtils.isNotEmpty(hitRegInfo1)) { throw new Exception("当前团队人数已超过十人,请修改");
throw new Exception("队员1已存在组队信息不可重复组队"); }
} for (Long userId : preliminary.getTeammate()) {
HitRegInfo hitRegInfo2 = regInfoService.selectHitByUserId2(preliminary.getTeammateTwo(),preliminary.getRacetrack()); HitRegInfo hitRegInfo = regInfoService.selectHitByUserId2(userId,preliminary.getRacetrack());
if (ObjectUtils.isNotEmpty(hitRegInfo2)) { if (ObjectUtils.isNotEmpty(hitRegInfo)) {
throw new Exception("队员2已存在组队信息不可重复组队"); // 通过userId查询用户信息
SysUser sysUser = userService.selectUserById(userId);
throw new Exception(sysUser.getNickName() + "该学生已存在组队信息,不可重复组队");
}
}
}else {
//判断所选三个队员是否存在待确认
if (preliminary.getTeammateOne().equals(preliminary.getTeammateTwo())) {
throw new Exception("队员不可重复");
}
HitRegInfo hitRegInfo1 = regInfoService.selectHitByUserId2(preliminary.getTeammateOne(),preliminary.getRacetrack());
if (ObjectUtils.isNotEmpty(hitRegInfo1)) {
throw new Exception("队员1已存在组队信息不可重复组队");
}
HitRegInfo hitRegInfo2 = regInfoService.selectHitByUserId2(preliminary.getTeammateTwo(),preliminary.getRacetrack());
if (ObjectUtils.isNotEmpty(hitRegInfo2)) {
throw new Exception("队员2已存在组队信息不可重复组队");
}
} }
//获取当前用户信息信息 //获取当前用户信息信息
SysUser user = SecurityUtils.getLoginUser().getUser(); SysUser user = SecurityUtils.getLoginUser().getUser();
@ -120,27 +137,43 @@ public class HitTeamsServiceImpl extends ServiceImpl<HitTeamsMapper, HitTeams> i
hitRegInfoUser1.setCreateTime(new Date()); hitRegInfoUser1.setCreateTime(new Date());
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser1); regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser1);
//插入人员信息 // 判断是否是产业赛道
HitRegInfoUser hitRegInfoUser2 = new HitRegInfoUser(); if (preliminary.getRacetrack().contains("2")) {
hitRegInfoUser2.setRegId(hitRegInfo.getId()); // 循环添加队友信息
hitRegInfoUser2.setUserId(preliminary.getTeammateOne()); for (Long userId : preliminary.getTeammate()) {
SysUser sysUser = userService.selectUserById(preliminary.getTeammateOne()); HitRegInfoUser hitRegInfoUser = new HitRegInfoUser();
hitRegInfoUser2.setUserName(sysUser.getNickName()); hitRegInfoUser.setRegId(hitRegInfo.getId());
hitRegInfoUser2.setType("1"); hitRegInfoUser.setUserId(userId);
hitRegInfoUser2.setStatus("0"); SysUser sysUser = userService.selectUserById(userId);
hitRegInfoUser2.setCreateTime(new Date()); hitRegInfoUser.setUserName(sysUser.getNickName());
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser2); hitRegInfoUser.setType("1");
hitRegInfoUser.setStatus("0");
hitRegInfoUser.setCreateTime(new Date());
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser);
}
}else {
//插入人员信息
HitRegInfoUser hitRegInfoUser2 = new HitRegInfoUser();
hitRegInfoUser2.setRegId(hitRegInfo.getId());
hitRegInfoUser2.setUserId(preliminary.getTeammateOne());
SysUser sysUser = userService.selectUserById(preliminary.getTeammateOne());
hitRegInfoUser2.setUserName(sysUser.getNickName());
hitRegInfoUser2.setType("1");
hitRegInfoUser2.setStatus("0");
hitRegInfoUser2.setCreateTime(new Date());
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser2);
//插入人员信息 //插入人员信息
HitRegInfoUser hitRegInfoUser3 = new HitRegInfoUser(); HitRegInfoUser hitRegInfoUser3 = new HitRegInfoUser();
hitRegInfoUser3.setRegId(hitRegInfo.getId()); hitRegInfoUser3.setRegId(hitRegInfo.getId());
hitRegInfoUser3.setUserId(preliminary.getTeammateTwo()); hitRegInfoUser3.setUserId(preliminary.getTeammateTwo());
SysUser sysUser1 = userService.selectUserById(preliminary.getTeammateTwo()); SysUser sysUser1 = userService.selectUserById(preliminary.getTeammateTwo());
hitRegInfoUser3.setUserName(sysUser1.getNickName()); hitRegInfoUser3.setUserName(sysUser1.getNickName());
hitRegInfoUser3.setType("1"); hitRegInfoUser3.setType("1");
hitRegInfoUser3.setStatus("0"); hitRegInfoUser3.setStatus("0");
hitRegInfoUser3.setCreateTime(new Date()); hitRegInfoUser3.setCreateTime(new Date());
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser3); regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser3);
}
HitRegInfoUser hitRegInfoUser4 = new HitRegInfoUser(); HitRegInfoUser hitRegInfoUser4 = new HitRegInfoUser();
hitRegInfoUser4.setRegId(hitRegInfo.getId()); hitRegInfoUser4.setRegId(hitRegInfo.getId());

View File

@ -127,7 +127,7 @@
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if> <if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
<if test="delFlag != null">and del_flag = #{delFlag}</if> <if test="delFlag != null">and del_flag = #{delFlag}</if>
</where> </where>
order by sort_num ASC, create_time desc, update_time desc order by sort_num IS NULL, sort_num ASC, update_time desc, create_time desc
</select> </select>
<select id="contentList" parameterType="CmsContent" resultMap="CmsContentResult"> <select id="contentList" parameterType="CmsContent" resultMap="CmsContentResult">
@ -244,7 +244,7 @@
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if> <if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
<if test="delFlag != null">and del_flag = #{delFlag}</if> <if test="delFlag != null">and del_flag = #{delFlag}</if>
</where> </where>
order by sort_num ASC, create_time desc, update_time desc order by sort_num IS NULL, sort_num ASC, update_time desc, create_time desc
</select> </select>
<select id="selectCmsContentByContentTitle" resultType="com.ruoyi.cms.domain.CmsContent" <select id="selectCmsContentByContentTitle" resultType="com.ruoyi.cms.domain.CmsContent"
parameterType="java.lang.String"> parameterType="java.lang.String">

View File

@ -37,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectHitRegInfoUserVo"/> <include refid="selectHitRegInfoUserVo"/>
where id = #{id} where id = #{id}
</select> </select>
<select id="selectByUserIdAndRacetrack" resultType="com.ruoyi.cms.domain.HitRegInfoUser">
SELECT *
FROM hit_reg_info_user hitUser
LEFT JOIN hit_reg_info hit ON hitUser.reg_id = hit.id
WHERE hitUser.user_id = #{userId} AND hit.racetrack = #{racetrack}
</select>
<insert id="insertHitRegInfoUser" parameterType="com.ruoyi.cms.domain.HitRegInfoUser"> <insert id="insertHitRegInfoUser" parameterType="com.ruoyi.cms.domain.HitRegInfoUser">
insert into hit_reg_info_user insert into hit_reg_info_user

View File

@ -18,20 +18,20 @@
</div> </div>
<!-- 赛道选择 --> <!-- 赛道选择 -->
<!-- <div class="form-row">--> <!-- <div class="form-row">-->
<!-- <el-form-item label="赛道" prop="racetrackArr">--> <!-- <el-form-item label="赛道" prop="racetrackArr">-->
<!-- <el-checkbox-group v-model="formData.racetrackArr" @change="handleRacetrackChange">--> <!-- <el-checkbox-group v-model="formData.racetrackArr" @change="handleRacetrackChange">-->
<!-- <el-checkbox--> <!-- <el-checkbox-->
<!-- v-for="item in racetrackOptions"--> <!-- v-for="item in racetrackOptions"-->
<!-- :key="item.value"--> <!-- :key="item.value"-->
<!-- :label="item.value"--> <!-- :label="item.value"-->
<!-- :disabled="item.disabled"--> <!-- :disabled="item.disabled"-->
<!-- >--> <!-- >-->
<!-- {{ item.label }}--> <!-- {{ item.label }}-->
<!-- </el-checkbox>--> <!-- </el-checkbox>-->
<!-- </el-checkbox-group>--> <!-- </el-checkbox-group>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<!-- </div>--> <!-- </div>-->
<!-- 赛事选择条件显示 --> <!-- 赛事选择条件显示 -->
<div class="form-row" v-if="showCompetition"> <div class="form-row" v-if="showCompetition">
@ -59,7 +59,7 @@
</div> </div>
<!-- 队员选择 --> <!-- 队员选择 -->
<div class="form-row"> <div class="form-row" v-if="formData.racetrack != 2">
<el-form-item label="队员1" prop="teammateOne"> <el-form-item label="队员1" prop="teammateOne">
<el-select <el-select
v-model="formData.teammateOne" v-model="formData.teammateOne"
@ -91,6 +91,24 @@
</el-form-item> </el-form-item>
</div> </div>
<div class="form-row" v-else>
<el-form-item label="队员" prop="teammate">
<el-select
v-model="formData.teammate"
placeholder="请选择队友"
clearable
multiple
>
<el-option
v-for="item in formData.tdStudentList"
:key="item.userId"
:label="item.stuName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
</div>
<!-- 指导老师选择 --> <!-- 指导老师选择 -->
<div class="form-row"> <div class="form-row">
<el-form-item label="指导老师1" prop="teacherOne"> <el-form-item label="指导老师1" prop="teacherOne">
@ -194,7 +212,7 @@ export default {
schoolName: '', schoolName: '',
racetrackArr: [], racetrackArr: [],
competition: [], competition: [],
ldTeacherInfo: { teacherName: '' }, ldTeacherInfo: {teacherName: ''},
teamName: '', teamName: '',
teammateOne: '', teammateOne: '',
teammateTwo: '', teammateTwo: '',
@ -261,7 +279,21 @@ export default {
], ],
teacherTwo: [ teacherTwo: [
{required: false, message: '请选择指导老师2', trigger: 'change'} {required: false, message: '请选择指导老师2', trigger: 'change'}
],
teammate: [
{required: true, message: '请选择队友', trigger: 'change'},
{
validator: (rule, value, callback) => {
if (value && value.length > 10) {
callback(new Error('最多只能选择10个队友'));
} else {
callback();
}
},
trigger: 'change'
}
] ]
} }
}; };
}, },
@ -276,7 +308,7 @@ export default {
}, },
// //
handleSubmit() { handleSubmit() {
console.log('表单提交',this.formData) console.log('表单提交', this.formData)
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
this.$emit('submit', this.formData); this.$emit('submit', this.formData);

View File

@ -97,7 +97,7 @@ export default {
transition: width 0.28s; transition: width 0.28s;
} }
.hideSidebar .fixed-header { .hideSidebar .fixed-header {
width: calc(100% - 54px); width: calc(100% - 54px);
} }

View File

@ -48,6 +48,13 @@ export const constantRoutes = [
component: () => import('@/views/home'), component: () => import('@/views/home'),
hidden: true hidden: true
}, },
{
path: '',//首页
name:'virtually',
meta: { title: '首页' },
component: () => import('@/views/home'),
hidden: true
},
{ {
path: '/list',//查看更多 列表页 path: '/list',//查看更多 列表页
name:'list', name:'list',
@ -146,8 +153,13 @@ export const constantRoutes = [
component: () => import('@/views/error/401'), component: () => import('@/views/error/401'),
hidden: true hidden: true
}, },
// {
// path: '/index',
// component: () => import('@/views/index'),
// hidden: false
// },
{ {
path: '', path: '/',
component: Layout, component: Layout,
redirect: 'index', redirect: 'index',
children: [ children: [

View File

@ -43,18 +43,24 @@
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="logout" divided @click.native="goBack">进入后台</el-dropdown-item> <el-dropdown-item command="logout" divided @click.native="goBack">进入后台</el-dropdown-item>
<el-dropdown-item command="logout" divided @click.native="logout">退出登录</el-dropdown-item> <el-dropdown-item command="logout" divided @click.native="logout">退出</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
<el-dialog title="登录" :visible.sync="showLoginDialog" width="30%" :modal="false"> <el-dialog title="" :visible.sync="showLoginDialog" width="30%" :modal="false">
<div> <div>
<el-form :model="loginForm" ref="loginForm"> <el-form :model="loginForm" ref="loginForm">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input placeholder="手机号" v-model="loginForm.username"></el-input> <el-input placeholder="手机号" v-model="loginForm.username"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
<el-input placeholder="密码" v-model="loginForm.password" type="password"></el-input> <el-input
placeholder="密码"
v-model="loginForm.password"
:type="passwordType"
>
<i slot="suffix" class="el-input__icon el-icon-view" @click="showPassword"></i>
</el-input>
</el-form-item> </el-form-item>
<el-form-item prop="code"> <el-form-item prop="code">
<el-input v-model="loginForm.code" <el-input v-model="loginForm.code"
@ -91,7 +97,7 @@
<el-input placeholder="姓名" v-model="registerForm.nickName" type="text"></el-input> <el-input placeholder="姓名" v-model="registerForm.nickName" type="text"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input placeholder="手机号(登录账号)" v-model="registerForm.username" type="text"></el-input> <el-input placeholder="手机号(账号)" v-model="registerForm.username" type="text"></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
@ -209,11 +215,11 @@ export default {
} }
} }
return { return {
isLoggedIn: false, // isLoggedIn: false, //
value: false, value: false,
currentUser: '', // currentUser: '', //
codeUrl: '', // codeUrl: '', //
showLoginDialog: false, // showLoginDialog: false, //
registerDialog: false, // registerDialog: false, //
baseInfo: '', baseInfo: '',
imgurl: process.env.VUE_APP_BASE_API, imgurl: process.env.VUE_APP_BASE_API,
@ -221,6 +227,7 @@ export default {
show_search: true, show_search: true,
categoryQuery: {}, categoryQuery: {},
tabindex: 0, tabindex: 0,
passwordType: 'password', //
tablist: [ tablist: [
{ name: '首页' }, { name: '首页' },
{ name: '中心概括' }, { name: '中心概括' },
@ -329,7 +336,7 @@ export default {
this.tabindex = this.msg this.tabindex = this.msg
this.getCode() this.getCode()
this.getCookie() // this.getCookie() //
this.isLoggedIn = getToken() ? true : false // localStorage this.isLoggedIn = getToken() ? true : false // localStorage
if (this.isLoggedIn) { if (this.isLoggedIn) {
this.loadUserInfo() this.loadUserInfo()
} }
@ -361,6 +368,14 @@ export default {
document.body.removeChild(link); document.body.removeChild(link);
}, },
showPassword() {
if (this.passwordType === 'password') {
this.passwordType = 'text'
} else {
this.passwordType = 'password'
}
},
// //
loadUserInfo() { loadUserInfo() {
getHomeUserInfo().then(response => { getHomeUserInfo().then(response => {
@ -631,4 +646,10 @@ export default {
text-align: center; text-align: center;
} }
.el-icon-view {
cursor: pointer;
line-height: 38px;
font-size: 16px;
}
</style> </style>

View File

@ -164,17 +164,17 @@ export default {
this.onelist = data this.onelist = data
} }
}, },
goDeatail(data) { // goDeatail(data) {
if (data.linkType == 0) { // if (data.linkType == 0) {
this.$router.push({ // this.$router.push({
name: 'details', // name: 'details',
query: { id: data.id } // query: { id: data.id }
}) // })
} // }
if (data.linkType == 1) { // if (data.linkType == 1) {
window.open(data.link, '_blank') // window.open(data.link, '_blank')
} // }
}, // },
getContentByCategoryId(id) { getContentByCategoryId(id) {
getListById(id).then(res => { getListById(id).then(res => {
this.dataList = res.data this.dataList = res.data

View File

@ -159,17 +159,17 @@
</el-form-item> </el-form-item>
</div> </div>
<div class="d-s"> <div class="d-s">
<el-form-item label="赛道" prop="racetrackArr"> <el-form-item label="赛道" prop="racetrack">
<el-checkbox-group v-model="preliminaryForm.racetrackArr" @change="changeRacetrack()"> <el-radio-group v-model="preliminaryForm.racetrack" @change="changeRacetrack()">
<el-checkbox <el-radio
v-for="item in dict.type.com_racetrack" v-for="item in dict.type.com_racetrack"
:key="item.value" :key="item.value"
:label="item.value" :label="item.value"
:disabled="item.disabled" :disabled="item.disabled || item.raw.remark == '0'"
> >
{{ item.label }} {{ item.label }}
</el-checkbox> </el-radio>
</el-checkbox-group> </el-radio-group>
</el-form-item> </el-form-item>
</div> </div>
<div class="d-s" v-if="showCompetition"> <div class="d-s" v-if="showCompetition">
@ -189,7 +189,7 @@
<el-input v-model="preliminaryForm.teamName"></el-input> <el-input v-model="preliminaryForm.teamName"></el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="d-s"> <div class="d-s" v-if="preliminaryForm.racetrack != 2">
<el-form-item label="队员1" prop="teammateOne"> <el-form-item label="队员1" prop="teammateOne">
<el-select v-model="preliminaryForm.teammateOne" placeholder="第一个队友"> <el-select v-model="preliminaryForm.teammateOne" placeholder="第一个队友">
<el-option v-for="item in preliminaryForm.tdStudentList" :key="item.userId" <el-option v-for="item in preliminaryForm.tdStudentList" :key="item.userId"
@ -210,6 +210,24 @@
</el-form-item> </el-form-item>
</div> </div>
<div class="d-s" v-if="preliminaryForm.racetrack == 2">
<el-form-item label="队员" prop="teammate">
<el-select
v-model="preliminaryForm.teammate"
placeholder="请选择队友"
clearable
multiple
>
<el-option
v-for="item in preliminaryForm.tdStudentList"
:key="item.userId"
:label="item.stuName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
</div>
<div class="d-s"> <div class="d-s">
<el-form-item label="指导老师1" prop="teacherOne"> <el-form-item label="指导老师1" prop="teacherOne">
<el-select v-model="preliminaryForm.teacherOne" placeholder="指导老师1"> <el-select v-model="preliminaryForm.teacherOne" placeholder="指导老师1">
@ -464,7 +482,7 @@
:key="item.value" :key="item.value"
:label="item.value" :label="item.value"
:checked="checked" @change="checked=!checked" :checked="checked" @change="checked=!checked"
:disabled="item.disabled" :disabled="item.disabled || item.raw.remark == 0"
> >
{{ item.label }} {{ item.label }}
</el-checkbox> </el-checkbox>
@ -607,6 +625,7 @@ import {
import {getTab, getbanner} from '@/api/gw/home' import {getTab, getbanner} from '@/api/gw/home'
import {getToken} from '@/utils/auth' import {getToken} from '@/utils/auth'
import log from "@/views/monitor/job/log.vue"; import log from "@/views/monitor/job/log.vue";
import Vue from "vue";
export default { export default {
components: { components: {
@ -668,9 +687,11 @@ export default {
// racetrackArr: [] // racetrackArr: []
}, },
showCompetition: false, showCompetition: false,
showSelectTeammate: false,
// //
preliminaryForm: { preliminaryForm: {
teamName: '', teamName: '',
teammate:[],
division: '', division: '',
schoolName: '', schoolName: '',
teammateOne: '', teammateOne: '',
@ -681,6 +702,8 @@ export default {
racetrackArr: [], racetrackArr: [],
competition: [], competition: [],
racetrack: '', racetrack: '',
tdStudentList:[],
}, },
// //
teammateInfo: { teammateInfo: {
@ -776,6 +799,22 @@ export default {
{required: true, message: '不能为空', trigger: 'blur'}, {required: true, message: '不能为空', trigger: 'blur'},
{pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'} {pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'}
], ],
racetrack: [
{required: true, message: '不能为空', trigger: 'blur'}
],
teammate: [
{required: true, message: '请选择队友', trigger: 'change'},
{
validator: (rule, value, callback) => {
if (value && value.length > 10) {
callback(new Error('最多只能选择10个队友'));
} else {
callback();
}
},
trigger: 'change'
}
],
sampleAddress: [ sampleAddress: [
{required: true, message: '不能为空', trigger: 'blur'} {required: true, message: '不能为空', trigger: 'blur'}
@ -949,9 +988,7 @@ export default {
}, },
// //
selectRacetrack(data) { selectRacetrack(data) {
console.log('赛道', data)
this.preliminaryForm.racetrack = data this.preliminaryForm.racetrack = data
console.log('赛道', this.preliminaryForm.racetrack)
// //
const params = { const params = {
racetrack: data racetrack: data
@ -959,7 +996,7 @@ export default {
this.currentActive = 9 this.currentActive = 9
queryIfReg(params).then(res => { queryIfReg(params).then(res => {
if (res.data) { if (res.data) {
console.log(res.data,666) console.log(res.data, 666)
this.preliminaryForm.hitRegInfo = res.data this.preliminaryForm.hitRegInfo = res.data
if (res.data.auditStatus == 1) { if (res.data.auditStatus == 1) {
this.teamActive = 3 this.teamActive = 3
@ -973,7 +1010,7 @@ export default {
} else { } else {
this.teamActive = 1 this.teamActive = 1
} }
console.log('此时的步骤',this.teamActive) console.log('此时的步骤', this.preliminaryForm.racetrack)
this.showSelectRacetrack = false this.showSelectRacetrack = false
}) })
}, },
@ -1012,8 +1049,10 @@ export default {
this.updateSignUpForm(response.data) this.updateSignUpForm(response.data)
this.studentForm = response.data this.studentForm = response.data
this.teamForm = response.data.hitRegInfo this.teamForm = response.data.hitRegInfo
this.teamForm.racetrackArr = []
if (this.teamForm) { if (this.teamForm) {
this.teamForm.racetrackArr = []
console.log('赛道', this.teamForm.racetrackArr)
// //
this.teamForm.competition = this.teamForm.competition.split(',') this.teamForm.competition = this.teamForm.competition.split(',')
if (this.teamForm.racetrack) { if (this.teamForm.racetrack) {
@ -1183,15 +1222,31 @@ export default {
}, },
changeRacetrack() { changeRacetrack() {
// //
this.preliminaryForm.racetrack = this.arrayToString(this.preliminaryForm.racetrackArr) // this.preliminaryForm.racetrack = this.arrayToString(this.preliminaryForm.racetrackArr)
// 1 // 1
if (this.preliminaryForm.racetrackArr.includes('1')) {
if (this.preliminaryForm.racetrack.includes('1')) {
this.showCompetition = true this.showCompetition = true
} else { } else {
this.showCompetition = false this.showCompetition = false
this.preliminaryForm.competition = [] this.preliminaryForm.competition = []
} }
console.log(this.preliminaryForm.racetrack) console.log('赛道', this.preliminaryForm.racetrack)
if (this.preliminaryForm.racetrack == 2) {
// 使 Vue.set teammate
if (!this.preliminaryForm.hasOwnProperty('teammate')) {
Vue.set(this.preliminaryForm, 'teammate', []);
} else {
this.preliminaryForm.teammate = []; //
}
}
// this.preliminaryForm.tdStudentList = res.data.map(item => ({
// ...item,
// userId: String(item.userId)
// }))
}, },
changeUpdateTeamRacetrack() { changeUpdateTeamRacetrack() {
// //