学员单位地图分布
This commit is contained in:
parent
808d488373
commit
48196fd713
|
@ -26,7 +26,8 @@ export default {
|
|||
data(){
|
||||
return {
|
||||
admindata1:{},
|
||||
companydis:{}
|
||||
companydis:{},
|
||||
consumerdis:{}
|
||||
}
|
||||
},
|
||||
created(){
|
||||
|
|
|
@ -108,8 +108,8 @@ export default {
|
|||
data:['']
|
||||
},
|
||||
visualMap: {
|
||||
min: 0,
|
||||
max: 10000,
|
||||
min: this.chartData.min,
|
||||
max: this.chartData.max,
|
||||
left: '5%',
|
||||
top: 'bottom',
|
||||
text: ['多','少'],
|
||||
|
|
|
@ -44,6 +44,11 @@
|
|||
<span>{{ scope.row.create_time }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所在地区">
|
||||
<template slot-scope="scope" v-if="scope.row.geo">
|
||||
<span>{{ scope.row.geo.province }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所属">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.create_admin_name }}</span>
|
||||
|
|
|
@ -3,7 +3,7 @@ from requests.api import request
|
|||
from rest_framework.views import APIView
|
||||
from rest_framework.response import Response
|
||||
|
||||
from crm.models import Consumer
|
||||
from crm.models import Consumer, Company
|
||||
from examtest.models import ExamTest
|
||||
from question.models import Question
|
||||
|
||||
|
@ -38,16 +38,53 @@ class Admindata1(APIView):
|
|||
ret['s'][0]['data'].append(i['total'])
|
||||
return Response(ret)
|
||||
|
||||
nameMap = {
|
||||
"南海诸岛" : "南海诸岛",
|
||||
'北京市' :'北京',
|
||||
'天津市' :'天津',
|
||||
'上海市' :'上海',
|
||||
'重庆市' :'重庆',
|
||||
'河北省' :'河北',
|
||||
'河南省' :'河南',
|
||||
'云南省' :'云南',
|
||||
'辽宁省' :'辽宁',
|
||||
'黑龙江省' : '黑龙江',
|
||||
'湖南省' :'湖南',
|
||||
'安徽省' :'安徽',
|
||||
'山东省' :'山东',
|
||||
'新疆维吾尔自治区' :'新疆',
|
||||
'江苏省' :'江苏',
|
||||
'浙江省' :'浙江',
|
||||
'江西省' :'江西',
|
||||
'湖北省' :'湖北',
|
||||
'广西壮族自治区' : '广西',
|
||||
'甘肃省' :'甘肃',
|
||||
'山西省' :'山西',
|
||||
'内蒙古自治区' : "内蒙古",
|
||||
'陕西省' :'陕西',
|
||||
'吉林省' :'吉林',
|
||||
'福建省' :'福建',
|
||||
'贵州省' :'贵州',
|
||||
'广东省' :'广东',
|
||||
'青海省' :'青海',
|
||||
'西藏自治区' :'西藏',
|
||||
'四川省' :'四川',
|
||||
'宁夏回族自治区' :'宁夏',
|
||||
'海南省' :'海南',
|
||||
'台湾' :'台湾',
|
||||
'香港' :'香港',
|
||||
'澳门' :'澳门'
|
||||
}
|
||||
|
||||
class Companydis(APIView):
|
||||
"""
|
||||
单位分布
|
||||
"""
|
||||
def get(self, request, format=None):
|
||||
ret = {'s':[{'name':'浙江', 'value':5000}], 't':'单位分布'}
|
||||
# tmp = UserProfile.objects.filter(is_delete=False).annotate(total=Count('consumer_create_admin')).order_by('-total').values('username', 'total')
|
||||
# for i in tmp:
|
||||
# ret['x']['data'].append(i['username'])
|
||||
# ret['s'][0]['data'].append(i['total'])
|
||||
ret = {'s':[], 't':'单位分布', 'max':300, 'min':0}
|
||||
tmp = Company.objects.exclude(geo__isnull=True).values('geo__province').annotate(total=Count('geo__province'))
|
||||
for i in tmp:
|
||||
ret['s'].append({'name':nameMap[i['geo__province']], 'value':i['total']})
|
||||
return Response(ret)
|
||||
|
||||
class Consumerdis(APIView):
|
||||
|
@ -55,11 +92,10 @@ class Consumerdis(APIView):
|
|||
学员分布
|
||||
"""
|
||||
def get(self, request, format=None):
|
||||
ret = {'s':[{'name':'河北', 'value':5000}], 't':'学员分布'}
|
||||
# tmp = UserProfile.objects.filter(is_delete=False).annotate(total=Count('consumer_create_admin')).order_by('-total').values('username', 'total')
|
||||
# for i in tmp:
|
||||
# ret['x']['data'].append(i['username'])
|
||||
# ret['s'][0]['data'].append(i['total'])
|
||||
ret = {'s':[], 't':'学员分布', 'max':600, 'min':0}
|
||||
tmp = Consumer.objects.exclude(company__geo__isnull=True).values('company__geo__province').annotate(total=Count('company__geo__province'))
|
||||
for i in tmp:
|
||||
ret['s'].append({'name':nameMap[i['company__geo__province']], 'value':i['total']})
|
||||
return Response(ret)
|
||||
class Quota(APIView):
|
||||
'''
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
# Generated by Django 3.0.4 on 2020-10-13 02:24
|
||||
|
||||
from django.conf import settings
|
||||
import django.contrib.postgres.fields.jsonb
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
('crm', '0024_auto_20200901_1105'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='company',
|
||||
name='geo',
|
||||
field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True, verbose_name='地理位置'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='consumer',
|
||||
name='create_admin',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='consumer_create_admin', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
|
@ -98,7 +98,7 @@ def getPosition(address):
|
|||
res = requests.get(url, par)
|
||||
json_data = json.loads(res.text)
|
||||
if json_data['status'] == '1' and int(json_data['count']) > 0:
|
||||
return json_data
|
||||
return json_data['geocodes'][0]
|
||||
return None
|
||||
|
||||
class CompanyViewSet(ModelViewSet):
|
||||
|
@ -170,18 +170,17 @@ class CompanyViewSet(ModelViewSet):
|
|||
else:
|
||||
return Response({"error":"账号错误"})
|
||||
|
||||
@action(methods=['put'], detail=False, url_name='correct_geo',perms_map=[{'*':'correct_geo'}])
|
||||
@action(methods=['get'], detail=False, url_name='correct_geo',perms_map=[{'*':'correct_geo'}])
|
||||
def correctgeo(self, request, *args, **kwargs):
|
||||
"""
|
||||
地理位置
|
||||
"""
|
||||
companys = Company.objects.exclude(geo__isnull=True).order_by('-create_time')
|
||||
companys = Company.objects.filter(geo__isnull=True).order_by('-create_time')
|
||||
for i in companys:
|
||||
geo = getPosition(i.name)
|
||||
if geo:
|
||||
i.geo = geo
|
||||
i.save()
|
||||
time.sleep(1)
|
||||
return Response(status=status.HTTP_200_OK)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue