This commit is contained in:
xyc 2025-05-20 11:27:27 +08:00
parent 1299cc1872
commit 777e07a5b0
7 changed files with 124 additions and 50 deletions

View File

@ -95,6 +95,9 @@ public class HitCompetitionStudentInfo implements Serializable {
@ApiModelProperty(value = "个人选拔赛分数") @ApiModelProperty(value = "个人选拔赛分数")
private BigDecimal trialsScore; private BigDecimal trialsScore;
@Excel(name = "赛道",readConverterExp = "1=常规赛道,2=产业赛道,3=国际赛道")
private Integer racetrack;
// @Excel(name = "是否被选为参加地区选拔赛人员", readConverterExp = "false=待审核,true=已入选",type = EXPORT) // @Excel(name = "是否被选为参加地区选拔赛人员", readConverterExp = "false=待审核,true=已入选",type = EXPORT)
@ApiModelProperty(value = "是否被选为参加初赛人员 (0: 否, 1: 是)") @ApiModelProperty(value = "是否被选为参加初赛人员 (0: 否, 1: 是)")
private Boolean isPreliminary; private Boolean isPreliminary;
@ -160,4 +163,7 @@ public class HitCompetitionStudentInfo implements Serializable {
@TableField(exist = false) @TableField(exist = false)
private Boolean isUpdateTeam; private Boolean isUpdateTeam;
@TableField(exist = false)
private String racetrackStr;
} }

View File

@ -6,12 +6,12 @@ spring:
druid: druid:
# 主库数据源 # 主库数据源
master: master:
url: jdbc:mysql://61.156.90.46:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true # url: jdbc:mysql://61.156.90.46:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
# url: jdbc:mysql://localhost:3306/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true url: jdbc:mysql://fn.xuyuncong.fun:3360/hgd_website?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true
username: obrhgd # username: obrhgd
# username: root username: hgd_website
password: Obr7890&*() # password: Obr7890&*()
# password: 123456 password: ZSERXa7zHGGfmmBT
# 从库数据源 # 从库数据源
slave: slave:
# 从数据源开关/默认关闭 # 从数据源开关/默认关闭

View File

@ -34,21 +34,32 @@
<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 select *,
CASE
WHEN racetrack = '1' THEN '常规赛道'
WHEN racetrack = '2' THEN '产业赛道'
WHEN racetrack = '3' THEN '国际赛道'
ELSE ''
END racetrackStr
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>
<if test="schoolName != null and schoolName != ''"> and school_name = #{schoolName} </if> <if test="schoolName != null and schoolName != ''">and school_name = #{schoolName}</if>
<if test="collegeName != null and collegeName != ''"> and college_name like concat('%', #{collegeName}, '%')</if> <if test="collegeName != null and collegeName != ''">and college_name like concat('%', #{collegeName},
<if test="schoolName != null and schoolName != ''"> and school_name like concat('%', #{schoolName}, '%')</if> '%')
<if test="major != null and major != ''"> and major = #{major}</if> </if>
<if test="division != null and division != ''"> and division = #{division}</if> <if test="schoolName != null and schoolName != ''">and school_name like concat('%', #{schoolName}, '%')
<if test="phoneNumber != null and phoneNumber != ''"> and phone_number = #{phoneNumber}</if> </if>
<if test="email != null and email != ''"> and email = #{email}</if> <if test="major != null and major != ''">and major = #{major}</if>
<if test="studentIdCard != null and studentIdCard != ''"> and student_id_card = #{studentIdCard}</if> <if test="division != null and division != ''">and division = #{division}</if>
<if test="trialsScore != null "> and trials_score = #{trialsScore}</if> <if test="phoneNumber != null and phoneNumber != ''">and phone_number = #{phoneNumber}</if>
<if test="isPreliminary != null "> and is_preliminary = #{isPreliminary}</if> <if test="email != null and email != ''">and email = #{email}</if>
<if test="year != null "> and create_time like concat(#{year},'%') </if> <if test="studentIdCard != null and studentIdCard != ''">and student_id_card = #{studentIdCard}</if>
<if test="trialsScore != null ">and trials_score = #{trialsScore}</if>
<if test="racetrack != null ">and racetrack = #{racetrack}</if>
<if test="isPreliminary != null ">and is_preliminary = #{isPreliminary}</if>
<if test="year != null ">and create_time like concat(#{year},'%')</if>
</where> </where>
order by school_name desc order by school_name desc
</select> </select>
@ -85,6 +96,7 @@
<if test="studentIdCard != null">student_id_card,</if> <if test="studentIdCard != null">student_id_card,</if>
<if test="trialsScore != null">trials_score,</if> <if test="trialsScore != null">trials_score,</if>
<if test="isPreliminary != null">is_preliminary,</if> <if test="isPreliminary != null">is_preliminary,</if>
<if test="racetrack != null">racetrack,</if>
<if test="remark != null">remark,</if> <if test="remark != null">remark,</if>
<if test="sex != null">sex,</if> <if test="sex != null">sex,</if>
<if test="delFlag != null">del_flag,</if> <if test="delFlag != null">del_flag,</if>
@ -107,6 +119,7 @@
<if test="studentIdCard != null">#{studentIdCard},</if> <if test="studentIdCard != null">#{studentIdCard},</if>
<if test="trialsScore != null">#{trialsScore},</if> <if test="trialsScore != null">#{trialsScore},</if>
<if test="isPreliminary != null">#{isPreliminary},</if> <if test="isPreliminary != null">#{isPreliminary},</if>
<if test="racetrack != null">#{racetrack},</if>
<if test="remark != null">#{remark},</if> <if test="remark != null">#{remark},</if>
<if test="sex != null">#{sex},</if> <if test="sex != null">#{sex},</if>
<if test="delFlag != null">#{delFlag},</if> <if test="delFlag != null">#{delFlag},</if>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@ -30,6 +30,16 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="赛道" prop="year">
<el-select v-model="queryParams.racetrack" placeholder="请选择" clearable>
<el-option
v-for="item in racetrack"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <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-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -79,6 +89,7 @@
<el-table-column label="所属赛区" align="center" prop="division" /> <el-table-column label="所属赛区" align="center" prop="division" />
<el-table-column label="手机号" align="center" prop="phoneNumber" /> <el-table-column label="手机号" align="center" prop="phoneNumber" />
<el-table-column label="邮箱" align="center" prop="email" /> <el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="赛道" align="center" prop="racetrackStr" />
<el-table-column label="学生证" align="center" prop="studentIdCard"> <el-table-column label="学生证" align="center" prop="studentIdCard">
<template slot-scope="scope"> <template slot-scope="scope">
<image-preview :src="scope.row.studentIdCard" :width="50" :height="50" /> <image-preview :src="scope.row.studentIdCard" :width="50" :height="50" />
@ -228,6 +239,20 @@ export default {
ids: [], ids: [],
// //
single: true, single: true,
racetrack: [
{
label: '常规赛道',
value: 1
},
{
label: '产业赛道',
value: 2
},
{
label: '国际赛道',
value: 3
},
],
// //
multiple: true, multiple: true,
// //
@ -316,6 +341,9 @@ export default {
}; };
}, },
created() { created() {
//
// console.log('',this.$route.query)
// this.queryParams.racetrack = this.$route.query.type
this.getList(); this.getList();
}, },
methods: { methods: {

View File

@ -79,6 +79,16 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="赛道" prop="racetrack">
<el-select v-model="signUpForm.racetrack" filterable allow-create default-first-option
placeholder="请选择学校名称"
>
<el-option v-for="item in racetrack" :key="item.value" :label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</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>
@ -486,10 +496,10 @@
</template> </template>
<script> <script>
import { getHomeUserInfo } from '@/api/system/user' import {getHomeUserInfo} from '@/api/system/user'
import { Swiper, SwiperSlide } from 'vue-awesome-swiper' import {Swiper, SwiperSlide} from 'vue-awesome-swiper'
import 'swiper/css/swiper.min.css' import 'swiper/css/swiper.min.css'
import { getPageData, getCategoryByParentId, getbaseInfo } from '@/api/officialWebsite/getPageData' import {getPageData, getCategoryByParentId, getbaseInfo} from '@/api/officialWebsite/getPageData'
import footers from '@/views/officialWebsite/Components/footer.vue' import footers from '@/views/officialWebsite/Components/footer.vue'
import headers from '@/views/officialWebsite/Components/header.vue' import headers from '@/views/officialWebsite/Components/header.vue'
import PageUtil from '@/views/officialWebsite/Components/page' import PageUtil from '@/views/officialWebsite/Components/page'
@ -505,8 +515,8 @@ import {
refuseTeam, refuseTeam,
editRegInfo, editCompetitionStudentInfo, updateRegInfo, editTeam editRegInfo, editCompetitionStudentInfo, updateRegInfo, editTeam
} from '@/api/officialWebsite/registerStudent' } from '@/api/officialWebsite/registerStudent'
import { getTab, getbanner } from '@/api/gw/home' import {getTab, getbanner} from '@/api/gw/home'
import { getToken } from '@/utils/auth' import {getToken} from '@/utils/auth'
export default { export default {
components: { components: {
@ -530,6 +540,20 @@ export default {
imgurl: process.env.VUE_APP_BASE_API, imgurl: process.env.VUE_APP_BASE_API,
// //
studentForm: {}, studentForm: {},
racetrack: [
{
label: '常规赛道',
value: 1
},
{
label: '产业赛道',
value: 2
},
{
label: '国际赛道',
value: 3
},
],
// //
teamForm: { teamForm: {
competition: [] competition: []
@ -572,84 +596,87 @@ export default {
teacherList: [], // teacherList: [], //
rules: { rules: {
stuName: [ stuName: [
{ required: true, message: '姓名不能为空', trigger: 'blur' } {required: true, message: '姓名不能为空', trigger: 'blur'}
], ],
schoolName: [ schoolName: [
{ required: true, message: '学校名称不能为空', trigger: 'blur' } {required: true, message: '学校名称不能为空', trigger: 'blur'}
], ],
studentId: [ studentId: [
{ required: true, message: '学号不能为空', trigger: 'blur' } {required: true, message: '学号不能为空', trigger: 'blur'}
], ],
collegeName: [ collegeName: [
{ required: true, message: '院系名称不能为空', trigger: 'blur' } {required: true, message: '院系名称不能为空', trigger: 'blur'}
], ],
division: [ division: [
{ required: true, message: '所属赛区不能为空', trigger: 'blur' } {required: true, message: '所属赛区不能为空', trigger: 'blur'}
], ],
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'},
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } {pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur'}
], ],
email: [ email: [
{ required: true, message: '邮箱不能为空', trigger: 'blur' } {required: true, message: '邮箱不能为空', trigger: 'blur'}
], ],
competition: [ competition: [
{ required: true, message: '赛事不能为空', trigger: 'blur' } {required: true, message: '赛事不能为空', trigger: 'blur'}
],
racetrack: [
{required: true, message: '赛道不能为空', trigger: 'blur'}
] ]
}, },
preliminaryFormRules: { preliminaryFormRules: {
competition: [ competition: [
{ required: true, message: '请选择至少一个赛事', trigger: 'change', type: 'array' } {required: true, message: '请选择至少一个赛事', trigger: 'change', type: 'array'}
], ],
divisionLabel: [ divisionLabel: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
division: [ division: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
schoolName: [ schoolName: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
'ldTeacherInfo.teacherName': [ 'ldTeacherInfo.teacherName': [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
teamName: [ teamName: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
teammateOne: [ teammateOne: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
teammateTwo: [ teammateTwo: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
teacherOne: [ teacherOne: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
// teacherTwo: [ // teacherTwo: [
// { required: true, message: "", trigger: "blur" } // { required: true, message: "", trigger: "blur" }
// ], // ],
sampleConcat: [ sampleConcat: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
sampleNumber: [ sampleNumber: [
// //
{ 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'}
], ],
sampleAddress: [ sampleAddress: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
], ],
uploadFile: [ uploadFile: [
{ required: true, message: '不能为空', trigger: 'blur' } {required: true, message: '不能为空', trigger: 'blur'}
] ]
}, },
pageContext: '', pageContext: '',