修改点击申请的提示样式

This commit is contained in:
2025-10-19 16:15:45 +08:00
parent 81017eb280
commit fa814cd8a7
8 changed files with 270 additions and 254 deletions

View File

@@ -11,13 +11,16 @@ if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const port = 9526
const publicPath = config.publicPath
const mountPath = typeof publicPath === 'string' && publicPath.endsWith('/')
? publicPath.slice(0, -1)
: publicPath
var connect = require('connect')
var serveStatic = require('serve-static')
const app = connect()
app.use(
publicPath,
mountPath,
serveStatic('./dist', {
index: ['index.html', '/']
})

View File

@@ -75,7 +75,8 @@
<hr>
<el-timeline>
<el-timeline-item v-if="lookForm.fdyCmt && lookForm.fdyDate" :timestamp="lookForm.fdyDate"
color="green" placement="top" >
color="green" placement="top"
>
<el-card>
<div>
<strong>辅导员审核</strong>

View File

@@ -154,7 +154,7 @@ export default {
boolImg,
printContent: {
id: 'printDiv',
id: 'f',
extraCss: '',
extraHead: '<meta http-equiv="Content-Language"content="zh-cn"/>',
previewBeforeOpenCallback() {

View File

@@ -1,5 +1,5 @@
<template>
<div class="app-container">
<div v-loading.fullscreen.lock="fullLoading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.3)" class="app-container">
<div class="sign">
<ol>
<li>
@@ -303,6 +303,8 @@ export default {
isEmpty,
// 遮罩层
loading: true,
fullLoading: false,
loadingText: '',
// 选中数组
ids: [],
// 非单个禁用
@@ -614,13 +616,26 @@ export default {
},
/** 新增按钮操作 */
async handleAdd() {
let loading = fullLoading(this)
let res1 = await getOwnStuScoreMajorRank()
loading.close()
if (res1.code == 200) {
let data = res1.data
console.log(data)
let stuRank = Math.round(Math.round(data.majorRank / data.majorCount * 10000) / 100)
this.loadingText = '正在校验资格.....'
this.fullLoading = true
try {
const res1 = await getOwnStuScoreMajorRank()
if (res1.code !== 200) {
this.$message.error('资格校验失败,请稍后重试')
return
}
const data = res1.data
if (!data || data.majorRank == null || data.majorCount == null) {
this.$message.info('未获取到专业排名数据,请稍后重试')
return
}
const rank = Number(data.majorRank)
const count = Number(data.majorCount)
if (!isFinite(rank) || !isFinite(count) || count <= 0) {
this.$message.info('专业排名数据异常,无法校验')
return
}
const stuRank = Math.round(Math.round(rank / count * 10000) / 100)
if (stuRank > 10) {
this.$message.error('您的学业成绩未达到专业前10%')
return
@@ -629,10 +644,13 @@ export default {
this.reset()
this.open = true
this.title = '申请优秀毕业生'
} catch (e) {
console.error('handleAdd error:', e)
this.$message.error('校验数据异常,请稍后重试')
} finally {
this.fullLoading = false
this.loadingText = ''
}
},
}
}

View File

@@ -1,5 +1,5 @@
<template>
<div v-loading.fullscreen.lock="fullLoading" class="app-container">
<div v-loading.fullscreen.lock="fullLoading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.3)" class="app-container">
<el-dialog :visible.sync="lookMoreV">
<MoreDetail />
@@ -28,18 +28,16 @@
</ol>
</div>
<el-row v-loading="loading_btn" :gutter="10" class="mb8" element-loading-spinner="el-icon-loading"
element-loading-background="rgba(0, 0, 0, 0)" element-loading-text="正在校验资格....."
>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addVClick">
提交申请
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini" @click="myScoreVClick">查看我的成绩</el-button>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addVClick">
提交申请
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini" @click="myScoreVClick">查看我的成绩</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="table_data">
<!-- <el-table-column label="奖项代码" prop="typeCode" /> -->
@@ -323,6 +321,7 @@ export default {
stuYearId: '',
term_list: [],
fullLoading: false,
loadingText: '',
queryParams: {
pageNum: 1,
@@ -558,32 +557,31 @@ export default {
}
},
addVClick() {
this.loading_btn = true
if (this.iSApplication === 1) {
this.loading_btn = false
this.addV = true
this.addForm = lodash.cloneDeep(this.table_data[this.table_data.length - 1])
this.countOwnPass()
this.listOwnScoreClassRank()
this.listOwnCourseScore()
console.log('aa')
} else {
verifyApplyYXGB().then(res => {
async addVClick() {
this.loadingText = '正在校验资格.....'
this.fullLoading = true
try {
if (this.iSApplication === 1) {
this.addV = true
this.addForm = lodash.cloneDeep(this.table_data[this.table_data.length - 1])
this.countOwnPass()
this.listOwnScoreClassRank()
this.listOwnCourseScore()
} else {
const res = await verifyApplyYXGB()
if (res.code !== 200) {
this.loading_btn = false
return false
}
// 执行后续代码
this.$message.success(res.msg)
this.loading_btn = false
this.addV = true
this.countOwnPass()
this.listOwnScoreClassRank()
this.listOwnCourseScore()
})
}
} finally {
this.fullLoading = false
this.loadingText = ''
}
},
async doApply() {
let sdata = lodash.cloneDeep(this.addForm)

View File

@@ -1,5 +1,5 @@
<template>
<div v-loading.fullscreen.lock="fullLoading" class="app-container">
<div v-loading.fullscreen.lock="fullLoading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.3)" class="app-container">
<div class="sign">
<ol>
@@ -577,76 +577,48 @@ export default {
},
async addVClick() {
let verify = await verifyApplySHXS()
if (verify.code != 200) {
return
this.loadingText = '提示:正在校验资格';
this.fullLoading = true;
try {
const verify = await verifyApplySHXS();
if (verify.code != 200) {
this.$message && this.$message.warning(verify.msg || '未通过资格校验');
return;
}
this.addV = true;
this.course_loading = true;
const res = await getMyGrade(this.courseParams);
const countRes = await countOwnPassOther();
const rankList = await listOwnScoreClassRankOther();
if (countRes.code == 200) {
this.count_list = [...countRes.data];
}
if (rankList.code == 200) {
this.Final_grade = [...rankList.data];
}
this.course_loading = false;
if (res.code == 200) {
this.score_list = lodash.cloneDeep(res.rows);
this.courseTotal = res.total;
}
} catch (e) {
this.$message && this.$message.error('校验失败,请稍后再试');
} finally {
this.fullLoading = false;
this.loadingText = '提示:处理中...';
}
},
// ... existing code ...
resetAddForm() {
this.addForm = {
zzmm: '',
classPost: '',
goodHis: '',
mainHis: '',
bornTime: '',
material: null
}
}
this.addV = true
this.course_loading = true
// 查询我的成绩
let res = await getMyGrade(this.courseParams)
let countRes = await countOwnPassOther()
let rankList = await listOwnScoreClassRankOther()
if (countRes.code == 200) {
this.count_list = [...countRes.data]
}
if (rankList.code == 200) {
this.Final_grade = [...rankList.data]
}
this.course_loading = false
if (res.code == 200) {
this.score_list = lodash.cloneDeep(res.rows)
this.courseTotal = res.total
}
},
async doApply() {
let sdata = lodash.cloneDeep(this.addForm)
if (isEmpty(sdata.zzmm)) {
this.$message.info('请填写政治面貌')
return
}
// if (isEmpty(sdata.bornTime)) {
// this.$message.info("请填写出生年月");
// return;
// }
if (isEmpty(sdata.classPost)) {
this.$message.info('请填写职务')
return
}
if (isEmpty(sdata.goodHis)) {
this.$message.info('请填写获奖记录')
return
}
if (isEmpty(sdata.mainHis)) {
this.$message.info('请填写主要事迹')
return
}
if (sdata.mainHis.length < 100) {
this.$message.info('主要事迹字数需要100字以上')
return
}
this.fullLoading = true
let res = await goodStuApply(sdata)
this.fullLoading = false
if (res.code == 200) {
this.addV = false
this.resetAddForm()
this.$message.success(res.msg)
this.getList()
}
},
resetAddForm() {
this.addForm = {
zzmm: '',
classPost: '',
goodHis: '',
mainHis: '',
bornTime: '',
material: null
}
}
}
}

View File

@@ -1,5 +1,5 @@
<template>
<div v-loading.fullscreen.lock="fullLoading" class="app-container">
<div v-loading.fullscreen.lock="fullLoading" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.3)" class="app-container">
<div class="sign">
<ol>
@@ -21,20 +21,16 @@
</div>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addVClick">我要申请</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini"
@click="myScoreVClick()"
>查看我的成绩</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini"
@click="iamVClick()"
>查看我的思想品德</el-button>
</el-col>
</el-row>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addVClick">我要申请</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini" @click="myScoreVClick()">查看我的成绩</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-view" size="mini" @click="iamVClick()">查看我的思想品德</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="table_data">
<el-table-column label="奖项" prop="typeName" align="center" />
@@ -326,6 +322,8 @@ export default {
},
term_list: [],
fullLoading: false,
loadingText: '',
loading_btn: false,
queryParams: {
pageNum: 1,
@@ -668,66 +666,86 @@ export default {
},
async addVClick() {
let cans = [...this.can_list]
if (cans.length == 0) {
return
} else {
let code = cans[0].typeCode
this.loadingText = '正在校验资格.....'
this.fullLoading = true
try {
let cans = [...this.can_list]
if (cans.length == 0) {
this.$message.info('当前无可申请奖项')
return
} else {
let code = cans[0].typeCode
let res1 = await getOwnPassCountByCode(code)
if (res1.code == 200) {
if (isEmpty(res1.data)) {
this.$message.info('您当前学年的课程成绩暂未结算')
return
}
let data1 = res1.data
if (data1.unpassCount != 0) {
this.$message.info('您有课程成绩没通过,不能参加评优评先哦')
return
}
}
let res2 = await getOwnIamCountByCode(code)
if (res2.code == 200) {
let data2 = res2.data
if (isEmpty(data2)) {
data2 = {
minusCount: 0
}
}
if (data2.minusCount != 0) {
this.$message.info('您有思想品德扣分项,不能参加评优评先哦')
return
}
}
let res3 = await getOwnRankByCode(code)
if (res3.code == 200) {
if (!isEmpty(res3.data)) {
let rankData = res3.data
let classCount = rankData.classCount
let cphClassRank = rankData.cphClassRank
let stuClassRank = rankData.stuClassRank
let cphPer = Math.round(cphClassRank / classCount * 10000) / 100
let stuPer = Math.round(stuClassRank / classCount * 10000) / 100
if (cphPer > 50) {
this.$message.info('你的综合素质成绩排名不达标')
let res1 = await getOwnPassCountByCode(code)
if (res1.code == 200) {
if (isEmpty(res1.data)) {
this.$message.info('您当前学年的课程成绩暂未结算')
return
}
if (stuPer > 12) {
this.$message.info('你的平均学分绩排名不达标')
let data1 = res1.data
if (data1.unpassCount != 0) {
this.$message.info('您有课程成绩没通过,不能参加评优评先哦')
return
}
} else {
this.$message.error('资格校验失败,请稍后重试')
return
}
let res2 = await getOwnIamCountByCode(code)
if (res2.code == 200) {
let data2 = res2.data
if (isEmpty(data2)) {
data2 = {
minusCount: 0
}
}
if (data2.minusCount != 0) {
this.$message.info('您有思想品德扣分项,不能参加评优评先哦')
return
}
} else {
this.$message.error('资格校验失败,请稍后重试')
return
}
let res3 = await getOwnRankByCode(code)
if (res3.code == 200) {
if (!isEmpty(res3.data)) {
let rankData = res3.data
let classCount = rankData.classCount
let cphClassRank = rankData.cphClassRank
let stuClassRank = rankData.stuClassRank
let cphPer = Math.round(cphClassRank / classCount * 10000) / 100
let stuPer = Math.round(stuClassRank / classCount * 10000) / 100
if (cphPer > 50) {
this.$message.info('你的综合素质成绩排名不达标')
return
}
if (stuPer > 12) {
this.$message.info('你的平均学分绩排名不达标')
return
}
}
} else {
this.$message.error('资格校验失败,请稍后重试')
return
}
}
this.addV = true
} catch (e) {
console.error('addVClick error:', e)
this.$message.error('资格校验失败,请稍后重试')
} finally {
this.fullLoading = false
this.loadingText = ''
}
this.addV = true
},
async doApply() {
let sdata = lodash.cloneDeep(this.addForm)

View File

@@ -1,5 +1,5 @@
<template>
<div v-loading.fullscreen.lock="fullLoading" class="app-container">
<div v-loading.fullscreen.lock="fullLoading" class="app-container" :element-loading-text="loadingText" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.7)">
<div class="sign">
<el-collapse v-model="activeNames" style="margin-left: 10px;">
<el-collapse-item class="sign-item" title="申请要求:综合素质优秀。学年综合测评班级排名前30%;学习成绩优良,无不及格、补考、重修科目;体能成绩合格等"
@@ -549,23 +549,28 @@
<script>
import { listOneHundred, listSelect } from '@/api/stuCQS/lake/type'
import { listOwnApply, cancelOwnApply, applyLake, applyTen, reApplyLake } from '@/api/stuCQS/lake/apply'
import { applyLake, applyTen, cancelOwnApply, listOwnApply, reApplyLake } from '@/api/stuCQS/lake/apply'
import {
getOwnPassCountByCode, getOwnIamCountByCode, getOwnRankByCode,
listXyjxjCanType, countOwnPass, listOwnScoreClassRank,
listOwnYearCourseScore, countOwnIam
} from '@/api/stuCQS/good/apply'
import { listAllYear as listYear } from '@/api/stuCQS/basedata/year'
import {
applyStatus
} from '@/api/stuCQS/good/audit'
countOwnIam,
countOwnPass,
getOwnIamCountByCode,
getOwnPassCountByCode,
getOwnRankByCode,
listOwnScoreClassRank,
listOwnYearCourseScore,
listXyjxjCanType
} from '@/api/stuCQS/good/apply'
import { isEmpty } from '@/api/helpFunc'
import { alipayVali } from '@/api/helpFunc/bank'
import {
applyStatus
} from '@/api/stuCQS/good/audit'
import lodash from 'lodash'
import MoreDetail from '@/views/stuCQS/lake/MoreDetail.vue'
import lodash from 'lodash'
export default {
name: 'Iwantapply',
@@ -579,6 +584,7 @@ export default {
applyStatus,
isEmpty,
fullLoading: false,
loadingText: '',
lookNeedV: false,
@@ -806,26 +812,33 @@ export default {
}
},
async addTenVClick() {
this.loading = true
let code = cans[0].typeCode
let res3 = await getOwnRankByCode(code)
if (res3.code == 200) {
if (!isEmpty(res3.data)) {
let rankData = res3.data
let classCount = rankData.classCount
let cphClassRank = rankData.cphClassRank
this.loadingText = '正在校验资格.....'
this.fullLoading = true
try {
const cans = [...this.can_list]
if (cans.length === 0) {
this.$message.info('暂无可申请的奖项')
return
}
const code = cans[0].typeCode
const res3 = await getOwnRankByCode(code)
if (res3.code === 200 && !isEmpty(res3.data)) {
const rankData = res3.data
const classCount = rankData.classCount
const cphClassRank = rankData.cphClassRank
let cphPer = Math.round(cphClassRank / classCount * 10000) / 100
const cphPer = classCount ? Math.round(cphClassRank / classCount * 10000) / 100 : NaN
if (cphPer > 10.5) {
if (!isNaN(cphPer) && cphPer > 10.5) {
this.$message.info('您的综合素质成绩排名不达标')
this.fullLoading = false
return
}
}
this.addTenV = true
} finally {
this.fullLoading = false
this.loadingText = ''
}
this.addTenV = true
},
async changeType(v) {
let need = 'XYZX'
@@ -940,78 +953,71 @@ export default {
}
},
async addVClick() {
this.loadingText = '正在校验资格.....'
this.fullLoading = true
let cans = [...this.can_list]
if (cans.length == 0) {
this.fullLoading = false
return
}
let code = cans[0].typeCode
let res1 = await getOwnPassCountByCode(code)
if (res1.code == 200) {
let data1 = res1.data
if (isEmpty(data1)) {
data1 = {
unpassCount: 0
}
}
if (data1.unpassCount != 0) {
this.$message.info('您有课程成绩没通过,不能申请哦')
this.fullLoading = false
try {
const cans = [...this.can_list]
if (cans.length === 0) {
this.$message.info('暂无可申请的奖项')
return
}
}
let res2 = await getOwnIamCountByCode(code)
if (res2.code == 200) {
let data2 = res2.data
if (isEmpty(data2)) {
data2 = {
minusCount: 0
const code = cans[0].typeCode
const res1 = await getOwnPassCountByCode(code)
if (res1.code === 200) {
let data1 = res1.data
if (isEmpty(data1)) {
data1 = { unpassCount: 0 }
}
if (data1.unpassCount != 0) {
this.$message.info('您有课程成绩没通过,不能申请哦')
return
}
}
if (data2.minusCount != 0) {
this.$message.info('您有思想品德扣分项,不能申请哦')
this.fullLoading = false
return
const res2 = await getOwnIamCountByCode(code)
if (res2.code === 200) {
let data2 = res2.data
if (isEmpty(data2)) {
data2 = { minusCount: 0 }
}
if (data2.minusCount != 0) {
this.$message.info('您有思想品德扣分项,不能申请哦')
return
}
}
}
let res3 = await getOwnRankByCode(code)
if (res3.code == 200) {
if (!isEmpty(res3.data)) {
let rankData = res3.data
let classCount = rankData.classCount
let cphClassRank = rankData.cphClassRank
let majorCount = rankData.majorCount
let stuMajorRank = rankData.stuMajorRank
const res3 = await getOwnRankByCode(code)
if (res3.code === 200 && !isEmpty(res3.data)) {
const rankData = res3.data
const classCount = rankData.classCount
const cphClassRank = rankData.cphClassRank
const majorCount = rankData.majorCount
const stuMajorRank = rankData.stuMajorRank
let cphPer = Math.round(cphClassRank / classCount * 10000) / 100
let stuPer = Math.round(stuMajorRank / majorCount * 10000) / 100
const cphPer = classCount ? Math.round(cphClassRank / classCount * 10000) / 100 : NaN
const stuPer = majorCount ? Math.round(stuMajorRank / majorCount * 10000) / 100 : NaN
if (cphPer > 35) {
if (!isNaN(cphPer) && cphPer > 35) {
this.$message.info('您的综合素质成绩排名不达标')
this.fullLoading = false
return
}
if (stuPer > 35) {
if (!isNaN(stuPer) && stuPer > 35) {
this.$message.info('您的平均学分绩排名不达标')
this.fullLoading = false
return
}
let sportScore = rankData.sportScore
if (sportScore < 60) {
const sportScore = rankData.sportScore
if (!isEmpty(sportScore) && sportScore < 60) {
this.$message.info('您的体能成绩不达标')
this.fullLoading = false
return
}
}
this.addV = true
} finally {
this.fullLoading = false
this.loadingText = ''
}
this.fullLoading = false
this.addV = true
},
async listCan() {