Commit a8380190 authored by 罗超's avatar 罗超

1

parent 4448f3e5
...@@ -83,7 +83,6 @@ export default { ...@@ -83,7 +83,6 @@ export default {
}); });
let methods = { let methods = {
previewImage(i) { previewImage(i) {
console.log(i);
uni.previewImage({ uni.previewImage({
urls: data.preImg, urls: data.preImg,
current: i, current: i,
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<view <view
v-for="(item, index) in dataList" v-for="(item, index) in dataList"
:key="index" :key="index"
class="list-item flex flex_between_center" class="list-item"
@click="jumpPage(item.FeedBackId)" @click="jumpPage(item.FeedBackId)"
> >
<view class="feedback-info flex flex_start_center"> <view class="feedback-info flex flex_start_center">
...@@ -29,20 +29,27 @@ ...@@ -29,20 +29,27 @@
</view> </view>
<view class="feedback-all"> {{ item.CreatetimeStr }} </view> <view class="feedback-all"> {{ item.CreatetimeStr }} </view>
</view> </view>
<view class="two_line feedback-text"> {{ item.Comment }}</view> <view class="feedback-text"> {{ item.Comment }}</view>
<view class="flex"> <view class="flex flex_wrap">
<view <view
v-for="(item1, index1) in item.PhotoList" v-for="(item1, index1) in item.PhotoList"
:key="index1" :key="index1"
class="feedback-img" class="feedback-img"
v-if="index1 === 0 || index1 === 1 || index1 === 2"
@click="previewImage(item.PhotoList, index1)"
> >
<image <image
:src="item1" :src="item1"
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
mode="aspectFill"
v-if="index1 === 0 || index1 === 1 || index1 === 2" v-if="index1 === 0 || index1 === 1 || index1 === 2"
/> />
<view <view
class="layer flex flex_center_center" class="layer"
v-if="item.PhotoList.length > 3 && index1 === 2"
></view>
<view
class="layer2 flex flex_center_center"
v-if="item.PhotoList.length > 3 && index1 === 2" v-if="item.PhotoList.length > 3 && index1 === 2"
>+{{ item.PhotoList.length - 3 }}</view >+{{ item.PhotoList.length - 3 }}</view
> >
...@@ -106,6 +113,19 @@ export default { ...@@ -106,6 +113,19 @@ export default {
data.pageState = "none"; data.pageState = "none";
} }
}, },
previewImage(arr, i) {
uni.previewImage({
urls: arr,
current: i,
longPressActions: {
itemList: ["发送给朋友", "保存图片", "收藏"],
success: function (data) {},
fail: function (err) {
console.log(err.errMsg);
},
},
});
},
}; };
let that = methods; let that = methods;
onMounted(() => { onMounted(() => {
...@@ -133,7 +153,7 @@ export default { ...@@ -133,7 +153,7 @@ export default {
background-color: #fff; background-color: #fff;
} }
.list-item { .list-item {
height: 430rpx; /* height: 430rpx; */
box-sizing: border-box; box-sizing: border-box;
padding: 30rpx 0; padding: 30rpx 0;
} }
...@@ -171,7 +191,10 @@ export default { ...@@ -171,7 +191,10 @@ export default {
height: 210rpx; height: 210rpx;
border-radius: 20rpx; border-radius: 20rpx;
background-color: #eee; background-color: #eee;
overflow: hidden;
margin-right: 30rpx; margin-right: 30rpx;
box-shadow: 0rpx 10rpx 30rpx 0rpx rgba(36, 36, 36, 0.2);
position: relative;
} }
.feedback-img:nth-child(3n) { .feedback-img:nth-child(3n) {
margin-right: 0rpx !important; margin-right: 0rpx !important;
...@@ -179,10 +202,24 @@ export default { ...@@ -179,10 +202,24 @@ export default {
.layer { .layer {
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 20rpx;
background-color: #cbd9ed; background-color: #cbd9ed;
position: absolute;
top: 0;
right: 0;
opacity: 0.5;
}
.layer2 {
width: 100%;
height: 100%;
border-radius: 20rpx;
font-size: 36rpx; font-size: 36rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #111111; color: #111111;
position: absolute;
top: 0;
right: 0;
z-index: 5;
} }
</style> </style>
\ No newline at end of file
<template> <template>
<view class="page-box"> <view class="page-box">
<van-nav-bar :border="fasle" fixed :z-index="99"> <van-nav-bar :border="fasle" fixed :z-index="99">
<view slot="left" class="page-title" title="shouye">首页</view> <view slot="left" class="page-title" title="shouye">首页</view>
</van-nav-bar> </van-nav-bar>
<view class="con" :style="{ 'padding-top': `${statusBarHeight}px` }"> <view class="con" :style="{ 'padding-top': `${statusBarHeight}px` }">
<view style="height: 100rpx"></view> <view style="height: 100rpx"></view>
<view class="personInfo flex flex_start_center"> <view class="personInfo flex flex_start_center">
<van-image round width="100rpx" height="100rpx" fit="cover" <van-image
:src="userinfo.UserIcon ? userinfo.UserIcon : userinfo.GroupLogo" class="headimg" round
@click="jumpPage('/pages/login/login')" /> width="100rpx"
<view class="grow"> height="100rpx"
<view class="name"> {{ userinfo.AccountName }} </view> fit="cover"
<view class="phone"> :src="userinfo.UserIcon ? userinfo.UserIcon : userinfo.GroupLogo"
{{ userinfo.Account }} class="headimg"
</view> @click="jumpPage('/pages/login/login')"
</view> />
<view class="saleInfo"> <view class="grow">
<view class="info1"> <view class="name"> {{ userinfo.AccountName }} </view>
<van-icon name="contact" size="23rpx" style="margin-right: 10rpx" />服务人员 <view class="phone">
</view> {{ userinfo.Account }}
<view class="info2 one_line"> </view>
<text style="margin-right: 10rpx">课程顾问</text>{{ userinfo.EnterPhone2 }} </view>
</view> <view class="saleInfo">
</view> <view class="info1">
</view> <van-icon
<view class="baseInfo flex flex_wrap"> name="contact"
<view class="baseInfo_item flex flex_between_center" v-for="(item, index) in baseInfo" :key="index" size="23rpx"
:style="{ 'background-color': item.bgcolor }" @click="jumpPage(item.jumpUrl)"> style="margin-right: 10rpx"
<view style="height: 100%; max-width: 120rpx"> />服务人员
<view class="baseInfo_name"> </view>
{{ item.name }} <view class="info2 one_line">
</view> <text style="margin-right: 10rpx">课程顾问</text
<view class="baseInfo_desc one_line" :title="item.desc"> >{{ userinfo.EnterPhone2 }}
{{ item.desc }} </view>
</view> </view>
</view> </view>
<van-image width="58rpx" height="66rpx" fit="cover" :src="item.img" /> <view class="baseInfo flex flex_wrap">
</view> <view
</view> class="baseInfo_item flex flex_between_center"
<view class="LearningGarden flex flex_wrap"> v-for="(item, index) in baseInfo"
<view v-for="(item, index) in learnList" :key="index" class="LearningGarden-item" :key="index"
:style="{ backgroundColor: item.bgcolor }" @click="jumpPage(item.jumpUrl)"> :style="{ 'background-color': item.bgcolor }"
<view class="LearningGarden-item-name">{{ item.name }}</view> @click="jumpPage(item.jumpUrl)"
<view class="LearningGarden-item-desc">{{ item.desc }}</view> >
<image :src="item.img" class="LearningGarden-item-img" /> <view style="height: 100%; max-width: 120rpx">
</view> <view class="baseInfo_name">
</view> {{ item.name }}
<view class="title" v-if="data.indexData.FeedBackList[0].length > 0"> </view>
课程反馈 <view class="baseInfo_desc one_line" :title="item.desc">
</view> {{ item.desc }}
<view class="feedback" v-if="data.indexData.FeedBackList[0].length > 0"> </view>
<view class="feedback-info flex flex_start_center"> </view>
<image src="" class="info-headimg" /> <van-image width="58rpx" height="66rpx" fit="cover" :src="item.img" />
<view class="grow"> </view>
<view class="teacher-name">{{ </view>
data.indexData.FeedBackList[0].TeacherName <view class="LearningGarden flex flex_wrap">
}}</view> <view
<view class="rate"> v-for="(item, index) in learnList"
<van-rate :value="data.indexData.FeedBackList[0].Score" :key="index"
:count="data.indexData.FeedBackList[0].Score" class="LearningGarden-item"
icon="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/rate.png" :style="{ backgroundColor: item.bgcolor }"
void-icon="" size="24rpx" /> @click="jumpPage(item.jumpUrl)"
</view> >
</view> <view class="LearningGarden-item-name">{{ item.name }}</view>
<view class="feedback-all" @click="jumpPage('/pages/course/feedback')"> <view class="LearningGarden-item-desc">{{ item.desc }}</view>
全部 <image :src="item.img" class="LearningGarden-item-img" />
<van-icon name="arrow" style="margin-left: 30rpx" /> </view>
</view> </view>
</view> <view class="title" v-if="indexData.FeedBackList.length > 0">
<view class="two_line feedback-text"> 课程反馈
{{ data.indexData.FeedBackList[0].Comment }} </view>
</view> <view class="feedback" v-if="indexData.FeedBackList.length > 0">
<view class="flex"> <view class="feedback-info flex flex_start_center">
<view v-for="(item, index) in data.indexData.FeedBackList[0].PhotoList" :key="index"> <image
<image :src="item" class="feedback-img" v-if="index === 0 || index === 1 || index === 2"> :src="indexData.FeedBackList[0].TeacherIcon"
</image> class="info-headimg"
<view class="layer flex flex_center_center" v-if="item.PhotoList.length > 3 && index === 2"> />
+{{ item.PhotoList.length - 3 }}</view> <view class="grow">
</view> <view class="teacher-name">{{
</view> indexData.FeedBackList[0].TeacherName
</view> }}</view>
<view class="activeContent"> <view class="rate">
<swiper class="swiper" :indicator-dots="indicatorDots" :autoplay="autoplay" indicator-color="#CCCCCC" indicator-active-color="#000000" :vertical="true"> <van-rate
<swiper-item v-for="(item,index) in ActivityList" :key="index"> :value="indexData.FeedBackList[0].Score"
<view class="swiperList" :style="{'background-image': item.CoverImg? `url(${item.CoverImg})` :count="indexData.FeedBackList[0].Score"
: `url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/defaultBgimg.png)`}"> icon="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/rate.png"
<view class="swiper_Time">{{item.BMStart}}</view> void-icon=""
<view class="swiper_Name">{{item.ActivityName}}</view> size="24rpx"
</view> />
</swiper-item> </view>
</swiper> </view>
</view> <view
<view class="timetable"> class="feedback-all"
<view class="timetable_item flex flex_between_center"> @click="jumpPage('/pages/course/feedback')"
<text class="timetable_title">我的课表</text> >
<view class="timetable_btn" @click=" 全部
<van-icon name="arrow" style="margin-left: 30rpx" />
</view>
</view>
<view class="two_line feedback-text">
{{ indexData.FeedBackList[0].Comment }}
</view>
<view class="flex">
<view
v-for="(item, index) in indexData.FeedBackList[0].PhotoList"
:key="index"
v-if="index === 0 || index === 1 || index === 2"
class="feedback-img"
>
<image
:src="item"
style="width: 100%; height: 100%"
mode="aspectFill"
v-if="index === 0 || index === 1 || index === 2"
>
</image>
<view
class="layer"
v-if="
indexData.FeedBackList[0].PhotoList.length > 3 && index === 2
"
></view>
<view
class="layer2 flex flex_center_center"
v-if="
indexData.FeedBackList[0].PhotoList.length > 3 && index === 2
"
>
+{{ indexData.FeedBackList[0].PhotoList.length - 3 }}</view
>
</view>
</view>
</view>
<view class="activeContent">
<swiper
class="swiper"
:indicator-dots="indicatorDots"
:autoplay="autoplay"
indicator-color="#CCCCCC"
indicator-active-color="#000000"
:vertical="true"
>
<swiper-item v-for="(item, index) in ActivityList" :key="index">
<view
class="swiperList"
:style="{
'background-image': item.CoverImg
? `url(${item.CoverImg})`
: `url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/defaultBgimg.png)`,
}"
>
<view class="swiper_Time">{{ item.BMStart }}</view>
<view class="swiper_Name">{{ item.ActivityName }}</view>
</view>
</swiper-item>
</swiper>
</view>
<view class="timetable">
<view class="timetable_item flex flex_between_center">
<text class="timetable_title">我的课表</text>
<view
class="timetable_btn"
@click="
jumpPage(`/pages/course/timeTable?classId=${indexData.ClassId}`) jumpPage(`/pages/course/timeTable?classId=${indexData.ClassId}`)
" v-if="indexData.ClassPlan.TimeStart"> "
全部 v-if="indexData.ClassPlan.TimeStart"
<van-icon name="arrow" style="margin-left: 30rpx" /> >
</view> 全部
</view> <van-icon name="arrow" style="margin-left: 30rpx" />
<view class="timetable_item2"> </view>
日期: </view>
<text v-if="indexData.ClassPlan.NewPlanDateTimeStr">{{ <view class="timetable_item2">
日期:
<text v-if="indexData.ClassPlan.NewPlanDateTimeStr">{{
indexData.ClassPlan.NewPlanDateTimeStr indexData.ClassPlan.NewPlanDateTimeStr
}}</text> }}</text>
<text v-else>暂无</text> <text v-else>暂无</text>
</view> </view>
<view class="timetable_item2"> <view class="timetable_item2">
时间: 时间:
<text v-if="indexData.ClassPlan.TimeStr">{{ <text v-if="indexData.ClassPlan.TimeStr">{{
indexData.ClassPlan.TimeStr indexData.ClassPlan.TimeStr
}}</text> }}</text>
<text v-else>暂无</text> <text v-else>暂无</text>
</view> </view>
<view class="timetable_item2"> <view class="timetable_item2">
老师: 老师:
<text v-if="indexData.ClassPlan.TeacherName">{{ <text v-if="indexData.ClassPlan.TeacherName">{{
indexData.ClassPlan.TeacherName indexData.ClassPlan.TeacherName
}}</text> }}</text>
<text v-else>暂无</text> <text v-else>暂无</text>
</view> </view>
<view class="timetable_item2"> <view class="timetable_item2">
状态: 状态:
<text v-if="indexData.ClassPlan.TimeStatusStr === 0">待上课</text> <text v-if="indexData.ClassPlan.TimeStatusStr === 0">待上课</text>
<text v-if="indexData.ClassPlan.TimeStatusStr === 1">上课中</text> <text v-if="indexData.ClassPlan.TimeStatusStr === 1">上课中</text>
<text v-if="indexData.ClassPlan.TimeStatusStr === 2">下课</text> <text v-if="indexData.ClassPlan.TimeStatusStr === 2">下课</text>
</view> </view>
</view> </view>
<van-cell-group :border="false"> <van-cell-group :border="false">
<van-cell title="我的考试" title-class="title" :border="false"> <van-cell title="我的考试" title-class="title" :border="false">
<view class="value" @click=" <view
class="value"
@click="
jumpPage(`/pages/exam/examPaperList?Id=${indexData.GuestId}`) jumpPage(`/pages/exam/examPaperList?Id=${indexData.GuestId}`)
"> "
查看更多 >
</view> 查看更多
</van-cell> </view>
</van-cell-group> </van-cell>
<view v-if="indexData.paperList.length == 0"> </van-cell-group>
<van-empty description="暂无数据" /> <view v-if="indexData.paperList.length == 0">
</view> <van-empty description="暂无数据" />
<view class="mytest flex" v-if="indexData.paperList.length > 0"> </view>
<view v-for="(item, index) in indexData.paperList" :key="index" class="test-item no_shrink" :style="{ <view class="mytest flex" v-if="indexData.paperList.length > 0">
<view
v-for="(item, index) in indexData.paperList"
:key="index"
class="test-item no_shrink"
:style="{
'background-image': item.PicList[0] 'background-image': item.PicList[0]
? `url(${item.PicList[0]})` ? `url(${item.PicList[0]})`
: `url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/defaultBgimg.png)`, : `url(https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/defaultBgimg.png)`,
}" @click="getItemStatus(item)"> }"
<view class="testName"> @click="getItemStatus(item)"
{{ item.PaperName }} >
</view> <view class="testName">
<view class="testTime"> 考试时间:{{ item.ExamStartTime }} </view> {{ item.PaperName }}
<view class="teacherInfo-bg"></view> </view>
<view class="teacherInfo flex flex_between_center"> <view class="testTime"> 考试时间:{{ item.ExamStartTime }} </view>
<view class="flex flex_start_center"> <view class="teacherInfo-bg"></view>
<!-- <van-image <view class="teacherInfo flex flex_between_center">
<view class="flex flex_start_center">
<!-- <van-image
round round
width="45rpx" width="45rpx"
height="45rpx" height="45rpx"
...@@ -162,602 +240,616 @@ ...@@ -162,602 +240,616 @@
src="https://img.yzcdn.cn/vant/cat.jpeg" src="https://img.yzcdn.cn/vant/cat.jpeg"
/> />
<view class="teacherName">{{ indexData.TeacherName }}</view> --> <view class="teacherName">{{ indexData.TeacherName }}</view> -->
</view> </view>
<view class="test-status" :class="{ <view
class="test-status"
:class="{
'status-blue': item.ExamStatusStr == '未开始', 'status-blue': item.ExamStatusStr == '未开始',
'status-green': item.ExamStatusStr == '已开始', 'status-green': item.ExamStatusStr == '已开始',
'status-black': item.ExamStatusStr == '完成', 'status-black': item.ExamStatusStr == '完成',
'status-red': item.ExamStatusStr == '缺考', 'status-red': item.ExamStatusStr == '缺考',
}"> }"
{{ item.ExamStatusStr }} >
</view> {{ item.ExamStatusStr }}
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<van-toast id="van-toast" /> </view>
</view> <van-toast id="van-toast" />
</view>
</template> </template>
<script> <script>
import { import {
ref, ref,
reactive, reactive,
toRefs, toRefs,
toRef, toRef,
getCurrentInstance, getCurrentInstance,
watch, watch,
computed, computed,
onMounted, onMounted,
provide, provide,
} from "vue"; } from "vue";
import { import { getIndexInfo } from "../../api/index";
getIndexInfo import { getActivityList } from "../../api/activity";
} from "../../api/index"; import { desensitization } from "../../utils/index";
import { export default {
getActivityList setup(props) {
} from "../../api/activity" let { proxy } = getCurrentInstance();
import { proxy.$isLogin();
desensitization let data = reactive({
} from "../../utils/index"; statusBarHeight: 0,
export default { userinfo: {},
setup(props) { indexData: {
let { FeedBackList: [],
proxy },
} = getCurrentInstance(); baseInfo: [
proxy.$isLogin(); {
let data = reactive({ name: "学区",
statusBarHeight: 0, desc: "",
userinfo: {}, img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon2.png",
indexData: {}, bgcolor: "#CCEDFE",
baseInfo: [{ jumpUrl: "",
name: "学区", },
desc: "", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon2.png", name: "课程",
bgcolor: "#CCEDFE", desc: "N1~N3",
jumpUrl: "", img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon1.png",
}, bgcolor: "#DDE6FF",
{ jumpUrl: "/pages/course/course",
name: "课程", },
desc: "N1~N3", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon1.png", name: "进度",
bgcolor: "#DDE6FF", desc: "上到哪里了",
jumpUrl: "/pages/course/course", img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon4.png",
}, bgcolor: "#FFEFE4",
{ jumpUrl: `/pages/progress/progress`,
name: "进度", },
desc: "上到哪里了", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon4.png", name: "剩余课时",
bgcolor: "#FFEFE4", desc: "100",
jumpUrl: `/pages/progress/progress`, img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon3.png",
}, bgcolor: "#FFEAFE",
{ jumpUrl: `/pages/surplusTime/surplusTime`,
name: "剩余课时", },
desc: "100", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon3.png", name: "电子合同",
bgcolor: "#FFEAFE", desc: "5个",
jumpUrl: `/pages/surplusTime/surplusTime`, img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon5.png",
}, bgcolor: "#D9FAF1",
{ jumpUrl: "/pages/contract/contract",
name: "电子合同", },
desc: "5个", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon5.png", name: "我的老师",
bgcolor: "#D9FAF1", desc: "李琴",
jumpUrl: "/pages/contract/contract", img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon6.png",
}, bgcolor: "#FFE7E6",
{ jumpUrl: "/pages/course/askForLeaveList",
name: "我的老师", },
desc: "李琴", ],
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/icon6.png", // 学习园地
bgcolor: "#FFE7E6", learnList: [
jumpUrl: "/pages/course/askForLeaveList", {
}, name: "日语学习园地",
], desc: "日本語の勉強",
// 学习园地 bgcolor: "#F6E5FE",
learnList: [{ img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/garden1.png",
name: "日语学习园地", jumpUrl: "/pages/learningGarden/learningGardenList",
desc: "日本語の勉強", },
bgcolor: "#F6E5FE", {
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/garden1.png", name: "韩语学习园地",
jumpUrl: "/pages/learningGarden/learningGardenList", desc: "정원",
}, bgcolor: "#FEF5D6",
{ img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/garden2.png",
name: "韩语学习园地", jumpUrl: "/pages/course/feedback",
desc: "정원", },
bgcolor: "#FEF5D6", ],
img: "https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/garden2.png", indicatorDots: true, //是否显示轮播指示点
jumpUrl: "/pages/exam/examScore", autoplay: false,
}, ActiveMsg: {
], pageIndex: 1,
indicatorDots: true, //是否显示轮播指示点 pageSize: 10,
autoplay: false, ActivityType: 0,
ActiveMsg: { SelectIsEnd: 0,
pageIndex: 1, },
pageSize: 10, ActivityList: [], //活动数据
ActivityType: 0, });
SelectIsEnd: 0,
}, let methods = {
ActivityList: [] //活动数据 jumpPage(url) {
}); uni.navigateTo({
let methods = { url: url,
jumpPage(url) { });
uni.navigateTo({ },
url: url, async getIndexdata() {
}); let res = await getIndexInfo();
}, if (res) {
async getIndexdata() { data.indexData = res.Data;
let res = await getIndexInfo(); uni.setStorageSync("indexData", res.Data);
if (res) { data.baseInfo[0].desc = res.Data.SName;
data.indexData = res.Data;
uni.setStorageSync("indexData", res.Data); data.baseInfo[1].desc = res.Data.CourseName;
data.baseInfo[0].desc = res.Data.SName; data.baseInfo[1].jumpUrl =
"/pages/course/course?id=" + res.Data.CourseId;
data.baseInfo[1].desc = res.Data.CourseName; data.baseInfo[2].jumpUrl =
data.baseInfo[1].jumpUrl = "/pages/progress/progress?id=" + res.Data.ClassId;
"/pages/course/course?id=" + res.Data.CourseId; data.baseInfo[3].desc = res.Data.SurplusHours + "课时";
data.baseInfo[2].jumpUrl = data.baseInfo[3].jumpUrl =
"/pages/progress/progress?id=" + res.Data.ClassId; "/pages/surplusTime/surplusTime?id=" + res.Data.ClassId;
data.baseInfo[3].desc = res.Data.SurplusHours + "课时"; data.baseInfo[4].desc = res.Data.ContractNum;
data.baseInfo[3].jumpUrl = data.baseInfo[5].desc = res.Data.TeacherName;
"/pages/surplusTime/surplusTime?id=" + res.Data.ClassId; }
data.baseInfo[4].desc = res.Data.ContractNum; },
data.baseInfo[5].desc = res.Data.TeacherName; async getActivityData() {
} let res = await getActivityList(data.ActiveMsg);
}, console.log(res, "数据");
async getActivityData() { if (res.resultCode == 1) {
let res = await getActivityList(data.ActiveMsg); data.ActivityList = res.data.pageData;
console.log(res, '数据'); }
if (res.resultCode == 1) { },
data.ActivityList = res.data.pageData; //根据状态跳转
} getItemStatus(item) {
}, //ExamStatus 1未开始 2已开始 3已考试 4缺考 5已阅卷
//根据状态跳转 if (item.ExamStatus == 5) {
getItemStatus(item) { this.jumpPage(
//ExamStatus 1未开始 2已开始 3已考试 4缺考 5已阅卷 `/pages/exam/examScore?GuestId=${item.GuestId}&&PaperId=${item.PaperId}&&Id=${item.Id}&&Exam_Student_Id=${item.Exam_Student_Id}&&ExamStatus=${item.ExamStatus}`
if (item.ExamStatus == 5) { );
this.jumpPage( } else {
`/pages/exam/examScore?GuestId=${item.GuestId}&&PaperId=${item.PaperId}&&Id=${item.Id}&&Exam_Student_Id=${item.Exam_Student_Id}&&ExamStatus=${item.ExamStatus}` this.jumpPage(
); `/pages/exam/examPaper?GuestId=${item.GuestId}&&PaperId=${item.PaperId}&&Id=${item.Id}&&Exam_Student_Id=${item.Exam_Student_Id}&&ExamStatus=${item.ExamStatus}`
} else { );
this.jumpPage( }
`/pages/exam/examPaper?GuestId=${item.GuestId}&&PaperId=${item.PaperId}&&Id=${item.Id}&&Exam_Student_Id=${item.Exam_Student_Id}&&ExamStatus=${item.ExamStatus}` },
); };
}
}, onMounted(() => {
}; console.log(process.env);
data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
onMounted(() => { data.userinfo = uni.getStorageSync("userInfo");
console.log(process.env); data.userinfo.EnterPhone2 = desensitization(
data.statusBarHeight = uni.getSystemInfoSync().statusBarHeight; data.userinfo.EnterPhone,
data.userinfo = uni.getStorageSync("userInfo"); 3,
data.userinfo.EnterPhone2 = desensitization( -4
data.userinfo.EnterPhone, );
3, });
-4 let that = methods;
); return {
}); ...toRefs(data),
let that = methods; ...methods,
return { };
...toRefs(data), },
...methods, onShow() {
}; this.getIndexdata();
}, this.getActivityData();
onShow() { },
this.getIndexdata(); onLoad() {
this.getActivityData(); uni.setNavigationBarTitle({
}, title: "首页",
onLoad() { });
uni.setNavigationBarTitle({ },
title: "首页", onShareAppMessage() {
}); return {
}, title: "甲小鹤",
onShareAppMessage() { query: "/pages/index/index",
return { imageUrl: "",
title: "甲小鹤", };
query: "/pages/index/index", },
imageUrl: "", onShareTimeline() {
}; return {
}, title: "甲小鹤",
onShareTimeline() { query: "/pages/index/index",
return { imageUrl: "",
title: "甲小鹤", };
query: "/pages/index/index", },
imageUrl: "", };
};
},
};
</script> </script>
<style scoped> <style scoped>
.con { .con {
box-sizing: border-box; box-sizing: border-box;
padding: 100rpx 30rpx 50rpx; padding: 100rpx 30rpx 50rpx;
} }
.page-title { .page-title {
font-size: 44rpx; font-size: 44rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #0f1b35; color: #0f1b35;
} }
.personInfo { .personInfo {
height: 100rpx; height: 100rpx;
position: relative; position: relative;
margin-bottom: 50rpx; margin-bottom: 50rpx;
} }
.headimg { .headimg {
margin-right: 30rpx; margin-right: 30rpx;
} }
.name { .name {
font-size: 30rpx; font-size: 30rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #0f1b35; color: #0f1b35;
} }
.phone { .phone {
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #999999; color: #999999;
} }
.saleInfo { .saleInfo {
/* width: 200rpx; */ /* width: 200rpx; */
height: 66rpx; height: 66rpx;
background-color: #00acf9; background-color: #00acf9;
border-radius: 33rpx 0rpx 0rpx 33rpx; border-radius: 33rpx 0rpx 0rpx 33rpx;
position: absolute; position: absolute;
top: 50%; top: 50%;
transform: translateY(-50%); transform: translateY(-50%);
right: -30rpx; right: -30rpx;
z-index: 10; z-index: 10;
box-sizing: border-box; box-sizing: border-box;
padding: 0 20rpx; padding: 0 20rpx;
font-family: PingFang SC; font-family: PingFang SC;
color: #ffffff; color: #ffffff;
} }
.saleInfo .info1 { .saleInfo .info1 {
text-align: center; text-align: center;
font-size: 22rpx; font-size: 22rpx;
font-weight: bold; font-weight: bold;
} }
.saleInfo .info2 { .saleInfo .info2 {
font-size: 20rpx; font-size: 20rpx;
} }
.baseInfo { .baseInfo {
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.baseInfo_item { .baseInfo_item {
width: 220rpx; width: 220rpx;
height: 140rpx; height: 140rpx;
border-radius: 20rpx; border-radius: 20rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 38rpx 20rpx; padding: 38rpx 20rpx;
margin-right: 15rpx; margin-right: 15rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
} }
.baseInfo .baseInfo_item:nth-child(3n) { .baseInfo .baseInfo_item:nth-child(3n) {
margin-right: 0rpx; margin-right: 0rpx;
} }
.baseInfo_name { .baseInfo_name {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #0f1b35; color: #0f1b35;
margin: -7rpx 0 3rpx 0; margin: -7rpx 0 3rpx 0;
} }
.baseInfo_desc { .baseInfo_desc {
font-size: 22rpx; font-size: 22rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #333e52; color: #333e52;
} }
.timetable { .timetable {
height: 360rpx; height: 360rpx;
background-image: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/coursebg.png"); background-image: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/educationStu/coursebg.png");
background-size: cover; background-size: cover;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
border-radius: 20rpx; border-radius: 20rpx;
overflow: hidden; overflow: hidden;
box-sizing: border-box; box-sizing: border-box;
padding: 30rpx 30rpx 0 50rpx; padding: 30rpx 30rpx 0 50rpx;
margin-bottom: 50rpx; margin-bottom: 50rpx;
} }
.timetable_item { .timetable_item {
color: #fff; color: #fff;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.timetable_title { .timetable_title {
font-size: 32rpx; font-size: 32rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
} }
.timetable_btn { .timetable_btn {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
/* font-weight: 500; */ /* font-weight: 500; */
} }
.timetable_item2 { .timetable_item2 {
color: #fff; color: #fff;
margin-bottom: 20rpx; margin-bottom: 20rpx;
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
} }
/deep/.title { /deep/.title {
font-size: 32rpx; font-size: 32rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #0f1b35; color: #0f1b35;
} }
/deep/.value { /deep/.value {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #333f53; color: #333f53;
} }
/deep/.van-cell { /deep/.van-cell {
padding: 0; padding: 0;
} }
.mytest { .mytest {
width: 720rpx; width: 720rpx;
height: 250rpx; height: 250rpx;
margin-top: 30rpx; margin-top: 30rpx;
overflow-x: scroll; overflow-x: scroll;
overflow-y: hidden; overflow-y: hidden;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
transition: all 0.5s; transition: all 0.5s;
} }
.test-item { .test-item {
width: 620rpx; width: 620rpx;
height: 250rpx; height: 250rpx;
box-sizing: border-box; box-sizing: border-box;
border-radius: 20rpx; border-radius: 20rpx;
overflow: hidden; overflow: hidden;
margin-right: 30rpx; margin-right: 30rpx;
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
background-size: cover; background-size: cover;
background-origin: border-box; background-origin: border-box;
background-clip: border-box; background-clip: border-box;
padding-top: 60rpx; padding-top: 60rpx;
padding-left: 44rpx; padding-left: 44rpx;
position: relative; position: relative;
} }
.testName { .testName {
font-size: 40rpx; font-size: 40rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #0f1b35; color: #0f1b35;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.testTime { .testTime {
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #0f1b35; color: #0f1b35;
} }
.teacherInfo-bg { .teacherInfo-bg {
position: absolute; position: absolute;
left: 0; left: 0;
bottom: 0; bottom: 0;
width: 620rpx; width: 620rpx;
height: 70rpx; height: 70rpx;
background-image: linear-gradient(90deg, #000000, #ffffff); background-image: linear-gradient(90deg, #000000, #ffffff);
opacity: 0.4; opacity: 0.4;
z-index: 1; z-index: 1;
} }
.teacherInfo { .teacherInfo {
position: absolute; position: absolute;
left: 0; left: 0;
bottom: 0; bottom: 0;
width: 620rpx; width: 620rpx;
height: 70rpx; height: 70rpx;
z-index: 2; z-index: 2;
box-sizing: border-box; box-sizing: border-box;
padding: 0 30rpx; padding: 0 30rpx;
} }
.teacherName { .teacherName {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #ffffff; color: #ffffff;
margin-left: 10rpx; margin-left: 10rpx;
} }
.test-status { .test-status {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
/* color: #00acf9; */ /* color: #00acf9; */
} }
.status-blue { .status-blue {
color: #00acf9; color: #00acf9;
} }
.status-green { .status-green {
color: #00df9f; color: #00df9f;
} }
.status-black { .status-black {
color: #111111; color: #111111;
} }
.status-red { .status-red {
color: #ff3816; color: #ff3816;
} }
.LearningGarden { .LearningGarden {
box-sizing: border-box; box-sizing: border-box;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.LearningGarden-item { .LearningGarden-item {
width: 330rpx; width: 330rpx;
height: 140rpx; height: 140rpx;
border-radius: 20rpx; border-radius: 20rpx;
margin-right: 30rpx; margin-right: 30rpx;
margin-bottom: 30rpx; margin-bottom: 30rpx;
box-sizing: border-box; box-sizing: border-box;
padding: 30rpx 20rpx; padding: 30rpx 20rpx;
position: relative; position: relative;
} }
.LearningGarden .LearningGarden-item:nth-child(2n) { .LearningGarden .LearningGarden-item:nth-child(2n) {
margin-right: 0rpx !important; margin-right: 0rpx !important;
} }
.LearningGarden-item-name { .LearningGarden-item-name {
width: 220rpx; width: 220rpx;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: bold; font-weight: bold;
color: #0f1b35; color: #0f1b35;
} }
.LearningGarden-item-desc { .LearningGarden-item-desc {
width: 220rpx; width: 220rpx;
font-size: 22rpx; font-size: 22rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #333e52; color: #333e52;
margin-top: 10rpx; margin-top: 10rpx;
} }
.LearningGarden-item-img { .LearningGarden-item-img {
width: 64rpx; width: 64rpx;
height: 66rpx; height: 66rpx;
position: absolute; position: absolute;
top: 38rpx; top: 38rpx;
right: 20rpx; right: 20rpx;
} }
.feedback { .feedback {
margin: 30rpx 0; margin: 30rpx 0;
} }
.feedback-info { .feedback-info {
height: 60rpx; height: 60rpx;
} }
.info-headimg { .info-headimg {
width: 60rpx; width: 60rpx;
height: 60rpx; height: 60rpx;
background-color: #c4a1a1; background-color: #c4a1a1;
border-radius: 50%; border-radius: 50%;
margin-right: 20rpx; margin-right: 20rpx;
} }
.teacher-name { .teacher-name {
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #111111; color: #111111;
} }
.feedback-all { .feedback-all {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #999999; color: #999999;
} }
.feedback-text { .feedback-text {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #111111; color: #111111;
margin: 20rpx 0; margin: 20rpx 0;
} }
.feedback-img { .feedback-img {
width: 210rpx; width: 210rpx;
height: 210rpx; height: 210rpx;
border-radius: 20rpx; border-radius: 20rpx;
background-color: #eee; background-color: #eee;
margin-right: 30rpx; margin-right: 30rpx;
} position: relative;
}
.feedback-img:nth-child(3n) {
margin-right: 0rpx !important; .feedback-img:nth-child(3n) {
} margin-right: 0rpx !important;
}
.layer {
width: 210rpx; .layer {
height: 210rpx; width: 210rpx;
background-color: #cbd9ed; height: 210rpx;
font-size: 36rpx; border-radius: 20rpx;
font-family: PingFang SC; background-color: #cbd9ed;
font-weight: bold; opacity: 0.5;
color: #111111; position: absolute;
} top: 0;
right: 0;
.activeContent { }
width: 100%; .layer2 {
height: 250rpx; width: 210rpx;
border-radius: 20rpx; height: 210rpx;
margin-bottom: 30rpx; border-radius: 20rpx;
overflow: hidden; font-size: 36rpx;
} font-family: PingFang SC;
font-weight: bold;
.swiperList { color: #111111;
position: relative; position: absolute;
width: 100%; top: 0;
height: 100%; right: 0;
background-size: cover; z-index: 5;
background-repeat: no-repeat; }
background-position: center; .activeContent {
box-sizing: border-box; width: 100%;
overflow: hidden; height: 250rpx;
color:#fff; border-radius: 20rpx;
border-radius: 20rpx; margin-bottom: 30rpx;
} overflow: hidden;
.swiper_Time{ }
position: absolute;
top:20rpx; .swiperList {
right:40rpx; position: relative;
} width: 100%;
.swiper_Name { height: 100%;
position: absolute; background-size: cover;
bottom: 45rpx; background-repeat: no-repeat;
left: 30rpx; background-position: center;
} box-sizing: border-box;
/* .swiper /deep/ .wx-swiper-dots{ overflow: hidden;
color: #fff;
border-radius: 20rpx;
}
.swiper_Time {
position: absolute;
top: 20rpx;
right: 40rpx;
}
.swiper_Name {
position: absolute;
bottom: 45rpx;
left: 30rpx;
}
/* .swiper /deep/ .wx-swiper-dots{
position: relative; position: relative;
right:-380px; right:-380px;
top:20px; top:20px;
} */ } */
.swiper /deep/ .wx-swiper-dot{ .swiper /deep/ .wx-swiper-dot {
width:10rpx; width: 10rpx;
height:10rpx; height: 10rpx;
margin-right:0; margin-right: 0;
} }
</style> </style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment