本地临时存储

This commit is contained in:
田岩
2025-08-20 08:52:47 +08:00
parent 8aaeb8a86d
commit fc2e831f71
11 changed files with 551 additions and 305 deletions
+267 -3
View File
@@ -1,8 +1,272 @@
<template>
<view class="main_div max_page">
<nav-bar :is_seat="true"></nav-bar>
<view class="body-title">
<view class="back_div" @click="common.navigateBack()">
<view class="back-icon"></view>
</view>
<view>任务详情</view>
</view>
<view class="detail_div" :class="'completed'">
<view class="subscript" v-if="detailData.examStatText === 'N'">未完成</view>
<view class="subscript" v-if="detailData.examStatText === 'Y'">已完成</view>
<view class="left">
<image src="/src/static/images/test/2.png" mode="aspectFill" class="img"></image>
</view>
<view class="right">
<view class="title_div">
<view class="title">
JBank银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大银行服诉旦撒大
</view>
</view>
<view class="time">
<text class="color_3">起止时间</text>
<text class="color_class">2025-05-13至2025-05-13</text>
</view>
<view class="num_div">
<view class="num_div_item">
<text class="color_3">完成人数</text>
<text class="color_2">34/125</text>
</view>
<view class="num_div_item">
<text class="color_3">进度</text>
<text class="color_2">2/4门课程</text>
</view>
</view>
</view>
</view>
<scroll-view
ref="scrollRef"
:scroll-y="true"
class="scroll-Y"
:show-scrollbar="false"
@scrolltolower="scrolltolower"
></scroll-view>
</view>
</template>
<script>
<script setup>
import { onLoad } from '@dcloudio/uni-app';
import { reactive, computed } from 'vue';
import { startTraExamPapersInfo } from '@/api/examination.js';
import common from '@/common/common';
import { setPageCache, getPageCache } from '@/common/common';
const detailData = reactive({
papersId: '',
papersName: '',
examStartTm: '',
examEndTm: '',
execPersionNumer: '',
planPersionNumber: '',
judgeNumber: 0,
singleNumber: 0,
multiNumber: 0,
essayNumber: 0,
judgeGrade: 0,
singleGrade: 0,
multiGrade: 0,
essayGrade: 0
});
const scrolltolower = () => {};
onLoad((e) => {
const testing_hall_details = getPageCache('testing_hall_details');
Object.assign(detailData, {
...testing_hall_details
});
console.log('detailData', detailData);
});
</script>
<style>
</style>
<style scoped lang="scss">
.scroll-Y {
position: relative;
overflow: hidden;
height: calc(100vh - var(--status-bar-height) - 120rpx - 250rpx + 20rpx + 20rpx - 20rpx);
width: calc(100% - 52rpx);
margin: 0 auto;
background: linear-gradient(180deg, #ebf2fe 0%, #f3f7fe 6%, #fafbfc 12%, #fafbfc 100%);
border-radius: 16rpx;
margin-top: -20rpx;
z-index: 2;
box-shadow: 0 0 6rpx #fafbfc;
border: 4rpx solid #FFFFFF;
}
.main_div {
background-image: url('@/static/images/learningTasks/learningTasksBg.png');
background-repeat: no-repeat;
background-size: 100% calc(420rpx + var(--status-bar-height)); /* 宽度充满,高度自适应比例 */
background-position: top;
background-color: #fff;
}
.body-title {
width: 100%;
position: relative;
text-align: center;
height: 120rpx;
line-height: 60rpx;
font-family: PingFangSC;
font-weight: 600;
font-size: 32rpx;
color: #000000;
font-style: normal;
}
.detail_div {
margin-top: -20rpx;
height: 250rpx;
z-index: 2;
width: 100%;
padding: 36rpx 40rpx 20rpx 40rpx;
background-color: #ffffff;
border-radius: 16rpx 16rpx 0 0;
position: relative;
overflow: hidden;
display: flex;
.subscript {
position: absolute;
top: 0;
right: 0;
width: 102rpx;
height: 42rpx;
font-family: PingFangSC;
font-weight: 400;
font-size: 24rpx;
line-height: 42rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 0 0 0 28rpx;
}
.left > .img {
width: 225rpx;
height: 169rpx;
border-radius: 16rpx;
}
.right {
margin-left: 24rpx;
.title_div {
display: flex;
justify-content: space-between;
flex: 1;
.title {
font-family: PingFangSC;
font-weight: 600;
color: #000000;
text-align: left;
font-style: normal;
font-size: 28rpx; /* 字体大小30rpx */
display: -webkit-box; /* 启用弹性盒模型 */
-webkit-box-orient: vertical; /* 设置盒子内子元素的排列方向为垂直 */
-webkit-line-clamp: 2; /* 限制最多显示2行 */
overflow: hidden; /* 超出部分隐藏 */
text-overflow: ellipsis; /* 超出部分显示省略号(多行时可能不显示,但建议保留) */
line-height: 1.5; /* 可选:设置行高,优化多行显示效果 */
}
}
.time {
font-size: 24rpx;
color: #999999;
line-height: 30rpx;
font-family: Arial;
font-weight: 400;
color: #666666;
margin-top: 12rpx;
margin-bottom: 12rpx;
}
.num_div {
font-family: PingFangSC;
font-weight: 400;
font-size: 24rpx;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: nowrap;
overflow: hidden;
height: 28rpx;
.num_div_item {
display: flex;
flex-wrap: nowrap;
line-height: 28rpx;
height: 28rpx;
}
}
.color_1 {
color: #d70c18;
}
.color_2 {
color: #111111;
}
.color_3 {
color: #666666;
}
}
}
.incomplete {
// 进行中
.subscript {
color: #ffffff;
background-color: #ef5705;
}
.color_class {
color: #d70c18;
}
}
.completed {
// 已完成
.subscript {
color: #ffffff;
background-color: #33c583;
}
.color_class {
color: #0066ff;
}
}
.back_div {
position: absolute;
left: 26rpx;
height: 100%;
top: -30rpx;
display: flex;
align-items: center;
.back-icon {
position: relative;
width: 50rpx;
height: 50rpx;
cursor: pointer;
display: flex;
align-items: center;
}
.back-icon::before,
.back-icon::after {
content: '';
position: absolute;
transition: all 0.3s ease;
}
.back-icon::after {
top: 25%;
left: 25%;
width: 40%;
height: 40%;
border-top: 4rpx solid #000000;
border-left: 4rpx solid #000000;
transform: rotate(-45deg);
}
}
</style>