Files
zhxg_app_v1.0/pages/outstanding-graduate/index.vue
2025-07-16 15:34:34 +08:00

357 lines
18 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="graduate">
<view class="top-bar">
<view class="left" @tap="openPerformancePopup">
<svg t="1722844791440" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="6598" width="80" height="80">
<path d="M512 519.64m-77.62 0a77.62 77.62 0 1 0 155.24 0 77.62 77.62 0 1 0-155.24 0Z" fill="#1890FF"
p-id="6599" data-spm-anchor-id="a313x.search_index.0.i5.23453a81qyVWuy" class="selected"></path>
<path
d="M512 249.1c-183.88 0-342.67 107.41-417.07 262.9C169.33 667.49 328.12 774.9 512 774.9S854.67 667.49 929.08 512C854.67 356.51 695.88 249.1 512 249.1z m0 411.07c-77.61 0-140.53-62.92-140.53-140.53S434.39 379.11 512 379.11s140.53 62.92 140.53 140.53S589.61 660.17 512 660.17z"
fill="#1890FF" p-id="6600" data-spm-anchor-id="a313x.search_index.0.i3.23453a81qyVWuy"
class="selected"></path>
</svg>
我的成绩
</view>
<view class="right" @tap="openConditionPopup">
<svg t="1722845752488" class="icon" viewBox="0 0 1024 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="1152" width="80" height="80">
<path
d="M705.75106 862.330328c-92.712447 33.738728-138.387977 29.378343-186.253565 13.219267-5.070674-2.36763-11.305434-2.209788-16.376108-4.557687L216.046243 734.024509c-42.992216-20.045934-45.024432-71.798382-30.877842-102.143507 7.08316-15.172563 21.052177-28.648324 39.598612-35.396069 18.546435-6.747746 37.250713-7.260732 53.094105 1.657341l63.235452 29.476994 22.748979 10.614875-8.089403-22.235993-106.622273-292.935029c-13.495491-37.092871 5.366628-77.539884 40.604855-90.364547 35.218497-12.824663 73.830597 6.708285 87.326089 43.801156l27.661811 76.000925 5.406089 14.837148 10.25973-12.134104c7.260732-8.937803 17.698035-14.837148 28.825896-18.90158 27.819653-10.121618 56.132563-1.519229 75.527399 22.906821l7.753988 9.786205 7.260732-8.937804c8.424817-11.463276 18.862119-17.36262 31.844625-22.09788 27.819653-10.121618 56.132563-1.53896 75.527399 22.88709l7.753988 9.786204 7.241002-8.937803c8.424817-11.443545 17.027206-16.691792 29.989981-21.407322l1.874373-0.670828a68.898035 68.898035 0 0 1 51.239461 2.347899c15.843391 8.918073 29.338882 22.906821 35.4158 39.598613l54.652793 150.166936c27.661811 76.020655 43.702505 137.381734 29.555916 190.811253-6.057187 29.496724-22.235992 54.297649-45.991214 75.527399-24.939037 23.774952-63.03815 46.050405-113.093796 64.261426zM240.432832 622.2921c-12.982505 4.71553-23.932794 14.99499-29.832138 27.642081-10.614875 22.768709-7.8921 53.271676 23.123853 69.27291l271.251484 128.049325c55.639306 25.925549 113.626513 23.715761 193.356455-5.307437 90.838073-33.04817 138.368247-75.566859 149.298805-132.015106 10.457033-52.087861-9.805934-107.727168-32.061657-168.890944l-53.311137-146.47738c-12.824663-35.238227-43.998459-34.370096-58.855337-28.983738-24.090636 8.779961-35.218497 35.909056-26.438536 60.019422l24.958767 68.602081-1.834913 0.670829 5.899345 10.457032 0.670828 1.854644c2.012486 5.563931 0.335414 12.469518-5.228516 14.501734-5.563931 2.012486-13.140347-1.519229-15.172563-7.08316l-0.670828-1.854643-2.190058-11.79869-1.854644 0.670828-38.473988-105.675221c-12.134104-33.363854-45.853102-33.699268-60.690251-28.29318-24.090636 8.760231-35.218497 35.909056-26.438535 60.019422l29.694027 81.564856-1.854644 0.670828 5.899345 10.457033 0.670829 1.854644c2.032216 5.563931-1.519229 13.140347-7.08316 15.172562-5.5442 2.032216-13.140347-1.519229-15.172563-7.08316l-0.670828-1.854643-2.190058-11.79869-1.854644 0.690559-44.531175-122.367014c-12.824663-35.238227-45.872832-33.699268-60.690251-28.312909-24.110366 8.779961-35.238227 35.909056-26.438535 60.019422l33.048169 90.857803-1.854643 0.670829 5.919075 10.457033 0.651098 1.834913c2.032216 5.563931-1.499499 13.160077-7.063429 15.192293-5.563931 2.012486-13.160077-1.519229-15.192293-7.10289l-0.651099-1.834914-2.209788-11.798689-1.854643 0.670828-85.03738-233.606166c-9.43106-25.96501-34.725241-37.743969-58.815876-28.983738-24.110366 8.779961-37.092871 36.599615-28.31291 60.690251l130.929942 359.682466-36.086628-18.349133-88.509903-41.275684a47.609094 47.609094 0 0 0-36.244471-1.499499z m-7.14235-192.685626c-29.832139-18.526705-50.568632-46.681773-62.051638-78.190983-29.003468-79.710212 12.252486-168.239846 90.127784-196.572485 79.710212-29.003468 166.385202 12.923314 195.388671 92.653256 2.703044 7.418574 6.076917 16.691792 6.925318 24.781195-6.905588-1.696802-14.99499-0.848401-23.084393 0-2.032216-5.563931-2.209788-11.79869-4.222274-17.362621-24.978497-68.602081-100.82158-103.97842-167.588748-79.670751-66.747437 24.268208-102.123776 100.150751-77.145279 168.752832 6.076917 16.691792 15.843391 32.022197 26.81341 44.827129l14.837149 40.782428z"
fill="#1890FF" p-id="1153"></path>
<path
d="M262.215029 162.912678C188.029287 189.903661 150.995607 272.672062 177.966859 346.838073c7.438304 20.401079 17.895337 37.586127 31.371099 51.574875l-2.012486-5.563931c-13.495491-13.988748-21.407322-29.989981-27.484239-46.681772-26.990983-74.166012 10.733256-155.079769 83.064355-181.399923 72.291638-26.320154 153.205395 11.423815 180.196377 85.570096l4.064432 11.127861 1.854643-0.670828-4.064431-11.127861C419.82027 174.82975 336.400771 135.941426 262.215029 162.912678m30.877842 79.039384c-31.52894 11.483006-46.168786 46.208247-34.725241 77.737187l122.820809 337.426743-106.207938-49.522928c-12.62736-5.919075-29.496724-6.057187-44.333873-0.670829-16.672062 6.076917-29.496724 17.046936-35.376339 29.674297-11.79869 25.294181-11.77896 71.482697 26.142582 89.180732l286.443776 135.093025c5.050944 2.36763 9.43106 2.860886 13.811176 3.354143l1.854643-0.651099 1.854644-0.690558c45.359846 14.99499 91.035376 19.375106 180.038535-13.021966 48.201002-17.559923 85.116301-37.290173 111.909981-61.735954 21.900578-20.558921 36.22474-44.669287 43.623584-70.476454 12.982505-50.904046-2.36763-110.410482-29.378343-184.556763l-54.652794-150.186667c-12.153834-33.363854-43.169788-49.365087-74.698728-37.901811l-1.854644 0.670828c-9.273218 3.373873-17.855877 8.602389-24.42605 19.394837l-15.665819 20.401079-15.527707-19.532948c-16.178805-21.427052-41.966243-28.825896-66.096339-20.045935-11.108131 4.044701-19.019961 11.127861-26.280694 20.065665l-15.665818 20.401079-15.507977-19.552678c-16.178805-21.407322-41.985973-28.806166-66.096339-20.045935-9.273218 3.373873-17.855877 8.602389-23.242235 16.869364l-22.413565 24.958767-39.144817-107.529865a68.957225 68.957225 0 0 0-29.674297-35.396069c-17.698035-8.266975-32.712755-9.095645-47.549903-3.709287m157.190905 270.343892l1.854644-0.670829-29.694027-81.584586c-10.792447-29.654566 2.683314-61.854335 32.357611-72.666512 22.235992-8.089403 59.151291-4.73526 73.337341 34.212254l41.157302 113.093796 1.854644-0.670828-26.320154-72.311368c-10.792447-29.674297 2.683314-61.874066 32.35761-72.666513l1.834914-0.670829c21.071908-5.583661 58.006936-2.209788 71.482697 34.863353l35.100116 96.421734 1.854643-0.690559-21.604624-59.328863c-10.792447-29.654566 2.683314-61.854335 32.357611-72.646782 25.945279-9.47052 57.967476-2.209788 71.462967 34.863353l53.311137 146.477379c22.295183 61.163776 43.880077 120.51237 34.113603 174.454875-11.443545 60.848092-62.683006 104.688709-157.250096 139.098266-81.564855 29.694027-143.932177 31.410559-202.096956 4.281464L226.503276 728.125164c-30.364855-14.14659-43.169788-49.384817-27.839384-82.255414a61.203237 61.203237 0 0 1 34.725241-31.528941c14.797688-5.406089 31.667052-5.228516 44.314143 0.670829l103.682466 48.339113-122.130251-335.5721a57.257187 57.257187 0 0 1 34.192524-73.337341c29.654566-10.812177 60.69025 5.208786 71.482698 34.863353l81.643776 224.332948M255.467283 144.366243c83.419499-30.364855 176.980347 13.278459 208.035761 98.552601 5.406089 14.837148 8.286705 28.490482 9.273218 42.814643-12.62736-5.899345-27.622351-6.728015-43.150058-3.1963-0.828671-8.089403-2.36763-18.033449-5.721772-27.306667-22.946281-63.03815-91.903507-96.717688-154.941657-73.791137-63.03815 22.946281-94.211946 93.087322-71.265665 156.125472 6.076917 16.691792 15.192293 30.187283 26.142582 42.972486l24.287938 66.747437c-39.776185-17.007476-73.159769-51.042158-89.378035-95.553603-29.674297-81.564855 13.278459-176.980347 96.717688-207.364932z m30.877842 79.059113c40.782428-14.856879 84.445472 7.043699 99.973179 49.700501l27.661812 76.000925c9.095645-9.608632 18.862119-17.36262 31.844624-22.09788 33.383584-12.134104 67.437996 0.670829 87.503661 26.951522 8.424817-11.443545 21.900578-20.558921 36.737726-25.96501 33.363854-12.153834 67.418266 0.651098 87.483931 26.951522a71.147283 71.147283 0 0 1 33.048169-24.623352l1.854644-0.670829c40.782428-14.856879 84.445472 7.043699 99.973179 49.700501l54.652794 150.166937c51.96948 142.768092 73.396532 265.135106-137.953911 342.063352-92.712447 33.738728-142.097264 30.72-192.508054 13.37711-6.905588-1.696802-11.956532-4.044701-18.88185-5.721773L211.310983 744.146127c-48.733719-24.268208-50.252948-80.400771-35.613102-115.126011 14.659576-34.725241 65.228208-57.336108 105.694951-38.473989l63.215723 29.496725-106.622274-292.935029c-12.982505-41.472987 7.556686-88.845318 48.339114-103.682467z m181.301272 330.836841a21.900578 21.900578 0 0 1-27.819653-12.962775l-1.341657-3.709287-88.411253-242.879384c-7.418574-20.401079-25.807168-30.502967-46.188516-23.084393a37.467746 37.467746 0 0 0-22.413565 48.04316l139.019345 381.938189-58.164778-27.129094-88.509904-41.275684c-18.388593-10.101888-45.517688 1.874374-53.094104 21.427052-9.43106 20.243237-5.050944 43.840617 18.388594 56.290404l271.271213 128.049326c50.568632 23.577649 105.51738 24.564162 187.101966-5.129865 190.969094-69.489942 155.19815-167.76632 111.337803-288.25896l-53.311137-146.477379c-13.495491-37.092871-48.04316-22.413565-48.043159-22.413565-20.401079 7.418574-27.306667 28.825896-20.558921 47.372332l28.352369 77.875298 1.341657 3.709287c4.044701 11.127861 0 23.084393-11.127861 27.129095s-23.755222-1.834913-27.819653-12.962775l-1.341657-3.709287-41.828131-114.948439c-12.153834-33.363854-48.06289-22.413565-48.06289-22.413565-20.381349 7.438304-27.286936 28.845626-20.539191 47.372332l33.0679 90.857803 1.341657 3.709287a21.900578 21.900578 0 0 1-12.962775 27.819653 21.900578 21.900578 0 0 1-27.819653-12.982504l-1.361387-3.709288-47.905048-131.6205c-13.495491-37.092871-48.04316-22.413565-48.04316-22.413565-20.401079 7.418574-27.306667 28.825896-20.558921 47.372331l36.441772 100.111291 1.341657 3.709287c3.373873 9.273218-2.505742 21.920308-11.778959 25.294182z"
fill="#1890FF" p-id="1154"></path>
</svg>
申请条件
</view>
</view>
<scroll-view scroll-y="true" @scrolltolower="scrolltolower">
<view class="list">
<view class="item" @tap="toDetail(item.id,item.stuYearName)" v-for="item in listOwnApply"
:key="item.id">
<view class="top">
提交时间:{{item.createTime}}
<DictType :types="audius_status" :type="item.applyStatus" />
</view>
<view class="content">
<view>学号{{item.stuNo}}</view>
<view>第二课堂学分总分值认定{{item.classTwo}}</view>
<view>青年大学习学习率{{item.youthStudy}}</view>
<view>政治面貌{{item.zzmm}}</view>
</view>
</view>
</view>
<view class="empty" v-if="listOwnApply.length==0&&topLoading==false">
<image src="@/static/empty.png" mode="widthFix"></image>
暂时没有数据
</view>
<view class="loading-more-top" v-if="topLoading">
<uni-load-more style="padding-top: 90px;" status="loading" />
</view>
<view class="loading-more" v-if="loading">
<uni-load-more status="loading" />
</view>
<view class="no-more" v-if="!loading&&listOwnApply.length!=0">
到底啦~~
</view>
</scroll-view>
<view class="add" @tap="apply">
+
</view>
</view>
</template>
<script>
import DictType from "@/components/dict-type/dict-type.vue"
import {
listOwnApply,
ownStuScoreMajorRank
} from "@/api/outstanding-graduate/outstanding-graduate.js";
import {
getDicts,
} from '@/api/system/dict/data.js';
import {
listOwnScoreClassRank
} from "@/api/good/index.js";
export default {
components: {
DictType
},
data() {
return {
listOwnApply: [],
//审核状态
audius_status: [],
loading: false,
topLoading: true,
queryParams: {
pageNum: 1,
pageSize: 10
},
}
},
onLoad() {
this.getListOwnApply();
this.get_audius_status();
this.getOwnStuScoreMajorRank();
},
methods: {
async getListOwnApply() {
let res = await listOwnApply(this.queryParams);
if (res.code == 200) {
this.loading = false;
if (this.queryParams.pageNum == 1) {
this.listOwnApply = res.rows;
} else {
this.listOwnApply = this.listOwnApply.concat(res.rows); // 否则追加新数据到列表中
}
this.totalPages = Math.ceil(res.total / this.queryParams.pageSize);
this.topLoading = false;
}
},
async getOwnStuScoreMajorRank() {
let res = await ownStuScoreMajorRank();
if (res.code == 200) {
this.ownScore = res.data;
console.log(this.ownScore);
}
},
scrolltolower() {
if (this.queryParams.pageNum < this.totalPages) {
this.queryParams.pageNum++;
this.loading = true;
setTimeout(() => {
this.getListOwnApply()
}, 1000)
} else {
}
},
async get_audius_status() {
let res = await getDicts('audius_detail_type');
this.audius_status = res.data;
},
async apply() {
uni.showLoading({
title:"正在校验资格"
})
let stuRank = Math.round(Math.round(this.ownScore.majorRank / this.ownScore.majorCount * 10000) / 100);
if (stuRank > 10) {
uni.showToast({
title: "您的学业成绩未达到专业前10%",
icon: "none"
})
return;
}
uni.navigateTo({
url: "./apply"
})
},
toDetail(id, stuYearName) {
uni.navigateTo({
url: "./detail?id=" + id + "&year=" + stuYearName
})
},
openPerformancePopup() {
console.log(this.ownScore)
const popupContent = [{
title: '个人成绩',
content: [
'学业成绩专业排名:' + this.ownScore.majorRank + '/' + this.ownScore.majorCount,
'专业排名百分比(四舍五入保留整数):' + Math.round(Math.round(this.ownScore.majorRank / this.ownScore
.majorCount * 10000) / 100) + "%"
].join('\n\n'),
}, ];
uni.showModal({
title: popupContent[0].title,
content: popupContent[0].content,
showCancel: false,
confirmText: '关闭',
});
},
openConditionPopup() {
const popupContent = [{
title: '申请条件',
content: [
'1.德、智、体、美、劳全面发展,在校期间未受纪律处分。',
'2.学习勤奋成绩优异第一学期至第五学期所有课程的平均学分绩专业排名前10%。',
'3.积极参加学校开展的第二课堂活动活动,第二课堂成绩单学分认定为优秀。身体健康,体能考核成绩达标。(每学年体测成绩60分以上)',
'4.获得过校级及以上“三好学生”“优秀学生干部”“优秀共青团员”“优秀共青团干部”中的其中一项荣誉。',
'5.积极参与各级各类校园文化活动和社会实践活动;在各级各类活动(竞赛)中成绩突出;六个学期青年大学习率达98%以上;在就业创业方面作为优秀典型。',
'6.同等条件下,获得国家奖学金或国家励志奖学金等国家级奖励的毕业生应优先推荐。',
'7.认定为校级优秀毕业生,才有资格推荐为上级优秀毕业生。'
].join('\n\n'),
}, ];
uni.showModal({
title: popupContent[0].title, // First section's title
content: popupContent[0].content, // Use the joined content
showCancel: false,
confirmText: '关闭',
});
},
}
}
</script>
<style lang="scss" scoped>
.graduate {
background-color: #F5F5F7;
.top-bar {
display: flex;
justify-content: space-between;
align-items: center;
background-color: white;
position: fixed;
z-index: 99;
left: 0;
right: 0;
top: 80rpx;
padding: 20rpx;
color: #1890FF;
.left {
display: flex;
align-items: center;
}
.right {
display: flex;
align-items: center;
}
svg {
margin-right: 8rpx;
width: 40rpx;
height: 40rpx;
color: red;
}
}
scroll-view {
height: calc(100vh - 10px);
.no-more {
text-align: center;
color: gray;
padding-bottom: 10px;
}
.empty {
display: flex;
flex-direction: column;
align-items: center;
margin-top: 200rpx;
color: #9E9E9E;
font-size: 36rpx;
image {
width: 250rpx;
margin-bottom: 50rpx;
}
}
}
.list {
padding: 20rpx 40rpx 15rpx 40rpx;
.item {
background-color: white;
margin-bottom: 20rpx;
padding: 40rpx;
border-radius: 16px;
border-bottom-right-radius: 0;
position: relative;
.top {
display: flex;
justify-content: space-between;
border-bottom: 1px solid #F5F5F7;
padding-bottom: 20rpx;
.uni-icons {
opacity: 0.5;
}
}
.content {
padding-top: 20rpx;
.level {
display: flex;
}
&>view:not(:last-child) {
margin-bottom: 15rpx;
.progress {
color: #1890FF;
}
}
.status {
position: absolute;
bottom: 0;
right: 0;
color: white;
.status-text {
position: absolute;
bottom: 15px;
right: 8%;
font-size: 35rpx;
}
.triangle-right {
width: 0;
height: 0;
/* 上边框设置为透明 */
border-left: 120px solid transparent;
}
&.submit {
color: #202020;
.triangle-right {
/* 左边框设置为与文本相同的颜色 */
border-bottom: 100px solid #D7D7D7;
}
}
&.agree {
.triangle-right {
/* 左边框设置为与文本相同的颜色 */
border-bottom: 100px solid #2FB15B;
}
}
&.refuse {
.triangle-right {
/* 左边框设置为与文本相同的颜色 */
border-bottom: 100px solid #FF759F;
}
}
}
}
}
}
.add {
background-color: #1890FF;
width: 90rpx;
height: 90rpx;
border-radius: 50%;
color: white;
display: flex;
justify-content: center;
align-items: center;
font-size: 60rpx;
position: fixed;
bottom: 50px;
right: 25px;
}
}
</style>