This commit is contained in:
愉快的大福 2024-08-30 23:50:45 +08:00
parent 6e747c941a
commit 0150bdb84f
11 changed files with 505 additions and 26 deletions

View File

@ -43,6 +43,8 @@ public class HitCompetitionStudentInfo implements Serializable {
@ApiModelProperty(value = "学生姓名") @ApiModelProperty(value = "学生姓名")
private String stuName; private String stuName;
//用户主键
private Long userId;
@ApiModelProperty(value = "学号") @ApiModelProperty(value = "学号")
private String studentId; private String studentId;
@ -93,6 +95,8 @@ public class HitCompetitionStudentInfo implements Serializable {
@ApiModelProperty(value = "更新人") @ApiModelProperty(value = "更新人")
private String updateBy; private String updateBy;
@TableField(exist = false)
private String year;
} }

View File

@ -20,6 +20,13 @@ public interface HitRegistrationTeachInfoMapper extends BaseMapper<HitRegistrat
* @return 教师信息 * @return 教师信息
*/ */
public HitRegistrationTeachInfo selectHitRegistrationTeachInfoById(Long id); public HitRegistrationTeachInfo selectHitRegistrationTeachInfoById(Long id);
/**
* 查询教师信息
*
* @param id 教师信息主键
* @return 教师信息
*/
public HitRegistrationTeachInfo selectHitRegistrationTeachInfoByUserId(Long userId);
/** /**
* 查询教师信息列表 * 查询教师信息列表

View File

@ -13,12 +13,15 @@ import com.ruoyi.cms.service.IHitCompetitionStudentInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.HitRegistrationTeachInfo; import com.ruoyi.common.core.domain.HitRegistrationTeachInfo;
import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.system.mapper.SysUserMapper;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Calendar;
import java.util.List; import java.util.List;
/** /**
@ -68,6 +71,15 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
@Override @Override
public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo) public List<HitCompetitionStudentInfo> selectHitCompetitionStudentInfoList(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{ {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
hitCompetitionStudentInfo.setYear(String.valueOf(year));
//当前教师的学校
LoginUser loginUser = SecurityUtils.getLoginUser();
HitRegistrationTeachInfo hitRegistrationTeachInfo = hitRegistrationTeachInfoMapper.selectHitRegistrationTeachInfoByUserId(loginUser.getUserId());
if(ObjectUtils.isNotEmpty(hitRegistrationTeachInfo)){
hitCompetitionStudentInfo.setSchoolName(hitRegistrationTeachInfo.getSchoolName());
}
return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo); return hitCompetitionStudentInfoMapper.selectHitCompetitionStudentInfoList(hitCompetitionStudentInfo);
} }
@ -81,6 +93,8 @@ public class HitCompetitionStudentInfoServiceImpl extends ServiceImpl<HitCompeti
public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo) public int insertHitCompetitionStudentInfo(HitCompetitionStudentInfo hitCompetitionStudentInfo)
{ {
hitCompetitionStudentInfo.setCreateTime(DateUtils.getNowDate()); hitCompetitionStudentInfo.setCreateTime(DateUtils.getNowDate());
SysUser user = SecurityUtils.getLoginUser().getUser();
hitCompetitionStudentInfo.setUserId(user.getUserId());
return hitCompetitionStudentInfoMapper.insertHitCompetitionStudentInfo(hitCompetitionStudentInfo); return hitCompetitionStudentInfoMapper.insertHitCompetitionStudentInfo(hitCompetitionStudentInfo);
} }

View File

@ -174,6 +174,7 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
teachInfo.setStatus("1"); teachInfo.setStatus("1");
teachInfo.setType(user.getUserType()); teachInfo.setType(user.getUserType());
teachInfo.setTeacherName(user.getNickName()); teachInfo.setTeacherName(user.getNickName());
teachInfo.setUserId(sysUser.getUserId());
this.insertHitRegistrationTeachInfo(teachInfo); this.insertHitRegistrationTeachInfo(teachInfo);
}else if (user.getUserType().equals("03")){ }else if (user.getUserType().equals("03")){
HitRegistrationTeachInfo teachInfo = user.getHitRegistrationTeachInfo(); HitRegistrationTeachInfo teachInfo = user.getHitRegistrationTeachInfo();
@ -181,6 +182,7 @@ public class HitRegistrationTeachInfoServiceImpl implements IHitRegistrationTeac
teachInfo.setStatus("0"); teachInfo.setStatus("0");
teachInfo.setType(user.getUserType()); teachInfo.setType(user.getUserType());
teachInfo.setTeacherName(user.getNickName()); teachInfo.setTeacherName(user.getNickName());
teachInfo.setUserId(sysUser.getUserId());
this.insertHitRegistrationTeachInfo(teachInfo); this.insertHitRegistrationTeachInfo(teachInfo);
} }
} }

View File

@ -14,6 +14,7 @@
<result property="division" column="division" /> <result property="division" column="division" />
<result property="phoneNumber" column="phone_number" /> <result property="phoneNumber" column="phone_number" />
<result property="email" column="email" /> <result property="email" column="email" />
<result property="userId" column="user_id" />
<result property="studentIdCard" column="student_id_card" /> <result property="studentIdCard" column="student_id_card" />
<result property="trialsScore" column="trials_score" /> <result property="trialsScore" column="trials_score" />
<result property="isPreliminary" column="is_preliminary" /> <result property="isPreliminary" column="is_preliminary" />
@ -32,7 +33,7 @@
<select id="selectHitCompetitionStudentInfoList" parameterType="HitCompetitionStudentInfo" <select id="selectHitCompetitionStudentInfoList" parameterType="HitCompetitionStudentInfo"
resultType="com.ruoyi.cms.domain.HitCompetitionStudentInfo"> resultType="com.ruoyi.cms.domain.HitCompetitionStudentInfo">
select * from hit_competition_student_info
<where> <where>
<if test="hitRegId != null and hitRegId != ''"> and hit_reg_id = #{hitRegId}</if> <if test="hitRegId != null and hitRegId != ''"> and hit_reg_id = #{hitRegId}</if>
<if test="stuName != null and stuName != ''"> and stu_name like concat('%', #{stuName}, '%')</if> <if test="stuName != null and stuName != ''"> and stu_name like concat('%', #{stuName}, '%')</if>
@ -45,6 +46,7 @@
<if test="studentIdCard != null and studentIdCard != ''"> and student_id_card = #{studentIdCard}</if> <if test="studentIdCard != null and studentIdCard != ''"> and student_id_card = #{studentIdCard}</if>
<if test="trialsScore != null "> and trials_score = #{trialsScore}</if> <if test="trialsScore != null "> and trials_score = #{trialsScore}</if>
<if test="isPreliminary != null "> and is_preliminary = #{isPreliminary}</if> <if test="isPreliminary != null "> and is_preliminary = #{isPreliminary}</if>
<if test="year != null "> and create_time like concat(#{year},'%') </if>
</where> </where>
</select> </select>
@ -74,6 +76,7 @@
<if test="updateTime != null">update_time,</if> <if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if> <if test="updateBy != null">update_by,</if>
<if test="studentId != null">student_id,</if> <if test="studentId != null">student_id,</if>
<if test="userId != null">user_id,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="hitRegId != null">#{hitRegId},</if> <if test="hitRegId != null">#{hitRegId},</if>
@ -94,6 +97,7 @@
<if test="updateTime != null">#{updateTime},</if> <if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if> <if test="updateBy != null">#{updateBy},</if>
<if test="studentId != null">#{studentId},</if> <if test="studentId != null">#{studentId},</if>
<if test="userId != null">#{userId},</if>
</trim> </trim>
</insert> </insert>

View File

@ -23,14 +23,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="relatedAccounts" column="related_accounts" /> <result property="relatedAccounts" column="related_accounts" />
<result property="schoolName" column="school_name" /> <result property="schoolName" column="school_name" />
<result property="division" column="division" /> <result property="division" column="division" />
<result property="userId" column="user_id" />
</resultMap> </resultMap>
<sql id="selectHitRegistrationTeachInfoVo"> <sql id="selectHitRegistrationTeachInfoVo">
select id, hit_reg_id, teacher_name, teacher_job, teacher_number, teacher_email, teacher_school, remark, del_flag, create_time, create_by, update_time, update_by, type,status from hit_registration_teach_info select id, hit_reg_id, user_id,teacher_name, teacher_job, teacher_number, teacher_email, teacher_school, remark, del_flag, create_time, create_by, update_time, update_by, type,status from hit_registration_teach_info
</sql> </sql>
<select id="selectHitRegistrationTeachInfoList" parameterType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo" resultMap="HitRegistrationTeachInfoResult"> <select id="selectHitRegistrationTeachInfoList" parameterType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo" resultMap="HitRegistrationTeachInfoResult">
<include refid="selectHitRegistrationTeachInfoVo"/> select * from hit_registration_teach_info
<where> <where>
<if test="hitRegId != null "> and hit_reg_id = #{hitRegId}</if> <if test="hitRegId != null "> and hit_reg_id = #{hitRegId}</if>
<if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%')</if> <if test="teacherName != null and teacherName != ''"> and teacher_name like concat('%', #{teacherName}, '%')</if>
@ -47,6 +49,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectHitRegistrationTeachInfoVo"/> <include refid="selectHitRegistrationTeachInfoVo"/>
where id = #{id} where id = #{id}
</select> </select>
<select id="selectHitRegistrationTeachInfoByUserId"
resultType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo">
select * from hit_registration_teach_info
where user_id = #{userId}
</select>
<insert id="insertHitRegistrationTeachInfo" parameterType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo"> <insert id="insertHitRegistrationTeachInfo" parameterType="com.ruoyi.common.core.domain.HitRegistrationTeachInfo">
insert into hit_registration_teach_info insert into hit_registration_teach_info
@ -69,6 +76,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="schoolName != null and schoolName !='' ">school_name,</if> <if test="schoolName != null and schoolName !='' ">school_name,</if>
<if test="division != null and division !='' ">division,</if> <if test="division != null and division !='' ">division,</if>
<if test="relatedAccounts != null and relatedAccounts !='' ">related_accounts,</if> <if test="relatedAccounts != null and relatedAccounts !='' ">related_accounts,</if>
<if test="userId != null ">user_id,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
@ -90,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="schoolName != null and schoolName !='' ">#{schoolName},</if> <if test="schoolName != null and schoolName !='' ">#{schoolName},</if>
<if test="division != null and division !='' ">#{division},</if> <if test="division != null and division !='' ">#{division},</if>
<if test="relatedAccounts != null and relatedAccounts !='' ">#{relatedAccounts},</if> <if test="relatedAccounts != null and relatedAccounts !='' ">#{relatedAccounts},</if>
<if test="userId != null">#{userId},</if>
</trim> </trim>
</insert> </insert>
@ -110,6 +118,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateTime != null">update_time = #{updateTime},</if> <if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateBy != null">update_by = #{updateBy},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="userId != null">user_id = #{userId},</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

View File

@ -24,7 +24,8 @@ public class HitRegistrationTeachInfo extends BaseEntity
/** 报名主键 */ /** 报名主键 */
@Excel(name = "报名主键") @Excel(name = "报名主键")
private Long hitRegId; private Long hitRegId;
//用户主键
private Long userId;
/** 教师姓名 */ /** 教师姓名 */
@Excel(name = "教师姓名") @Excel(name = "教师姓名")
private String teacherName; private String teacherName;
@ -217,4 +218,12 @@ public class HitRegistrationTeachInfo extends BaseEntity
public void setStatus(String status) { public void setStatus(String status) {
this.status = status; this.status = status;
} }
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
} }

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询大赛学生列表
export function listInfo(query) {
return request({
url: '/system/hit_stu_info/list',
method: 'get',
params: query
})
}
// 查询大赛学生详细
export function getInfo(id) {
return request({
url: '/system/hit_stu_info/' + id,
method: 'get'
})
}
// 新增大赛学生
export function addInfo(data) {
return request({
url: '/system/hit_stu_info',
method: 'post',
data: data
})
}
// 修改大赛学生
export function updateInfo(data) {
return request({
url: '/system/hit_stu_info',
method: 'put',
data: data
})
}
// 删除大赛学生
export function delInfo(id) {
return request({
url: '/system/hit_stu_info/' + id,
method: 'delete'
})
}

View File

@ -0,0 +1,366 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="学生姓名" prop="stuName">
<el-input
v-model="queryParams.stuName"
placeholder="请输入学生姓名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="院系名称" prop="collegeName">
<el-input
v-model="queryParams.collegeName"
placeholder="请输入院系名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
>删除</el-button>
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['system:info:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="学生姓名" align="center" prop="stuName" />
<el-table-column label="学校名称" align="center" prop="schoolName" />
<el-table-column label="院系名称" align="center" prop="collegeName" />
<el-table-column label="专业" align="center" prop="major" />
<el-table-column label="所属赛区" align="center" prop="division" />
<el-table-column label="手机号" align="center" prop="phoneNumber" />
<el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="学生证" align="center" prop="studentIdCard" >
<template slot-scope="scope">
<image-preview :src="scope.row.studentIdCard" :width="50" :height="50"/>
</template>
</el-table-column>
<el-table-column label="个人选拔赛分数" align="center" prop="trialsScore" />
<el-table-column label="是否进入初赛" align="center" prop="isPreliminary" >
<template slot-scope="scope">
<div v-if="!scope.row.isPreliminary">待审核</div>
<div v-else-if="scope.row.isPreliminary==1">已入选</div>
<div v-else>未入选</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
v-if="!scope.row.isPreliminary||scope.row.isPreliminary==0"
@click="updateStatus(scope.row,1)"
>入选</el-button>
<el-button
size="mini"
type="text"
v-else
icon="el-icon-edit"
@click="updateStatus(scope.row,0)"
>取消入选</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改大赛学生对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="团队报名主键" prop="hitRegId">
<el-input v-model="form.hitRegId" placeholder="请输入团队报名主键" />
</el-form-item>
<el-form-item label="学生姓名" prop="stuName">
<el-input v-model="form.stuName" placeholder="请输入学生姓名" />
</el-form-item>
<el-form-item label="学校名称" prop="schoolName">
<el-input v-model="form.schoolName" placeholder="请输入学校名称" />
</el-form-item>
<el-form-item label="院系名称" prop="collegeName">
<el-input v-model="form.collegeName" placeholder="请输入院系名称" />
</el-form-item>
<el-form-item label="专业" prop="major">
<el-input v-model="form.major" placeholder="请输入专业" />
</el-form-item>
<el-form-item label="所属赛区" prop="division">
<el-input v-model="form.division" placeholder="请输入所属赛区" />
</el-form-item>
<el-form-item label="手机号" prop="phoneNumber">
<el-input v-model="form.phoneNumber" placeholder="请输入手机号" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="学生证" prop="studentIdCard">
<el-input v-model="form.studentIdCard" placeholder="请输入学生证" />
</el-form-item>
<el-form-item label="个人选拔赛分数" prop="trialsScore">
<el-input v-model="form.trialsScore" placeholder="请输入个人选拔赛分数" />
</el-form-item>
<el-form-item label="是否被选为参加初赛人员 (0: 否, 1: 是)" prop="isPreliminary">
<el-input v-model="form.isPreliminary" placeholder="请输入是否被选为参加初赛人员 (0: 否, 1: 是)" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="逻辑删除 0未删除 1真删除" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入逻辑删除 0未删除 1真删除" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listInfo, getInfo, delInfo, addInfo, updateInfo } from "@/api/hit/stuInfo";
export default {
name: "Info",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
infoList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
hitRegId: null,
stuName: null,
schoolName: null,
collegeName: null,
major: null,
division: null,
phoneNumber: null,
email: null,
studentIdCard: null,
trialsScore: null,
isPreliminary: null,
},
//
form: {},
//
rules: {
stuName: [
{ required: true, message: "学生姓名不能为空", trigger: "blur" }
],
schoolName: [
{ required: true, message: "学校名称不能为空", trigger: "blur" }
],
collegeName: [
{ required: true, message: "院系名称不能为空", trigger: "blur" }
],
major: [
{ required: true, message: "专业不能为空", trigger: "blur" }
],
division: [
{ required: true, message: "所属赛区不能为空", trigger: "blur" }
],
phoneNumber: [
{ required: true, message: "手机号不能为空", trigger: "blur" }
],
isPreliminary: [
{ required: true, message: "是否被选为参加初赛人员 (0: 否, 1: 是)不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "逻辑删除 0未删除 1真删除不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
updateTime: [
{ required: true, message: "更新时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询大赛学生列表 */
getList() {
this.loading = true;
listInfo(this.queryParams).then(response => {
this.infoList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
hitRegId: null,
stuName: null,
schoolName: null,
collegeName: null,
major: null,
division: null,
phoneNumber: null,
email: null,
studentIdCard: null,
trialsScore: null,
isPreliminary: null,
remark: null,
delFlag: null,
createTime: null,
createBy: null,
updateTime: null,
updateBy: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加大赛学生";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getInfo(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改大赛学生";
});
},
/** 修改按钮操作 */
updateStatus(data,type) {
data.isPreliminary = type
updateInfo(data).then(response => {
this.$modal.msgSuccess("成功");
this.getList();
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateInfo(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addInfo(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除大赛学生编号为"' + ids + '"的数据项?').then(function() {
return delInfo(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/info/export', {
...this.queryParams
}, `info_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -30,11 +30,11 @@
<!-- <i class="el-icon-circle-close" v-if="!show_search" style="margin-left: 10px;"--> <!-- <i class="el-icon-circle-close" v-if="!show_search" style="margin-left: 10px;"-->
<!-- @click="show_search = true"></i>--> <!-- @click="show_search = true"></i>-->
</div> </div>
<div class="right-box" v-if="!currentUser"> <div class="right-box" v-if="!isLoggedIn">
<el-button class="login-button" @click="showLoginDialog = true">登录</el-button> <el-button class="login-button" @click="showLoginDialog = true">登录</el-button>
<el-button class="register-button" @click="registerDialog = true">注册</el-button> <el-button class="register-button" @click="registerDialog = true">注册</el-button>
</div> </div>
<div class="right-box" v-if="currentUser"> <div class="right-box" v-if="isLoggedIn">
<el-dropdown @command="handleCommand"> <el-dropdown @command="handleCommand">
<span class="right-box"> <span class="right-box">
{{ currentUser }} <i class="el-icon-arrow-down el-icon--right"></i> {{ currentUser }} <i class="el-icon-arrow-down el-icon--right"></i>
@ -157,7 +157,7 @@ import { getBaseInfo, getTab } from '@/api/gw/home'
import { getCodeImg ,register} from "@/api/login"; import { getCodeImg ,register} from "@/api/login";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt' import { encrypt, decrypt } from '@/utils/jsencrypt'
import { getToken } from "@/utils/auth";
export default { export default {
dicts: ["sys_user_sex", "school_name","com_region"], dicts: ["sys_user_sex", "school_name","com_region"],
data() { data() {
@ -270,7 +270,7 @@ export default {
this.tabindex = this.msg this.tabindex = this.msg
this.getCode(); this.getCode();
this.getCookie(); // this.getCookie(); //
this.isLoggedIn = localStorage.getItem('isLoggedIn') === 'true'; // localStorage this.isLoggedIn = getToken()?true:false; // localStorage
if (this.isLoggedIn) { if (this.isLoggedIn) {
this.loadUserInfo(); this.loadUserInfo();
} }

View File

@ -34,9 +34,20 @@
<div class="step-box" v-if="active == 0"> <div class="step-box" v-if="active == 0">
<div class="step-box-title"> <div class="step-box-title">
<el-form label-width="80px" :model="signUpForm" :rules="rules" ref="form"> <el-form label-width="80px" :model="signUpForm" :rules="rules" ref="form">
<el-form-item label="学号" prop="studentId" >
<el-input v-model="signUpForm.studentId" disabled></el-input>
</el-form-item>
<el-form-item label="姓名" prop="stuName"> <el-form-item label="姓名" prop="stuName">
<el-input v-model="signUpForm.stuName"></el-input> <el-input v-model="signUpForm.stuName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属赛区" prop="division">
<el-select v-model="signUpForm.division" filterable allow-create default-first-option
placeholder="请选择学校名称">
<el-option v-for="item in dict.type.com_region" :key="item.value" :label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="学校" label-width="80px" prop="schoolName"> <el-form-item label="学校" label-width="80px" prop="schoolName">
<el-select v-model="signUpForm.schoolName" filterable allow-create default-first-option <el-select v-model="signUpForm.schoolName" filterable allow-create default-first-option
placeholder="请选择学校名称"> placeholder="请选择学校名称">
@ -45,18 +56,14 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="学号" prop="studentId" >
<el-input v-model="signUpForm.studentId" disabled></el-input>
</el-form-item>
<el-form-item label="院系名称" prop="collegeName"> <el-form-item label="院系名称" prop="collegeName">
<el-input v-model="signUpForm.collegeName"></el-input> <el-input v-model="signUpForm.collegeName"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="专业名称" prop="major"> <el-form-item label="专业名称" prop="major">
<el-input v-model="signUpForm.major"></el-input> <el-input v-model="signUpForm.major"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所属赛区" prop="division">
<el-input v-model="signUpForm.division"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="phoneNumber"> <el-form-item label="手机号" prop="phoneNumber">
<el-input v-model="signUpForm.phoneNumber"> <el-input v-model="signUpForm.phoneNumber">
@ -65,8 +72,8 @@
<el-form-item label="邮箱" prop="email"> <el-form-item label="邮箱" prop="email">
<el-input v-model="signUpForm.email"></el-input> <el-input v-model="signUpForm.email"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="学生证" prop="StudentIdCard"> <el-form-item label="学生证" prop="studentIdCard">
<image-upload :limit="1" v-model="signUpForm.StudentIdCard"></image-upload> <image-upload :limit="1" v-model="signUpForm.studentIdCard"></image-upload>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -76,7 +83,7 @@
</div> </div>
</div> </div>
<div class="step-box" v-if="active == 1"> <div class="step-box" v-if="active == 1">
<div class="step-box-title" v-if="signUpForm.trialsScore == null">成绩未出耐心等待</div> <div class="step-box-title" v-if="signUpForm.trialsScore == null">个人选拔赛成绩未出耐心等待</div>
<div class="step-box-title" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == false"> <div class="step-box-title" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == false">
很遗憾个人选拔赛未通过您的个人成绩为 : {{ signUpForm.trialsScore }}</div> 很遗憾个人选拔赛未通过您的个人成绩为 : {{ signUpForm.trialsScore }}</div>
<div class="step-box-title" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == true"> <div class="step-box-title" v-if="signUpForm.trialsScore != null && signUpForm.isPreliminary == true">
@ -199,6 +206,7 @@ import headers from '@/views/officialWebsite/Components/header.vue'
import PageUtil from '@/views/officialWebsite/Components/page' import PageUtil from '@/views/officialWebsite/Components/page'
import { addTeacher, register, getStudentInfoByStuId, getTeamMateInfo, getTeacherInfo, PreliminaryRegistration ,getTeamMate,agreeTeam,refuseTeam} from '@/api/officialWebsite/registerStudent' import { addTeacher, register, getStudentInfoByStuId, getTeamMateInfo, getTeacherInfo, PreliminaryRegistration ,getTeamMate,agreeTeam,refuseTeam} from '@/api/officialWebsite/registerStudent'
import { getTab, getbanner } from '@/api/gw/home' import { getTab, getbanner } from '@/api/gw/home'
import { getToken } from "@/utils/auth";
export default { export default {
components: { components: {
headers, headers,
@ -271,11 +279,14 @@ export default {
major: [ major: [
{ required: true, message: "专业名称不能为空", trigger: "blur" } { required: true, message: "专业名称不能为空", trigger: "blur" }
], ],
StudentIdCard: [ studentIdCard: [
{ required: true, message: "学生证不能为空", trigger: "blur" } { required: true, message: "学生证不能为空", trigger: "blur" }
], ],
phoneNumber: [ phoneNumber: [
{ required: true, message: "手机号不能为空", trigger: "blur" } { required: true, message: "手机号不能为空", trigger: "blur" }
],
email: [
{ required: true, message: "邮箱不能为空", trigger: "blur" }
] ]
}, },
@ -311,13 +322,16 @@ export default {
methods: { methods: {
// //
loadUserInfo() { loadUserInfo() {
getHomeUserInfo().then(response => { if(getToken()){
getHomeUserInfo().then(response => {
this.signUpForm.studentId = response.data.userName;
this.preliminaryForm.division = response.data.division;
this.preliminaryForm.schoolName = response.data.schoolName;
this.fetchRegistrationInformation()
})
}
this.signUpForm.studentId = response.data.userName;
this.preliminaryForm.division = response.data.division;
this.preliminaryForm.schoolName = response.data.schoolName;
this.fetchRegistrationInformation()
})
}, },
// //
fetchRegistrationInformation() { fetchRegistrationInformation() {
@ -455,7 +469,13 @@ export default {
} }
}, },
toRegister() { toRegister() {
if (this.registerStatus === '1') this.currentActive = 6; if(!getToken()){
this.$modal.msgWarning("报名请先登录系统!")
}else{
if (this.registerStatus === '1') this.currentActive = 6;
}
}, },
downloadFile(fileName) { downloadFile(fileName) {
console.log("尝试下载文件..."); console.log("尝试下载文件...");