大屏开发
This commit is contained in:
		| @@ -33,10 +33,31 @@ | ||||
|       <div class="right-left"> | ||||
|         <AiDvPanel style="width: 100%" border="border6" title="微警务群概况"> | ||||
|           <div class="right-left__total AppQxnDv-total"> | ||||
|             <div class="item" v-for="(item, index) in 4" :key="index"> | ||||
|             <div class="item"> | ||||
|               <h2>全部人员数</h2> | ||||
|               <div class="item-bottom"> | ||||
|                 <span>726,079</span> | ||||
|                 <span>{{  wjwqgkInfo['群人数'] ? wjwqgkInfo['群人数'] + wjwqgkInfo['添加好友数'] : 0 }}</span> | ||||
|                 <i>人</i> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="item"> | ||||
|               <h2>群人数</h2> | ||||
|               <div class="item-bottom"> | ||||
|                 <span>{{ wjwqgkInfo['群人数'] }}</span> | ||||
|                 <i>人</i> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="item"> | ||||
|               <h2>添加好友数</h2> | ||||
|               <div class="item-bottom"> | ||||
|                 <span>{{ wjwqgkInfo['添加好友数'] }}</span> | ||||
|                 <i>人</i> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="item"> | ||||
|               <h2>昨日新增</h2> | ||||
|               <div class="item-bottom"> | ||||
|                 <span>{{ wjwqgkInfo['昨日新增'] }}</span> | ||||
|                 <i>人</i> | ||||
|               </div> | ||||
|             </div> | ||||
| @@ -48,7 +69,7 @@ | ||||
|             <ai-echart-v2 | ||||
|               style="height: 200px; width: 500px;" | ||||
|               :ref="'chart'" | ||||
|               :data="lineData" | ||||
|               :data="zzData" | ||||
|               :ops="lineChart1"> | ||||
|             </ai-echart-v2> | ||||
|           </div> | ||||
| @@ -58,13 +79,13 @@ | ||||
|                 <div class="AppQxnDv-title"> | ||||
|                   <h2>覆盖率</h2> | ||||
|                 </div> | ||||
|                 <DoughnutChart :ratio="60"></DoughnutChart> | ||||
|                 <DoughnutChart :ratio="fglRate" :value="fglData"></DoughnutChart> | ||||
|               </div> | ||||
|               <div class="wrapper"> | ||||
|                 <div class="AppQxnDv-title"> | ||||
|                   <h2>群标签化率</h2> | ||||
|                 </div> | ||||
|                 <DoughnutChart :ratio="95"></DoughnutChart> | ||||
|                 <DoughnutChart :ratio="qbqRate" :value="qbqlData"></DoughnutChart> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="right wrapper"> | ||||
| @@ -77,7 +98,7 @@ | ||||
|                 </el-select> | ||||
|               </div> | ||||
|               <ai-echart-v2 | ||||
|                 style="height: 230px; width: 245px;" | ||||
|                 style="height: 220px; width: 100%; margin-top: 10px;" | ||||
|                 :ref="'chart2'" | ||||
|                 :data="lineData1" | ||||
|                 :ops="barChart8"> | ||||
| @@ -90,9 +111,9 @@ | ||||
|                 <h2>单位成员关系人数</h2> | ||||
|               </div> | ||||
|               <ai-echart-v2 | ||||
|                 style="height: 246px; width: 100%;" | ||||
|                 style="height: 236px; width: 100%; margin-top: 10px;" | ||||
|                 :ref="'chart2'" | ||||
|                 :data="lineData1" | ||||
|                 :data="dwData" | ||||
|                 :ops="barChart8"> | ||||
|               </ai-echart-v2> | ||||
|             </div> | ||||
| @@ -103,7 +124,7 @@ | ||||
|               <ai-echart-v2 | ||||
|                 style="height: 180px; width: 100%; margin-top: 20px;" | ||||
|                 :ref="'chart2'" | ||||
|                 :data="lineData1" | ||||
|                 :data="qrsGmData" | ||||
|                 :ops="pieChart"> | ||||
|               </ai-echart-v2> | ||||
|             </div> | ||||
| @@ -349,7 +370,19 @@ | ||||
|           } | ||||
|         ], | ||||
|         lineChart1: { | ||||
|           legend: { show: false }, | ||||
|           legend: { | ||||
|             icon: 'roundRect', | ||||
|             textStyle: { | ||||
|               color: "#fff" | ||||
|             } | ||||
|           }, | ||||
|           grid: { | ||||
|             left: '0%', | ||||
|             right: '0%', | ||||
|             bottom: '0%', | ||||
|             top: '35px', | ||||
|             containLabel: true | ||||
|           }, | ||||
|           tooltip: { | ||||
|             trigger: 'axis', | ||||
|             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||
| @@ -395,7 +428,18 @@ | ||||
|           }) | ||||
|         }, | ||||
|         barChart8: { | ||||
|           legend: {show: false}, | ||||
|           legend: { | ||||
|             textStyle: { | ||||
|               color: "#fff" | ||||
|             } | ||||
|           }, | ||||
|           grid: { | ||||
|             left: '0%', | ||||
|             right: '0%', | ||||
|             bottom: '0%', | ||||
|             top: '40px', | ||||
|             containLabel: true | ||||
|           }, | ||||
|           tooltip: { | ||||
|             trigger: 'axis', | ||||
|             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||
| @@ -405,32 +449,40 @@ | ||||
|           }, | ||||
|           yAxis: { | ||||
|             type: 'category', | ||||
|             axisLine: { lineStyle: { color: 'rgba(179, 223, 255, 0.4)' } }, | ||||
|             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||
|             axisTick: {show: false}, | ||||
|             axisLine: {show: false}, | ||||
|           }, | ||||
|           xAxis: { | ||||
|             nameGap: 23, minInterval: 1, | ||||
|             splitLine: {lineStyle: {color: 'rgba(108, 128, 151, 0.3)', type: 'dashed'}}, | ||||
|             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||
|             axisLabel: {color: '#8FABBF', fontSize: 12} | ||||
|           }, | ||||
|           daemon: { | ||||
|             type: 'bar', barWidth: 10, barGap: '40%', | ||||
|             label: {show: true, position: 'insideRight', color: '#fff', fontSize: 14}, | ||||
|             showBackground: true, | ||||
|             backgroundStyle: { | ||||
|               color: 'rgba(123, 165, 255, .2)' | ||||
|           color: ['#65E0DE', '#E7C074', '#7AA3CC'], | ||||
|           series: [ | ||||
|             { | ||||
|               name: '民警', | ||||
|               type: 'bar', | ||||
|               barWidth: '15', | ||||
|               stack: 'one' | ||||
|             }, | ||||
|             itemStyle: { | ||||
|               color: { | ||||
|                 type: 'linear', x: 0, x2: 1, y: 0, y2: 0, | ||||
|                 colorStops: [{offset: 0, color: 'rgba(0, 89, 84, 0)'}, {offset: 1, color: '#66E1DF'}] | ||||
|               } | ||||
|             } | ||||
|             { | ||||
|               name: '辅警', | ||||
|               barWidth: '15', | ||||
|               type: 'bar', | ||||
|               stack: 'one' | ||||
|             }, | ||||
|             { | ||||
|               name: '其他', | ||||
|               barWidth: '15', | ||||
|               type: 'bar', | ||||
|               stack: 'one' | ||||
|             } | ||||
|           ] | ||||
|         }, | ||||
|         barChart: { | ||||
|           legend: { | ||||
|             icon: 'roundRect', | ||||
|             textStyle: { | ||||
|               color: "#fff" | ||||
|             } | ||||
| @@ -486,8 +538,8 @@ | ||||
|               y: 0, | ||||
|               y2: 1, | ||||
|               colorStops: [ | ||||
|                 { offset: 1, color: 'rgba(219, 179, 110, 0.1)' }, | ||||
|                 { offset: 0, color: 'rgba(219, 179, 110, 1)' } | ||||
|                 { offset: 0, color: 'rgba(219, 179, 110, 0.1)' }, | ||||
|                 { offset: 1, color: 'rgba(219, 179, 110, 1)' } | ||||
|               ] | ||||
|             } | ||||
|           ], | ||||
| @@ -504,15 +556,13 @@ | ||||
|             } | ||||
|           ] | ||||
|         }, | ||||
|         pieData: [ | ||||
|         { value: 1048, name: 'Search Engine' }, | ||||
|         { value: 735, name: 'Direct' }, | ||||
|         { value: 580, name: 'Email' }, | ||||
|         { value: 484, name: 'Union Ads' }, | ||||
|         { value: 300, name: 'Video Ads' }] , | ||||
|         pieChart: { | ||||
|           tooltip: { | ||||
|             trigger: 'item' | ||||
|             trigger: 'item', | ||||
|             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||
|             borderColor: 'rgba(0, 102, 154, 0.65)', | ||||
|             textStyle: { color: '#fff' }, | ||||
|             axisPointer: { type: 'cross' } | ||||
|           }, | ||||
|           legend: { | ||||
|             show: false | ||||
| @@ -561,6 +611,8 @@ | ||||
|         middleTotalInfo: {}, | ||||
|         cyActivityInfo: {}, | ||||
|         wxGroupOverview: {}, | ||||
|         wjwqgkGMFBInfo: {}, | ||||
|         wjwqgkInfo: {}, | ||||
|         colConfigs: [ | ||||
|           { slot: 'index' }, | ||||
|           { prop: 'ownerName',  label: '姓名', align: 'left', width: 56 }, | ||||
| @@ -576,6 +628,31 @@ | ||||
|     }, | ||||
|  | ||||
|     computed: { | ||||
|       qbqlData () { | ||||
|         return [{key: '已激活成员', value: this.cyActivityInfo['已激活']}, {key: '未激活成员', value: this.cyActivityInfo['未激活']}] | ||||
|       }, | ||||
|  | ||||
|       qbqRate () { | ||||
|         return 95 | ||||
|         if (!this.cyActivityInfo['已激活']) { | ||||
|           return 0 | ||||
|         } | ||||
|  | ||||
|         return Number(((this.cyActivityInfo['已激活'] / (this.cyActivityInfo['已激活'] + this.cyActivityInfo['未激活'])) * 100).toFixed(2)) | ||||
|       }, | ||||
|       fglData () { | ||||
|         return [{key: '活跃成员', value: this.cyActivityInfo['已激活']}, {key: '激活成员', value: this.cyActivityInfo['未激活']}] | ||||
|       }, | ||||
|  | ||||
|       fglRate () { | ||||
|         return 95 | ||||
|         if (!this.cyActivityInfo['已激活']) { | ||||
|           return 0 | ||||
|         } | ||||
|  | ||||
|         return Number(((this.cyActivityInfo['已激活'] / (this.cyActivityInfo['已激活'] + this.cyActivityInfo['未激活'])) * 100).toFixed(2)) | ||||
|       }, | ||||
|  | ||||
|       cyjhData () { | ||||
|         return [{key: '已激活', value: this.cyActivityInfo['已激活']}, {key: '未激活', value: this.cyActivityInfo['未激活']}] | ||||
|       }, | ||||
| @@ -626,6 +703,34 @@ | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       dwData () { | ||||
|         if (!this.wjwqgkGMFBInfo.length) { | ||||
|           return [] | ||||
|         } | ||||
|  | ||||
|         return this.wjwqgkGMFBInfo.map(v => { | ||||
|           return { | ||||
|             '规模': v['规模'], | ||||
|             '民警': v['民警'], | ||||
|             '辅警': v['辅警'], | ||||
|             '其他': v['其他'] | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       qrsGmData () { | ||||
|         if (!this.wjwqgkGMFBInfo.length) { | ||||
|           return [] | ||||
|         } | ||||
|  | ||||
|         return this.wjwqgkGMFBInfo.map(v => { | ||||
|           return { | ||||
|             '群人数规模分布': v['规模'], | ||||
|             v: v['群数量'] | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       tableList () { | ||||
|         const list = this.wxGroupOverview['群动态多维度排行'] | ||||
|         if (!list) { | ||||
| @@ -633,6 +738,20 @@ | ||||
|         } | ||||
|  | ||||
|         return list | ||||
|       }, | ||||
|  | ||||
|       zzData () { | ||||
|         if (!this.wjwqgkInfo['增长情况']) { | ||||
|           return [] | ||||
|         } | ||||
|  | ||||
|         return this.wjwqgkInfo['增长情况'].map(v => { | ||||
|           return { | ||||
|             '月份': v['月份'], | ||||
|             '居民人数': v['居民人数'], | ||||
|             '新增居民': v['新增居民'] | ||||
|           } | ||||
|         }) | ||||
|       } | ||||
|     }, | ||||
|  | ||||
| @@ -685,6 +804,28 @@ | ||||
|           } | ||||
|         }) | ||||
|  | ||||
|         this.instance.post(`/wxgridinfo/wjwqgk`, null, { | ||||
|           params: { | ||||
|             corpId: 'wpytYEDgAA5zwi8Ak2mwFh3PwBKwwlWA', | ||||
|             gridId: this.gridId || this.gridParentId | ||||
|           } | ||||
|         }).then(res => { | ||||
|           if (res.code === 0) { | ||||
|             this.wjwqgkInfo = res.data | ||||
|           } | ||||
|         }) | ||||
|  | ||||
|         this.instance.post(`/wxgridinfo/wjwqgkGMFB`, null, { | ||||
|           params: { | ||||
|             corpId: 'wpytYEDgAA5zwi8Ak2mwFh3PwBKwwlWA', | ||||
|             gridId: this.gridId || this.gridParentId | ||||
|           } | ||||
|         }).then(res => { | ||||
|           if (res.code === 0) { | ||||
|             this.wjwqgkGMFBInfo = res.data | ||||
|           } | ||||
|         }) | ||||
|  | ||||
|         this.instance.post(`/wxgridinfo/cyActivity`, null, { | ||||
|           params: { | ||||
|             corpId: 'wpytYEDgAA5zwi8Ak2mwFh3PwBKwwlWA', | ||||
| @@ -713,6 +854,7 @@ | ||||
|         let b = hex & 0xFF; | ||||
|         return `rgba(${r},${g},${b},${alpha})`; | ||||
|       }, | ||||
|  | ||||
|       RGBtoHex(r, g, b) { | ||||
|         let hex = r << 16 | g << 8 | b; | ||||
|         return "#" + hex.toString(16); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user