更新0731
This commit is contained in:
parent
4fec2aec95
commit
ab5423a0c6
@ -7,6 +7,8 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 大赛预报名表 preliminary
|
||||
*/
|
||||
@ -58,6 +60,9 @@ public class Preliminary {
|
||||
|
||||
private String racetrack;
|
||||
|
||||
/** 团队成员 */
|
||||
private List<Long> teammate;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -32,5 +32,11 @@ public class HitRegInfoUserImportVo extends BaseEntity
|
||||
@Excel(name = "化验分")
|
||||
private BigDecimal assayScore;
|
||||
|
||||
/**
|
||||
* 赛道
|
||||
*/
|
||||
@Excel(name = "赛道", dictType = "com_racetrack")
|
||||
private String racetrack;
|
||||
|
||||
private Long userId;
|
||||
}
|
||||
|
||||
@ -2,6 +2,7 @@ package com.ruoyi.cms.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.cms.domain.HitRegInfoUser;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -12,8 +13,7 @@ import java.util.List;
|
||||
* @author ruoyi
|
||||
* @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 结果
|
||||
*/
|
||||
public int deleteHitRegInfoUserByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据用户id和赛道查询
|
||||
*
|
||||
* @param userId
|
||||
* @param racetrack
|
||||
* @return
|
||||
*/
|
||||
HitRegInfoUser selectByUserIdAndRacetrack(@Param("userId") Long userId, @Param("racetrack") String racetrack);
|
||||
}
|
||||
|
||||
@ -549,9 +549,12 @@ public class HitRegInfoServiceImpl implements IHitRegInfoService {
|
||||
if (!StringUtils.isEmpty(item.getMobile())) {
|
||||
try {
|
||||
HitRegInfoUser hitRegInfoUser = BeanUtil.copyProperties(item, HitRegInfoUser.class);
|
||||
//根据赛道查询团队id
|
||||
HitRegInfoUser queryRegUser = hitRegInfoUserMapper.selectByUserIdAndRacetrack(item.getUserId(), item.getRacetrack());
|
||||
|
||||
hitRegInfoUserMapper.update(hitRegInfoUser, new LambdaUpdateWrapper<HitRegInfoUser>()
|
||||
.eq(HitRegInfoUser::getUserId, item.getUserId())
|
||||
.eq(HitRegInfoUser::getRegId, queryRegUser.getRegId())
|
||||
.between(HitRegInfoUser::getCreateTime, DateUtil.beginOfYear(now), DateUtil.endOfYear(now)));
|
||||
} catch (Exception e) {
|
||||
log.error("更新学生信息失败,phoneNumber: " + item.getMobile(), e);
|
||||
|
||||
@ -75,17 +75,34 @@ public class HitTeamsServiceImpl extends ServiceImpl<HitTeamsMapper, HitTeams> i
|
||||
throw new Exception("当前团队名已存在,请修改团队名");
|
||||
}
|
||||
|
||||
//判断所选三个队员是否存在待确认
|
||||
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已存在组队信息,不可重复组队");
|
||||
// 判断是否是产业赛道
|
||||
if (preliminary.getRacetrack().contains("2")) {
|
||||
// 循环队友判断是否存在
|
||||
// 判断队友是否超过十人
|
||||
if (preliminary.getTeammate().size() > 10) {
|
||||
throw new Exception("当前团队人数已超过十人,请修改");
|
||||
}
|
||||
for (Long userId : preliminary.getTeammate()) {
|
||||
HitRegInfo hitRegInfo = regInfoService.selectHitByUserId2(userId,preliminary.getRacetrack());
|
||||
if (ObjectUtils.isNotEmpty(hitRegInfo)) {
|
||||
// 通过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();
|
||||
@ -120,27 +137,43 @@ public class HitTeamsServiceImpl extends ServiceImpl<HitTeamsMapper, HitTeams> i
|
||||
hitRegInfoUser1.setCreateTime(new Date());
|
||||
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser1);
|
||||
|
||||
//插入人员信息
|
||||
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);
|
||||
// 判断是否是产业赛道
|
||||
if (preliminary.getRacetrack().contains("2")) {
|
||||
// 循环添加队友信息
|
||||
for (Long userId : preliminary.getTeammate()) {
|
||||
HitRegInfoUser hitRegInfoUser = new HitRegInfoUser();
|
||||
hitRegInfoUser.setRegId(hitRegInfo.getId());
|
||||
hitRegInfoUser.setUserId(userId);
|
||||
SysUser sysUser = userService.selectUserById(userId);
|
||||
hitRegInfoUser.setUserName(sysUser.getNickName());
|
||||
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();
|
||||
hitRegInfoUser3.setRegId(hitRegInfo.getId());
|
||||
hitRegInfoUser3.setUserId(preliminary.getTeammateTwo());
|
||||
SysUser sysUser1 = userService.selectUserById(preliminary.getTeammateTwo());
|
||||
hitRegInfoUser3.setUserName(sysUser1.getNickName());
|
||||
hitRegInfoUser3.setType("1");
|
||||
hitRegInfoUser3.setStatus("0");
|
||||
hitRegInfoUser3.setCreateTime(new Date());
|
||||
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser3);
|
||||
//插入人员信息
|
||||
HitRegInfoUser hitRegInfoUser3 = new HitRegInfoUser();
|
||||
hitRegInfoUser3.setRegId(hitRegInfo.getId());
|
||||
hitRegInfoUser3.setUserId(preliminary.getTeammateTwo());
|
||||
SysUser sysUser1 = userService.selectUserById(preliminary.getTeammateTwo());
|
||||
hitRegInfoUser3.setUserName(sysUser1.getNickName());
|
||||
hitRegInfoUser3.setType("1");
|
||||
hitRegInfoUser3.setStatus("0");
|
||||
hitRegInfoUser3.setCreateTime(new Date());
|
||||
regInfoUserMapper.insertHitRegInfoUser(hitRegInfoUser3);
|
||||
}
|
||||
|
||||
HitRegInfoUser hitRegInfoUser4 = new HitRegInfoUser();
|
||||
hitRegInfoUser4.setRegId(hitRegInfo.getId());
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
|
||||
<if test="delFlag != null">and del_flag = #{delFlag}</if>
|
||||
</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 id="contentList" parameterType="CmsContent" resultMap="CmsContentResult">
|
||||
@ -244,7 +244,7 @@
|
||||
<if test="accessoryUrl != null and accessoryUrl != ''">and accessory_url = #{accessoryUrl}</if>
|
||||
<if test="delFlag != null">and del_flag = #{delFlag}</if>
|
||||
</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 id="selectCmsContentByContentTitle" resultType="com.ruoyi.cms.domain.CmsContent"
|
||||
parameterType="java.lang.String">
|
||||
|
||||
@ -37,6 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<include refid="selectHitRegInfoUserVo"/>
|
||||
where id = #{id}
|
||||
</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 into hit_reg_info_user
|
||||
|
||||
@ -18,20 +18,20 @@
|
||||
</div>
|
||||
|
||||
<!-- 赛道选择 -->
|
||||
<!-- <div class="form-row">-->
|
||||
<!-- <el-form-item label="赛道" prop="racetrackArr">-->
|
||||
<!-- <el-checkbox-group v-model="formData.racetrackArr" @change="handleRacetrackChange">-->
|
||||
<!-- <el-checkbox-->
|
||||
<!-- v-for="item in racetrackOptions"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.value"-->
|
||||
<!-- :disabled="item.disabled"-->
|
||||
<!-- >-->
|
||||
<!-- {{ item.label }}-->
|
||||
<!-- </el-checkbox>-->
|
||||
<!-- </el-checkbox-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="form-row">-->
|
||||
<!-- <el-form-item label="赛道" prop="racetrackArr">-->
|
||||
<!-- <el-checkbox-group v-model="formData.racetrackArr" @change="handleRacetrackChange">-->
|
||||
<!-- <el-checkbox-->
|
||||
<!-- v-for="item in racetrackOptions"-->
|
||||
<!-- :key="item.value"-->
|
||||
<!-- :label="item.value"-->
|
||||
<!-- :disabled="item.disabled"-->
|
||||
<!-- >-->
|
||||
<!-- {{ item.label }}-->
|
||||
<!-- </el-checkbox>-->
|
||||
<!-- </el-checkbox-group>-->
|
||||
<!-- </el-form-item>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- 赛事选择(条件显示) -->
|
||||
<div class="form-row" v-if="showCompetition">
|
||||
@ -59,7 +59,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 队员选择 -->
|
||||
<div class="form-row">
|
||||
<div class="form-row" v-if="formData.racetrack != 2">
|
||||
<el-form-item label="队员1" prop="teammateOne">
|
||||
<el-select
|
||||
v-model="formData.teammateOne"
|
||||
@ -91,6 +91,24 @@
|
||||
</el-form-item>
|
||||
</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">
|
||||
<el-form-item label="指导老师1" prop="teacherOne">
|
||||
@ -194,7 +212,7 @@ export default {
|
||||
schoolName: '',
|
||||
racetrackArr: [],
|
||||
competition: [],
|
||||
ldTeacherInfo: { teacherName: '' },
|
||||
ldTeacherInfo: {teacherName: ''},
|
||||
teamName: '',
|
||||
teammateOne: '',
|
||||
teammateTwo: '',
|
||||
@ -261,7 +279,21 @@ export default {
|
||||
],
|
||||
teacherTwo: [
|
||||
{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() {
|
||||
console.log('表单提交',this.formData)
|
||||
console.log('表单提交', this.formData)
|
||||
this.$refs.form.validate(valid => {
|
||||
if (valid) {
|
||||
this.$emit('submit', this.formData);
|
||||
|
||||
@ -97,7 +97,7 @@ export default {
|
||||
transition: width 0.28s;
|
||||
}
|
||||
|
||||
.hideSidebar .fixed-header {
|
||||
.hideSidebar .fixed-header {
|
||||
width: calc(100% - 54px);
|
||||
}
|
||||
|
||||
|
||||
@ -48,6 +48,13 @@ export const constantRoutes = [
|
||||
component: () => import('@/views/home'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '',//首页
|
||||
name:'virtually',
|
||||
meta: { title: '首页' },
|
||||
component: () => import('@/views/home'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/list',//查看更多 列表页
|
||||
name:'list',
|
||||
@ -146,8 +153,13 @@ export const constantRoutes = [
|
||||
component: () => import('@/views/error/401'),
|
||||
hidden: true
|
||||
},
|
||||
// {
|
||||
// path: '/index',
|
||||
// component: () => import('@/views/index'),
|
||||
// hidden: false
|
||||
// },
|
||||
{
|
||||
path: '',
|
||||
path: '/',
|
||||
component: Layout,
|
||||
redirect: 'index',
|
||||
children: [
|
||||
|
||||
@ -43,18 +43,24 @@
|
||||
</span>
|
||||
<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="logout">退出登录</el-dropdown-item>
|
||||
<el-dropdown-item command="logout" divided @click.native="logout">退出</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
<el-dialog title="登录" :visible.sync="showLoginDialog" width="30%" :modal="false">
|
||||
<el-dialog title="" :visible.sync="showLoginDialog" width="30%" :modal="false">
|
||||
<div>
|
||||
<el-form :model="loginForm" ref="loginForm">
|
||||
<el-form-item prop="username">
|
||||
<el-input placeholder="手机号" v-model="loginForm.username"></el-input>
|
||||
</el-form-item>
|
||||
<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 prop="code">
|
||||
<el-input v-model="loginForm.code"
|
||||
@ -91,7 +97,7 @@
|
||||
<el-input placeholder="姓名" v-model="registerForm.nickName" type="text"></el-input>
|
||||
</el-form-item>
|
||||
<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 prop="password">
|
||||
@ -209,11 +215,11 @@ export default {
|
||||
}
|
||||
}
|
||||
return {
|
||||
isLoggedIn: false, // 是否登录
|
||||
isLoggedIn: false, // 是否
|
||||
value: false,
|
||||
currentUser: '', //当前用户
|
||||
codeUrl: '', //验证码地址
|
||||
showLoginDialog: false, // 是否显示登录对话框
|
||||
showLoginDialog: false, // 是否显示对话框
|
||||
registerDialog: false, // 是否显示注册对话框
|
||||
baseInfo: '',
|
||||
imgurl: process.env.VUE_APP_BASE_API,
|
||||
@ -221,6 +227,7 @@ export default {
|
||||
show_search: true,
|
||||
categoryQuery: {},
|
||||
tabindex: 0,
|
||||
passwordType: 'password', // 添加密码类型控制
|
||||
tablist: [
|
||||
{ name: '首页' },
|
||||
{ name: '中心概括' },
|
||||
@ -329,7 +336,7 @@ export default {
|
||||
this.tabindex = this.msg
|
||||
this.getCode()
|
||||
this.getCookie() // 页面加载完毕调用
|
||||
this.isLoggedIn = getToken() ? true : false // 检查 localStorage 中的登录状态
|
||||
this.isLoggedIn = getToken() ? true : false // 检查 localStorage 中的状态
|
||||
if (this.isLoggedIn) {
|
||||
this.loadUserInfo()
|
||||
}
|
||||
@ -361,6 +368,14 @@ export default {
|
||||
document.body.removeChild(link);
|
||||
},
|
||||
|
||||
showPassword() {
|
||||
if (this.passwordType === 'password') {
|
||||
this.passwordType = 'text'
|
||||
} else {
|
||||
this.passwordType = 'password'
|
||||
}
|
||||
},
|
||||
|
||||
//用户信息
|
||||
loadUserInfo() {
|
||||
getHomeUserInfo().then(response => {
|
||||
@ -631,4 +646,10 @@ export default {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.el-icon-view {
|
||||
cursor: pointer;
|
||||
line-height: 38px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@ -164,17 +164,17 @@ export default {
|
||||
this.onelist = data
|
||||
}
|
||||
},
|
||||
goDeatail(data) {
|
||||
if (data.linkType == 0) {
|
||||
this.$router.push({
|
||||
name: 'details',
|
||||
query: { id: data.id }
|
||||
})
|
||||
}
|
||||
if (data.linkType == 1) {
|
||||
window.open(data.link, '_blank')
|
||||
}
|
||||
},
|
||||
// goDeatail(data) {
|
||||
// if (data.linkType == 0) {
|
||||
// this.$router.push({
|
||||
// name: 'details',
|
||||
// query: { id: data.id }
|
||||
// })
|
||||
// }
|
||||
// if (data.linkType == 1) {
|
||||
// window.open(data.link, '_blank')
|
||||
// }
|
||||
// },
|
||||
getContentByCategoryId(id) {
|
||||
getListById(id).then(res => {
|
||||
this.dataList = res.data
|
||||
|
||||
@ -159,17 +159,17 @@
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="d-s">
|
||||
<el-form-item label="赛道" prop="racetrackArr">
|
||||
<el-checkbox-group v-model="preliminaryForm.racetrackArr" @change="changeRacetrack()">
|
||||
<el-checkbox
|
||||
<el-form-item label="赛道" prop="racetrack">
|
||||
<el-radio-group v-model="preliminaryForm.racetrack" @change="changeRacetrack()">
|
||||
<el-radio
|
||||
v-for="item in dict.type.com_racetrack"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
:disabled="item.disabled"
|
||||
:disabled="item.disabled || item.raw.remark == '0'"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="d-s" v-if="showCompetition">
|
||||
@ -189,7 +189,7 @@
|
||||
<el-input v-model="preliminaryForm.teamName"></el-input>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="d-s">
|
||||
<div class="d-s" v-if="preliminaryForm.racetrack != 2">
|
||||
<el-form-item label="队员1" prop="teammateOne">
|
||||
<el-select v-model="preliminaryForm.teammateOne" placeholder="第一个队友">
|
||||
<el-option v-for="item in preliminaryForm.tdStudentList" :key="item.userId"
|
||||
@ -210,6 +210,24 @@
|
||||
</el-form-item>
|
||||
</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">
|
||||
<el-form-item label="指导老师1" prop="teacherOne">
|
||||
<el-select v-model="preliminaryForm.teacherOne" placeholder="指导老师1">
|
||||
@ -464,7 +482,7 @@
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
:checked="checked" @change="checked=!checked"
|
||||
:disabled="item.disabled"
|
||||
:disabled="item.disabled || item.raw.remark == 0"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-checkbox>
|
||||
@ -607,6 +625,7 @@ import {
|
||||
import {getTab, getbanner} from '@/api/gw/home'
|
||||
import {getToken} from '@/utils/auth'
|
||||
import log from "@/views/monitor/job/log.vue";
|
||||
import Vue from "vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@ -668,9 +687,11 @@ export default {
|
||||
// racetrackArr: []
|
||||
},
|
||||
showCompetition: false,
|
||||
showSelectTeammate: false,
|
||||
//初赛表
|
||||
preliminaryForm: {
|
||||
teamName: '',
|
||||
teammate:[],
|
||||
division: '',
|
||||
schoolName: '',
|
||||
teammateOne: '',
|
||||
@ -681,6 +702,8 @@ export default {
|
||||
racetrackArr: [],
|
||||
competition: [],
|
||||
racetrack: '',
|
||||
tdStudentList:[],
|
||||
|
||||
},
|
||||
//队员
|
||||
teammateInfo: {
|
||||
@ -776,6 +799,22 @@ export default {
|
||||
{required: true, 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: [
|
||||
{required: true, message: '不能为空', trigger: 'blur'}
|
||||
@ -949,9 +988,7 @@ export default {
|
||||
},
|
||||
// 选择团队赛赛道
|
||||
selectRacetrack(data) {
|
||||
console.log('赛道', data)
|
||||
this.preliminaryForm.racetrack = data
|
||||
console.log('赛道', this.preliminaryForm.racetrack)
|
||||
// 查询选择的赛道是否报过名
|
||||
const params = {
|
||||
racetrack: data
|
||||
@ -959,7 +996,7 @@ export default {
|
||||
this.currentActive = 9
|
||||
queryIfReg(params).then(res => {
|
||||
if (res.data) {
|
||||
console.log(res.data,666)
|
||||
console.log(res.data, 666)
|
||||
this.preliminaryForm.hitRegInfo = res.data
|
||||
if (res.data.auditStatus == 1) {
|
||||
this.teamActive = 3
|
||||
@ -973,7 +1010,7 @@ export default {
|
||||
} else {
|
||||
this.teamActive = 1
|
||||
}
|
||||
console.log('此时的步骤',this.teamActive)
|
||||
console.log('此时的步骤', this.preliminaryForm.racetrack)
|
||||
this.showSelectRacetrack = false
|
||||
})
|
||||
},
|
||||
@ -1012,8 +1049,10 @@ export default {
|
||||
this.updateSignUpForm(response.data)
|
||||
this.studentForm = response.data
|
||||
this.teamForm = response.data.hitRegInfo
|
||||
this.teamForm.racetrackArr = []
|
||||
|
||||
if (this.teamForm) {
|
||||
this.teamForm.racetrackArr = []
|
||||
console.log('赛道', this.teamForm.racetrackArr)
|
||||
//将字符串转为数组
|
||||
this.teamForm.competition = this.teamForm.competition.split(',')
|
||||
if (this.teamForm.racetrack) {
|
||||
@ -1183,15 +1222,31 @@ export default {
|
||||
},
|
||||
changeRacetrack() {
|
||||
//将数组转换为字符串
|
||||
this.preliminaryForm.racetrack = this.arrayToString(this.preliminaryForm.racetrackArr)
|
||||
// this.preliminaryForm.racetrack = this.arrayToString(this.preliminaryForm.racetrackArr)
|
||||
// 判断赛道中是否包含1
|
||||
if (this.preliminaryForm.racetrackArr.includes('1')) {
|
||||
|
||||
if (this.preliminaryForm.racetrack.includes('1')) {
|
||||
this.showCompetition = true
|
||||
} else {
|
||||
} else {
|
||||
this.showCompetition = false
|
||||
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() {
|
||||
//将数组转换为字符串
|
||||
|
||||
Loading…
Reference in New Issue
Block a user