This commit is contained in:
zhouwentao 2025-06-23 14:31:54 +08:00
parent 623acf2423
commit 99684f8d9b
9 changed files with 271 additions and 103 deletions

View File

@ -1,7 +1,7 @@
# .env.production 和这个一样
# the APP baseURL
# VITE_APP_BASE_URL = 'http://127.0.0.1:8080/jeecg-boot/'
VITE_APP_BASE_URL = 'https://www.yitisheng.vip/jbt/'
VITE_APP_BASE_URL = 'http://127.0.0.1:8080/jeecg-boot/'
# VITE_APP_BASE_URL = 'https://www.yitisheng.vip/jbt/'
# the token key
VITE_APP_TOKEN_KEY = 'your_token_key'

View File

@ -27,15 +27,15 @@
</el-form-item>
</el-col>
<el-col :span="12" v-if="state.subjectsList && state.subjectsList.length>0">
<el-form-item label="专业选课" prop="subjects">
<el-select v-model="form.subjects" multiple @change="handleSubjectsSelectChange">
<el-option v-for="(item,index) in state.subjectsList" :key="index" :label="item.label" :value="item.value" :disabled="item.exclude && form.subjects.includes(item.exclude)"></el-option>
<el-form-item label="专业选课" prop="subjectList">
<el-select v-model="form.subjectList" multiple @change="handleSubjectsSelectChange">
<el-option v-for="(item,index) in state.subjectsList" :key="index" :label="item.label" :value="item.value" :disabled="item.exclude && form.subjectList.includes(item.exclude)"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="form.subjects && form.subjects.length>0">
<el-col :span="12" v-for="(item,index) in form.subjects" :key="index">
<el-row :gutter="20" v-if="form.subjectList && form.subjectList.length>0">
<el-col :span="12" v-for="(item,index) in form.subjectList" :key="index">
<!--音乐-->
<el-form-item label="音表声乐" :prop="convertSubjectToField(item)" v-if="item ==='音乐表演声乐'">
<el-input type="number" min="0" max="300" v-model="form.yybysy" @input="validateInput(item)" :placeholder="'请输入'+item"></el-input>
@ -60,7 +60,7 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12" v-if="form.professionalCategory!=='表演类'">
<el-col :span="12" v-if="form.professionalCategory!=='表演类' && form.professionalCategory!=='音乐类' ">
<el-form-item :label="dynamicProfessionalCategoryLabel()" prop="professionalScore">
<el-input type="number" min="0" max="300" v-model="form.professionalScore" :placeholder="'请输入'+dynamicProfessionalCategoryLabel()"></el-input>
</el-form-item>
@ -70,9 +70,9 @@
<el-input type="number" min="0" max="300" v-model="form.culturalScore" placeholder="请输入文化成绩"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="语文成绩" prop="chineseScore">
@ -117,7 +117,7 @@ const form = reactive({
professionalScore: '',//
chineseScore: '',//
englishScore: '',//
subjects:[] as Array<string>,//
subjectList:[] as Array<string>,//
yybysy:'',//
yybyqy:'',//
yyjy:'',//
@ -139,7 +139,7 @@ const submitForm = () => {
//
let submitForm = {
...form,
professionalCategoryChildren: form.subjects.join(',')
professionalCategoryChildren: form.subjectList.join(',')
}
console.log('Form submitted:', submitForm);
axiosInstance({
@ -199,7 +199,7 @@ function reloadScore(){
form.englishScore = scoreInfo.englishScore
handleProfessionalCateGoryChange()
if(scoreInfo.professionalCategoryChildren){
form.subjects = scoreInfo.professionalCategoryChildren.split(',')
form.subjectList = scoreInfo.professionalCategoryChildren.split(',')
}
form.yybysy = scoreInfo.yybysy
form.yybyqy = scoreInfo.yybyqy
@ -209,13 +209,13 @@ function reloadScore(){
form.xjysby = scoreInfo.xjysby
console.log(scoreInfo)
}
reloadRules()
}
//
const handleProfessionalCateGoryChange=()=>{
form.subjects = []
form.subjectList = []
state.subjectsList = []
//
state.professionalCategoryList.forEach(item=>{
@ -230,9 +230,9 @@ const handleProfessionalCateGoryChange=()=>{
//
const handleSubjectsSelectChange=(value:string[])=>{
if (value.includes('a')) {
form.subjects = value.filter((item) => item !== 'b');
form.subjectList = value.filter((item) => item !== 'b');
} else if (value.includes('b')) {
form.subjects = value.filter((item) => item !== 'a');
form.subjectList = value.filter((item) => item !== 'a');
}
reloadRules()
}
@ -246,8 +246,8 @@ const dynamicProfessionalCategoryLabel=()=>{
}
//
const convertSubjectToField = (subjects: string) => {
switch (subjects) {
const convertSubjectToField = (subjectList: string) => {
switch (subjectList) {
case '音乐表演声乐':
return 'yybysy';
case '音乐表演器乐':
@ -262,18 +262,18 @@ const convertSubjectToField = (subjects: string) => {
return 'xjysby';
}
}
const validateInput = (subjects:any)=>{
if(subjects === '音乐表演声乐'){
const validateInput = (subjectList:any)=>{
if(subjectList === '音乐表演声乐'){
form.yybysy = form.yybysy.replace(/\D/g, '')
}else if(subjects === '音乐表演器乐'){
}else if(subjectList === '音乐表演器乐'){
form.yybyqy = form.yybyqy.replace(/\D/g, '')
}else if(subjects === '音乐教育'){
}else if(subjectList === '音乐教育'){
form.yyjy = form.yyjy.replace(/\D/g, '')
}else if(subjects === '服装表演'){
}else if(subjectList === '服装表演'){
form.fzby = form.fzby.replace(/\D/g, '')
}else if(subjects === '戏剧影视导演'){
}else if(subjectList === '戏剧影视导演'){
form.xjysdy = form.xjysdy.replace(/\D/g, '')
}else if(subjects === '戏剧影视表演'){
}else if(subjectList === '戏剧影视表演'){
form.xjysby = form.xjysby.replace(/\D/g, '')
}
}
@ -288,10 +288,10 @@ function reloadRules(){
culturalScore: [{ required: true, message: '请输入文化成绩', trigger: 'blur' }],
chineseScore: [{ required: true, message: '请输入语文成绩', trigger: 'blur' }],
englishScore: [{ required: true, message: '请输入英语成绩', trigger: 'blur' }],
subjects: [{ required: true, message: '请选择专业选课', trigger: 'change' }],
subjectList: [{ required: true, message: '请选择专业选课', trigger: 'change' }],
}
if(form.subjects && form.subjects.length>0){
form.subjects.forEach(item=>{
if(form.subjectList && form.subjectList.length>0){
form.subjectList.forEach(item=>{
ru[convertSubjectToField(item)] = [{ required: true, message: '请输入'+item, trigger: 'change' }]
})
}

View File

@ -57,7 +57,7 @@
<span class="pr-10 mr-10" style="border-right:2px solid #e4e7ed;">
文化成绩·{{ state.scoreInfo.culturalScore }}
</span>
<span class="mr-10">{{state.scoreInfo.professionalCategory==='音乐类'?'主项成绩':'统考成绩'}}·{{ state.scoreInfo.professionalScore }}</span>
<span class="mr-10" v-show="state.scoreInfo.professionalCategory!='音乐类'">{{state.scoreInfo.professionalCategory==='音乐类'?'主项成绩':'统考成绩'}}·{{ state.scoreInfo.professionalScore }}</span>
<span @click="openEditScore" style="cursor: pointer;"><el-icon><EditPen /></el-icon></span>
</div>
</li>
@ -181,7 +181,7 @@ onMounted(() => {
state.scoreInfo.xjysby = a.xjysby
state.scoreInfo.fzby = a.fzby
userInfo = null
a = null
scoreInfo = null
@ -189,7 +189,7 @@ onMounted(() => {
}else{
state.token = ''
state.userInfo = null
}
state.columnList = StaticConstant.defaultRouterList
});

View File

@ -103,7 +103,7 @@
</div>
</div>
</div>
</template>
<script setup lang="ts">
@ -175,10 +175,10 @@ const submitForm = () => {
getScore()
setTimeout(function(){
router.push({
path: "/index"
path: "/fillVolunteer"
});
window.location.reload()
}, 1000);
// window.location.reload()
}, 500);
}else{
ElMessage.error(data.message);
}
@ -236,7 +236,6 @@ function reloadScore(){
form.xjysby = scoreInfo.xjysby
console.log(scoreInfo)
}
//reloadRules()
}

View File

@ -93,7 +93,14 @@ const routes = [
title:"资讯详情"
}
},
{
path: '/testTiyuScore',
name: 'testTiyuScore',
component: () => import('@/views/other/testTiyuScore.vue'),
meta:{
title:"体育算分数"
}
},
/*{
path: '/search',//搜索
name: 'search',
@ -134,7 +141,7 @@ const routes = [
name: 'passwordChanger',
component: () => import('@/views/passwordChanger.vue')
},
// {path : '/:pathMatch(.*)*', redirect:{name:'index'}}//其余路由重定向至首页。
{ path: '/:pathMatch(.*)*', redirect: () => {
return { name: 'index' };//重定向的 字符串路径/路径对象

View File

@ -6,7 +6,7 @@ const Major={
recommendMajorList:'/art/recommendMajor/list',//获取学校的其他专业
schoolHistoryMajorEnrollList:'/yx/yxHistoryMajorEnroll/list',//获取学校的分数计划
schoolMajorList:'/web/major/schoolMajorList',//获取school_major 数据
majorInfo:'/mini/major/majorInfo',//获取专业详情
rulesEnrollrobabilityMenuList: '/mini/major/rulesEnrollrobabilityMenuList',
testCultural:'/web/major/testCultural',//测文化
@ -36,6 +36,8 @@ const Score={
calculateInvestment: '/art/recommendMajor/calculateInvestment',//投档分测算
scoreSegmentList:'/web/scoreSegment/list',//五分一段表
getJson: '/api/static/data/getJson', // post
}
//学校类
const School = {

View File

@ -27,7 +27,7 @@
<p class="flexWrap">地区{{ state.scoreInfo.province }}</p>
<p class="flexWrap">选科{{ state.scoreInfo.cognitioPolyclinic==='文科'?'历史组':'物理组' }}</p>
<p class="flexWrap">文化{{ state.scoreInfo.culturalScore }}</p>
<p class="flexWrap">{{ state.scoreInfo.professionalCategory==='音乐类'?'主项':'统考' }}{{ state.scoreInfo.professionalScore }}</p>
<p class="flexWrap" v-show="state.scoreInfo.professionalCategory!=='音乐类'">{{ state.scoreInfo.professionalCategory==='音乐类'?'主项':'统考' }}{{ state.scoreInfo.professionalScore }}</p>
<span v-if="state.scoreInfo.professionalCategory==='音乐类'">
<p class="flexWrap" v-show="state.scoreInfo.yybysy && state.scoreInfo.yybysy!==0">声乐{{ state.scoreInfo.yybysy }}</p>
<p class="flexWrap" v-show="state.scoreInfo.yybyqy && state.scoreInfo.yybyqy!==0">器乐{{ state.scoreInfo.yybyqy }}</p>
@ -69,9 +69,9 @@
<div class="flexWrap">
<div class="flex-item-1">就读地域</div>
<div class="flex-item-9 tags">
<span class="tag" :class="state.selectForm.addressList.length==0?'tag-active':''"
<span class="tag" :class="state.selectForm.addressList.length==0?'tag-active':''"
@click="checkboxAddress('')">不限</span>
<span class="tag" :class="state.selectForm.addressList.includes(item.code)?'tag-active':''"
<span class="tag" :class="state.selectForm.addressList.includes(item.code)?'tag-active':''"
v-for="(item,index) in state.addressList" :key="index"
@click="checkboxAddress(item.code)">
{{ item.name }}
@ -81,9 +81,9 @@
<div class="flexWrap">
<div class="flex-item-1">科研教学</div>
<div class="flex-item-9 tags">
<span class="tag" :class="state.selectForm.kyjxList.length==0?'tag-active':''"
<span class="tag" :class="state.selectForm.kyjxList.length==0?'tag-active':''"
@click="checkboxKyjx('')">不限</span>
<span class="tag" :class="state.selectForm.kyjxList.includes(item)?'tag-active':''"
<span class="tag" :class="state.selectForm.kyjxList.includes(item)?'tag-active':''"
v-for="(item,index) in state.kyjxList" :key="index"
@click="checkboxKyjx(item)">
{{ item }}
@ -93,9 +93,9 @@
<div class="flexWrap">
<div class="flex-item-1">院校标签</div>
<div class="flex-item-9 tags">
<span class="tag" :class="state.selectForm.tagsList.length==0?'tag-active':''"
<span class="tag" :class="state.selectForm.tagsList.length==0?'tag-active':''"
@click="checkboxSchoolTags('')">不限</span>
<span class="tag" :class="state.selectForm.tagsList.includes(item.code)?'tag-active':''"
<span class="tag" :class="state.selectForm.tagsList.includes(item.code)?'tag-active':''"
v-for="(item,index) in state.tagsList" :key="index"
@click="checkboxSchoolTags(item.code)">
{{ item.name }}
@ -105,9 +105,9 @@
<div class="flexWrap">
<div class="flex-item-1">办学类型</div>
<div class="flex-item-9 tags">
<span class="tag" :class="state.selectForm.schoolNatureList.length==0?'tag-active':''"
<span class="tag" :class="state.selectForm.schoolNatureList.length==0?'tag-active':''"
@click="checkboxSchoolNature('')">不限</span>
<span class="tag" :class="state.selectForm.schoolNatureList.includes(item.code)?'tag-active':''"
<span class="tag" :class="state.selectForm.schoolNatureList.includes(item.code)?'tag-active':''"
v-for="(item,index) in state.schoolNatureList" :key="index"
@click="checkboxSchoolNature(item.code)">
{{ item.name }}
@ -117,9 +117,9 @@
<div class="flexWrap">
<div class="flex-item-1">录取方式</div>
<div class="flex-item-9 tags">
<span class="tag" :class="state.selectForm.rulesEnrollProbabilityList.length==0?'tag-active':''"
<span class="tag" :class="state.selectForm.rulesEnrollProbabilityList.length==0?'tag-active':''"
@click="checkboxRulesEnroll('')">不限</span>
<span class="tag" :class="state.selectForm.rulesEnrollProbabilityList.includes(item.value)?'tag-active':''"
<span class="tag" :class="state.selectForm.rulesEnrollProbabilityList.includes(item.value)?'tag-active':''"
v-for="(item,index) in state.rulesEnrollProbabilityList" :key="index"
@click="checkboxRulesEnroll(item.value)">
{{ item.label }}
@ -148,8 +148,8 @@
<div class="panetype" :class="state.selectForm.batch==='民办本科'?'panetype-active':''" @click="switchBatch('民办本科')">民办本科</div>
</div>
</div>
</div>
<!--难录取/较稳妥....-->
<div class="paneTypes flexWrap">
@ -160,7 +160,7 @@
<div class="panetype" v-if="state.slData.kbd!==0" :class="state.selectForm.paneName==='可保底'?'panetype-active bao':''" @click="switchPane('可保底')">可保底&nbsp;{{ state.vipInfo.sl?state.slData.kbd:'??' }}</div>
</div>
<el-table v-if="state.recommendVolunteer.list && state.recommendVolunteer.list.length>0" :data="state.recommendVolunteer.list" class="elTable" style="width:100%;height: 75vh;" v-el-table-infinite-scroll="handleRecommTableScroll">
<el-table-column label="招生院校" width="190">
<el-table-column label="招生院校" width="210">
<template #default="scope">
<div class="top-align">
<div class="flexWrap">
@ -176,13 +176,13 @@
<span class="font-size-14" style="background-color:bisque;padding:1 7px;border-radius: 3px;">{{ scope.row.schoolCode }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="录取概率" width="100" align="center">
<template #default="scope">
<div class="top-align flexWrap">
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}%</span>
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}</span>
<span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div>
<div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -202,21 +202,25 @@
</div>
</template>
</el-table-column>
<el-table-column label="招生专业" width="200" align="center">
<el-table-column label="招生专业" width="230" align="center">
<template #default="scope">
<div class="top-align">
<div class="flexWrap">
<span class="font-size-16 fw-6 black1 main-container showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.majorName }}</span>
<span class="showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.tuition }}</span>
</div>
<div class="flexWrap mt-20" style="line-height: 10px;">
<div style="color:red" class="main-container" v-show="scope.row.state == '2'"></div>
</div>
<div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 main-container">专业代码</span>
<span class="font-size-14 main-container" style="background-color:bisque;padding:1 7px;border-radius: 3px;">{{ scope.row.enrollmentCode }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="24省内招生" align="center">
<el-table-column label="25省内招生" align="center">
<template #default="scope">
<div class="top-align flexWrap">
<span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span>
@ -228,7 +232,7 @@
</div>
<div class="flexWrap">
<span style="margin: 0 auto;" class="fw-6">
{{ scope.row.rulesEnrollProbability ||'未知'}}
{{ scope.row.rulesEnrollProbability || scope.row.rulesEnrollProbabilitySx ||'未知'}}
</span>
</div>
</template>
@ -249,7 +253,7 @@
</div>
</template>
</el-table-column>
<el-table-column v-for="(item,index) in ['2023','2022','2021']" :key="index" :label="item" width="140" align="center">
<el-table-column v-for="(item,index) in ['2024','2023','2022']" :key="index" :label="item" width="140" align="center">
<template #default="scope">
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;">
<span class="main-container">{{ scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item] && scope.row.historyMajorEnrollMap[item].enrollNum }}</span>
@ -262,7 +266,7 @@
</div>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;">
<span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }}
{{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span>
</div>
</template>
@ -287,7 +291,7 @@
<div class="flex-item-1">名称</div>
<div class="flex-item-7 pl-10"><el-input v-model="state.volunteerInfo.editVolunteerName"/></div>
<div class="flex-item-1">
<el-popconfirm
<el-popconfirm
confirm-button-text="确定"
cancel-button-text="取消"
:icon="InfoFilled"
@ -342,14 +346,14 @@
<span class="font-size-14" style="background-color:bisque;padding:1 7px;border-radius: 3px;">{{ scope.row.schoolCode }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="录取概率" align="center">
<template #default="scope">
<div v-if="scope.row.schoolName">
<div class="top-align flexWrap">
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}%</span>
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}</span>
<span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div>
<div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -367,7 +371,7 @@
线差{{ scope.row.scoreLineDifference }}
</span>
</div>
</div>
</template>
</el-table-column>
@ -376,16 +380,17 @@
<div class="top-align" v-if="scope.row.schoolName">
<div class="flexWrap">
<span class="font-size-16 fw-6 black1 main-container showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.majorName }}</span>
<span class="font-size-16 fw-6 black1 showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.tuition }}</span>
</div>
<div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 main-container">专业代码</span>
<span class="font-size-14 main-container" style="background-color:bisque;padding:1 7px;border-radius: 3px;">{{ scope.row.enrollmentCode }}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="24省内招生" width="150" align="center">
<el-table-column label="25省内招生" width="150" align="center">
<template #default="scope">
<div v-if="scope.row.schoolName">
<div class="top-align flexWrap">
@ -417,7 +422,7 @@
</div>
</template>
</el-table-column>
<el-table-column v-for="(item,index) in ['2023','2022','2021']" :key="index" :label="item" width="100" align="center">
<el-table-column v-for="(item,index) in ['2024','2023','2022']" :key="index" :label="item" width="100" align="center">
<template #default="scope">
<div>
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;">
@ -428,7 +433,7 @@
</div>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;">
<span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }}
{{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span>
</div>
</div>
@ -450,7 +455,7 @@
</div>
</div>
</el-popover>
<el-popconfirm
<el-popconfirm
confirm-button-text="确定"
cancel-button-text="取消"
:icon="InfoFilled"
@ -507,7 +512,7 @@
<div class="top-align">
<div class="flexWrap">
<span class="font-size-16 fw-6 black1 showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.majorName }}</span><br/>
<span class="font-size-16 fw-6 black1 showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.majorDetail }}</span>
<!-- <span class="font-size-16 fw-6 black1 showClick" @click="openMajor(scope.row.majorCode)">{{ scope.row.tuition }}</span>-->
</div>
<div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 mr-5">专业代码</span>
@ -519,7 +524,7 @@
<el-table-column label="录取概率" width="100" align="center">
<template #default="scope">
<div class="top-align flexWrap">
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}%</span>
<span class="font-size-15" style="margin: 0 auto;" v-if="state.vipInfo.lqgl">{{ formatDecimal(scope.row.enrollProbability) }}</span>
<span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div>
<div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -539,7 +544,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="24省内招生" width="150" align="center">
<el-table-column label="25省内招生" width="150" align="center">
<template #default="scope">
<div class="top-align flexWrap">
<span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span>
@ -567,13 +572,13 @@
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b" v-if="state.userInfo.showLinediff==='1'">
<span class="main-container">历年线差</span>
</div>
<div class="flexWrap font-size-14 black1 lh-50 border-l">
<span class="main-container">录取方式</span>
</div>
</template>
</el-table-column>
<el-table-column v-for="(item,index) in ['2023','2022','2021']" :key="index" :label="item" width="120" align="center">
<el-table-column v-for="(item,index) in ['2024','2023','2022']" :key="index" :label="item" width="120" align="center">
<template #default="scope">
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;">
<span class="main-container">{{ scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item] && scope.row.historyMajorEnrollMap[item].enrollNum }}</span>
@ -586,7 +591,7 @@
</div>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;">
<span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }}
{{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span>
</div>
</template>
@ -609,7 +614,7 @@
</span>
</template>
</el-popconfirm>
<!--临时选择-->
<span v-else-if="returnStorgeVolunteerIndex(scope.row)" @click="cancelSelectVolunteer(scope.row)" class="selectVolunteerBtn selectVolunteerBtn-active">
志愿&nbsp;{{returnStorgeVolunteerIndex(scope.row)}}
@ -689,7 +694,7 @@
</div>
</template>
<div style="height: 650px">
</div>
</el-dialog>
</div>
@ -783,7 +788,7 @@ const state = reactive({
volunteerTiQianList:[] as any,
volunteerBenList:[] as any,
volunteerZhuanList:[] as any,
},//
otherMajorInfo:{
schoolCode:'6353',
@ -818,7 +823,7 @@ onMounted(() => {
}
state.vipInfo.lqgl = checkLevel(0)
state.vipInfo.sl = checkLevel(0)
state.scoreInfo = JSON.parse(localStorage.getItem('scoreInfo') as string)
@ -853,15 +858,16 @@ function reloadRecommendVolunteerList(){
// 使
const fetchDataAndUseResult = async () => {
try {
let rulesEnrollProbabilityListStr = localStorage.getItem('rulesEnrollProbabilityList')
if(!rulesEnrollProbabilityListStr){
const professionalCategory = state.scoreInfo.professionalCategory; //
const result = await getRulesEnrollrobabilityMenuList(professionalCategory);
localStorage.setItem('rulesEnrollProbabilityList',JSON.stringify(result));
state.rulesEnrollProbabilityList = result
}else{
state.rulesEnrollProbabilityList = JSON.parse(rulesEnrollProbabilityListStr)
}
// let rulesEnrollProbabilityListStr = localStorage.getItem('rulesEnrollProbabilityList')
// if(!rulesEnrollProbabilityListStr){
//
// }else{
// state.rulesEnrollProbabilityList = JSON.parse(rulesEnrollProbabilityListStr)
// }
const professionalCategory = state.scoreInfo.professionalCategory; //
const result = await getRulesEnrollrobabilityMenuList(professionalCategory);
localStorage.setItem('rulesEnrollProbabilityList',JSON.stringify(result));
state.rulesEnrollProbabilityList = result
//
} catch (error) {
console.error('An error occurred:', error);
@ -950,7 +956,7 @@ function switchBatch(batch:string){
}
reloadRecommendVolunteerList()
}
}
//pane
function switchPane(pane:string){
@ -1098,11 +1104,11 @@ function getVolunteerDetail(){
state.volunteerInfo.volunteerBenIndexMap = volunteerBenIndexMap
state.volunteerInfo.volunteerZhuanIndexMap = volunteerZhuanIndexMap
//
//
let volunteerZhuanList=[] as any
let e = null
for(let i=1;i<=35;i++){
for(let i=1;i<=64;i++){
e = volunteeZhuanOfIndexsMap.get(i)
if(!e){
volunteerZhuanList.push({indexs:i})
@ -1114,7 +1120,7 @@ function getVolunteerDetail(){
//
let volunteerBenList=[] as any
for(let i=1;i<=35;i++){
for(let i=1;i<=64;i++){
e = volunteerBenOfIndexsMap.get(i)
if(!e){
volunteerBenList.push({indexs:i})
@ -1160,7 +1166,7 @@ function selectVolunteer(majorInfo:any){
let valuesArray = []
if(majorInfo.batch === '提前批'|| majorInfo.batch.includes('本科')){
valuesArray = Array.from(state.volunteerInfo.volunteerBenIndexMap.values()).map((value) => value.indexs)
}else{
valuesArray = Array.from(state.volunteerInfo.volunteerZhuanIndexMap.values()).map((value) => value.indexs)
}
@ -1359,7 +1365,7 @@ function getRecommendVolunteerList(){
state.recommendVolunteer.hasNext = false
}
}
//
setTimeout(function(){}, 1000);
}).catch((error: any) => {
@ -1451,7 +1457,10 @@ function returnEnrollProbabilityIcon(e:number){
//
function formatDecimal(value:any) {
try {
return parseFloat(value).toFixed(2);
if(value == 0){
return '无概率'
}
return parseFloat(value).toFixed(2) + '%';
} catch (error) {
return '??';
}
@ -1521,7 +1530,7 @@ function handlerVolunteerExport(){
}
//
function handleSwitchVolunteer(now:any,endIndexs:any){
//state.switchVolunteerIndex
//state.switchVolunteerIndex
axiosInstance({
url: ApiConstant.Volunteer.exchangeIndexs,
method: 'post',
@ -1739,7 +1748,7 @@ function returnVolunteerList(){
min-height: 150px;
padding: 0;
}
.el-table__cell{
padding: 0;
}

View File

@ -30,9 +30,11 @@ const router = useRouter()
//
const modules = [Navigation, Pagination, Scrollbar, A11y, Autoplay];
const images = [
{ url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/9af57e5023e220c08f9e746c48efd2c.png', link: '' },
{ url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/20250619212921.jpg', link: ''},
{ url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/20250619212930.png', link: ''},
// { url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/9af57e5023e220c08f9e746c48efd2c.png', link: '' },
// { url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/2f7805626e85d9fec0ea40573b86886.png', link: '' },
{ url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/42bf964bb240d8571c8d2258a1f74e5.png', link: '' },
// { url: 'https://mp-7a4eecb1-2a04-4d36-b050-1c4a78cc31a4.cdn.bspapp.com/images/web-bakground/42bf964bb240d8571c8d2258a1f74e5.png', link: '' },
] as any
const homeOptions = [
@ -67,10 +69,15 @@ const homeOptions = [
link: "/calculateInvestment"
},
// {
// title: "",
// icon: ykky,
// link: "/"
// },
{
title: "艺考考研",
title: "体育算分器",
icon: ykky,
link: "/"
link: "/testTiyuScore"
},
{
title: "招生章程",
@ -114,6 +121,7 @@ const getData = async() => {
}
const open = (e: any) => {
console.log(e)
router.push(e)
}
const openArticleDetail =(e:any) =>{

View File

@ -0,0 +1,143 @@
<template>
<LeftNav />
<div class="main-container wrap main-fullScreen">
<div class="filterBody">
<div class="flexWrap">
<div class="flex-item-1">性别</div>
<div class="flex-item-1 tags">
<el-radio-group v-model="state.sportsForm.sex">
<el-radio label="男"></el-radio>
<el-radio label="女"></el-radio>
</el-radio-group>
</div>
</div>
<div class="flexWrap">
<div class="flex-item-15">100米跑成绩</div>
<div class="flex-item-1 tags">
<el-input v-model="state.sportsForm.sprint" type="number" step="0.01" />
</div>
</div>
<div class="flexWrap">
<div class="flex-item-15">立定跳远成绩</div>
<div class="flex-item-1 tags">
<el-input v-model="state.sportsForm.jump" type="number" step="0.01" />
</div>
</div>
<div class="flexWrap">
<div class="flex-item-15">原地推铅球成绩</div>
<div class="flex-item-1 tags">
<el-input v-model="state.sportsForm.shotPut" type="number" step="0.01" />
</div>
</div>
<div class="flexWrap">
<div class="flex-item-1 tags">
<el-button type="primary" @click="submitSportsForm">提交体育成绩</el-button>
</div>
</div>
</div>
<!-- 原有表格代码保持不变 -->
<div class="tableData filterBody" v-if="state.result && state.result.length > 0">
<div class="flexWrap">
<h3>分数</h3>
</div>
<div class="flexWrap">
<div>100</div>
<div class="flex-item-1 tags">
{{state.result[0]}}
</div>
</div>
<div class="flexWrap">
<div>立定跳远</div>
<div class="flex-item-1 tags">
{{state.result[1]}}
</div>
</div>
<div class="flexWrap">
<div>原地推球</div>
<div class="flex-item-1 tags">
{{state.result[2]}}
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">import { inject, onMounted, reactive } from 'vue';
import { getSystemName, isNull } from '@/utils/tool';
import { useRouter } from 'vue-router';
import StaticConstant from '@/utils/StaticConstant';
import axiosInstance from "@/utils/http";
import ApiConstant from "@/utils/ApiConstant";
const router = useRouter();
document.title = '轻松算投档|' + getSystemName()
const state = reactive({
dataList: [] as any,
flag: true,
selectForm: {
batch: '', //
culturalScore: '', //
professionalScore: '', //
professionalCategory: '',
},
//
sportsForm: {
sex: '男', //
sprint: null, // 100
jump: null, //
shotPut: null, //
},
result: [],
//
batchArray: [{ label: '本科批', value: '本科' }, { label: '高职高专批', value: '高职高专' }],
batchIndex: 0,
scoreInfo: {} as any,
professionalCategoryList: StaticConstant.professionalCategoryList, //
vipInfo: {
vipLevel: 0,
} as any,
});
//
onMounted(() => {
});
//
function submitSportsForm() {
const formData = {
sex: state.sportsForm.sex,
sprint: state.sportsForm.sprint,
jump: state.sportsForm.jump,
shotPut: state.sportsForm.shotPut
};
console.log('提交的体育成绩数据:', formData);
if(!formData.sprint || !formData.jump || !formData.shotPut) return
// API
axiosInstance({
url: ApiConstant.Score.getJson,
method: 'post',
data: {
key: 'sportsScore',
year: 2025,
...state.sportsForm,
},
//showLoading: false,//
}).then((response: AxiosResponse) => {
return response?.data
}).then((data) => {
if (data.success) {
state.result = data.result
}
}).catch((error: any) => {
console.log(error);
}).finally(() => {
state.flag = false
});
}
//
</script>
<style scoped lang="scss">/* 原有样式保持不变 */
</style>