test record sort
This commit is contained in:
parent
a604d1448a
commit
5698e0b2a2
|
@ -183,7 +183,7 @@ export const asyncRoutes = [
|
|||
path: 'chart',
|
||||
name: 'chart',
|
||||
component: () => import('@/views/analyse/chart.vue'),
|
||||
meta: { title: '图标分析', icon: '', perms: ['chart_manage'] }
|
||||
meta: { title: '图表分析', icon: '', perms: ['chart_manage'] }
|
||||
},
|
||||
]
|
||||
},
|
||||
|
|
|
@ -87,10 +87,10 @@
|
|||
<el-table-column align="header-center" label="手机号">
|
||||
<template slot-scope="scope">{{ scope.row.username }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="header-center" label="openid">
|
||||
<el-table-column align="header-center" label="小程序OpenId">
|
||||
<template slot-scope="scope">{{ scope.row.openid }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="header-center" label="nickname">
|
||||
<el-table-column align="header-center" label="微信昵称">
|
||||
<template slot-scope="scope">{{ scope.row.nickname }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="header-center" label="单位">
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
:data="tableData"
|
||||
style="width: 100%;margin-top:10px;"
|
||||
border
|
||||
stripe
|
||||
fit
|
||||
v-loading="listLoading"
|
||||
highlight-current-row
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
<view class="weui-article__h2">正确答案是{{currentTm.right}},你的答案是{{currentTm.user_answer}}</view>
|
||||
<view class="weui-article__title">
|
||||
<span style="color:blue">解析: </span>
|
||||
<span wx:if="{{currentTm.resolution != null}}">{{currentTm.resolution}}</span>
|
||||
<span wx:if="{{currentTm.resolution}}">{{currentTm.resolution}}</span>
|
||||
<span wx:else>无</span>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -53,6 +53,7 @@ Page({
|
|||
questioncat['id'] = res.data[i].id
|
||||
questioncat['name'] = res.data[i].name
|
||||
questioncat['tmtotal'] = res.data[i].tmtotal
|
||||
questioncat['type'] = res.data[i].type
|
||||
questioncat['ydtmtotal'] = 0
|
||||
questioncatData.push(questioncat)
|
||||
}
|
||||
|
|
|
@ -11,7 +11,8 @@
|
|||
<view class="weui-media-box__bd">
|
||||
<h4 class="weui-media-box__title">{{item.name}}</h4>
|
||||
<view class="weui-media-box__desc">
|
||||
共
|
||||
<span style="color:orange;font-weight:bold">{{item.type}}</span>
|
||||
--共
|
||||
<span style="color:darkblue;font-weight:bold">{{item.tmtotal}}</span>
|
||||
道/已答
|
||||
<span style="color:darkblue;font-weight:bold">{{item.ydtmtotal}}</span>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<view class="weui-article__h2">正确答案是{{tm_current.right}},你的答案是{{tm_current.user_answer}}</view>
|
||||
<view class="weui-article__title">
|
||||
<span style="color:blue">解析: </span>
|
||||
<span wx:if="{{tm_current.resolution != null}}">{{tm_current.resolution}}</span>
|
||||
<span wx:if="{{tm_current.resolution}}">{{tm_current.resolution}}</span>
|
||||
<span wx:else>无</span>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -36,15 +36,15 @@
|
|||
</checkbox-group>
|
||||
</view>
|
||||
<view class="weui-article">
|
||||
<view class="weui-article__h2" wx:if="{{tm_current.is_right}}" style="color:green;font-weight:bold">回答正确!</view>
|
||||
<view class="weui-article__h2" wx:else style="color:red;font-weight:bold">回答有误!</view>
|
||||
<view class="weui-article__h2" wx:if="{{tm_current.is_right}}" style="color:green;font-weight:bold">回答正确!得{{tm_current.score}}分</view>
|
||||
<view class="weui-article__h2" wx:else style="color:red;font-weight:bold">回答有误!得{{tm_current.score}}分</view>
|
||||
<view class="weui-article__h2">正确答案是{{tm_current.question.right}},
|
||||
<span wx:if="{{tm_current.user_answer}}">你的答案是{{tm_current.user_answer}}</span>
|
||||
<span wx:else>你未作答</span>
|
||||
</view>
|
||||
<view class="weui-article__title">
|
||||
<span style="color:blue">解析: </span>
|
||||
<span wx:if="{{tm_current.question.resolution != null}}">{{tm_current.question.resolution}}</span>
|
||||
<span wx:if="{{tm_current.question.resolution}}">{{tm_current.question.resolution}}</span>
|
||||
<span wx:else>无</span>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -36,23 +36,17 @@ Page({
|
|||
getList: function () {
|
||||
var that = this
|
||||
api.request('examtest/myexamtest/', 'GET', that.data.query).then(res => {
|
||||
if(res.data.length==0){
|
||||
wx.showToast({
|
||||
title: '没有更多了',
|
||||
icon:''
|
||||
})
|
||||
}else{
|
||||
if (that.data.query.page == 1){
|
||||
that.data.results = res.data.results
|
||||
}else{
|
||||
that.data.results = that.data.results.concat(res.data.results)
|
||||
}
|
||||
|
||||
that.setData({
|
||||
results:that.data.results,
|
||||
count:res.data.count
|
||||
})
|
||||
if (that.data.query.page == 1) {
|
||||
that.data.results = res.data.results
|
||||
} else {
|
||||
that.data.results = that.data.results.concat(res.data.results)
|
||||
}
|
||||
|
||||
that.setData({
|
||||
results: that.data.results,
|
||||
count: res.data.count
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
/**
|
||||
|
@ -83,8 +77,17 @@ Page({
|
|||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom: function () {
|
||||
that.data.query.page = that.data.query.page + 1
|
||||
that.getList()
|
||||
var that=this
|
||||
if(that.data.count<=that.data.query.page*that.data.query.limit){
|
||||
wx.showToast({
|
||||
title: '没有更多了',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
that.data.query.page = that.data.query.page + 1
|
||||
that.getList()
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
|
|
|
@ -6,18 +6,18 @@
|
|||
<navigator url="detail?id={{item.id}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
|
||||
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
|
||||
<view class="weui-media-box__title">{{item.name}}</view>
|
||||
<view class="weui-media-box__desc" style="color:orange">
|
||||
<view class="weui-media-box__desc">
|
||||
<span style="font-weight:bold;color:white;background-color:orange;">{{item.type}}</span>
|
||||
<span>-</span>
|
||||
<span style="font-weight:bold;color:white;background-color:green;" wx:if="{{item.is_pass}}">通过</span>
|
||||
<span style="font-weight:bold;color:white;background-color:red;" wx:else>未通过</span>
|
||||
(得分
|
||||
<span style="color:green;font-weight:bold" wx:if="{{item.is_pass}}">{{item.score}}</span>
|
||||
<span style="color:red;font-weight:bold" wx:else>{{item.score}}</span>
|
||||
<span style="color:green;" wx:if="{{item.is_pass}}">{{item.score}}</span>
|
||||
<span style="color:red;" wx:else>{{item.score}}</span>
|
||||
-满分
|
||||
<span style="font-weight:bold">{{item.total_score}})</span>
|
||||
</view>
|
||||
<view class="weui-media-box__desc" style="color:orange">
|
||||
<view class="weui-media-box__desc">
|
||||
耗时:{{item.took}}s
|
||||
开始答题:{{item.start_time}}
|
||||
</view>
|
||||
|
|
|
@ -9,6 +9,7 @@ Page({
|
|||
data: {
|
||||
tms:[],
|
||||
tm_index: 0,
|
||||
ctms:[],
|
||||
},
|
||||
radioChange: function (e) {
|
||||
var that = this
|
||||
|
@ -143,6 +144,7 @@ Page({
|
|||
if(tm_current.right.indexOf(tm_current.user_answer[i])!=-1){
|
||||
score = score + 1
|
||||
}else{
|
||||
score = 0
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -248,7 +250,6 @@ Page({
|
|||
}else{
|
||||
that.data.monitest.is_pass = false
|
||||
}
|
||||
console.log(that.data.tms)
|
||||
that.data.monitest.questions = that.data.tms
|
||||
that.data.monitest.start_time = util.formatTime(new Date(that.data.starttimes))
|
||||
that.data.monitest.end_time = util.formatTime(new Date())
|
||||
|
|
|
@ -17,7 +17,7 @@ Page({
|
|||
var that = this
|
||||
try {
|
||||
var value = wx.getStorageSync('nowSubject')
|
||||
if (value) {
|
||||
if (value.id) {
|
||||
api.request('examtest/workscope/', 'GET', { subject:value.id}).then(res => {
|
||||
that.setData({
|
||||
workData:res.data
|
||||
|
|
|
@ -59,7 +59,7 @@ class MyExamTestView(APIView):
|
|||
authentication_classes = [ConsumerTokenAuthentication]
|
||||
permission_classes = []
|
||||
def get(self, request, *args, **kwargs):
|
||||
queryset = ExamTest.objects.filter(consumer=request.user)
|
||||
queryset = ExamTest.objects.filter(consumer=request.user).order_by('-create_time')
|
||||
pg = CommonPagination()
|
||||
p = pg.paginate_queryset(queryset=queryset,request=request,view=self)
|
||||
serializer = ExamTestListSerializer(instance=p,many=True)
|
||||
|
@ -72,7 +72,7 @@ class MyExamTestFxView(APIView):
|
|||
queryset = ExamTest.objects.filter(consumer=request.user)
|
||||
ret = {}
|
||||
ret['total'] = queryset.count()
|
||||
ret['avg_score'] = queryset.aggregate(avg=Avg('score'))['avg']
|
||||
ret['avg_score'] = round(queryset.aggregate(avg=Avg('score'))['avg'])
|
||||
ret['pass_rate'] = round(((queryset.filter(is_pass=True).count())/ret['total'])*100) if ret['total'] else 0
|
||||
return Response(ret)
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -34,5 +34,5 @@ urlpatterns = [
|
|||
path('token/remove/', UserLogoutView.as_view()),
|
||||
path('uploadfile/', UploadFileView.as_view()),
|
||||
path('admin/', admin.site.urls),
|
||||
path('docs/', include_docs_urls(title="API文档",authentication_classes=[], permission_classes=[])),
|
||||
path('docs/', include_docs_urls(title="答题平台接口文档",authentication_classes=[], permission_classes=[])),
|
||||
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
|
|
Loading…
Reference in New Issue