AIzhushou-screen/src/views/header.vue

232 lines
5.6 KiB
Vue
Raw Normal View History

2024-05-22 08:44:08 +08:00
<script setup lang="ts">
2024-06-24 11:21:35 +08:00
import { AdminPCIndex, WeekPay } from "@/api";
2024-05-27 11:43:19 +08:00
import { useTimeStore } from "@/stores/index";
const timeStore = useTimeStore();
2024-05-31 18:55:17 +08:00
import { useDataStore } from "@/stores/index";
const dataStore = useDataStore();
2024-05-27 11:43:19 +08:00
2024-05-31 18:55:17 +08:00
// 获取整体数据
2024-06-24 11:21:35 +08:00
const getAdminPCIndex = (params: any) => {
2024-05-31 18:55:17 +08:00
AdminPCIndex(params).then((res: any) => {
dataStore.setData(res.data);
2024-05-22 08:44:08 +08:00
})
};
2024-05-31 18:55:17 +08:00
// 获取缴费人数
// 缴费人数-- 本科 专科 专升本
2024-06-24 11:21:35 +08:00
/*
缴费人数---根据学历层次EducationalLevel 获取
*/
/* const payData = () => {
2024-05-31 18:55:17 +08:00
let params: any = [{
"EducationalLevel": 3,
"Year": myDate.value.year || void 0,
"Month": myDate.value.month || void 0,
"Day": myDate.value.day || void 0,
}, {
"EducationalLevel": 4,
"Year": myDate.value.year || void 0,
"Month": myDate.value.month || void 0,
"Day": myDate.value.day || void 0,
}, {
"EducationalLevel": 6,
"Year": myDate.value.year || void 0,
"Month": myDate.value.month || void 0,
"Day": myDate.value.day || void 0,
}]
for (let item of params) {
WeekPay(item).then((res: any) => {
switch (item.EducationalLevel) {
case 3:
dataStore.setBkPay(res.data);
case 4:
dataStore.setZkPay(res.data);
case 6:
dataStore.setZsbPay(res.data);
}
})
}
2024-06-24 11:21:35 +08:00
} */
/*
缴费人数---根据批次去区分
*/
const payData = () => {
let params: any = {
"EducationalLevel": 3,
"Year": myDate.value.year || void 0,
"Month": myDate.value.month || void 0,
"Day": myDate.value.day || void 0,
}
WeekPay(params).then((res: any) => {
const bk = res.data.todayPayDto.batchTodayPays?.find((item:any) => item.name === "统招本科");
const zk = res.data.todayPayDto.batchTodayPays?.find((item:any) => item.name === "统招专科");
const zsb = res.data.todayPayDto.batchTodayPays?.find((item:any) => item.name === "统招专升本");
dataStore.setBkPay(bk)
dataStore.setZkPay(zk)
dataStore.setZsbPay(zsb)
dataStore.setTotalPay(res.data.todayPayDto.batchTodayPays?.payNum)
})
2024-05-31 18:55:17 +08:00
}
2024-06-24 11:21:35 +08:00
2024-05-24 17:42:14 +08:00
// const returnHome = () => {
// history.go(-1)
// };
2024-05-31 18:55:17 +08:00
const currentDate = new Date()
// 当前选择的日期
const myDate = ref({
year: currentDate.getFullYear(),
2024-06-24 11:21:35 +08:00
month: currentDate.getMonth() + 1,
2024-05-31 18:55:17 +08:00
day: currentDate.getDate(),
})
// 获取选择的日期(年 || 月 ||日)
const getDate = (val: any) => {
myDate.value = val
2024-06-04 09:36:00 +08:00
// 根据年、月、日的切换,展示不同的标题 --- 具体问问产品怎么展示 -----待修改
2024-05-31 18:55:17 +08:00
timeStore.setYears(val.year)
timeStore.setMounths(val.month)
2024-06-04 09:36:00 +08:00
timeStore.setDays(val.day)
2024-05-31 18:55:17 +08:00
let params = {
2024-06-24 11:21:35 +08:00
"Year": val.year || void 0,
"Month": val.month || void 0,
"Day": val.day || void 0,
2024-05-31 18:55:17 +08:00
}
getAdminPCIndex(params)
payData()
2024-05-24 17:42:14 +08:00
}
2024-06-24 11:21:35 +08:00
const dateTitle = computed(() => {
let { year, month, day } = myDate.value
2024-05-31 18:55:17 +08:00
return formatDate(year, month, day)
})
/**
* @description: 将日期返回成中文格式
* @param {*} year
* @param {*} month
* @param {*} day
* @return {*}
*/
function formatDate(year: number, month: number, day: number) {
let dateStr = `${year}`;
if (month !== 0) {
dateStr += `${month}`;
2024-05-24 17:42:14 +08:00
}
2024-05-31 18:55:17 +08:00
if (day !== 0) {
dateStr += `${day}`;
2024-05-24 17:42:14 +08:00
}
2024-05-31 18:55:17 +08:00
return dateStr;
2024-05-24 17:42:14 +08:00
}
2024-05-22 08:44:08 +08:00
</script>
<template>
2024-05-23 15:47:12 +08:00
<div class="d-flex">
<div class="top-left">
2024-05-22 08:44:08 +08:00
<div class="title">
2024-06-17 10:10:08 +08:00
<span class="title-text">新生报到情况</span>
2024-05-24 17:42:14 +08:00
<!-- <span style="color: yellow;" @click="returnHome()">返回</span> -->
2024-05-22 08:44:08 +08:00
</div>
2024-05-23 15:47:12 +08:00
<div class="en-title">
<div class="en-line"></div>
<span>New student registration status</span>
</div>
</div>
<div class="change-time">
2024-05-24 17:42:14 +08:00
<div class="change-year">
2024-05-31 18:55:17 +08:00
<DatePicker @getOption="getDate" :myDate="myDate"></DatePicker>
2024-05-29 15:41:39 +08:00
</div>
2024-05-31 18:55:17 +08:00
<div class="time-title">选择日期{{ dateTitle }}</div>
2024-05-29 15:41:39 +08:00
<!-- <div class="change-year">
2024-05-24 17:42:14 +08:00
<Dropdown :options="yearOptions" title="切换年份" @getOption="getYear" ref="selectYear"></Dropdown>
</div>
<div class="change-year">
<Dropdown :options="monthOptions" title="切换月份" @getOption="getMonth" ref="selectMonth"></Dropdown>
</div>
2024-05-29 15:41:39 +08:00
<div class="change-year" @click="selectNowdays">选择今日</div> -->
2024-05-22 08:44:08 +08:00
</div>
</div>
</template>
<style scoped lang="scss">
2024-05-23 15:47:12 +08:00
.d-flex {
width: 100%;
display: flex;
justify-content: space-between;
z-index: 999;
2024-05-22 08:44:08 +08:00
height: 60px;
position: relative;
margin-bottom: 4px;
}
2024-05-24 17:42:14 +08:00
.top-left {
2024-05-23 15:47:12 +08:00
display: flex;
}
2024-05-24 17:42:14 +08:00
2024-05-22 08:44:08 +08:00
.title {
2024-05-23 15:47:12 +08:00
// position: relative;
width: 300px;
text-align: left;
// color: transparent;
2024-05-22 08:44:08 +08:00
height: 60px;
line-height: 46px;
2024-05-24 17:42:14 +08:00
2024-05-22 08:44:08 +08:00
.title-text {
2024-05-22 10:52:34 +08:00
font-family: 'YouSheBiaoTiHei';
2024-05-22 08:44:08 +08:00
font-size: 38px;
2024-05-22 10:52:34 +08:00
font-weight: 400;
2024-05-22 08:44:08 +08:00
letter-spacing: 6px;
width: 100%;
2024-05-22 09:54:45 +08:00
color: #ECEDEE;
2024-05-23 15:47:12 +08:00
}
}
.en-title {
width: 300px;
height: 40px;
font-family: 'YouSheBiaoTiHei';
font-weight: 400;
font-size: 14px;
color: #ADC0DE;
opacity: 0.2;
// line-height: 40px;
padding-top: 10px;
text-align: center;
2024-05-24 17:42:14 +08:00
.en-line {
2024-05-23 15:47:12 +08:00
width: 80%;
height: 2px;
background-color: #ADC0DE;
margin-left: 30px;
}
}
.change-time {
// position: relative;
// float: right;
2024-05-24 17:42:14 +08:00
width: 400px;
2024-05-23 15:47:12 +08:00
height: 60px;
display: flex;
2024-05-29 15:41:39 +08:00
// justify-content: space-between;
flex-direction: row-reverse;
2024-05-23 15:47:12 +08:00
font-family: 'YouSheBiaoTiHei';
2024-05-24 17:42:14 +08:00
font-size: 16px;
2024-05-23 15:47:12 +08:00
2024-05-31 18:55:17 +08:00
.time-title {
margin-right: 20px;
height: 35px;
line-height: 30px;
}
2024-05-23 15:47:12 +08:00
.change-year {
width: 125px;
height: 35px;
line-height: 30px;
text-align: center;
cursor: pointer;
background-image: url("@/assets/img/zheke/top_change.png");
background-size: cover;
background-position: center center;
2024-05-22 08:44:08 +08:00
}
}
</style>