wlcb-syzl-dsj/index.html

2474 lines
110 KiB
HTML
Raw Normal View History

2022-07-13 12:17:14 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/style.css">
<script src="js/rem.js"></script>
<link rel="stylesheet" href="http://cdn.bootcss.com/leaflet/1.0.3/leaflet.css">
<link rel="stylesheet" href="js/geoman/leaflet-geoman.css">
</head>
<body>
<div id="app" v-cloak>
<div class="page-title">
<div class="title-area">
<div class="select">
<select v-model="areaLv1Selected" @change="selectArea('1')">
<option value="0">请选择旗县区</option>
<option :value="area.areaCode" v-for="area in areaLv1">{{area.areaName}}</option>
</select>
<select v-if="areaLv2 && areaLv2.length > 0" v-model="areaLv2Selected" @change="selectArea('2')">
<option value="0">请选择办事处</option>
<option :value="area.areaCode" v-for="area in areaLv2">{{area.areaName}}</option>
</select>
<select v-if="areaLv3 && areaLv3.length > 0" v-model="areaLv3Selected" @change="selectArea('3')">
<option value="0">请选择居委会</option>
<option :value="area.areaCode" v-for="area in areaLv3">{{area.areaName}}</option>
</select>
</div>
</div>
<span>乌兰察布市市域社会治理</span>
<a href="javascript:void(0);" class="map-btn" @click="toggleMap">网格地图</a>
</div>
<div class="page-content">
<div class="left">
<!--事件-->
<div class="case">
<div class="title-line">
<h3>事件总览</h3>
</div>
<!--事件来源-->
<div class="case-from">
<h3 class="title">事件来源</h3>
<div class="case-from-container">
<div class="case-from-box">
<div class="case-from-name">网格员</div>
<p>{{caseFrom.wangGeYuan}} <span></span></p>
</div>
<div class="case-from-box">
<div class="case-from-name">小程序</div>
<p>{{caseFrom.xiaoChengXu}} <span></span></p>
</div>
<div class="case-from-box">
<div class="case-from-name">微信</div>
<p>{{caseFrom.weiXin}} <span></span></p>
</div>
<div class="case-from-box">
<div class="case-from-name">信访</div>
<p>{{caseFrom.xinFang}} <span></span></p>
</div>
<div class="case-from-box">
<div class="case-from-name">其他</div>
<p>{{caseFrom.qiTa}} <span></span></p>
</div>
</div>
</div>
<!--事件总览-->
<div class="case-overview">
<h3 class="title">事件总览</h3>
<div class="case-overview-container">
<div class="case-overview-box">
<p>{{caseView.totalCount}} <span></span></p>
<h4>事件总比</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.totalMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.totalYOY}}%</span>
</div>
</div>
</div>
<div class="case-overview-box">
<p>{{caseView.shouLiCount}} <span></span></p>
<h4>受理</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.shouLiMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.shouLiYOY}}%</span>
</div>
</div>
</div>
<div class="case-overview-box">
<p>{{caseView.xiaPaiCount}} <span></span></p>
<h4>下派</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.xiaPaiMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.xiaPaiYOY}}%</span>
</div>
</div>
</div>
<div class="case-overview-box">
<p>{{caseView.duBanCount}} <span></span></p>
<h4>督办</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.duBanMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.duBanYOY}}%</span>
</div>
</div>
</div>
<div class="case-overview-box">
<p>{{caseView.chaoShiCount}} <span></span></p>
<h4>超时</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.chaoShiMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.chaoShiYOY}}%</span>
</div>
</div>
</div>
<div class="case-overview-box">
<p>{{caseView.banJieCount}} <span></span></p>
<h4>办结</h4>
<div class="case-overview-info">
<div class="info-row">
<span>环比</span>
<span class="right up">{{caseView.banJieMOM}}%</span>
</div>
<div class="info-row">
<span>同比</span>
<span class="right down">{{caseView.banJieYOY}}%</span>
</div>
</div>
</div>
</div>
</div>
<!--事件分析-->
<div class="case-analysis">
<h3 class="title">事件分析</h3>
<div class="case-analysis-container">
<div class="case-analysis-box" id="hotCase"></div>
<div class="case-analysis-box" id="caseTime"></div>
<div class="case-analysis-box" id="caseArea"></div>
</div>
</div>
</div>
<!--人口-->
<div class="population">
<div class="title-line">
<h3>人口房屋</h3>
</div>
<div class="population-container">
<!--基础人口-->
<div class="base-population">
<h3 class="title">基础人口</h3>
<div class="base-population-outer">
<div class="base-population-inner">
<div class="base-population-box" v-for="box in populationList">
<p>{{box.populationCount}} <span></span></p>
<h4>{{box.areaName}}</h4>
</div>
</div>
</div>
<!--特殊人口占比-->
<div class="special-population">
<h3 class="title">特殊人口占比</h3>
<div class="population-charts">
<div class="population-charts-box" id="abroad"></div>
<div class="population-charts-box" id="floating"></div>
<div class="population-charts-box" id="important"></div>
<div class="population-charts-box" id="special"></div>
</div>
</div>
</div>
<!--住房总览-->
<div class="floor-overview">
<h3 class="title">住房总览</h3>
<div class="floor-top">
<div class="floor-top-left">
<div class="floor-count">
登记住房
<span>{{roomCount}}套</span>
</div>
<div class="lease" id="lease"></div>
</div>
<div class="floor-top-right" id="floorType"></div>
</div>
<div class="floor-bottom" id="areaFloor"></div>
</div>
</div>
</div>
</div>
<div class="mid" v-if="showMap">
<div class="map" id="map"></div>
<div class="select-slide" v-if="caseList1 && caseList1.length > 0">
<div class="slide">
<h3 class="title">实时事件清单</h3>
<div class="slide-title">
<span>序号</span>
<span>事件地区</span>
<span>事件网格</span>
<span>事件分类</span>
<span>事件描述</span>
<span>发生时间</span>
<span>操作</span>
</div>
<div class="slide-box">
<div class="bd">
<ul>
<li v-for="(item,idx) in caseList1">
<span>{{idx+1}}</span>
<span>{{item.caseArea}}</span>
<span>{{item.caseGrid}}</span>
<span>{{item.caseSubType}}</span>
<span>{{item.caseDescription}}</span>
<span>{{item.caseReportTime}}</span>
<span>
<a href="javascript:void(0);" @click="checkCaseDetail(item.uid)">详情</a>
<a href="javascript:void(0);" @click="setCenter(item.caseAreaLat, item.caseAreaLng)">位置</a>
</span>
</li>
</ul>
</div>
</div>
</div>
<div class="case-detail" v-if="showDetail">
<div class="case-detail-container">
<div class="case-row">
<span>事件地区</span>{{caseDetail.caseAreaAll}}
</div>
<div class="case-row">
<span>事件网格</span>{{caseDetail.caseGrid}}
</div>
<div class="case-row">
<span>事件分类</span>{{caseDetail.caseSubType}}
</div>
<div class="case-row img-row" v-if="caseDetail.caseImage && caseDetail.caseImage.length > 0">
<span>事件图片</span>
<div class="case-img">
<img :src="requestUrl + 'route/file/download/true/' + img" alt="" v-for="img in caseDetail.caseImage">
</div>
</div>
<div class="case-row" v-if="caseDetail.caseVideo">
<span>事件视频</span>
<div class="case-video">
<video :src="requestUrl + 'route/file/download/true/' + caseDetail.caseVideo" controls></video>
</div>
</div>
<div class="case-row" v-if="caseDetail.caseAudio">
<span>事件音频</span>
<div class="case-video">
<audio :src="requestUrl + 'route/file/download/true/' + caseDetail.caseAudio" controls></audio>
</div>
</div>
</div>
</div>
</div>
<div class="grid" v-if="showGridDetail">
<div class="grid-info">
<div class="grid-avatar">
<img src="images/avatar.jpg" alt="">
</div>
<div class="grid-info-text">
<p class="name">张三</p>
<p>地区123123</p>
<p>网格123456</p>
<p>联系方式13355556666</p>
</div>
</div>
<div class="grid-count">
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
<div class="grid-count-box">
今日上报
<span>999<em></em></span>
</div>
</div>
</div>
</div>
<div class="right">
<div class="comprehensive">
<div class="title-line">
<h3>综合治理</h3>
</div>
<div class="source">
<h3 class="title">综治资源</h3>
<div class="source-count">
<div class="source-count-box">
<div class="source-name">网格总数</div>
<div class="source-count-detail">
<img src="images/source-icon1.png" alt="">
<span>{{gridCount}}个</span>
</div>
</div>
<div class="source-count-box">
<div class="source-name">网格员总数</div>
<div class="source-count-detail">
<img src="images/source-icon2.png" alt="">
<span>{{gridManCount}}人</span>
</div>
</div>
<div class="source-count-box">
<div class="source-name">专管机构总数</div>
<div class="source-count-detail">
<img src="images/source-icon3.png" alt="">
<span>{{orgCount}}个</span>
</div>
</div>
<div class="source-count-box">
<div class="source-name">专管员总数</div>
<div class="source-count-detail">
<img src="images/source-icon4.png" alt="">
<span>{{specializeCount}}个</span>
</div>
</div>
<div class="source-count-box">
<div class="source-name">综治队伍总数</div>
<div class="source-count-detail">
<img src="images/source-icon5.png" alt="">
<span>{{teamCount}}个</span>
</div>
</div>
<div class="source-count-box">
<div class="source-name">综治成员总数</div>
<div class="source-count-detail">
<img src="images/source-icon6.png" alt="">
<span>{{teamManCount}}个</span>
</div>
</div>
</div>
</div>
<div class="analysis">
<h3 class="title">综治分析</h3>
<div class="analysis-container">
<div class="analysis-box">
<h3 class="title">重点场所巡查统计</h3>
<div class="analysis-charts">
<div class="analysis-left">
<div class="important-area">
<h4>重点场所</h4>
<p>{{placeCount}}<span></span></p>
</div>
<div class="important-area">
<h4>巡查总量</h4>
<p>{{placePatrol.totalCount}}</p>
</div>
<div class="compare">
同比 <span class="compare-up">{{placePatrol.totalYOY}}%</span>
</div>
<div class="compare">
环比 <span class="compare-down">{{placePatrol.totalMOM}}%</span>
</div>
</div>
<div class="analysis-right" id="important-place"></div>
</div>
</div>
<div class="analysis-box">
<h3 class="title">重点区域巡查统计</h3>
<div class="analysis-charts">
<div class="analysis-left">
<div class="important-area">
<h4>重点区域</h4>
<p>{{areaCount}}<span></span></p>
</div>
<div class="important-area">
<h4>巡查总量</h4>
<p>{{areaPatrol.totalCount}}</p>
</div>
<div class="compare">
同比 <span class="compare-up">{{areaPatrol.totalYOY}}%</span>
</div>
<div class="compare">
环比 <span class="compare-down">{{areaPatrol.totalYOY}}%</span>
</div>
</div>
<div class="analysis-right" id="important-area"></div>
</div>
</div>
</div>
</div>
<div class="big-case">
<div class="big-case-count">
<h3 class="title">重大事件发生情况统计</h3>
<div class="big-case-count-detail">
<div class="big-case-count-box" v-for="item in caseList">
<h3 class="title">{{item.caseName}}</h3>
<div class="count-up-down">
<div class="case-count">{{item.caseCount}}</div>
<div class="up-down">
<p>同比 <span class="case-up">{{item.caseMOM}}</span></p>
<p>环比 <span class="case-down">{{item.caseYOY}}</span></p>
</div>
</div>
</div>
</div>
</div>
<div class="big-case-charts" id="caseCharts"></div>
</div>
<div class="title-line">
<h3>任务考核</h3>
</div>
<div class="mission">
<div class="mission-box" id="handleCount"></div>
<div class="mission-box">
<h3 class="title">事件承办评价高分排名</h3>
<div class="rank" v-for="(score,idx) in caseScore">
<div class="rank-img">
<img src="images/rank1.png" alt="" v-if="idx == 0">
<img src="images/rank2.png" alt="" v-if="idx == 1">
<img src="images/rank3.png" alt="" v-if="idx == 2">
</div>
<div class="rank-info">
<h4>{{score.departmentName}}</h4>
<div class="rank-count-score">
<span>承办量{{score.bearCount}}</span>
<em>综合打分{{score.bearScore}}</em>
</div>
</div>
</div>
</div>
<div class="mission-box" id="missionCount"></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="js/leaflet.js"></script>
<script type="text/javascript" src="js/iclient-leaflet.min.js"></script>
<script type="text/javascript" src="js/geoman/leaflet-geoman.min.js"></script>
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/jquery.SuperSlide.2.1.1.js"></script>
<script src="js/echarts.js"></script>
<script src="js/vue.js"></script>
<script src="js/ajax.js"></script>
<script>
var vue = new Vue({
el: '#app',
data: {
showMap: false,
showDetail: false,
requestUrl: 'http://www.wlcbsyzl.cn/systemetl/',
areaLv1: [],
areaLv2: [],
areaLv3: [],
areaLv4: [],
areaLv1Selected: '0',
areaLv2Selected: '0',
areaLv3Selected: '0',
caseFrom: {},
caseView: {},
populationList: [],
specialPopulation: {},
roomCount: '0',
roomType: {},
gridCount: '0',
gridManCount: '0',
orgCount: '0',
specializeCount: '0',
teamCount: '0',
teamManCount: '0',
placeMonth: [],
placeCount: '0',
placePatrol: {},
areaCount: '0',
areaPatrol: {},
caseList: [],
mapCaseList: [],
caseDetail: {},
markerList: [],
mapInit: {},
showGridDetail: false,
testList: [
{
caseId: '67caf021-7327-426a-a61b-87a57e88ad6d',
caseArea: '集宁区',
caseGrid: '150902000000001',
caseSubType: '市容环境/暴露垃圾',
caseDescription: '集宁区发送市容环境暴露垃圾类型的事件,进行上报',
caseAreaLng: '113.05618286132812',
caseAreaLat: '40.87655676413673',
caseReportTime: '2022-01-19 15:25:36'
}
],
caseList1: [],
caseScore: [
{
departmentName:'就业局',
bearScore:5.0,
bearCount:999
},
{
departmentName:'民政局',
bearScore:4.0,
bearCount:900
},
{
departmentName:'公安局',
bearScore:3.0,
bearCount:700
}
]
// caseList1: [
// {
// caseId: '67caf021-7327-426a-a61b-87a57e88ad6d',
// caseArea: '集宁区',
// caseGrid: '150902000000001',
// caseSubType: '市容环境/暴露垃圾',
// caseDescription: '集宁区发送市容环境暴露垃圾类型的事件,进行上报',
// caseAreaLng: '113.05618286132812',
// caseAreaLat: '40.87655676413673',
// caseReportTime: '2022-01-19 15:25:36'
// }
// ],
},
methods: {
// 热点事件类型
initHotCase: function (arr) {
var pie = echarts.init(document.getElementById("hotCase"));
var titleList = []
var dataList = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].caseSubType)
dataList.push(arr[i].count)
}
var option = {
title: {
text: '热点事件类型',
textStyle: {
fontSize: 14,
color: '#fff'
}
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
// legend: {},
grid: {
top: '15%',
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01],
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
},
minInterval: 1
},
yAxis: {
type: 'category',
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff',
},
inside: true,
},
axisTick: {
inside: true
},
z: 100000
},
series: [
{
// name: '2011',
type: 'bar',
data: dataList
}
]
};
pie.setOption(option);
},
// 事件发生时间
initCaseTime: function (arr) {
var pie = echarts.init(document.getElementById("caseTime"));
var titleList = []
var dataList = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].hours + '时')
dataList.push(arr[i].count)
}
var option = {
title: {
text: '事件发生时间',
textStyle: {
color: '#fff',
fontSize: 14
}
},
grid: {
top: '18%',
left: '8%',
right: '5%',
bottom: '15%'
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
boundaryGap: false,
data: titleList,
axisLabel: {
textStyle: {
color: '#fff',
fontSize: 12,
}
}
},
yAxis: {
type: 'value',
axisLabel: {
show: true,
textStyle: {
color: '#fff',
fontSize: 12,
},
},
axisLine: {
lineStyle: {
color: '#fff'
}
},
minInterval: 1
},
series: [
{
data: dataList,
type: 'line',
areaStyle: {}
}
]
};
pie.setOption(option);
},
// 区域事件处理
initCaseArea: function (arr) {
var pie = echarts.init(document.getElementById("caseArea"));
var titleList = []
var dataList = []
var proportion = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].areaName)
dataList.push(arr[i].caseCount)
proportion.push(arr[i].caseProportion)
}
var option = {
title: {
text: '区域事件处理',
textStyle: {
color: '#fff',
fontSize: 14
}
},
legend: {
data: ['事件数量','事件占比'],
top: 'top',
right: 'right',
textStyle: {
color: '#fff'
},
orient: 'horizontal',
width: '80%'
},
grid: {
top: '18%',
left: '12%',
right: '15%',
bottom: '15%'
},
tooltip: {
trigger: 'axis'
},
xAxis: [{
type: 'category',
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
}
}],
yAxis: [
{
type: 'value',
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
},
axisLine: {
lineStyle: {
color: '#fff'
}
},
},
{
type: 'value',
min: 0,
max: 100,
interval: 20,
axisLabel: {
formatter: '{value} %',
textStyle: {
color: '#fff',
fontSize: 12
}
},
axisLine: {
lineStyle: {
color: '#fff'
}
},
}
],
series: [
{
name: '事件数量',
data: dataList,
type: 'bar',
showBackground: true,
itemStyle: {
label: {
show: true,
position: 'top',
textStyle: {
color: 'white',
fontSize: 16
}
}
},
},
{
name: '事件占比',
data: proportion,
type: 'bar',
showBackground: true,
itemStyle: {
normal: {
// 随机显示
color:function(d){return "#"+Math.floor(Math.random()*(256*256*256-1)).toString(16);}
},
label: {
show: true,
position: 'top',
textStyle: {
color: 'white',
fontSize: 16
}
}
},
}
]
};
pie.setOption(option);
},
// 境外人口
initAbroad: function () {
var self = this
var pie = echarts.init(document.getElementById("abroad"));
var option = {
title: {
text: '境外人口',
left: 'center',
bottom: 'bottom',
textStyle: {
color: '#fff',
fontSize: 14
}
},
color: ['#2f4554','#c23531'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
series: [
{
name: '境外人口',
type: 'pie', //设为饼图
radius: ['40%', '55%'], //可调整大小
clockWise: true,        //默认逆时针
hoverAnimation: false,    //移入放大
avoidLabelOverlap: false,   //避免标注重叠
center: ['50%', '30%'],
data: [
{value: self.specialPopulation.jingWai, name: '境外人口'},
{value: self.specialPopulation.totalCount, name: '总人口'},
],
labelLine: {
show: false
},
label: {
show: false
}
}
]
}
pie.setOption(option);
},
// 流动人口
initFloating: function () {
var self = this
var pie = echarts.init(document.getElementById("floating"));
var option = {
title: {
text: '流动人口',
left: 'center',
bottom: 'bottom',
textStyle: {
color: '#fff',
fontSize: 14
}
},
color: ['#2f4554','#c23531'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
series: [
{
name: '流动人口',
type: 'pie', //设为饼图
radius: ['40%', '55%'], //可调整大小
clockWise: true,        //默认逆时针
hoverAnimation: false,    //移入放大
avoidLabelOverlap: false,   //避免标注重叠
center: ['50%', '30%'],
data: [
{value: self.specialPopulation.liuDong, name: '流动人口'},
{value: self.specialPopulation.totalCount, name: '总人口'},
],
labelLine: {
show: false
},
label: {
show: false
}
}
]
}
pie.setOption(option);
},
// 重点青少年
initImportant: function () {
var self = this
var pie = echarts.init(document.getElementById("important"));
var option = {
title: {
text: '重点青少年',
left: 'center',
bottom: 'bottom',
textStyle: {
color: '#fff',
fontSize: 14
}
},
color: ['#2f4554','#c23531'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
series: [
{
name: '访问来源',
type: 'pie', //设为饼图
radius: ['40%', '55%'], //可调整大小
clockWise: true,        //默认逆时针
hoverAnimation: false,    //移入放大
avoidLabelOverlap: false,   //避免标注重叠
center: ['50%', '30%'],
data: [
{value: self.specialPopulation.qingShaoNian, name: '重点青少年'},
{value: self.specialPopulation.totalCount, name: '重点青少年2'},
],
labelLine: {
show: false
},
label: {
show: false
}
}
]
}
pie.setOption(option);
},
// 特殊人员
initSpecial: function () {
var self = this
var pie = echarts.init(document.getElementById("special"));
var option = {
title: {
text: '特殊人员',
left: 'center',
bottom: 'bottom',
textStyle: {
color: '#fff',
fontSize: 14
}
},
color: ['#2f4554','#c23531'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
series: [
{
name: '访问来源',
type: 'pie', //设为饼图
radius: ['40%', '55%'], //可调整大小
clockWise: true,        //默认逆时针
hoverAnimation: false,    //移入放大
avoidLabelOverlap: false,   //避免标注重叠
center: ['50%', '30%'],
data: [
{value: self.specialPopulation.teShu, name: ''},
{value: self.specialPopulation.totalCount, name: '总人口'},
],
labelLine: {
show: false
},
label: {
show: false
}
}
]
}
pie.setOption(option);
},
// 出租屋占比
initLease: function (val) {
var pie = echarts.init(document.getElementById("lease"));
var option = {
title: {
text: '出租屋占比',
textStyle: {
color: '#fff',
fontSize: 14
}
},
// grid: {
// top: '15%',
// bottom: '15%',
// left: '5%',
// right: '5%'
// },
series: [
{
center: ['50%','85%'],
radius: '100%',
type: 'gauge',
startAngle: 180,
endAngle: 0,
min: 0,
max: 1,
splitNumber: 8,
axisLine: {
lineStyle: {
width: 6,
color: [
[0.25, '#FF6E76'],
[0.5, '#FDDD60'],
[0.75, '#58D9F9'],
[1, '#7CFFB2']
]
}
},
pointer: {
icon: 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z',
length: '25%',
width: 8,
offsetCenter: ['10%', '-10%'],
itemStyle: {
color: 'auto'
}
},
axisTick: {
length: 12,
lineStyle: {
color: 'auto',
width: 2
}
},
splitLine: {
length: 20,
lineStyle: {
color: 'auto',
width: 5
}
},
axisLabel: {
color: '#ffffff',
fontSize: 12,
distance: -40,
formatter: function (value) {
if (value === 1) {
return '100%';
} else if (value === 0.75) {
return '75%';
} else if (value === 0.5) {
return '50%';
} else if (value === 0.25) {
return '25%';
} else if (value === 0) {
return '0%';
}
return '';
}
},
title: {
offsetCenter: [0, '-20%'],
fontSize: 14
},
detail: {
fontSize: 50,
offsetCenter: [0, '0%'],
valueAnimation: true,
formatter: function (value) {
return Math.round(value * 100) + '%';
},
color: 'auto',
textStyle: {
fontSize: 14
}
},
data: [
{
value: val,
// name: 'Grade Rating'
}
]
}
]
};
pie.setOption(option);
},
// 房屋类型占比
initFloorType: function () {
var self = this
var pie = echarts.init(document.getElementById("floorType"));
var option = {
title: {
text: '房屋类型占比',
textStyle: {
color: '#fff',
fontSize: 14
}
},
tooltip: {
trigger: 'item'
},
legend: {
top: '0',
left: 'right',
textStyle: {
color: '#fff'
},
orient: "vertical"
},
series: [
{
// name: 'Access From',
type: 'pie',
center: ['45%','55%'],
radius: ['40%', '70%'],
avoidLabelOverlap: false,
label: {
show: false,
position: 'center'
},
emphasis: {
label: {
show: true,
fontSize: '20',
fontWeight: 'bold'
}
},
labelLine: {
show: false
},
data: [
{ value: self.roomType.ziZhuCount, name: '自住' },
{ value: self.roomType.heZuCount, name: '合租' },
{ value: self.roomType.xianZhiCount, name: '闲置' },
{ value: self.roomType.daiChaCount, name: '待查' },
{ value: self.roomType.chuZuCount, name: '出租' },
]
}
]
};
pie.setOption(option);
},
// 区域房屋分析
initAreaFloor: function (arr) {
var pie = echarts.init(document.getElementById("areaFloor"));
var titleList = []
var dataList = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].areaName)
dataList.push(arr[i].houseCount)
}
var option = {
title: {
text: '区域房屋分析',
textStyle: {
color: '#fff',
fontSize: 14
}
},
tooltip: {
trigger: 'axis'
},
xAxis: {
type: 'category',
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
// rotate: 60
},
axisLine: {
lineStyle: {
color: '#fff'
}
}
},
yAxis: {
type: 'value',
axisLabel: {
show: true,
textStyle: {
color: '#fff'
}
},
minInterval: 1,
axisLine: {
lineStyle: {
color: '#fff'
}
}
},
series: [
{
data: dataList,
type: 'bar',
showBackground: true,
itemStyle: {
label: {
show: true,
position: 'top',
textStyle: {
color: 'white',
fontSize: 16
}
}
},
}
]
};
pie.setOption(option);
},
// 重点场所巡查统计
initImportantPlace: function (arr) {
var pie = echarts.init(document.getElementById("important-place"));
var titleList = []
var data1 = [],data2 = [], data3 = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].months)
data1.push(arr[i].thisMonthCount)
data2.push(arr[i].mom)
data3.push(arr[i].yoy)
}
var option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: ['巡查数量', '环比变化', '同比变化'],
textStyle: {
color: '#fff'
},
right: 0,
top: 0
},
grid: {
top:'15%',
left: '3%',
right: '4%',
bottom: '15%',
},
xAxis: {
type: 'category',
boundaryGap: false,
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
},
axisLine:{
lineStyle:{
color:'#fff',
}
}
},
yAxis: {
type: 'value'
},
series: [
{
name: '巡查数量',
type: 'line',
stack: 'Total',
data: data1
},
{
name: '环比变化',
type: 'line',
stack: 'Total',
data: data2
},
{
name: '同比变化',
type: 'line',
stack: 'Total',
data: data3
}
]
};
pie.setOption(option);
},
// 重点场所巡查统计
initImportantArea: function (arr) {
var pie = echarts.init(document.getElementById("important-area"));
var titleList = []
var data1 = [],data2 = [], data3 = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].months)
data1.push(arr[i].thisMonthCount)
data2.push(arr[i].mom)
data3.push(arr[i].yoy)
}
var option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: ['巡查数量', '环比变化', '同比变化'],
textStyle: {
color: '#fff'
},
right: 0,
top: 0
},
grid: {
top:'15%',
left: '3%',
right: '4%',
bottom: '15%',
},
xAxis: {
type: 'category',
boundaryGap: false,
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
},
axisLine:{
lineStyle:{
color:'#fff',
}
}
},
yAxis: {
type: 'value'
},
series: [
{
name: '巡查数量',
type: 'line',
stack: 'Total',
data: data1
},
{
name: '环比变化',
type: 'line',
stack: 'Total',
data: data2
},
{
name: '同比变化',
type: 'line',
stack: 'Total',
data: data3
}
]
};
pie.setOption(option);
},
// 重大案件发生情况统计
initBigCase: function (arr) {
var pie = echarts.init(document.getElementById("caseCharts"));
var titleList = []
var data1 = []
var data2 = []
var data3 = []
var data4 = []
var data5 = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].month_ + '月')
data1.push(arr[i].anQuanCount)
data2.push(arr[i].qunTiCount)
data3.push(arr[i].shiPinCount)
data4.push(arr[i].xingShiCount)
data5.push(arr[i].qiTaCount)
}
var option = {
tooltip: {
trigger: 'axis'
},
legend: {
data: ['安全事故', '群体性事件', '食品安全事故', '有关刑事案件', '其他'],
textStyle: {
color: '#fff'
},
right: 0,
// orient: 'vertical'
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: titleList,
axisLabel: {
textStyle: {
color: '#fff',//坐标值得具体的颜色
}
},
axisLine: {
lineStyle: {
color: '#fff'
}
},
},
yAxis: {
type: 'value',
axisLabel: {
textStyle: {
color: '#fff',//坐标值得具体的颜色
}
},
axisLine: {
lineStyle: {
color: '#fff'
}
},
minInterval: 1
},
series: [
{
name: '安全事故',
type: 'line',
stack: 'Total',
data: data1
},
{
name: '群体性事件',
type: 'line',
stack: 'Total',
data: data2
},
{
name: '食品安全事故',
type: 'line',
stack: 'Total',
data: data3
},
{
name: '有关刑事案件',
type: 'line',
stack: 'Total',
data: data4
},
{
name: '其他',
type: 'line',
stack: 'Total',
data: data5
}
]
};
pie.setOption(option);
},
// 事件承办数量排名
initHandleCount: function () {
var pie = echarts.init(document.getElementById("handleCount"));
var arr = [{departmentName:'就业局', bearScore:5.0,bearProportion:98},{departmentName:'民政局', bearScore:4.0,bearProportion:78},{departmentName:'公安局', bearScore:3.0,bearProportion:50}]
var titleList = []
var data = []
for (let i = 0; i < arr.length; i++) {
titleList.push(arr[i].departmentName)
data.push(arr[i].bearProportion)
}
var option = {
title: {
text: '事件承办数量排名',
textStyle: {
fontSize: 14,
color: '#fff'
}
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
dataZoom: [
{
type: 'inside'
}
],
// legend: {},
grid: {
top: '15%',
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01],
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
}
},
yAxis: {
type: 'category',
data: titleList,
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
inside: true
},
axisTick: {
inside: true
},
z: 100000
},
series: [
{
name: '2011',
type: 'bar',
data: data,
}
]
};
pie.setOption(option);
},
// 88项考核任务排名
initMissionCount: function () {
var pie = echarts.init(document.getElementById("missionCount"));
var option = {
title: {
text: '88项考核任务排名',
textStyle: {
fontSize: 14,
color: '#fff'
}
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
dataZoom: [
{
type: 'inside'
}
],
// legend: {},
grid: {
top: '15%',
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01],
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
}
},
yAxis: {
type: 'category',
data: ['市委', '暴露垃圾', '道路不洁', '水域不洁', '废弃车辆', '绿地脏乱'],
axisLabel: {
show: true,
textStyle: {
color: '#fff'
},
}
},
series: [
{
// name: '2011',
type: 'bar',
data: [183, 289, 314, 470, 131, 230]
}
]
};
pie.setOption(option);
},
// 获取区域
getArea: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0035', {}, null, function (code, data) {
self.areaLv1 = data.dataList
self.getCaseFrom('0')
self.getCaseView('0')
self.getHotCaseRank('0')
self.getCaseTime('0')
self.getCaseArea('0')
self.getBasePopulation('0')
self.getSpecialPopulation('0')
self.getRoomCount('0')
self.getRoomType('0')
self.getRoomAnalysis('0')
self.getImportantPlaceMonth('0')
self.getImportantAreaMonth('0')
self.getPlaceCount('0')
self.getAreaCount('0')
self.getPlacePatrolCount('0')
self.getAreaPatrolCount('0')
self.getCaseList('0')
self.getCaseCountRank('0')
self.getCaseScoreRank('0')
self.getRentingRoom('0')
self.getBigCase('0')
})
},
// 选择区域
selectArea: function (lv) {
var self = this
var info = {}
if (lv == '1') {
info['AREACODE'] = self.areaLv1Selected
self.areaLv3 = []
self.areaLv3Selected = '0'
if (self.areaLv2.length > 0) {
self.areaLv2Selected = '0'
}
} else if (lv == '2') {
info['AREACODE'] = self.areaLv2Selected
}
if (lv == '3') {
self.getCaseFrom('3')
}
// if (lv != '3') {
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0035', info, null, function (code, data) {
if (lv == '1') {
self.areaLv2 = data.dataList
} else if (lv == '2') {
self.areaLv3 = data.dataList
}
self.getCaseFrom(lv)
self.getCaseView(lv)
self.getHotCaseRank(lv)
self.getCaseTime(lv)
self.getCaseArea(lv)
self.getBasePopulation(lv)
self.getSpecialPopulation(lv)
self.getRoomCount(lv)
self.getRoomType(lv)
self.getRoomAnalysis(lv)
self.getImportantPlaceMonth(lv)
self.getImportantAreaMonth(lv)
self.getPlaceCount(lv)
self.getAreaCount(lv)
self.getPlacePatrolCount(lv)
self.getAreaPatrolCount(lv)
self.getCaseList(lv)
self.getCaseCountRank(lv)
self.getCaseScoreRank(lv)
self.getRentingRoom(lv)
var date = new Date()
var year = date.getFullYear()
self.getBigCase(lv, year)
if (self.showMap) {
self.getMapCaseList(lv)
}
})
// } else {
// self.getCaseFrom('3')
// }
},
// 事件来源
getCaseFrom: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0001', info, null, function (code, data) {
self.caseFrom = data.dataList[0]
})
},
// 事件总览
getCaseView: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0002', info, null, function (code, data) {
self.caseView = data.dataList[0]
})
},
// 热点事件类型排名
getHotCaseRank: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0003', info, null, function (code, data) {
self.initHotCase(data.dataList)
})
},
// 事件发生事件
getCaseTime: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0004', info, null, function (code, data) {
self.initCaseTime(data.dataList)
})
},
// 区域事件处理
getCaseArea: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0005', info, null, function (code, data) {
self.initCaseArea(data.dataList)
})
},
// 基础人口
getBasePopulation: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0007', info, null, function (code, data) {
self.populationList = data.dataList
})
},
// 特殊人口
getSpecialPopulation: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0008', info, null, function (code, data) {
self.specialPopulation = data.dataList[0]
self.initAbroad()
self.initFloating()
self.initImportant()
self.initSpecial()
})
},
// 等级住房数量
getRoomCount: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0009', info, null, function (code, data) {
self.roomCount = data.dataList[0].count
})
},
// 房屋类型占比
getRoomType: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0010', info, null, function (code, data) {
self.roomType = data.dataList[0]
self.initFloorType()
})
},
// 区域房屋分析
getRoomAnalysis: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0011', info, null, function (code, data) {
self.initAreaFloor(data.dataList)
})
},
// 网格统计
getGridCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0012', {}, null, function (code, data) {
self.gridCount = data.dataList[0].count
})
},
// 网格员统计
getGridManCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0013', {}, null, function (code, data) {
self.gridManCount = data.dataList[0].count
})
},
// 专管机构统计
getOrgCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0014', {}, null, function (code, data) {
self.orgCount = data.dataList[0].count
})
},
// 专管员统计
getSpecializeCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0015', {}, null, function (code, data) {
self.specializeCount = data.dataList[0].count
})
},
// 综治队伍统计
getTeamCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0016', {}, null, function (code, data) {
self.teamCount = data.dataList[0].count
})
},
// 综治成员统计
getTeamManCount: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0017', {}, null, function (code, data) {
self.teamManCount = data.dataList[0].count
})
},
// 重点场所巡查12月统计
getImportantPlaceMonth: function (lv) {
var self = this
var info
var date = new Date()
var year = date.getFullYear()
if (lv == '0') {
info = {
YEAR: year
}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
YEAR: year
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
YEAR: year
}
} else {
info = {
AREACODE: self.areaLv3Selected,
YEAR: year
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0031', info, null, function (code, data) {
self.initImportantPlace(data.dataList)
})
},
// 重点区域巡查12月统计
getImportantAreaMonth: function (lv) {
var self = this
var info
var date = new Date()
var year = date.getFullYear()
if (lv == '0') {
info = {
YEAR: year
}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
YEAR: year
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
YEAR: year
}
} else {
info = {
AREACODE: self.areaLv3Selected,
YEAR: year
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0032', info, null, function (code, data) {
self.initImportantArea(data.dataList)
})
},
// 重点场所数量
getPlaceCount: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0019', info, null, function (code, data) {
self.placeCount = data.dataList[0].count
})
},
// 重点区域数量
getAreaCount: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0021', info, null, function (code, data) {
self.areaCount = data.dataList[0].count
})
},
// 重点场所巡查数量
getPlacePatrolCount: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0024', info, null, function (code, data) {
self.placePatrol = data.dataList[0]
})
},
// 重点区域巡查数量
getAreaPatrolCount: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected
}
} else {
info = {
AREACODE: self.areaLv3Selected
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0025', info, null, function (code, data) {
self.areaPatrol = data.dataList[0]
})
},
// 88项考核任务排名
getMissionRank: function () {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0026', {}, null, function (code, data) {
// self.areaPatrol = data.dataList[0]
})
},
// 事件列表
getCaseList: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
COUNT: 5
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
COUNT: 5
}
} else {
info = {
AREACODE: self.areaLv3Selected,
COUNT: 5
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0023', info, null, function (code, data) {
var arr = [
{
caseName: '安全事故',
caseCount: data.dataList[0].anQuan,
caseMOM: data.dataList[0].anQuanMOM,
caseYOY: data.dataList[0].anQuanYOY
},
{
caseName: '群体性事故',
caseCount: data.dataList[0].qunTi,
caseMOM: data.dataList[0].qunTiMOM,
caseYOY: data.dataList[0].qunTiYOY
},
{
caseName: '食品安全事故',
caseCount: data.dataList[0].shiPin,
caseMOM: data.dataList[0].shiPinMOM,
caseYOY: data.dataList[0].shiPinYOY
},
{
caseName: '有关刑事案件',
caseCount: data.dataList[0].xinShi,
caseMOM: data.dataList[0].xinShiMOM,
caseYOY: data.dataList[0].xinShiYOY
},
{
caseName: '其他',
caseCount: data.dataList[0].qiTa,
caseMOM: data.dataList[0].qiTaMOM,
caseYOY: data.dataList[0].qiTaYOY
}
]
self.caseList = arr
})
},
// 事件承办量排名
getCaseCountRank: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
COUNT: 5
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
COUNT: 5
}
} else {
info = {
AREACODE: self.areaLv3Selected,
COUNT: 5
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0033', info, null, function (code, data) {
})
},
// 事件承办评分排名
getCaseScoreRank: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
COUNT: 5
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
COUNT: 5
}
} else {
info = {
AREACODE: self.areaLv3Selected,
COUNT: 5
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0034', info, null, function (code, data) {
})
},
// 显/隐地图
toggleMap: function () {
var self = this
this.showMap = !this.showMap
if (this.showMap) {
// this.getMapCaseList('0')
this.$nextTick(function () {
self.initSuperMap()
})
}
},
// 地图
initSuperMap: function () {
var self = this
var host = window.isLocal ? window.server : "https://iserver.supermap.io";
var codeMarkers = [], decodeMarkers = [],
url = host + "/iserver/services/map-china400/rest/maps/China_4326",
addressUrl = host + "/iserver/services/addressmatch-Address/restjsr/v1/address",
addressMatchService = L.supermap.addressMatchService(addressUrl);
self.mapInit = L.map('map', {
crs: L.CRS.EPSG4326,
center: [40.98896497581636, 113.11412662267688],
maxZoom: 18,
zoom: 10
});
L.supermap.tiledMapLayer(url).addTo(self.mapInit);
for (let i = 0; i < self.markerList.length; i++) {
var latLng = {
lng: self.markerList[i].userLng,
lat: self.markerList[i].userLat
}
var marker1 = L.marker(latLng);
marker1.addTo(self.mapInit).on('click', function (e) {
self.getGridDetail()
});
}
for (let i = 0; i < self.testList.length; i++) {
var latLng = {
lng: self.testList[i].caseAreaLng,
lat: self.testList[i].caseAreaLat
}
var marker1 = L.marker(latLng);
marker1.addTo(self.mapInit)
setTimeout(function () {
self.mapInit.removeLayer(marker1)
}, 10000)
}
// if (!isExist) {
// self.markerList.push(data)
// }
},
// 实时事件清单
getMapCaseList: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
COUNT: 8
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
COUNT: 8
}
} else {
info = {
AREACODE: self.areaLv3Selected,
COUNT: 8
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0027', info, null, function (code, data) {
self.mapCaseList = data.dataList
self.$nextTick(function () {
jQuery(".slide-box").slide({mainCell:".bd ul",autoPlay:true,effect:"topMarquee",vis:8,interTime:50,trigger:"click"});
})
})
},
// 查看事件详情
checkCaseDetail: function (id) {
var self = this
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0028', {
UID: id
}, null, function (code, data) {
self.showDetail = true
data.dataList[0].caseImage = data.dataList[0].caseImage.split(',')
if (data.dataList[0].caseImage.length == 1 && data.dataList[0].caseImage[0] == '') {
data.dataList[0].caseImage = []
}
self.caseDetail = data.dataList[0]
})
},
// 重大事件发生情况统计
getBigCase: function (lv, year) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
YEAR: year
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
YEAR: year
}
} else {
info = {
AREACODE: self.areaLv3Selected,
YEAR: year
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0022', info, null, function (code, data) {
self.initBigCase(data.dataList)
})
},
// 出租屋占比
getRentingRoom: function (lv) {
var self = this
var info
if (lv == '0') {
info = {}
} else if (lv == '1') {
info = {
AREACODE: self.areaLv1Selected,
YEAR: year
}
} else if (lv == '2') {
info = {
AREACODE: self.areaLv2Selected,
YEAR: year
}
} else {
info = {
AREACODE: self.areaLv3Selected,
YEAR: year
}
}
doGetForm(self.requestUrl + 'app/datacensus/sqlrelease/SY0030', info, null, function (code, data) {
self.initLease(data.dataList[0].chuZuProportion)
})
},
// 切换网格员地图
setCenter: function (lat,lng) {
},
// websocket
getWebSocket: function () {
var socket;
var self = this
if(typeof(WebSocket) == "undefined") {
console.log("您的浏览器不支持WebSocket");
}else{
console.log("您的浏览器支持WebSocket");
//实现化WebSocket对象指定要连接的服务器地址与端口 建立连接
socket = new WebSocket("ws:///1.24.238.149:37210/systemetl/kafkasocket");
//打开事件
socket.onopen = function() {
console.log("Socket 已打开");
consoleLog = "Topics连接成功...\r\n\r\n";
setCodeTxt(consoleLog);
//socket.send("这是来自客户端的消息" + location.href + new Date());
};
//获得消息事件
socket.onmessage = function(msg) {
//发现消息进入
var data = JSON.parse(msg.data)
var isExist = false
for (let i = 0; i < self.markerList.length; i++) {
if (data.creator == self.markerList[i].creator) {
self.markerList[i] = data
isExist = true
}
}
if (!isExist) {
self.markerList.push(data)
}
console.log(self.markerList)
if (self.showMap) {
self.addMarker()
}
};
//关闭事件
socket.onclose = function() {
consoleLog = "Topics连接断开...\r\n\r\n";
setCodeTxt(consoleLog);
};
//发生了错误事件
socket.onerror = function() {
consoleLog = "Topics连接错误...\r\n\r\n";
setCodeTxt(consoleLog);
//此时可以尝试刷新页面
}
}
function setCodeTxt(value){
console.log(value)
}
},
// 添加marker
addMarker: function () {
var self = this
for (let i = 0; i < self.markerList.length; i++) {
var latLng = {
lng: self.markerList[i].userLng,
lat: self.markerList[i].userLat
}
var marker1 = L.marker(latLng);
if (self.markerList[i].messageTopicName == 'caseReportRealtimeLocation') {
marker1.addTo(self.mapInit)
setTimeout(function () {
self.mapInit.removeLayer(marker1)
}, 10000)
self.caseList1.push(self.markerList[i])
setTimeout(function () {
self.caseList1.splice(0,1)
}, 60000)
self.$nextTick(function () {
jQuery(".slide-box").slide({mainCell:".bd ul",autoPlay:true,effect:"topMarquee",vis:8,interTime:50,trigger:"click"});
})
} else {
marker1.addTo(self.mapInit).on('click', function (e) {
self.getGridDetail()
});
}
}
},
// 获取网格员详情
getGridDetail: function (id) {
var self = this
self.showGridDetail = true
}
},
mounted: function () {
this.getWebSocket()
this.getGridCount()
this.getGridManCount()
this.getOrgCount()
this.getSpecializeCount()
this.getTeamCount()
this.getTeamManCount()
this.initLease()
// this.initImportantArea()
this.initHandleCount()
this.initMissionCount()
this.getArea()
this.getMissionRank()
}
})
</script>
</body>
</html>