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 和这个一样 # .env.production 和这个一样
# the APP baseURL # the APP baseURL
# VITE_APP_BASE_URL = 'http://127.0.0.1:8080/jeecg-boot/' 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 = 'https://www.yitisheng.vip/jbt/'
# the token key # the token key
VITE_APP_TOKEN_KEY = 'your_token_key' VITE_APP_TOKEN_KEY = 'your_token_key'

View File

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

View File

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

View File

@ -93,7 +93,14 @@ const routes = [
title:"资讯详情" title:"资讯详情"
} }
}, },
{
path: '/testTiyuScore',
name: 'testTiyuScore',
component: () => import('@/views/other/testTiyuScore.vue'),
meta:{
title:"体育算分数"
}
},
/*{ /*{
path: '/search',//搜索 path: '/search',//搜索
name: 'search', name: 'search',

View File

@ -36,6 +36,8 @@ const Score={
calculateInvestment: '/art/recommendMajor/calculateInvestment',//投档分测算 calculateInvestment: '/art/recommendMajor/calculateInvestment',//投档分测算
scoreSegmentList:'/web/scoreSegment/list',//五分一段表 scoreSegmentList:'/web/scoreSegment/list',//五分一段表
getJson: '/api/static/data/getJson', // post
} }
//学校类 //学校类
const School = { const School = {

View File

@ -27,7 +27,7 @@
<p class="flexWrap">地区{{ state.scoreInfo.province }}</p> <p class="flexWrap">地区{{ state.scoreInfo.province }}</p>
<p class="flexWrap">选科{{ state.scoreInfo.cognitioPolyclinic==='文科'?'历史组':'物理组' }}</p> <p class="flexWrap">选科{{ state.scoreInfo.cognitioPolyclinic==='文科'?'历史组':'物理组' }}</p>
<p class="flexWrap">文化{{ state.scoreInfo.culturalScore }}</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==='音乐类'"> <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.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> <p class="flexWrap" v-show="state.scoreInfo.yybyqy && state.scoreInfo.yybyqy!==0">器乐{{ state.scoreInfo.yybyqy }}</p>
@ -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 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> </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 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"> <template #default="scope">
<div class="top-align"> <div class="top-align">
<div class="flexWrap"> <div class="flexWrap">
@ -182,7 +182,7 @@
<el-table-column label="录取概率" width="100" align="center"> <el-table-column label="录取概率" width="100" align="center">
<template #default="scope"> <template #default="scope">
<div class="top-align flexWrap"> <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> <span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div> </div>
<div class="flexWrap" v-if="state.vipInfo.lqgl"> <div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -202,11 +202,15 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="招生专业" width="200" align="center"> <el-table-column label="招生专业" width="230" align="center">
<template #default="scope"> <template #default="scope">
<div class="top-align"> <div class="top-align">
<div class="flexWrap"> <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 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>
<div class="flexWrap mt-20" style="line-height: 10px;"> <div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 main-container">专业代码</span> <span class="font-size-14 main-container">专业代码</span>
@ -216,7 +220,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="24省内招生" align="center"> <el-table-column label="25省内招生" align="center">
<template #default="scope"> <template #default="scope">
<div class="top-align flexWrap"> <div class="top-align flexWrap">
<span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span> <span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span>
@ -228,7 +232,7 @@
</div> </div>
<div class="flexWrap"> <div class="flexWrap">
<span style="margin: 0 auto;" class="fw-6"> <span style="margin: 0 auto;" class="fw-6">
{{ scope.row.rulesEnrollProbability ||'未知'}} {{ scope.row.rulesEnrollProbability || scope.row.rulesEnrollProbabilitySx ||'未知'}}
</span> </span>
</div> </div>
</template> </template>
@ -249,7 +253,7 @@
</div> </div>
</template> </template>
</el-table-column> </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"> <template #default="scope">
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;"> <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> <span class="main-container">{{ scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item] && scope.row.historyMajorEnrollMap[item].enrollNum }}</span>
@ -262,7 +266,7 @@
</div> </div>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;"> <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]"> <span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }} {{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span> </span>
</div> </div>
</template> </template>
@ -349,7 +353,7 @@
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.schoolName"> <div v-if="scope.row.schoolName">
<div class="top-align flexWrap"> <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> <span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div> </div>
<div class="flexWrap" v-if="state.vipInfo.lqgl"> <div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -376,6 +380,7 @@
<div class="top-align" v-if="scope.row.schoolName"> <div class="top-align" v-if="scope.row.schoolName">
<div class="flexWrap"> <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 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>
<div class="flexWrap mt-20" style="line-height: 10px;"> <div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 main-container">专业代码</span> <span class="font-size-14 main-container">专业代码</span>
@ -385,7 +390,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="24省内招生" width="150" align="center"> <el-table-column label="25省内招生" width="150" align="center">
<template #default="scope"> <template #default="scope">
<div v-if="scope.row.schoolName"> <div v-if="scope.row.schoolName">
<div class="top-align flexWrap"> <div class="top-align flexWrap">
@ -417,7 +422,7 @@
</div> </div>
</template> </template>
</el-table-column> </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"> <template #default="scope">
<div> <div>
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;"> <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>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;"> <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]"> <span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }} {{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span> </span>
</div> </div>
</div> </div>
@ -507,7 +512,7 @@
<div class="top-align"> <div class="top-align">
<div class="flexWrap"> <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.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>
<div class="flexWrap mt-20" style="line-height: 10px;"> <div class="flexWrap mt-20" style="line-height: 10px;">
<span class="font-size-14 mr-5">专业代码</span> <span class="font-size-14 mr-5">专业代码</span>
@ -519,7 +524,7 @@
<el-table-column label="录取概率" width="100" align="center"> <el-table-column label="录取概率" width="100" align="center">
<template #default="scope"> <template #default="scope">
<div class="top-align flexWrap"> <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> <span class="font-size-15" style="margin: 0 auto;" v-else>???%</span>
</div> </div>
<div class="flexWrap" v-if="state.vipInfo.lqgl"> <div class="flexWrap" v-if="state.vipInfo.lqgl">
@ -539,7 +544,7 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="24省内招生" width="150" align="center"> <el-table-column label="25省内招生" width="150" align="center">
<template #default="scope"> <template #default="scope">
<div class="top-align flexWrap"> <div class="top-align flexWrap">
<span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span> <span class="font-size-16 black1" style="margin: 0 auto;">{{ scope.row.planNum||'未知' }}</span>
@ -573,7 +578,7 @@
</div> </div>
</template> </template>
</el-table-column> </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"> <template #default="scope">
<div class="flexWrap font-size-14 black1 lh-50 border-l border-b border-r" style="min-height: 50px;"> <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> <span class="main-container">{{ scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item] && scope.row.historyMajorEnrollMap[item].enrollNum }}</span>
@ -586,7 +591,7 @@
</div> </div>
<div class="flexWrap font-size-14 black1 border-l border-r" style="min-height: 50px;"> <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]"> <span class="main-container" v-if="scope.row.historyMajorEnrollMap&& scope.row.historyMajorEnrollMap[item]">
{{scope.row.historyMajorEnrollMap[item].rulesEnrollProbability }} {{scope.row.historyMajorEnrollMap[item].probabilityOperator }}
</span> </span>
</div> </div>
</template> </template>
@ -853,15 +858,16 @@ function reloadRecommendVolunteerList(){
// 使 // 使
const fetchDataAndUseResult = async () => { const fetchDataAndUseResult = async () => {
try { try {
let rulesEnrollProbabilityListStr = localStorage.getItem('rulesEnrollProbabilityList') // let rulesEnrollProbabilityListStr = localStorage.getItem('rulesEnrollProbabilityList')
if(!rulesEnrollProbabilityListStr){ // if(!rulesEnrollProbabilityListStr){
//
// }else{
// state.rulesEnrollProbabilityList = JSON.parse(rulesEnrollProbabilityListStr)
// }
const professionalCategory = state.scoreInfo.professionalCategory; // const professionalCategory = state.scoreInfo.professionalCategory; //
const result = await getRulesEnrollrobabilityMenuList(professionalCategory); const result = await getRulesEnrollrobabilityMenuList(professionalCategory);
localStorage.setItem('rulesEnrollProbabilityList',JSON.stringify(result)); localStorage.setItem('rulesEnrollProbabilityList',JSON.stringify(result));
state.rulesEnrollProbabilityList = result state.rulesEnrollProbabilityList = result
}else{
state.rulesEnrollProbabilityList = JSON.parse(rulesEnrollProbabilityListStr)
}
// //
} catch (error) { } catch (error) {
console.error('An error occurred:', error); console.error('An error occurred:', error);
@ -1102,7 +1108,7 @@ function getVolunteerDetail(){
// //
let volunteerZhuanList=[] as any let volunteerZhuanList=[] as any
let e = null let e = null
for(let i=1;i<=35;i++){ for(let i=1;i<=64;i++){
e = volunteeZhuanOfIndexsMap.get(i) e = volunteeZhuanOfIndexsMap.get(i)
if(!e){ if(!e){
volunteerZhuanList.push({indexs:i}) volunteerZhuanList.push({indexs:i})
@ -1114,7 +1120,7 @@ function getVolunteerDetail(){
// //
let volunteerBenList=[] as any let volunteerBenList=[] as any
for(let i=1;i<=35;i++){ for(let i=1;i<=64;i++){
e = volunteerBenOfIndexsMap.get(i) e = volunteerBenOfIndexsMap.get(i)
if(!e){ if(!e){
volunteerBenList.push({indexs:i}) volunteerBenList.push({indexs:i})
@ -1451,7 +1457,10 @@ function returnEnrollProbabilityIcon(e:number){
// //
function formatDecimal(value:any) { function formatDecimal(value:any) {
try { try {
return parseFloat(value).toFixed(2); if(value == 0){
return '无概率'
}
return parseFloat(value).toFixed(2) + '%';
} catch (error) { } catch (error) {
return '??'; return '??';
} }

View File

@ -30,9 +30,11 @@ const router = useRouter()
// //
const modules = [Navigation, Pagination, Scrollbar, A11y, Autoplay]; const modules = [Navigation, Pagination, Scrollbar, A11y, Autoplay];
const images = [ 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/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 ] as any
const homeOptions = [ const homeOptions = [
@ -67,10 +69,15 @@ const homeOptions = [
link: "/calculateInvestment" link: "/calculateInvestment"
}, },
// {
// title: "",
// icon: ykky,
// link: "/"
// },
{ {
title: "艺考考研", title: "体育算分器",
icon: ykky, icon: ykky,
link: "/" link: "/testTiyuScore"
}, },
{ {
title: "招生章程", title: "招生章程",
@ -114,6 +121,7 @@ const getData = async() => {
} }
const open = (e: any) => { const open = (e: any) => {
console.log(e)
router.push(e) router.push(e)
} }
const openArticleDetail =(e:any) =>{ 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>