Merge remote-tracking branch 'origin/dev' into build
This commit is contained in:
@@ -43,19 +43,19 @@
|
||||
<span>群成员</span>
|
||||
</div>
|
||||
<div class="item-top__list">
|
||||
<div class="item" v-for="(item, index) in 10" :key="index">
|
||||
<div class="item" v-for="(item, index) in list" :key="index">
|
||||
<div class="left">
|
||||
<span>65</span>
|
||||
<span>{{ item['居民群'] }}</span>
|
||||
<div class="rate-wrapper">
|
||||
<span class="rate" style="width: 40%"></span>
|
||||
<i class="rate" :style="{width: item.rate1}"></i>
|
||||
</div>
|
||||
</div>
|
||||
<h2>兴义</h2>
|
||||
<h2 :title="item.girdName">{{ item.girdName }}</h2>
|
||||
<div class="right">
|
||||
<div class="rate-wrapper">
|
||||
<span class="rate" style="width: 100%"></span>
|
||||
<i class="rate" :style="{width: item.rate2}"></i>
|
||||
</div>
|
||||
<span>32144</span>
|
||||
<span>{{ item['群成员'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -129,11 +129,11 @@
|
||||
<div class="right">
|
||||
<div class="appPdDv-title">警务数据</div>
|
||||
<div class="right-item top-wrapper">
|
||||
<div class="title" :title="girdInfo['网格名称']">{{ girdInfo['网格名称'] }}</div>
|
||||
<div class="title">微警务群</div>
|
||||
<div class="item-wrapper">
|
||||
<div class="item-top__item">
|
||||
<h2>{{ girdInfo['微网格长'] || 0 }}</h2>
|
||||
<p>微网格长</p>
|
||||
<h2>{{ girdInfo['村民警员'] || 0 }}</h2>
|
||||
<p>村民警员</p>
|
||||
</div>
|
||||
<div class="item-top__item">
|
||||
<h2>{{ girdInfo['居民群'] || 0 }}</h2>
|
||||
@@ -155,17 +155,17 @@
|
||||
<div class="left">
|
||||
<div class="chart10" style="width: 100%; height: 240px;"></div>
|
||||
<div class="left-text">
|
||||
<h2>240</h2>
|
||||
<h2>{{ total || 0 }}</h2>
|
||||
<span>总数</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="right-item" v-for="(item, index) in 5" :key="index">
|
||||
<div class="right-item" v-for="(item, index) in typeList" :key="index">
|
||||
<div class="right-item__left">
|
||||
<i></i>
|
||||
<span>类型A</span>
|
||||
<i :style="{background: colorList[index]}"></i>
|
||||
<span>{{ item.name }}</span>
|
||||
</div>
|
||||
<p>类型A</p>
|
||||
<p>{{ item.value }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -182,7 +182,7 @@
|
||||
<div class="item-table__item" v-for="(item, index) in gridList" :key="index">
|
||||
<span style="width: 110px" :title="item.name">{{ item.name || '未命名群聊' }}</span>
|
||||
<span style="flex: 1; text-align: center;">{{ item.ownerName }}</span>
|
||||
<span style="width: 60px; text-align: right;">{{ item.personCount }}</span>
|
||||
<span style="width: 60px; text-align: right;">{{ item.memberCount }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -224,13 +224,17 @@
|
||||
groupNumber: {},
|
||||
replyPercentage: {},
|
||||
groupChatNumber: {},
|
||||
dynamicList: []
|
||||
dynamicList: [],
|
||||
total: 0,
|
||||
typeList: [],
|
||||
list: [],
|
||||
colorList: ['#2891FF', '#2AF0F8', '#61FDB9', '#FFBA68', '#FFBA68', '#FD6C39']
|
||||
}
|
||||
},
|
||||
|
||||
created () {
|
||||
this.getInfo()
|
||||
this.getGridInfo()
|
||||
this.getGridInfo({})
|
||||
},
|
||||
|
||||
mounted () {
|
||||
@@ -239,14 +243,6 @@
|
||||
if (document.querySelector('.AiDvWrapper .viewPanel')) {
|
||||
document.querySelector('.AiDvWrapper .viewPanel').style.backgroundImage = 'url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png)'
|
||||
}
|
||||
|
||||
this.initChart5('.chart10', [
|
||||
{ value: 1048, name: 'Search Engine' },
|
||||
{ value: 735, name: 'Direct' },
|
||||
{ value: 580, name: 'Email' },
|
||||
{ value: 484, name: 'Union Ads' },
|
||||
{ value: 300, name: 'Video Ads' }
|
||||
])
|
||||
})
|
||||
},
|
||||
|
||||
@@ -272,7 +268,7 @@
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
name: '分类统计',
|
||||
type: 'pie',
|
||||
radius: ['50%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
@@ -295,13 +291,7 @@
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{ value: 1048, name: 'Search Engine' },
|
||||
{ value: 735, name: 'Direct' },
|
||||
{ value: 580, name: 'Email' },
|
||||
{ value: 484, name: 'Union Ads' },
|
||||
{ value: 300, name: 'Video Ads' }
|
||||
]
|
||||
data: data
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -407,15 +397,48 @@
|
||||
})
|
||||
},
|
||||
|
||||
getGridInfo (id) {
|
||||
this.instance.post(`/app/appgirdinfo/piduGirdCount?girdId=${id || ''}`).then(res => {
|
||||
getGridInfo (e) {
|
||||
if (e.level === 4) return
|
||||
|
||||
if (e.level !== 3) {
|
||||
this.instance.post(`/app/qxn_appgirdinfo/branchStatistics?girdId=${e.id || ''}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
if (res.data && res.data.length) {
|
||||
const list = res.data.map(item => {
|
||||
return {
|
||||
...item
|
||||
}
|
||||
})
|
||||
|
||||
const v1 = Math.max(...list.map(v => v['居民群']))
|
||||
const v2 = Math.max(...list.map(v => v['群成员']))
|
||||
|
||||
this.list = list.map(v => {
|
||||
return {
|
||||
...v,
|
||||
rate1: (v['居民群'] / v1 * 100).toFixed(0) + '%',
|
||||
rate2: (v['群成员'] / v2 * 100).toFixed(0) + '%'
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
this.instance.post(`/app/qxn_appgirdinfo/policeWork?girdId=${e.id || ''}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.girdInfo = res.data
|
||||
}
|
||||
})
|
||||
this.instance.post(`/app/wxcp/wxgroup/listBtGridId?size=1000&girdId=${id || ''}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.gridList = res.data.records
|
||||
this.girdInfo = res.data.countInfo
|
||||
this.gridList = res.data.groupList
|
||||
if (res.data.typeInfo) {
|
||||
this.total = res.data.typeInfo.map(v => v.c).reduce((x, y) => x + y)
|
||||
this.typeList = res.data.typeInfo.map(v => {
|
||||
return {
|
||||
value: v.c,
|
||||
name: v.type
|
||||
}
|
||||
})
|
||||
this.initChart5('.chart10', this.typeList)
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -920,7 +943,6 @@
|
||||
|
||||
.rate-wrapper {
|
||||
width: 100%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.rate {
|
||||
@@ -934,14 +956,20 @@
|
||||
.rate {
|
||||
background-image: linear-gradient(270deg, rgba(0,240,251,0.80) 0%, rgba(0,240,251,0.00) 100%);
|
||||
}
|
||||
|
||||
span {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
h2 {
|
||||
width: 90px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
color: #FFFFFF;
|
||||
font-size: 16px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
text-shadow: 0px 0px 13px rgb(59 182 255 / 80%);
|
||||
background: #fff;
|
||||
-webkit-background-clip: text;
|
||||
@@ -949,6 +977,7 @@
|
||||
}
|
||||
|
||||
span {
|
||||
width: 38px;
|
||||
color: #aeacaf;
|
||||
font-size: 15px;
|
||||
}
|
||||
@@ -1139,7 +1168,7 @@
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 50%;
|
||||
z-index: 111;
|
||||
z-index: 99;
|
||||
transform: translateY(-50%);
|
||||
|
||||
.right-item {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</div> -->
|
||||
<div class="pdgrid-body">
|
||||
<div class="pdgrid-body__item" @click="isShowGrid3 = true">
|
||||
<h2>{{ girdNum3 }}</h2>
|
||||
<h2>{{ girdNum3 || 0 }}</h2>
|
||||
<div class="bottom">
|
||||
<i></i>
|
||||
<p>{{ girdName3 }}</p>
|
||||
@@ -16,7 +16,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="pdgrid-body__item" @click.stop="isShowGrid4 = true">
|
||||
<h2>{{ girdNum4 }}</h2>
|
||||
<h2>{{ girdNum4 || 0 }}</h2>
|
||||
<div class="bottom">
|
||||
<i></i>
|
||||
<p>{{ girdName4 }}</p>
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="pdgrid-body__item" @click="isShowGrid5 = true">
|
||||
<h2>{{ girdNum5 }}</h2>
|
||||
<h2>{{ girdNum5 || 0 }}</h2>
|
||||
<div class="bottom">
|
||||
<i></i>
|
||||
<p>{{ girdName5 }}</p>
|
||||
@@ -182,7 +182,10 @@
|
||||
this.currIndex5 = -1
|
||||
this.girdNum3 = 1
|
||||
this.isShowGrid3 = false
|
||||
this.$emit('nodeClick', item.id)
|
||||
this.$emit('nodeClick', {
|
||||
id: item.id,
|
||||
level: 2
|
||||
})
|
||||
this.girdInfoList4 = []
|
||||
this.girdInfoList5 = []
|
||||
this.currGird = item.girdName
|
||||
@@ -195,7 +198,10 @@
|
||||
this.currIndex5 = -1
|
||||
this.girdNum4 = 1
|
||||
this.isShowGrid4 = false
|
||||
this.$emit('nodeClick', item.id)
|
||||
this.$emit('nodeClick', {
|
||||
id: item.id,
|
||||
level: 3
|
||||
})
|
||||
this.girdInfoList5 = []
|
||||
|
||||
this.currGird = item.girdName
|
||||
@@ -207,32 +213,33 @@
|
||||
this.girdName5 = item.girdName
|
||||
this.isShowGrid5 = false
|
||||
this.girdNum5 = 1
|
||||
this.$emit('nodeClick', item.id)
|
||||
this.$emit('nodeClick', {
|
||||
id: item.id,
|
||||
level: 4
|
||||
})
|
||||
|
||||
this.currGird = item.girdName
|
||||
this.getInfo(item.id)
|
||||
},
|
||||
|
||||
getInfo (id) {
|
||||
this.instance.post(`/app/appgirdinfo/queryPdDetailByGirdId?id=${id || ''}`).then(res => {
|
||||
this.instance.post(`/app/qxn_appgirdinfo/queryGirdInfo?id=${id || ''}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
res.data.girdInfoList2 && (this.girdInfoList2 = res.data.girdInfoList2)
|
||||
res.data.girdInfoList3 && (this.girdInfoList3 = res.data.girdInfoList3)
|
||||
res.data.girdInfoList4 && (this.girdInfoList4 = res.data.girdInfoList4)
|
||||
res.data.girdInfoList5 && (this.girdInfoList5 = res.data.girdInfoList5)
|
||||
res.data.girdInfoList2 && (this.girdInfoList3 = res.data.girdInfoList2)
|
||||
res.data.girdInfoList3 && (this.girdInfoList4 = res.data.girdInfoList3)
|
||||
res.data.girdInfoList4 && (this.girdInfoList5 = res.data.girdInfoList4)
|
||||
|
||||
res.data.girdName2 && (this.girdName2 = res.data.girdName2)
|
||||
res.data.girdName3 && (this.girdName3 = res.data.girdName3)
|
||||
res.data.girdName4 && (this.girdName4 = res.data.girdName4)
|
||||
res.data.girdName5 && (this.girdName5 = res.data.girdName5)
|
||||
res.data.girdName1 && (this.girdName2 = res.data.girdName1)
|
||||
res.data.girdName2 && (this.girdName3 = res.data.girdName2)
|
||||
res.data.girdName3 && (this.girdName4 = res.data.girdName3)
|
||||
res.data.girdName4 && (this.girdName5 = res.data.girdName4)
|
||||
|
||||
res.data.girdNum3 != null && (this.girdNum3 = res.data.girdNum3)
|
||||
res.data.girdNum4 != null && (this.girdNum4 = res.data.girdNum4)
|
||||
res.data.girdNum5 != null && (this.girdNum5 = res.data.girdNum5)
|
||||
res.data.girdNum2 != null && (this.girdNum3 = res.data.girdNum2)
|
||||
res.data.girdNum3 != null && (this.girdNum4 = res.data.girdNum3)
|
||||
res.data.girdNum4 != null && (this.girdNum5 = res.data.girdNum4)
|
||||
|
||||
if (!id) {
|
||||
this.currGird = res.data.girdName2
|
||||
this.currIndex2 = res.data.girdInfoList2.findIndex(v => res.data.girdName2 === v.girdName)
|
||||
this.currGird = res.data.girdName1
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user