更新0731
This commit is contained in:
parent
4fec2aec95
commit
ab5423a0c6
@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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());
|
||||||
|
|||||||
@ -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">
|
||||||
@ -376,4 +376,4 @@
|
|||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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: [
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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() {
|
||||||
//将数组转换为字符串
|
//将数组转换为字符串
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user