From f9fd7c038b6405a69c5d070febebab0a59eb821b Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期五, 25 十月 2024 18:00:42 +0800 Subject: [PATCH] ll --- screen/src/views/SecurityControl.vue | 265 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 239 insertions(+), 26 deletions(-) diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue index 8c78854..5bd8fd1 100644 --- a/screen/src/views/SecurityControl.vue +++ b/screen/src/views/SecurityControl.vue @@ -58,20 +58,23 @@ </div> <div class="private_car"> <div class="item"> - <img src="" class="icon" alt=""> - <div class="num">20</div> <div class="name">鍛樺伐杞﹁締</div> + <div class="num">20</div> </div> <div class="item"> - <img src="" class="icon" alt=""> - <div class="num">20</div> <div class="name">鐩稿叧鏂硅溅杈�</div> + <div class="num num2">20</div> </div> <div class="item"> - <img src="" class="icon" alt=""> - <div class="num">20</div> + <div class="name">鏉ヨ杞﹁締</div> + <div class="num num3">20</div> </div> + </div> + <div class="section"> + <div class="item"></div> + <div class="item"></div> + <div class="item"></div> </div> <div class="second_title"> <div class="title"> @@ -236,6 +239,7 @@ </div> </div> </div> + <div class="echart3" id="echart3"></div> </div> <div class="right_box_two"> @@ -337,6 +341,11 @@ <div>鍥尯瀹夐槻璁惧</div> </div> <img src="@/assets/images/title@2x.png" class="bg" alt="" /> + </div> + <div class="monitoring"> + <img src="@/assets/images/SecurityControl/jiankong.png" class="icon" alt=""> + <div>鐩戞帶鍒楄〃</div> + <img src="@/assets/images/SecurityControl/jiankong_ic_open@2x.png" class="top" alt=""> </div> <div class="content"> <div class="sa_static"> @@ -568,9 +577,153 @@ myChart.resize() }) } +const initEchart3 = () => { + const myChart = echarts.init(document.getElementById('echart3')) + var colors = [ + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: '#7fe3fc' + }, + { + offset: 1, + color: '#9ce9fc' + }]), + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: '#64d7fa' + }, { + offset: 1, + color: '#7de3fc' + }]), + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: '#4679f6' + }, { + offset: 1, + color: '#4674f6' + }]), + new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ + offset: 0, + color: '#4370f2' + }, { + offset: 1, + color: '#61d3f9' + }])] + const option = { + color: colors, + tooltip: { + trigger: "axis", + axisPointer: { + type: "cross", + label: { + backgroundColor: "red" + }, + lineStyle: { + color: "#9eb2cb" + } + } + }, + + legend: { + show: false, + top: "top", + left: "2%", + textStyle: { + color: "#000" + }, + itemHeight: 2, + data: ['寰呰闂�', '宸茬櫥璁�', '宸茬寮�', '婊炵暀'] + }, + series: [ + { + type: 'funnel', + left: '15%', + right: '45%', + top: '10%', + bottom: '10%', + minSize: '20%', + maxSize: '80%', + gap: 4, + label: { + show: false, + }, + tooltip: { + trigger: 'none', // 褰撻紶鏍囨偓娴湪鏌愪釜鏁版嵁椤逛笂鏃惰Е鍙� + }, + itemStyle: { //鍘绘帀榛樿鐧借壊杈规绾� + borderWidth: 0, + borderColor: '#fff' + }, + data: [ + { value: 100, name: '寰呰闂�', }, + { value: 50, name: '宸茬櫥璁�' }, + { value: 20, name: '宸茬寮�' }, + { value: 30, name: '婊炵暀' }, + + ] + }, + { + type: 'funnel', + left: '15%', + right: '45%', + top: '10%', + bottom: '10%', + minSize: '80%', + maxSize: '80%', + gap: 4, + z: 1, + label: { + show: true, + position: 'outside', + formatter: '{a|{b}} {a|{c}%}', + rich: { + a: { + color: '#869CC9', + fontSize: 13 + }, + } + }, + labelLine: { + show: true, + normal: { + length: 80, + position: 'right', + lineStyle: { + width: 1, + type: 'dashed', + color: 'rgba(102, 160, 239,.5)' + } + }, + }, + itemStyle: { //鍘绘帀榛樿鐧借壊杈规绾� + borderWidth: 0, + borderColor: '#fff' + }, + itemStyle: { + normal: { + color: 'transparent', + borderWidth: 0, + opacity: 1 + } + }, + data: [ + { value: 100, name: '寰呰闂�', }, + { value: 50, name: '宸茬櫥璁�' }, + { value: 20, name: '宸茬寮�' }, + { value: 30, name: '婊炵暀' }, + + ] + }, + ] + } + myChart.setOption(option) + window.addEventListener('resize', function () { // 鎵ц + myChart.resize() + }) +} onMounted(() => { - // initEnergy() + initEchart3() initEchart1() initEchart2() }) @@ -586,6 +739,7 @@ .main_content { display: flex; padding: 20px 25px 0; + border: 1px solid; .left_box { width: 360px; @@ -604,7 +758,7 @@ .stall_static { display: flex; - margin-bottom: 40px; + margin-bottom: 60px; padding: 0 20px; .residue { @@ -645,31 +799,60 @@ } .private_car { - padding: 4px 32px; + padding: 4px 20px; display: flex; justify-content: space-between; - margin-bottom: 36px; + margin-bottom: 10px; .item { display: flex; flex-direction: column; - align-items: center; - .icon { - width: 52px; - height: 52px; - margin-bottom: 10px; - } - + /* align-items: center; */ .num { line-height: 28px; height: 28px; - margin-bottom: 2px; + margin-top: 4px; font-weight: bold; font-size: 18px; color: #01D9FE; } + .num2 { + color: #FEAF01; + } + + .num3 { + color: #09FACD; + } + + } + } + + .section { + margin: 0 auto; + display: flex; + align-items: center; + width: 320px; + height: 20px; + background: rgba(255, 255, 255, 0.1); + padding: 0 4px; + margin-bottom: 60px; + + .item { + height: 10px; + margin-right: 1px; + background-color: #63d6fa; + flex: 1; + + &:nth-of-type(2) { + background-color: #f2b23e; + } + + &:nth-last-child(1) { + margin-right: 0; + background-color: #73f6cf; + } } } @@ -847,7 +1030,7 @@ .visitor_list { display: flex; justify-content: space-between; - padding: 20px; + padding: 20px 20px 16px; .item { font-size: 12px; @@ -872,6 +1055,11 @@ background-color: #405173; margin: 0 24px; } + } + + .echart3 { + width: 100%; + height: 140px; } } @@ -1001,7 +1189,7 @@ margin-right: 20px; .list { - height: 147px; + height: 124px; overflow: auto; margin-top: 15px; scrollbar-width: none; @@ -1099,7 +1287,7 @@ .garden_warning { flex: 1; margin-right: 20px; - + position: relative; .content { display: flex; @@ -1117,7 +1305,7 @@ .pie_text { width: 82px; height: 82px; - border: 1px dashed rgba(1, 217, 254, 0.7); + box-shadow: inset 0px 0px 8px 0px #01D9FE; border-radius: 50%; position: absolute; @@ -1199,14 +1387,39 @@ } } + .monitoring { + position: absolute; + top: -60px; + right: 0; + display: flex; + align-items: center; + justify-content: center; + font-weight: 500; + font-size: 15px; + width: 134px; + height: 40px; + background: linear-gradient(180deg, #021F4A 0%, #054281 100%), linear-gradient(180deg, #011738 0%, rgba(5, 66, 129, 0.26) 100%), #00141F; + border-radius: 2px; + border: 1px solid rgba(12, 153, 236, 0.68); + .icon{ + width: 30px; + } + .top { + width: 12px; + height: 12px; + margin-left: 8px; + } + } + } .visitor_warning { width: 360px; - .table{ - .line{ - div{ - .dept{ + + .table { + .line { + div { + .dept { flex: 5; } } -- Gitblit v1.9.3