This commit is contained in:
caoqianming 2020-05-28 15:32:42 +08:00
commit 9c77679f92
11 changed files with 72 additions and 17 deletions

View File

@ -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',
})
}

View File

@ -63,3 +63,5 @@ export function deleteUser(id, data) {
data
})
}

View File

@ -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: "确认",

View File

@ -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"

View File

@ -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>

View File

@ -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',
})
}
}
})
}
},

View File

@ -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>

View File

@ -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

View File

@ -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)

View File

@ -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"

View File

@ -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)