Merge branch 'master' of https://e.coding.net/ctcdevteam/examtest
This commit is contained in:
commit
9c77679f92
|
@ -77,4 +77,10 @@ export function exportConsumer(query) {
|
|||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
export function unbindConsumer(id) {
|
||||
return request({
|
||||
url: `/crm/consumer/${id}/unbind`,
|
||||
method: 'get',
|
||||
})
|
||||
}
|
|
@ -63,3 +63,5 @@ export function deleteUser(id, data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -132,7 +132,7 @@
|
|||
<span>{{ scope.row.create_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作" fixed="right">
|
||||
<el-table-column align="center" label="操作" >
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
|
@ -150,6 +150,13 @@
|
|||
:disabled="!checkPermission(['consumer_delete'])"
|
||||
v-if="!scope.row.is_superconsumer"
|
||||
></el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="small"
|
||||
@click="handleUnbind(scope)"
|
||||
:disabled="!checkPermission(['consumer_unbind'])"
|
||||
v-if="scope.row.username&&scope.row.openid"
|
||||
>解绑微信</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -231,7 +238,8 @@ import {
|
|||
updateConsumer,
|
||||
importConsumer,
|
||||
exportConsumer,
|
||||
deleteConsumers
|
||||
deleteConsumers,
|
||||
unbindConsumer
|
||||
} from "@/api/crm";
|
||||
import { getSubjectAll } from "@/api/question";
|
||||
import { getWorkScopeAll } from "@/api/examtest";
|
||||
|
@ -399,6 +407,19 @@ export default {
|
|||
this.$refs["consumerForm"].clearValidate();
|
||||
});
|
||||
},
|
||||
handleUnbind(scope) {
|
||||
unbindConsumer(scope.row.id).then(res => {
|
||||
if(res.code>=200){
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "解绑成功!"
|
||||
});
|
||||
this.getList()
|
||||
}
|
||||
}).catch(err => {
|
||||
console.error(err)
|
||||
})
|
||||
},
|
||||
handleDelete(scope) {
|
||||
this.$confirm("确认删除该用户吗?将丢失数据!", "警告", {
|
||||
confirmButtonText: "确认",
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
<el-table-column align="left" label="更新时间">
|
||||
<template slot-scope="scope">{{ scope.row.update_time }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" label="操作">
|
||||
<el-table-column align="center" label="操作" >
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-show="scope.row.is_top"
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
</view>
|
||||
<view class="page__bd">
|
||||
<view class="weui-article">
|
||||
<parser html="{{content}}" domain="{{domain}}"/>
|
||||
<parser html="{{content}}" domain="{{domain}}" selectable/>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
|
|
@ -17,7 +17,7 @@ Page({
|
|||
nowWork:null,
|
||||
msgList: [
|
||||
{ title: "欢迎使用中科辐射学堂!" },
|
||||
{ title: "如有疑问,请致电课程顾问师老师:18355135390" },]
|
||||
{ title: "如有疑问,请致电课程顾问" },]
|
||||
},
|
||||
imgH: function (e) {
|
||||
let winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
|
||||
|
@ -107,10 +107,17 @@ Page({
|
|||
url: '/pages/lianxi/index',
|
||||
})
|
||||
}else{
|
||||
wx.showToast({
|
||||
title: '未开通权限\r\n请致电18355135390',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
wx.showModal({
|
||||
title: '暂未开通权限!',
|
||||
content: '查看各地区课程顾问联系方式。',
|
||||
confirmText: '查看',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/article/detail?id=6',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -166,10 +173,17 @@ Page({
|
|||
url: '/pages/yati/index',
|
||||
})
|
||||
} else {
|
||||
wx.showToast({
|
||||
title: '未开通权限\r\n请联系课程顾问',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
wx.showModal({
|
||||
title: '暂未开通权限!',
|
||||
content: '查看各地区课程顾问联系方式。',
|
||||
confirmText: '查看',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
wx.navigateTo({
|
||||
url: '/pages/article/detail?id=6',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
</view>
|
||||
<view class="weui-footer weui-footer_fixed-bottom">
|
||||
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
||||
<view class="weui-footer__text">更多服务请联系课程顾问师老师:18355135390</view>
|
||||
<view class="weui-footer__text">更多服务请联系课程顾问</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
|
|
@ -244,6 +244,18 @@ class ConsumerViewSet(ModelViewSet):
|
|||
path = export_consumer(serializer.data)
|
||||
return Response({'path': path})
|
||||
|
||||
@action(methods=['get'], detail=True, url_name='consumer_unbind', perms_map=[{'*':'consumer_unbind'}])
|
||||
def unbind(self, request, *args, **kwargs):
|
||||
obj = self.get_object()
|
||||
if obj.username and obj.openid:
|
||||
obj.openid = None
|
||||
obj.nickname = None
|
||||
obj.avatar = None
|
||||
obj.save()
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
else:
|
||||
return Response({"error":"不支持解绑!"})
|
||||
|
||||
class ConsumerMPLoginView(APIView):
|
||||
"""
|
||||
小程序登陆颁发token
|
||||
|
|
|
@ -246,7 +246,7 @@ class ExamTestViewSet(ModelViewSet):
|
|||
queryset = ExamTest.objects.filter(consumer=request.user)
|
||||
ret = {}
|
||||
ret['total'] = queryset.count()
|
||||
ret['avg_score'] = round(queryset.aggregate(avg=Avg('score'))['avg'])
|
||||
ret['avg_score'] = round(queryset.aggregate(avg=Avg('score'))['avg']) if ret['total'] else 0
|
||||
ret['pass_rate'] = round(((queryset.filter(is_pass=True).count())/ret['total'])*100) if ret['total'] else 0
|
||||
return Response(ret)
|
||||
|
||||
|
|
|
@ -174,4 +174,4 @@ MEDIA_URL = '/media/'
|
|||
## 以下需要根据loonlfow的启动地址,apptoken中的应用及token做相应修改
|
||||
WORKFLOW_URL = "http://127.0.0.1:8888"
|
||||
WORKFLOW_TOKEN = "716a22f8-5d58-11ea-a5c7-1063c8f02116"
|
||||
WORKFLOW_APP="oa"
|
||||
WORKFLOW_APP="oa"
|
||||
|
|
|
@ -38,4 +38,4 @@ urlpatterns = [
|
|||
path('redirect/',redirect),
|
||||
path('admin/', admin.site.urls),
|
||||
path('docs/', include_docs_urls(title="答题平台接口文档",authentication_classes=[], permission_classes=[])),
|
||||
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)+ static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
|
||||
|
|
Loading…
Reference in New Issue