@@ -157,23 +156,23 @@
网格信息
-
"星"网格
+
{{ girdInfo['网格名称'] }}
-
925
+
{{ girdInfo['微网格长'] || 0 }}
微网格长
-
925
-
微网格长
+
{{ girdInfo['居民群'] || 0 }}
+
居民群
-
925
-
微网格长
+
{{ girdInfo['群成员'] || 0 }}
+
群成员
-
925
-
微网格长
+
{{ girdInfo['居民好友'] || 0 }}
+
居民好友
@@ -186,10 +185,10 @@
群人数
-
-
XX网格居民群
-
王磊
-
150
+
+ {{ item.name }}
+ {{ item.ownerName }}
+ {{ item.personCount }}
@@ -244,35 +243,25 @@
leftIndex: 0,
rightIndex: 0,
dlIndex: 0,
- qlIndex: 0
+ qlIndex: 0,
+ currGirdName: '',
+ girdInfo: {},
+ gridList: [],
+ userChatNumber: {},
+ residentInfo: {},
+ groupChatNumber: {}
}
},
+ created () {
+ this.getInfo()
+ this.getGridInfo()
+ },
+
mounted () {
this.$nextTick(() => {
setTimeout(() => {
- this.initLineChart('.chart1')
- this.initLineChart('.chart2')
- this.initBarChart('.chart4', [
- {offset: 0, color: 'rgba(66, 255, 254, 1)'},
- {offset: 1, color: 'rgba(37, 255, 246, 0.2)'}
- ])
- this.initBarChart('.chart3', [
- {offset: 0, color: 'rgba(66, 187, 255, 1)'},
- {offset: 1, color: 'rgba(37, 143, 255, 0.2)'}
- ])
- this.initBarChart('.chart5', [
- {offset: 0, color: 'rgba(66, 255, 254, 1)'},
- {offset: 1, color: 'rgba(66, 255, 254, 0.2)'}
- ])
- this.initBarChart('.chart6', [
- {offset: 0, color: 'rgba(255, 190, 66, 1)'},
- {offset: 1, color: 'rgba(255, 190, 66, 0.2)'}
- ])
- this.initBarChart('.chart7', [
- {offset: 0, color: 'rgba(66, 187, 255, 1)'},
- {offset: 1, color: 'rgba(37, 143, 255, 0.2)'}
- ])
+ // this.initLineChart('.chart2')
}, 500)
if (document.querySelector('.AiDvWrapper .viewPanel')) {
@@ -282,15 +271,103 @@
},
methods: {
- initLineChart (el) {
+ onNodeClick (e) {
+ this.getGridInfo(e.id)
+ },
+
+ getInfo () {
+ this.instance.post(`/app/wxgroupstatistic/getCustommerNumber`).then(res => {
+ if (res.code === 0) {
+ this.residentInfo = res.data['居民统计']
+ this.initLineChart('.chart1', {
+ x: res.data['居民好友数'].map(v => v.month),
+ value: res.data['居民好友数'].map(v => v.totalNumber),
+ name: '居民好友'
+ })
+ }
+ })
+ this.instance.post(`/app/wxgroupstatistic/getGroupNumber`).then(res => {
+ if (res.code === 0) {
+
+ }
+ })
+ this.instance.post(`/app/wxgroupstatistic/getTagNumber`).then(res => {
+ if (res.code === 0) {
+
+ }
+ })
+ this.instance.post(`/app/wxgroupstatistic/getUserChatNumber`).then(res => {
+ if (res.code === 0) {
+ this.userChatNumber = res.data['单聊总和']
+ this.initBarChart('.chart4', {
+ x: res.data['条形统计'].map(v => v.dateDay),
+ value: res.data['条形统计'].map(v => v.messageCnt),
+ name: '单聊消息'
+ }, [
+ {offset: 0, color: 'rgba(66, 255, 254, 1)'},
+ {offset: 1, color: 'rgba(37, 255, 246, 0.2)'}
+ ])
+ this.initBarChart('.chart3', {
+ x: res.data['条形统计'].map(v => v.dateDay),
+ value: res.data['条形统计'].map(v => v.chatCnt),
+ name: '单聊会话'
+ }, [
+ {offset: 0, color: 'rgba(66, 187, 255, 1)'},
+ {offset: 1, color: 'rgba(37, 143, 255, 0.2)'}
+ ])
+ }
+ })
+ this.instance.post(`/app/wxgroupstatistic/getgroupChatNumber`).then(res => {
+ this.groupChatNumber = res.data['群聊总和']
+ if (res.code === 0) {
+ this.initBarChart('.chart5', {
+ x: res.data['条形统计'].map(v => v.dateDay),
+ value: res.data['条形统计'].map(v => v.chatHasMsg),
+ name: '活跃群聊'
+ }, [
+ {offset: 0, color: 'rgba(66, 255, 254, 1)'},
+ {offset: 1, color: 'rgba(66, 255, 254, 0.2)'}
+ ])
+ this.initBarChart('.chart6', {
+ x: res.data['条形统计'].map(v => v.dateDay),
+ value: res.data['条形统计'].map(v => v.memberHasMsg),
+ name: '活跃群成员'
+ }, [
+ {offset: 0, color: 'rgba(255, 190, 66, 1)'},
+ {offset: 1, color: 'rgba(255, 190, 66, 0.2)'}
+ ])
+ this.initBarChart('.chart7', {
+ x: res.data['条形统计'].map(v => v.dateDay),
+ value: res.data['条形统计'].map(v => v.msgTotal),
+ name: '群聊消息'
+ }, [
+ {offset: 0, color: 'rgba(66, 187, 255, 1)'},
+ {offset: 1, color: 'rgba(37, 143, 255, 0.2)'}
+ ])
+ }
+ })
+ },
+
+ getGridInfo (id) {
+ this.instance.post(`/app/appgirdinfo/piduGirdCount?girdId=${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
+ }
+ })
+ },
+
+ initLineChart (el, data) {
var chartDom = document.querySelector(el)
var myChart = echarts.init(chartDom)
- var option
-
- option = {
+ var option = {
xAxis: {
type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ data: data.x,
axisTick: {
show: false
},
@@ -346,13 +423,14 @@
},
series: [
{
- data: [820, 932, 901, 934, 1290, 1330, 1320],
+ data: data.value,
type: 'line',
label: {
show: false,
position: 'top',
color: '#fff'
},
+ name: data.name,
areaStyle: {},
barWidth: 16,
barCategoryGap: 40,
@@ -364,7 +442,7 @@
option && myChart.setOption(option)
},
- initBarChart (el, color) {
+ initBarChart (el, data, color) {
var chartDom = document.querySelector(el)
var myChart = echarts.init(chartDom)
var option
@@ -372,7 +450,7 @@
option = {
xAxis: {
type: 'category',
- data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ data: data.x,
axisTick: {
show: false
},
@@ -425,7 +503,8 @@
},
series: [
{
- data: [820, 932, 901, 934, 1290, 1330, 1320],
+ data: data.value,
+ name: data.name,
type: 'bar',
label: {
show: false,
@@ -453,6 +532,20 @@
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/bg.png);
background-size: 100% 100%;
+ ::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ ::-webkit-scrollbar-track {
+ border-radius: 5px;
+ background: rgba(93, 163, 255, 0.1);
+ }
+
+ ::-webkit-scrollbar-thumb {
+ border-radius: 5px;
+ background: rgba(173, 208, 255, 0.5);
+ }
+
* {
box-sizing: border-box;
}
@@ -630,6 +723,9 @@
padding: 4px 0 0 34px;
color: #fff;
font-size: 16px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
background: url(https://cdn.cunwuyun.cn/dvcp/dv/pddv/title.png);
background-size: 100% 100%;
}
@@ -955,6 +1051,9 @@
}
.item-table__body {
+ height: 280px;
+ overflow-y: overlay;
+
.item-table__item {
display: flex;
align-items: center;
@@ -968,6 +1067,12 @@
&:nth-of-type(2n - 1) {
background: transparent;
}
+
+ span {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
}
}
}
diff --git a/project/dv/apps/components/AiGrid.vue b/project/dv/apps/components/AiGrid.vue
index d8488028..d66dd3ad 100644
--- a/project/dv/apps/components/AiGrid.vue
+++ b/project/dv/apps/components/AiGrid.vue
@@ -9,9 +9,11 @@
:props="props"
node-key="id"
show-collapsable
- default-expand-all
show-node-num
+ current-lable-class-name="aigrid-active"
+ :default-expanded-keys="defaultExpandedKeys"
ref="VueOkrTree"
+ @node-click="onNodeClick"
:data="treeData">
@@ -36,9 +38,10 @@
scale: 1,
x: '50%',
y: '50%',
+ defaultExpandedKeys: [],
treeData: [],
props: {
- label: 'name',
+ label: 'girdName',
children: 'children'
}
}
@@ -101,19 +104,34 @@
this.isMove = false
},
+ onNodeClick (e) {
+ this.$emit('nodeClick', e)
+ },
+
getPartyOrg () {
- this.instance.post('/app/partyOrganization/queryPartyOrganizationServiceList').then(res => {
+ this.instance.post('/app/appgirdinfo/listAll3').then(res => {
if (res.code === 0) {
- this.treeData = res.data.filter(e => !e.parentId)
- this.treeData.map(p => this.addChild(p, res.data.map(v => {
+ this.treeData = res.data.filter(e => !e.parentGirdId)
+ const parentGirdId = this.treeData[0].id
+ const arr = res.data.filter(v => {
+ return v.parentGirdId === parentGirdId || !v.parentGirdId
+ })
+ this.treeData.map(p => this.addChild(p, arr.map(v => {
+ if (v.id === parentGirdId) {
+ this.defaultExpandedKeys.push(v.id)
+ }
+
return {
...v,
- name: v.name.substr(0, 12)
+ girdName: v.girdName.substr(0, 8)
}
- }), {parent: 'parentId'}))
+ }), {
+ parent: 'parentGirdId'
+ }))
this.$nextTick(() => {
this.autoScale()
+ this.$refs.VueOkrTree.setCurrentKey(parentGirdId)
})
}
})
@@ -150,6 +168,10 @@
height: 300%;
}
+ .aigrid-active {
+ background: linear-gradient(180deg, #42C6CE 0%, #307598 100%);
+ }
+
::v-deep .org-chart-container {
color: #FFFFFF;
font-size: 16px;
@@ -187,19 +209,51 @@
.org-chart-node-label {
width: 40px;
- height: 330px;
+ height: 230px;
margin-right: 15px;
padding: 0 0;
- border: 1px solid;
- background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important;
- border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important;
.org-chart-node-label-inner {
+ width: 40px!important;
+ height: 230px!important;
+ border: 1px solid;
+ background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important;
+ border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important;
line-height: 1.3;
padding: 10px 4px;
text-align: center;
font-size: 18px;
color: rgba(255, 255, 255, 0.8);
+
+ &.aigrid-active {
+ background: linear-gradient(180deg, #42C6CE 0%, #307598 100%)!important;
+ }
+ }
+
+ &.is-root-label {
+ width: auto!important;
+ min-width: 240px;
+ height: 40px!important;
+ line-height: 40px!important;
+ min-height: 40px!important;
+ text-align: center;
+
+ .org-chart-node-label-inner {
+ padding: 0 30px!important;
+ color: #fff!important;
+ width: auto!important;
+ min-width: 240px;
+ height: 40px!important;
+ line-height: 40px!important;
+ min-height: 40px!important;
+ text-align: center;
+ background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important;
+ border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important;
+
+ &.aigrid-active {
+ background: linear-gradient(180deg, #42C6CE 0%, #307598 100%)!important;
+ }
+ }
}
}
@@ -210,21 +264,6 @@
}
}
- .is-root-label {
- width: auto!important;
- height: 40px!important;
- line-height: 40px!important;
- min-height: 40px!important;
- text-align: center;
- background: linear-gradient(180deg, rgba(69,210,218,0.2500) 0%, rgba(69,210,218,0.1000) 100%)!important;
- border-image: linear-gradient(180deg, rgba(5, 185, 203, 1), rgba(73, 214, 207, 1)) 1 1!important;
-
- .org-chart-node-label-inner {
- padding: 0 30px!important;
- color: #fff!important;
- }
- }
-
.org-chart-node-children:before, .org-chart-node:after, .org-chart-node:last-child:before,
.org-chart-node.is-leaf:before {
border-radius: 0;