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