Merge branch 'master' of https://e.coding.net/ctcdevteam/examtest
This commit is contained in:
commit
9c77679f92
|
@ -78,3 +78,9 @@ export function exportConsumer(query) {
|
||||||
params: query
|
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
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -132,7 +132,7 @@
|
||||||
<span>{{ scope.row.create_time }}</span>
|
<span>{{ scope.row.create_time }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作" fixed="right">
|
<el-table-column align="center" label="操作" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
|
@ -150,6 +150,13 @@
|
||||||
:disabled="!checkPermission(['consumer_delete'])"
|
:disabled="!checkPermission(['consumer_delete'])"
|
||||||
v-if="!scope.row.is_superconsumer"
|
v-if="!scope.row.is_superconsumer"
|
||||||
></el-button>
|
></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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -231,7 +238,8 @@ import {
|
||||||
updateConsumer,
|
updateConsumer,
|
||||||
importConsumer,
|
importConsumer,
|
||||||
exportConsumer,
|
exportConsumer,
|
||||||
deleteConsumers
|
deleteConsumers,
|
||||||
|
unbindConsumer
|
||||||
} from "@/api/crm";
|
} from "@/api/crm";
|
||||||
import { getSubjectAll } from "@/api/question";
|
import { getSubjectAll } from "@/api/question";
|
||||||
import { getWorkScopeAll } from "@/api/examtest";
|
import { getWorkScopeAll } from "@/api/examtest";
|
||||||
|
@ -399,6 +407,19 @@ export default {
|
||||||
this.$refs["consumerForm"].clearValidate();
|
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) {
|
handleDelete(scope) {
|
||||||
this.$confirm("确认删除该用户吗?将丢失数据!", "警告", {
|
this.$confirm("确认删除该用户吗?将丢失数据!", "警告", {
|
||||||
confirmButtonText: "确认",
|
confirmButtonText: "确认",
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
<el-table-column align="left" label="更新时间">
|
<el-table-column align="left" label="更新时间">
|
||||||
<template slot-scope="scope">{{ scope.row.update_time }}</template>
|
<template slot-scope="scope">{{ scope.row.update_time }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column align="center" label="操作">
|
<el-table-column align="center" label="操作" >
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-show="scope.row.is_top"
|
v-show="scope.row.is_top"
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="page__bd">
|
<view class="page__bd">
|
||||||
<view class="weui-article">
|
<view class="weui-article">
|
||||||
<parser html="{{content}}" domain="{{domain}}"/>
|
<parser html="{{content}}" domain="{{domain}}" selectable/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
@ -17,7 +17,7 @@ Page({
|
||||||
nowWork:null,
|
nowWork:null,
|
||||||
msgList: [
|
msgList: [
|
||||||
{ title: "欢迎使用中科辐射学堂!" },
|
{ title: "欢迎使用中科辐射学堂!" },
|
||||||
{ title: "如有疑问,请致电课程顾问师老师:18355135390" },]
|
{ title: "如有疑问,请致电课程顾问" },]
|
||||||
},
|
},
|
||||||
imgH: function (e) {
|
imgH: function (e) {
|
||||||
let winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
|
let winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
|
||||||
|
@ -107,10 +107,17 @@ Page({
|
||||||
url: '/pages/lianxi/index',
|
url: '/pages/lianxi/index',
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
wx.showToast({
|
wx.showModal({
|
||||||
title: '未开通权限\r\n请致电18355135390',
|
title: '暂未开通权限!',
|
||||||
icon: 'none',
|
content: '查看各地区课程顾问联系方式。',
|
||||||
duration: 2000
|
confirmText: '查看',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/article/detail?id=6',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -166,10 +173,17 @@ Page({
|
||||||
url: '/pages/yati/index',
|
url: '/pages/yati/index',
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
wx.showToast({
|
wx.showModal({
|
||||||
title: '未开通权限\r\n请联系课程顾问',
|
title: '暂未开通权限!',
|
||||||
icon: 'none',
|
content: '查看各地区课程顾问联系方式。',
|
||||||
duration: 2000
|
confirmText: '查看',
|
||||||
|
success(res) {
|
||||||
|
if (res.confirm) {
|
||||||
|
wx.navigateTo({
|
||||||
|
url: '/pages/article/detail?id=6',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="weui-footer weui-footer_fixed-bottom">
|
<view class="weui-footer weui-footer_fixed-bottom">
|
||||||
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
<!-- <view class="weui-footer__text" bindtap="intro">点击下载系统/小程序文档介绍</view> -->
|
||||||
<view class="weui-footer__text">更多服务请联系课程顾问师老师:18355135390</view>
|
<view class="weui-footer__text">更多服务请联系课程顾问</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -244,6 +244,18 @@ class ConsumerViewSet(ModelViewSet):
|
||||||
path = export_consumer(serializer.data)
|
path = export_consumer(serializer.data)
|
||||||
return Response({'path': path})
|
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):
|
class ConsumerMPLoginView(APIView):
|
||||||
"""
|
"""
|
||||||
小程序登陆颁发token
|
小程序登陆颁发token
|
||||||
|
|
|
@ -246,7 +246,7 @@ class ExamTestViewSet(ModelViewSet):
|
||||||
queryset = ExamTest.objects.filter(consumer=request.user)
|
queryset = ExamTest.objects.filter(consumer=request.user)
|
||||||
ret = {}
|
ret = {}
|
||||||
ret['total'] = queryset.count()
|
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
|
ret['pass_rate'] = round(((queryset.filter(is_pass=True).count())/ret['total'])*100) if ret['total'] else 0
|
||||||
return Response(ret)
|
return Response(ret)
|
||||||
|
|
||||||
|
|
|
@ -38,4 +38,4 @@ urlpatterns = [
|
||||||
path('redirect/',redirect),
|
path('redirect/',redirect),
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
path('docs/', include_docs_urls(title="答题平台接口文档",authentication_classes=[], permission_classes=[])),
|
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