黔西南大屏
This commit is contained in:
		| @@ -1,6 +1,6 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="aiDvTable" :class="'aiDvTable-' + theme"> |   <div class="aiDvTable" :class="'aiDvTable-' + theme"> | ||||||
|     <div class="header"> |     <div class="header" :style="headerStyle"> | ||||||
|       <span |       <span | ||||||
|         v-for="(item, index) in header" |         v-for="(item, index) in header" | ||||||
|         :key="index" |         :key="index" | ||||||
| @@ -20,6 +20,7 @@ | |||||||
|           :style="{ |           :style="{ | ||||||
|             color: config[i].color, |             color: config[i].color, | ||||||
|             textAlign: config[i].align, |             textAlign: config[i].align, | ||||||
|  |             fontSize: config[i].fontSize, | ||||||
|             width: config[i].width ? config[i].width + 'px' : '', |             width: config[i].width ? config[i].width + 'px' : '', | ||||||
|             flex: config[i].width ? 'inherit' : 1 |             flex: config[i].width ? 'inherit' : 1 | ||||||
|           }"> |           }"> | ||||||
| @@ -41,6 +42,11 @@ | |||||||
|         default: () => [] |         default: () => [] | ||||||
|       }, |       }, | ||||||
|  |  | ||||||
|  |       headerStyle: { | ||||||
|  |         type: Object, | ||||||
|  |         default: () => {} | ||||||
|  |       }, | ||||||
|  |  | ||||||
|       isShowIndex: { |       isShowIndex: { | ||||||
|         type: String, |         type: String, | ||||||
|         default: '0' |         default: '0' | ||||||
| @@ -65,8 +71,7 @@ | |||||||
|     data () { |     data () { | ||||||
|       return { |       return { | ||||||
|         header: [], |         header: [], | ||||||
|         body: [], |         body: [] | ||||||
|         colorIndex: '' |  | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
| @@ -144,14 +149,14 @@ | |||||||
|       align-items: center; |       align-items: center; | ||||||
|       width: 100%; |       width: 100%; | ||||||
|       height: 40px; |       height: 40px; | ||||||
|  |       font-size: 16px; | ||||||
|       padding: 0 16px; |       padding: 0 16px; | ||||||
|  |       color: rgba(255, 255, 255, 0.7); | ||||||
|       background: rgba(70, 70, 70, 0.35); |       background: rgba(70, 70, 70, 0.35); | ||||||
|  |  | ||||||
|       span { |       span { | ||||||
|         flex: 1; |         flex: 1; | ||||||
|         font-size: 16px; |  | ||||||
|         text-align: center; |         text-align: center; | ||||||
|         color: rgba(255, 255, 255, 0.7); |  | ||||||
|         overflow: hidden; |         overflow: hidden; | ||||||
|         white-space: nowrap; |         white-space: nowrap; | ||||||
|         text-overflow: ellipsis; |         text-overflow: ellipsis; | ||||||
|   | |||||||
| @@ -82,7 +82,7 @@ | |||||||
|                 <h2>单位成员关系人数</h2> |                 <h2>单位成员关系人数</h2> | ||||||
|               </div> |               </div> | ||||||
|               <ai-echart-v2 |               <ai-echart-v2 | ||||||
|                 style="height: 210px; width: 100%;" |                 style="height: 220px; width: 100%;" | ||||||
|                 :ref="'chart2'" |                 :ref="'chart2'" | ||||||
|                 :data="lineData1" |                 :data="lineData1" | ||||||
|                 :ops="barChart8"> |                 :ops="barChart8"> | ||||||
| @@ -93,7 +93,7 @@ | |||||||
|                 <h2>群人数规模分布</h2> |                 <h2>群人数规模分布</h2> | ||||||
|               </div> |               </div> | ||||||
|               <ai-echart-v2 |               <ai-echart-v2 | ||||||
|                 style="height: 160px; width: 100%;" |                 style="height: 180px; width: 100%; margin-top: 20px;" | ||||||
|                 :ref="'chart2'" |                 :ref="'chart2'" | ||||||
|                 :data="lineData1" |                 :data="lineData1" | ||||||
|                 :ops="pieChart"> |                 :ops="pieChart"> | ||||||
| @@ -114,7 +114,7 @@ | |||||||
|             </div> |             </div> | ||||||
|           </div> |           </div> | ||||||
|           <div class="wrapper"> |           <div class="wrapper"> | ||||||
|             <DvMap style="width: 100%; height: 420px;"></DvMap> |             <DvMap style="width: 100%; height: 356px;"></DvMap> | ||||||
|           </div> |           </div> | ||||||
|           <div class="right-middle__middle"> |           <div class="right-middle__middle"> | ||||||
|             <div class="wrapper"> |             <div class="wrapper"> | ||||||
| @@ -135,7 +135,7 @@ | |||||||
|               <h2>近期成员使用分布</h2> |               <h2>近期成员使用分布</h2> | ||||||
|             </div> |             </div> | ||||||
|             <ai-echart-v2 |             <ai-echart-v2 | ||||||
|               style="height: 210px; width: 100%;" |               style="height: 220px; width: 100%;" | ||||||
|               :ref="'chart'" |               :ref="'chart'" | ||||||
|               :data="lineData" |               :data="lineData" | ||||||
|               :ops="lineChart1"> |               :ops="lineChart1"> | ||||||
| @@ -144,7 +144,7 @@ | |||||||
|         </AiDvPanel> |         </AiDvPanel> | ||||||
|       </div> |       </div> | ||||||
|       <div class="right-right"> |       <div class="right-right"> | ||||||
|         <AiDvPanel style="width: 100%" border="border6" title="微警务群概况"> |         <AiDvPanel style="height: auto;" 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" v-for="(item, index) in 4" :key="index"> | ||||||
|               <h2>群动态概况</h2> |               <h2>群动态概况</h2> | ||||||
| @@ -180,29 +180,19 @@ | |||||||
|             </ai-echart-v2> |             </ai-echart-v2> | ||||||
|           </div> |           </div> | ||||||
|         </AiDvPanel> |         </AiDvPanel> | ||||||
|         <AiDvPanel style="width: 100%; height: 340px;" border="border6" title="群动态多维度排行"> |         <AiDvPanel class="bottom" style="" border="border6" title="群动态多维度排行"> | ||||||
|           <AiDvTable |           <AiDvTable | ||||||
|             :heigth="'100%'" |             :heigth="'100%'" | ||||||
|             stripe |             stripe="1" | ||||||
|             :isShowIndex="true" |             :headerStyle="{ | ||||||
|             :config="[{ |               color: '#02FEFF', | ||||||
|                 width: '', |               fontSize: '12px', | ||||||
|                 color: '', |               fontWeight: '600', | ||||||
|                 align: '' |               backgroundColor: 'rgba(33, 180, 253, 0.1)' | ||||||
|               }, |             }" | ||||||
|               { |             isShowIndex="1" | ||||||
|                 width: '', |             :config="tableConfig" | ||||||
|                 color: '', |             :data="tableData"> | ||||||
|                 align: '' |  | ||||||
|               }, |  | ||||||
|               { |  | ||||||
|                 width: '', |  | ||||||
|                 color: '', |  | ||||||
|                 align: '' |  | ||||||
|               }]" |  | ||||||
|             :data="[{name: '列1', v: 23, v2: 3}, |  | ||||||
|               {name: '列2', v: 12, v2: 4}, |  | ||||||
|               {name: '列2', v: 12, v2: 4}]"> |  | ||||||
|           </AiDvTable> |           </AiDvTable> | ||||||
|         </AiDvPanel> |         </AiDvPanel> | ||||||
|       </div> |       </div> | ||||||
| @@ -265,12 +255,114 @@ | |||||||
|             "v1": 98 |             "v1": 98 | ||||||
|           } |           } | ||||||
|         ], |         ], | ||||||
|  |         tableData: [ | ||||||
|  |           { | ||||||
|  |             name: '姓名', | ||||||
|  |             v1: '宗梦瑞', | ||||||
|  |             v2: '宗梦瑞', | ||||||
|  |             v3: '宗梦瑞', | ||||||
|  |             v4: '宗梦瑞', | ||||||
|  |             v5: '宗梦瑞', | ||||||
|  |             v6: '宗梦瑞', | ||||||
|  |             v7: '宗梦瑞', | ||||||
|  |             v8: '宗梦瑞', | ||||||
|  |             v9: '宗梦瑞', | ||||||
|  |             v10: '宗梦瑞' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '单位', | ||||||
|  |             v1: '宗梦瑞', | ||||||
|  |             v2: '宗梦瑞', | ||||||
|  |             v3: '宗梦瑞', | ||||||
|  |             v4: '宗梦瑞', | ||||||
|  |             v5: '宗梦瑞', | ||||||
|  |             v6: '宗梦瑞', | ||||||
|  |             v7: '宗梦瑞', | ||||||
|  |             v8: '宗梦瑞', | ||||||
|  |             v9: '宗梦瑞', | ||||||
|  |             v10: '宗梦瑞' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群数量', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群人员', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '新增群人员', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '有消息的群', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群聊人数', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群消息总数', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           } | ||||||
|  |         ], | ||||||
|         lineChart1: { |         lineChart1: { | ||||||
|           legend: { show: false }, |           legend: { show: false }, | ||||||
|           grid: { |  | ||||||
|             left: 50, |  | ||||||
|             right: '2%' |  | ||||||
|           }, |  | ||||||
|           tooltip: { |           tooltip: { | ||||||
|             trigger: 'axis', |             trigger: 'axis', | ||||||
|             backgroundColor: 'rgba(0, 102, 154, 0.65)', |             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||||
| @@ -351,12 +443,16 @@ | |||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         barChart: { |         barChart: { | ||||||
|  |           xAxis: { | ||||||
|  |             type: "category", | ||||||
|  |             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||||
|  |           }, | ||||||
|           yAxis: { |           yAxis: { | ||||||
|             nameGap: 23, |             nameGap: 23, | ||||||
|             minInterval: 1, |             minInterval: 1, | ||||||
|             splitLine: { lineStyle: { color: 'rgba(255,255,255,.2)', type: 'dashed' } }, |             splitLine: { lineStyle: { color: 'rgba(255,255,255,.2)', type: 'dashed' } }, | ||||||
|             axisLabel: { color: '#C3C4C4' }, |             axisPointer: { show: false }, | ||||||
|             axisPointer: { show: false } |             axisLabel: {color: '#8FABBF', fontSize: 12} | ||||||
|           }, |           }, | ||||||
|           axisPointer: { |           axisPointer: { | ||||||
|             type: 'shadow', |             type: 'shadow', | ||||||
| @@ -435,13 +531,14 @@ | |||||||
|             right: '6%', |             right: '6%', | ||||||
|             bottom: '6%' |             bottom: '6%' | ||||||
|           }, |           }, | ||||||
|  |           color: ['#59F7CA', '#62F2F8', '#F2B949', '#81C4E4', '#D8F2FD'], | ||||||
|           series: [ |           series: [ | ||||||
|             { |             { | ||||||
|               type: 'pie', |               type: 'pie', | ||||||
|               radius: ['50%', '66%'], |               radius: ['50%', '66%'], | ||||||
|               labelLine:{ |               labelLine:{ | ||||||
|                 normal:{ |                 normal:{ | ||||||
|                   length: 0.01, |                   length: 2, | ||||||
|                   lineStyle: { |                   lineStyle: { | ||||||
|                     color: '#526D7A' |                     color: '#526D7A' | ||||||
|                   } |                   } | ||||||
| @@ -472,6 +569,20 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|  |     computed: { | ||||||
|  |       tableConfig () { | ||||||
|  |         return this.tableData.map((v, index) => { | ||||||
|  |           return { | ||||||
|  |             color: '#d0e1e8', | ||||||
|  |             textAlign: '', | ||||||
|  |             width: index === 0 ? '100' : '', | ||||||
|  |             fontSize: '14px', | ||||||
|  |             flex: '' | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     methods: { |     methods: { | ||||||
|       Hex2RGBA(color, alpha = 1) { |       Hex2RGBA(color, alpha = 1) { | ||||||
|         let hex = 0; |         let hex = 0; | ||||||
| @@ -697,8 +808,15 @@ | |||||||
|       } |       } | ||||||
|  |  | ||||||
|       .right-right { |       .right-right { | ||||||
|  |         display: flex; | ||||||
|  |         flex-direction: column; | ||||||
|         flex: 1; |         flex: 1; | ||||||
|  |  | ||||||
|  |         .bottom { | ||||||
|  |           padding-top: 16px; | ||||||
|  |           overflow: hidden; | ||||||
|  |         } | ||||||
|  |  | ||||||
|         .right-right__top { |         .right-right__top { | ||||||
|           display: flex; |           display: flex; | ||||||
|           margin-bottom: 16px; |           margin-bottom: 16px; | ||||||
|   | |||||||
| @@ -1,22 +1,902 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="AppQxnEventDv"></div> |   <div class="AppQxnDv"> | ||||||
|  |     <div class="left"> | ||||||
|  |       <AiDvPanel style="width: 100%" border="border6" title="单位列表"> | ||||||
|  |       <div class="left-list"> | ||||||
|  |         <div class="left-item" v-for="(item, index) in 16" :key="index"> | ||||||
|  |           <i>{{ index + 1 }}</i> | ||||||
|  |           <div class="left-item__top"> | ||||||
|  |             <h2>黔西南州公安局</h2> | ||||||
|  |             <el-select v-model="value" size="mini" placeholder="请选择派出所"> | ||||||
|  |               <el-option label="南京派出所" value="1"></el-option> | ||||||
|  |               <el-option label="北京派出所" value="2"></el-option> | ||||||
|  |               <el-option label="长安派出所" value="3"></el-option> | ||||||
|  |             </el-select> | ||||||
|  |           </div> | ||||||
|  |           <div class="left-item__bottom"> | ||||||
|  |             <span>居民数量:17246</span> | ||||||
|  |             <span>成员:2057</span> | ||||||
|  |           </div> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       </AiDvPanel> | ||||||
|  |     </div> | ||||||
|  |     <div class="right"> | ||||||
|  |       <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"> | ||||||
|  |               <h2>全部人员数</h2> | ||||||
|  |               <div class="item-bottom"> | ||||||
|  |                 <span>726,079</span> | ||||||
|  |                 <i>人</i> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="wrapper"> | ||||||
|  |             <div class="AppQxnDv-title"> | ||||||
|  |               <h2>增长情况</h2> | ||||||
|  |             </div> | ||||||
|  |             <ai-echart-v2 | ||||||
|  |               style="height: 200px; width: 500px;" | ||||||
|  |               :ref="'chart'" | ||||||
|  |               :data="lineData" | ||||||
|  |               :ops="lineChart1"> | ||||||
|  |             </ai-echart-v2> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-left__middle"> | ||||||
|  |             <div class="left"> | ||||||
|  |               <div class="wrapper"> | ||||||
|  |                 <div class="AppQxnDv-title"> | ||||||
|  |                   <h2>覆盖率</h2> | ||||||
|  |                 </div> | ||||||
|  |                 <DoughnutChart :ratio="60"></DoughnutChart> | ||||||
|  |               </div> | ||||||
|  |               <div class="wrapper"> | ||||||
|  |                 <div class="AppQxnDv-title"> | ||||||
|  |                   <h2>群标签化率</h2> | ||||||
|  |                 </div> | ||||||
|  |                 <DoughnutChart :ratio="95"></DoughnutChart> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |             <div class="right wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>群标签情况</h2> | ||||||
|  |                 <el-select v-model="value" style="width: 92px" size="mini" placeholder="专属"> | ||||||
|  |                   <el-option label="XXX派出所" value="1"></el-option> | ||||||
|  |                   <el-option label="XXX派出所" value="2"></el-option> | ||||||
|  |                   <el-option label="XXX派出所" value="3"></el-option> | ||||||
|  |                 </el-select> | ||||||
|  |               </div> | ||||||
|  |               <ai-echart-v2 | ||||||
|  |                 style="height: 230px; width: 245px;" | ||||||
|  |                 :ref="'chart2'" | ||||||
|  |                 :data="lineData1" | ||||||
|  |                 :ops="barChart8"> | ||||||
|  |               </ai-echart-v2> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-left__bottom"> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>单位成员关系人数</h2> | ||||||
|  |               </div> | ||||||
|  |               <ai-echart-v2 | ||||||
|  |                 style="height: 220px; width: 100%;" | ||||||
|  |                 :ref="'chart2'" | ||||||
|  |                 :data="lineData1" | ||||||
|  |                 :ops="barChart8"> | ||||||
|  |               </ai-echart-v2> | ||||||
|  |             </div> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>群人数规模分布</h2> | ||||||
|  |               </div> | ||||||
|  |               <ai-echart-v2 | ||||||
|  |                 style="height: 180px; width: 100%; margin-top: 20px;" | ||||||
|  |                 :ref="'chart2'" | ||||||
|  |                 :data="lineData1" | ||||||
|  |                 :ops="pieChart"> | ||||||
|  |               </ai-echart-v2> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |         </AiDvPanel> | ||||||
|  |       </div> | ||||||
|  |       <div class="right-middle"> | ||||||
|  |         <AiDvPanel style="width: 100%" border="border6" title="综合概况图"> | ||||||
|  |           <div class="right-left__total AppQxnDv-total"> | ||||||
|  |             <div class="item" v-for="(item, index) in 5" :key="index"> | ||||||
|  |               <h2>分局数量</h2> | ||||||
|  |               <div class="item-bottom"> | ||||||
|  |                 <span>726,079</span> | ||||||
|  |                 <i>人</i> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="wrapper"> | ||||||
|  |             <DvMap style="width: 100%; height: 356px;"></DvMap> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-middle__middle"> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>成员激活</h2> | ||||||
|  |               </div> | ||||||
|  |               <DoughnutChart :ratio="95"></DoughnutChart> | ||||||
|  |             </div> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>日均活跃率</h2> | ||||||
|  |               </div> | ||||||
|  |               <DoughnutChart :ratio="95"></DoughnutChart> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-middle__bottom"> | ||||||
|  |             <div class="AppQxnDv-title"> | ||||||
|  |               <h2>近期成员使用分布</h2> | ||||||
|  |             </div> | ||||||
|  |             <ai-echart-v2 | ||||||
|  |               style="height: 220px; width: 100%;" | ||||||
|  |               :ref="'chart'" | ||||||
|  |               :data="lineData" | ||||||
|  |               :ops="lineChart1"> | ||||||
|  |             </ai-echart-v2> | ||||||
|  |           </div> | ||||||
|  |         </AiDvPanel> | ||||||
|  |       </div> | ||||||
|  |       <div class="right-right"> | ||||||
|  |         <AiDvPanel style="height: auto;" border="border6" title="微警务群概况"> | ||||||
|  |           <div class="right-left__total AppQxnDv-total"> | ||||||
|  |             <div class="item" v-for="(item, index) in 4" :key="index"> | ||||||
|  |               <h2>群动态概况</h2> | ||||||
|  |               <div class="item-bottom"> | ||||||
|  |                 <span>726,079</span> | ||||||
|  |                 <i>人</i> | ||||||
|  |               </div> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-right__top"> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>群活跃率(7日)</h2> | ||||||
|  |               </div> | ||||||
|  |               <DoughnutChart :ratio="95"></DoughnutChart> | ||||||
|  |             </div> | ||||||
|  |             <div class="wrapper"> | ||||||
|  |               <div class="AppQxnDv-title"> | ||||||
|  |                 <h2>人员活跃(7日)</h2> | ||||||
|  |               </div> | ||||||
|  |               <DoughnutChart :ratio="95"></DoughnutChart> | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="right-left__middle"> | ||||||
|  |             <div class="AppQxnDv-title"> | ||||||
|  |               <h2>各单位群主及群分布</h2> | ||||||
|  |             </div> | ||||||
|  |             <ai-echart-v2 | ||||||
|  |               style="height: 210px; width: 100%;" | ||||||
|  |               :ref="'chart5'" | ||||||
|  |               :data="barData" | ||||||
|  |               :ops="barChart"> | ||||||
|  |             </ai-echart-v2> | ||||||
|  |           </div> | ||||||
|  |         </AiDvPanel> | ||||||
|  |         <AiDvPanel class="bottom" style="" border="border6" title="群动态多维度排行"> | ||||||
|  |           <AiDvTable | ||||||
|  |             :heigth="'100%'" | ||||||
|  |             stripe="1" | ||||||
|  |             :headerStyle="{ | ||||||
|  |               color: '#02FEFF', | ||||||
|  |               fontSize: '12px', | ||||||
|  |               fontWeight: '600', | ||||||
|  |               backgroundColor: 'rgba(33, 180, 253, 0.1)' | ||||||
|  |             }" | ||||||
|  |             isShowIndex="1" | ||||||
|  |             :config="tableConfig" | ||||||
|  |             :data="tableData"> | ||||||
|  |           </AiDvTable> | ||||||
|  |         </AiDvPanel> | ||||||
|  |       </div> | ||||||
|  |     </div> | ||||||
|  |   </div> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
|  |   import DvMap from './components/DvMap' | ||||||
|  |   import DoughnutChart from './components/DoughnutChart' | ||||||
|   export default { |   export default { | ||||||
|     name: 'AppQxnEventDv', |     name: 'AppQxnEventDv', | ||||||
|     label: '事件上报', |     label: '事件上报', | ||||||
|  |  | ||||||
|  |     components: { | ||||||
|  |       DvMap, | ||||||
|  |       DoughnutChart | ||||||
|  |     }, | ||||||
|  |  | ||||||
|     data ()  { |     data ()  { | ||||||
|       return { |       return { | ||||||
|  |         value: '', | ||||||
|  |         lineData: [ | ||||||
|  |           { | ||||||
|  |             "name": "阿斯达", | ||||||
|  |             "v1": 23, | ||||||
|  |             "v2": 33 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "水电费", | ||||||
|  |             "v1": 12, | ||||||
|  |             "v2": 34 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "凡哥", | ||||||
|  |             "v1": 67, | ||||||
|  |             "v2": 25 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "党费", | ||||||
|  |             "v1": 98, | ||||||
|  |             "v2": 85 | ||||||
|  |           } | ||||||
|  |         ], | ||||||
|  |         lineData1: [ | ||||||
|  |           { | ||||||
|  |             "name": "1月", | ||||||
|  |             "v1": 23 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "2月", | ||||||
|  |             "v1": 12 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "3月", | ||||||
|  |             "v1": 67 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "4月", | ||||||
|  |             "v1": 98 | ||||||
|  |           } | ||||||
|  |         ], | ||||||
|  |         tableData: [ | ||||||
|  |           { | ||||||
|  |             name: '姓名', | ||||||
|  |             v1: '宗梦瑞', | ||||||
|  |             v2: '宗梦瑞', | ||||||
|  |             v3: '宗梦瑞', | ||||||
|  |             v4: '宗梦瑞', | ||||||
|  |             v5: '宗梦瑞', | ||||||
|  |             v6: '宗梦瑞', | ||||||
|  |             v7: '宗梦瑞', | ||||||
|  |             v8: '宗梦瑞', | ||||||
|  |             v9: '宗梦瑞', | ||||||
|  |             v10: '宗梦瑞' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '单位', | ||||||
|  |             v1: '宗梦瑞', | ||||||
|  |             v2: '宗梦瑞', | ||||||
|  |             v3: '宗梦瑞', | ||||||
|  |             v4: '宗梦瑞', | ||||||
|  |             v5: '宗梦瑞', | ||||||
|  |             v6: '宗梦瑞', | ||||||
|  |             v7: '宗梦瑞', | ||||||
|  |             v8: '宗梦瑞', | ||||||
|  |             v9: '宗梦瑞', | ||||||
|  |             v10: '宗梦瑞' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群数量', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群人员', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '新增群人员', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '有消息的群', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群聊人数', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             name: '群消息总数', | ||||||
|  |             v1: '12', | ||||||
|  |             v2: '12', | ||||||
|  |             v3: '123', | ||||||
|  |             v4: '123', | ||||||
|  |             v5: '123', | ||||||
|  |             v6: '123', | ||||||
|  |             v7: '2', | ||||||
|  |             v8: '123', | ||||||
|  |             v9: '123', | ||||||
|  |             v10: '1234' | ||||||
|  |           } | ||||||
|  |         ], | ||||||
|  |         lineChart1: { | ||||||
|  |           legend: { show: false }, | ||||||
|  |           tooltip: { | ||||||
|  |             trigger: 'axis', | ||||||
|  |             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||||
|  |             borderColor: 'rgba(0, 102, 154, 0.65)', | ||||||
|  |             textStyle: { color: '#fff' }, | ||||||
|  |             axisPointer: { type: 'cross' } | ||||||
|  |           }, | ||||||
|  |           color: ['#7AA3CC', '#33CCCC'], | ||||||
|  |           xAxis: { | ||||||
|  |             type: "category", | ||||||
|  |             axisTick: {show: false}, | ||||||
|  |             axisLine: {show: false}, | ||||||
|  |             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||||
|  |           }, | ||||||
|  |           yAxis: { | ||||||
|  |             nameGap: 23, | ||||||
|  |             minInterval: 1, | ||||||
|  |             splitLine: { lineStyle: { color: 'rgba(108, 128, 151, 0.3)', type: 'dashed' } }, | ||||||
|  |             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||||
|  |             axisPointer: { snap: true } | ||||||
|  |           }, | ||||||
|  |           daemon: (color) => ({ | ||||||
|  |             showSymbol: false, | ||||||
|  |             smooth: true, | ||||||
|  |             lineStyle: { | ||||||
|  |               shadowBlur: 4, | ||||||
|  |               shadowOffsetY: 2, | ||||||
|  |               width: 2 | ||||||
|  |             }, | ||||||
|  |             areaStyle: { | ||||||
|  |               color: { | ||||||
|  |                 type: 'linear', | ||||||
|  |                 x: 0, | ||||||
|  |                 x2: 0, | ||||||
|  |                 y: 0, | ||||||
|  |                 y2: 1, | ||||||
|  |                 colorStops: [ | ||||||
|  |                   { offset: 0, color: this.Hex2RGBA(color, 0.3) }, | ||||||
|  |                   { offset: 1, color: this.Hex2RGBA(color, 0.1) } | ||||||
|  |                 ] | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           }) | ||||||
|  |         }, | ||||||
|  |         barChart8: { | ||||||
|  |           legend: {show: false}, | ||||||
|  |           tooltip: { | ||||||
|  |             trigger: 'axis', | ||||||
|  |             backgroundColor: 'rgba(0, 102, 154, 0.65)', | ||||||
|  |             borderColor: 'rgba(0, 102, 154, 0.65)', | ||||||
|  |             textStyle: { color: '#fff' }, | ||||||
|  |             axisPointer: { type: 'cross' } | ||||||
|  |           }, | ||||||
|  |           yAxis: { | ||||||
|  |             type: 'category', | ||||||
|  |             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}, | ||||||
|  |           }, | ||||||
|  |           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)' | ||||||
|  |             }, | ||||||
|  |             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'}] | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         barChart: { | ||||||
|  |           xAxis: { | ||||||
|  |             type: "category", | ||||||
|  |             axisLabel: {color: '#8FABBF', fontSize: 12}, | ||||||
|  |           }, | ||||||
|  |           yAxis: { | ||||||
|  |             nameGap: 23, | ||||||
|  |             minInterval: 1, | ||||||
|  |             splitLine: { lineStyle: { color: 'rgba(255,255,255,.2)', type: 'dashed' } }, | ||||||
|  |             axisPointer: { show: false }, | ||||||
|  |             axisLabel: {color: '#8FABBF', fontSize: 12} | ||||||
|  |           }, | ||||||
|  |           axisPointer: { | ||||||
|  |             type: 'shadow', | ||||||
|  |             triggerTooltip: false, | ||||||
|  |             shadowStyle: { color: 'rgba(46, 153, 255, .2)' } | ||||||
|  |           }, | ||||||
|  |           color: [ | ||||||
|  |             { | ||||||
|  |               type: 'linear', | ||||||
|  |               x: 0, | ||||||
|  |               x2: 0, | ||||||
|  |               y: 0, | ||||||
|  |               y2: 1, | ||||||
|  |               colorStops: [ | ||||||
|  |                 { offset: 0, color: 'rgba(51, 204, 204, 1)' }, | ||||||
|  |                 { offset: 1, color: 'rgba(31, 89, 89, 0.25)' } | ||||||
|  |               ] | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |               type: 'linear', | ||||||
|  |               x: 0, | ||||||
|  |               x2: 0, | ||||||
|  |               y: 0, | ||||||
|  |               y2: 1, | ||||||
|  |               colorStops: [ | ||||||
|  |                 { offset: 0, color: 'rgba(219, 179, 110, 0.1)' }, | ||||||
|  |                 { offset: 1, color: 'rgba(219, 179, 110, 1)' } | ||||||
|  |               ] | ||||||
|  |             } | ||||||
|  |           ], | ||||||
|  |           daemon: { | ||||||
|  |             type: 'bar', | ||||||
|  |             barWidth: 14, | ||||||
|  |             barCategoryGap: 40, | ||||||
|  |             itemStyle: {} | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         barData: [ | ||||||
|  |           { | ||||||
|  |             "name": "兴仁公安局", | ||||||
|  |             "v1": 223, | ||||||
|  |             "v11": 23 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "兴仁公安局1", | ||||||
|  |             "v1": 22, | ||||||
|  |             "v11": 29 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "兴仁公安局2", | ||||||
|  |             "v1": 67, | ||||||
|  |             "v11": 23 | ||||||
|  |           }, | ||||||
|  |           { | ||||||
|  |             "name": "兴仁公安局3", | ||||||
|  |             "v1": 98, | ||||||
|  |             "v11": 23 | ||||||
|  |           } | ||||||
|  |         ], | ||||||
|  |         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' | ||||||
|  |           }, | ||||||
|  |           legend: { | ||||||
|  |             show: false | ||||||
|  |           }, | ||||||
|  |           grid: { | ||||||
|  |             left: '6%', | ||||||
|  |             top: '6%', | ||||||
|  |             right: '6%', | ||||||
|  |             bottom: '6%' | ||||||
|  |           }, | ||||||
|  |           color: ['#59F7CA', '#62F2F8', '#F2B949', '#81C4E4', '#D8F2FD'], | ||||||
|  |           series: [ | ||||||
|  |             { | ||||||
|  |               type: 'pie', | ||||||
|  |               radius: ['50%', '66%'], | ||||||
|  |               labelLine:{ | ||||||
|  |                 normal:{ | ||||||
|  |                   length: 2, | ||||||
|  |                   lineStyle: { | ||||||
|  |                     color: '#526D7A' | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               }, | ||||||
|  |               startAngle: 90, | ||||||
|  |               minAngle: 5, | ||||||
|  |               avoidLabelOverlap: true, | ||||||
|  |               label: { | ||||||
|  |                 show: true, | ||||||
|  |                 normal: { | ||||||
|  |                   textStyle: { | ||||||
|  |                     color: '#9BB7D4', | ||||||
|  |                     fontSize: 16 | ||||||
|  |                   } | ||||||
|  |                 } | ||||||
|  |               }, | ||||||
|  |               emphasis: { | ||||||
|  |                 itemStyle: { | ||||||
|  |                   shadowBlur: 10, | ||||||
|  |                   shadowOffsetX: 0, | ||||||
|  |                   shadowColor: 'rgba(0, 0, 0, 0.5)' | ||||||
|  |                 } | ||||||
|  |               } | ||||||
|  |             } | ||||||
|  |           ] | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     computed: { | ||||||
|  |       tableConfig () { | ||||||
|  |         return this.tableData.map((v, index) => { | ||||||
|  |           return { | ||||||
|  |             color: '#d0e1e8', | ||||||
|  |             textAlign: '', | ||||||
|  |             width: index === 0 ? '100' : '', | ||||||
|  |             fontSize: '14px', | ||||||
|  |             flex: '' | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |  | ||||||
|  |     methods: { | ||||||
|  |       Hex2RGBA(color, alpha = 1) { | ||||||
|  |         let hex = 0; | ||||||
|  |         if (color.charAt(0) == "#") { | ||||||
|  |           if (color.length == 4) { | ||||||
|  |             //检测诸如#FFF简写格式 | ||||||
|  |             color = "#" + color.charAt(1).repeat(2) + | ||||||
|  |                 color.charAt(2).repeat(2) + | ||||||
|  |                 color.charAt(3).repeat(2); | ||||||
|  |           } | ||||||
|  |           hex = parseInt(color.slice(1), 16); | ||||||
|  |         } | ||||||
|  |         let r = hex >> 16 & 0xFF; | ||||||
|  |         let g = hex >> 8 & 0xFF; | ||||||
|  |         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); | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <style lang="scss" scoped> | <style lang="scss" scoped> | ||||||
|   .AppQxnEventDv { |   .AppQxnDv { | ||||||
|  |     display: flex; | ||||||
|  |     height: 100%; | ||||||
|  |     padding-top: 16px; | ||||||
|  |     box-sizing: border-box; | ||||||
|  |     background: #0c0c0c; | ||||||
|  |     overflow: hidden; | ||||||
|  |  | ||||||
|  |     .wrapper { | ||||||
|  |       margin-bottom: 12px; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .AppQxnDv-title { | ||||||
|  |       display: flex; | ||||||
|  |       position: relative; | ||||||
|  |       align-items: center; | ||||||
|  |       justify-content: space-between; | ||||||
|  |       height: 30px; | ||||||
|  |       line-height: 30px; | ||||||
|  |       color: rgba(172, 201, 230, 0.8); | ||||||
|  |       background-image: linear-gradient(270deg, rgba(31, 67, 102, 0) 0%, rgba(31, 67, 102, 0.25) 100%); | ||||||
|  |  | ||||||
|  |       h2 { | ||||||
|  |         position: relative; | ||||||
|  |         font-size: 16px; | ||||||
|  |         font-weight: 500; | ||||||
|  |         padding: 0 10px; | ||||||
|  |  | ||||||
|  |         &::after { | ||||||
|  |           position: absolute; | ||||||
|  |           bottom: 0; | ||||||
|  |           left: 27px; | ||||||
|  |           z-index: 1; | ||||||
|  |           width: 9px; | ||||||
|  |           height: 2px; | ||||||
|  |           background: rgba(41, 77, 102, 1); | ||||||
|  |           content: ' '; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &::after { | ||||||
|  |         position: absolute; | ||||||
|  |         bottom: 0; | ||||||
|  |         left: 0; | ||||||
|  |         z-index: 1; | ||||||
|  |         width: 9px; | ||||||
|  |         height: 2px; | ||||||
|  |         background: #5299CC; | ||||||
|  |         content: ' '; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       &::before { | ||||||
|  |         position: absolute; | ||||||
|  |         bottom: 0; | ||||||
|  |         left: 14px; | ||||||
|  |         z-index: 1; | ||||||
|  |         width: 9px; | ||||||
|  |         height: 2px; | ||||||
|  |         background: rgba(41, 77, 102, 1); | ||||||
|  |         content: ' '; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     .AppQxnDv-total { | ||||||
|  |       display: flex; | ||||||
|  |       align-items: center; | ||||||
|  |       margin-bottom: 16px; | ||||||
|  |  | ||||||
|  |       .item { | ||||||
|  |         display: flex; | ||||||
|  |         align-items: center; | ||||||
|  |         justify-content: center; | ||||||
|  |         flex-direction: column; | ||||||
|  |         flex: 1; | ||||||
|  |  | ||||||
|  |         h2 { | ||||||
|  |           margin-bottom: 10px; | ||||||
|  |           font-size: 14px; | ||||||
|  |           font-weight: 500; | ||||||
|  |           color: #FFFFFF; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         .item-bottom { | ||||||
|  |           display: flex; | ||||||
|  |           align-items: baseline; | ||||||
|  |  | ||||||
|  |           span { | ||||||
|  |             font-weight: 700; | ||||||
|  |             font-size: 18px; | ||||||
|  |             color: #02FEFF; | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           i { | ||||||
|  |             margin-left: 4px; | ||||||
|  |             font-style: normal; | ||||||
|  |             color: rgba(255, 255, 255, 0.5); | ||||||
|  |             font-size: 12px; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     :deep(.el-select) { | ||||||
|  |       height: 24px; | ||||||
|  |       line-height: 24px; | ||||||
|  |  | ||||||
|  |       input { | ||||||
|  |         width: 100%; | ||||||
|  |         height: 24px; | ||||||
|  |         line-height: 24px; | ||||||
|  |         padding: 0 26px 0 6px; | ||||||
|  |         font-size: 12px; | ||||||
|  |         color: rgba(179, 229, 229, 1); | ||||||
|  |         border: 1px solid #2A7A92; | ||||||
|  |         border-radius: 2px; | ||||||
|  |         background: transparent; | ||||||
|  |  | ||||||
|  |         &::placeholder { | ||||||
|  |           color: rgba(179, 229, 229, 0.6); | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       .el-input__suffix { | ||||||
|  |         right: 1px; | ||||||
|  |         top: 0px; | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       i { | ||||||
|  |         color: #B3E5E5; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ::-webkit-scrollbar { | ||||||
|  |       width: 5px; | ||||||
|  |       height: 14px; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ::-webkit-scrollbar-corner { | ||||||
|  |       background: transparent; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ::-webkit-scrollbar-thumb { | ||||||
|  |       min-height: 20px; | ||||||
|  |       background-clip: content-box; | ||||||
|  |       box-shadow: 0 0 0 5px rgba(116, 148, 170, 0.5) inset; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     ::-webkit-scrollbar-track { | ||||||
|  |       box-shadow: 1px 1px 5px rgba(116, 148, 170, 0.5) inset; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     * { | ||||||
|  |       box-sizing: border-box; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     & > .right { | ||||||
|  |       display: flex; | ||||||
|  |       flex: 1; | ||||||
|  |  | ||||||
|  |       .right-left { | ||||||
|  |         width: 500px; | ||||||
|  |  | ||||||
|  |         .right-left__middle { | ||||||
|  |           display: flex; | ||||||
|  |  | ||||||
|  |           .left { | ||||||
|  |             width: 245px; | ||||||
|  |             margin-right: 12px; | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           .right { | ||||||
|  |             flex: 1; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         .right-left__bottom { | ||||||
|  |           display: flex; | ||||||
|  |  | ||||||
|  |           div { | ||||||
|  |             flex: 1; | ||||||
|  |  | ||||||
|  |             &:first-child { | ||||||
|  |               margin-right: 12px; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |       .right-middle { | ||||||
|  |         width: 522px; | ||||||
|  |         margin: 0 20px; | ||||||
|  |  | ||||||
|  |         .right-middle__middle { | ||||||
|  |           display: flex; | ||||||
|  |           justify-content: space-between; | ||||||
|  |           margin-bottom: 16px; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       .right-right { | ||||||
|  |         display: flex; | ||||||
|  |         flex-direction: column; | ||||||
|  |         flex: 1; | ||||||
|  |  | ||||||
|  |         .bottom { | ||||||
|  |           padding-top: 16px; | ||||||
|  |           overflow: hidden; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         .right-right__top { | ||||||
|  |           display: flex; | ||||||
|  |           margin-bottom: 16px; | ||||||
|  |  | ||||||
|  |           & > div { | ||||||
|  |             flex: 1; | ||||||
|  |  | ||||||
|  |             &:first-child { | ||||||
|  |               margin-right: 12px; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     & > .left { | ||||||
|  |       display: flex; | ||||||
|  |       align-items: center; | ||||||
|  |       flex-direction: column; | ||||||
|  |       width: 240px; | ||||||
|  |       margin-right: 14px; | ||||||
|  |  | ||||||
|  |       .left-list { | ||||||
|  |         flex: 1; | ||||||
|  |         overflow-y: auto; | ||||||
|  |  | ||||||
|  |         .left-item { | ||||||
|  |           position: relative; | ||||||
|  |           width: 100%; | ||||||
|  |           margin-bottom: 10px; | ||||||
|  |           padding: 30px 14px 14px; | ||||||
|  |           background-image: linear-gradient(0deg, rgba(40, 182, 253, 0.08) 1%, rgba(0, 102, 154, 0.65) 100%); | ||||||
|  |           border-radius: 6px; | ||||||
|  |  | ||||||
|  |           i { | ||||||
|  |             position: absolute; | ||||||
|  |             left: 0; | ||||||
|  |             top: 0; | ||||||
|  |             width: 22px; | ||||||
|  |             height: 21px; | ||||||
|  |             line-height: 21px; | ||||||
|  |             text-align: center; | ||||||
|  |             font-weight: 600; | ||||||
|  |             font-style: normal; | ||||||
|  |             font-size: 14px; | ||||||
|  |             color: #FFFFFF; | ||||||
|  |             background-image: linear-gradient(177deg, #02eeee66 0%, #0190d866 100%); | ||||||
|  |             border-radius: 6px 0 6px 0; | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           .left-item__bottom { | ||||||
|  |             display: flex; | ||||||
|  |             align-items: center; | ||||||
|  |             justify-content: space-between; | ||||||
|  |  | ||||||
|  |             span { | ||||||
|  |               color: #fff; | ||||||
|  |               font-weight: 600; | ||||||
|  |               font-size: 12px; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |  | ||||||
|  |           .left-item__top { | ||||||
|  |             display: flex; | ||||||
|  |             align-items: center; | ||||||
|  |             justify-content: space-between; | ||||||
|  |             margin-bottom: 10px; | ||||||
|  |  | ||||||
|  |             .el-select { | ||||||
|  |               width: 100px; | ||||||
|  |             } | ||||||
|  |  | ||||||
|  |             h2 { | ||||||
|  |               font-weight: 600; | ||||||
|  |               font-size: 14px; | ||||||
|  |               color: #FFFFFF; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| </style> | </style> | ||||||
|   | |||||||
| @@ -87,7 +87,7 @@ export default { | |||||||
|                   normal: { |                   normal: { | ||||||
|                     show: true, |                     show: true, | ||||||
|                     color: '#fff', |                     color: '#fff', | ||||||
|                     fontSize: '15' |                     fontSize: '14' | ||||||
|                   } |                   } | ||||||
|                 }, |                 }, | ||||||
|                 itemStyle: { |                 itemStyle: { | ||||||
|   | |||||||
| @@ -91,15 +91,15 @@ export default { | |||||||
|             } |             } | ||||||
|           } |           } | ||||||
|         }, |         }, | ||||||
|         legend, series, ...options, |  | ||||||
|         color: colors, |  | ||||||
|         grid: { |         grid: { | ||||||
|           left: '0%', |           left: '0%', | ||||||
|           right: '0%', |           right: '0%', | ||||||
|           bottom: '0%', |           bottom: '0%', | ||||||
|           top: '40px', |           top: '26px', | ||||||
|           containLabel: true |           containLabel: true | ||||||
|         } |         }, | ||||||
|  |         legend, series, ...options, | ||||||
|  |         color: colors | ||||||
|       } |       } | ||||||
|       return ops |       return ops | ||||||
|     }, |     }, | ||||||
| @@ -197,7 +197,6 @@ export default { | |||||||
|   }, |   }, | ||||||
|   mounted() { |   mounted() { | ||||||
|     this.$nextTick(() => { |     this.$nextTick(() => { | ||||||
|     console.log(this.$refs[this.AiEchart]) |  | ||||||
|       this.watchResize() |       this.watchResize() | ||||||
|       this.initChart() |       this.initChart() | ||||||
|       this.getChartData() |       this.getChartData() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user