167 lines
3.6 KiB
Python
167 lines
3.6 KiB
Python
<template>
|
||
<view>
|
||
<uni-list class="ulist">
|
||
<uni-list-item v-for="item in list" :key="item.id" @click="goDetail(item.id)" :clickable="true" link style="padding: 10upx;padding: 5px;
|
||
border-radius: 20rpx;
|
||
border: 1rpx solid #dddddd;margin-bottom: 20rpx;">
|
||
<!-- 自定义 body -->
|
||
<template slot="body" style="display: block;width: 100%;">
|
||
<view class="infoHead" style="">
|
||
<view>
|
||
<view class="blue_line"></view>
|
||
<text style="font-weight: bold;">{{item.exam_name}}</text>
|
||
<text v-if="item.name.indexOf('(补)') != -1">(补)</text>
|
||
</view>
|
||
<span style="font-size: 26upx;">总分:{{item.total_score}}分</span>
|
||
</view>
|
||
<view class="infoLine">
|
||
<span>耗时:
|
||
<span style="color:#40991c;">{{item.took_format}}</span>
|
||
</span>
|
||
</view>
|
||
<view class="infoLine">
|
||
<text>提交时间:{{item.create_time}}</text>
|
||
</view>
|
||
<view class="infoLine">
|
||
<span>本次得分:
|
||
<span class='scoreClass'>{{item.score}}</span>
|
||
分</span>
|
||
</view>
|
||
</template>
|
||
</uni-list-item>
|
||
</uni-list>
|
||
<view class="loadingText">{{loadingText}}</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
listQuery: {
|
||
page: 1,
|
||
page_size: 20,
|
||
can_attend:true,
|
||
},
|
||
list: [],
|
||
loadingText: '加载中...'
|
||
}
|
||
},
|
||
methods: {
|
||
getList() {
|
||
var that = this
|
||
that.$u.api.examRecord(that.listQuery).then(res => {
|
||
uni.stopPullDownRefresh()
|
||
uni.setNavigationBarTitle({
|
||
title: res.data.count + '条考试记录'
|
||
})
|
||
if (that.listQuery.page == 1) {
|
||
if (res.data.results.length == 0) {
|
||
that.loadingText = '暂无考试记录'
|
||
} else {
|
||
that.loadingText = ''
|
||
that.list = res.data.results
|
||
}
|
||
} else {
|
||
that.loadingText = ''
|
||
that.list = that.list.concat(res.data.results)
|
||
}
|
||
}).catch(res => {
|
||
uni.stopPullDownRefresh()
|
||
if (res.code == 404) {
|
||
that.loadingText = '到底了'
|
||
}
|
||
})
|
||
},
|
||
goDetail(id) {
|
||
uni.showLoading({
|
||
title:"正在获取考试详情",
|
||
})
|
||
this.$u.api.examRecordDetail(id).then(res=>{
|
||
uni.hideLoading()
|
||
uni.setStorageSync('currentExam', res.data)
|
||
if (res.data.questions_&&res.data.questions_.length>0){
|
||
uni.navigateTo({
|
||
url:'/pages/exam/detail?examrecord='+id
|
||
})
|
||
}
|
||
else{
|
||
uni.showModal({
|
||
title: '提示',
|
||
content: '考试未结束,请考试结束后再查看',
|
||
success: function (res) {
|
||
|
||
}
|
||
});
|
||
// uni.showToast({
|
||
// title:'考试未结束,请考试结束后再查看',
|
||
// icon:'none'
|
||
// })
|
||
return
|
||
}
|
||
}).catch(e=>{
|
||
})
|
||
}
|
||
},
|
||
onLoad() {
|
||
this.listQuery.page = 1
|
||
this.getList()
|
||
},
|
||
onPullDownRefresh() {
|
||
this.listQuery.page = 1
|
||
this.getList()
|
||
},
|
||
onReachBottom() {
|
||
this.listQuery.page = this.listQuery.page + 1
|
||
this.getList()
|
||
}
|
||
|
||
}
|
||
</script>
|
||
|
||
<style lang='scss'>
|
||
page {
|
||
/* background-color: $u-bg-color; */
|
||
background-color: none;
|
||
|
||
}
|
||
.ulist{
|
||
width: 96%;
|
||
margin: 10rpx auto;
|
||
display: block;
|
||
|
||
}
|
||
.blue_line{
|
||
width: 18rpx;
|
||
height: 20rpx;
|
||
background: #2581e4;
|
||
display: inline-block;
|
||
margin-right: 6rpx;
|
||
}
|
||
.infoHead{
|
||
display: flex;
|
||
justify-content: space-between;
|
||
height: 64upx;
|
||
line-height: 60upx;
|
||
}
|
||
.infoLine{
|
||
color:gray;
|
||
font-size: 28upx;
|
||
height: 40upx;
|
||
line-height: 40upx;
|
||
}
|
||
.scoreClass{
|
||
color:#2581e4;
|
||
font-weight: bold;
|
||
font-size: 34upx;
|
||
}
|
||
.loadingText{
|
||
color:gray;
|
||
text-align: center;
|
||
margin-top:20upx
|
||
}
|
||
.uni-list--border ,.uni-list--border-bottom{
|
||
display: none;
|
||
}
|
||
</style>
|