From 1fe0f94c2cbb9b20dcb49856ee49a88b448a96ab Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期三, 13 十一月 2024 09:12:18 +0800 Subject: [PATCH] ll --- screen/src/views/SecurityControl.vue | 199 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 188 insertions(+), 11 deletions(-) diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue index 8afd905..2d36499 100644 --- a/screen/src/views/SecurityControl.vue +++ b/screen/src/views/SecurityControl.vue @@ -105,7 +105,40 @@ </div> </div> <div class="center_box"> - <div class="center_box_one"> + <div v-if="showJk" class="jiankong"> + <img class="jk_bg" src="@/assets/images/SecurityControl/jiankong_bg@2x.png" alt=""> + <div class="content"> + <div class="video"></div> + </div> + <div class="right_wrap"> + <div class="menus"> + <div class="search_wrap"> + <img class="search" src="@/assets/images/SecurityControl/ic_search@2x.png" alt=""> + <input class="input" type="text" placeholder="鎼滅储鐩戞帶鍚嶇О"> + </div> + <div class="menu_wrap"> + <div class="menu" v-for="menu,i in jkList"> + <div class="menu_name" @click="menuClick(i)"> + <div class="name">{{ menu.name }}</div> + <img v-if="activeJkIndex == i" class="open" src="@/assets/images/SecurityControl/ar_close@2x.png" alt=""> + <img v-else class="icon" src="@/assets/images/SecurityControl/ar_open@2x.png" alt=""> + </div> + <div v-if="activeJkIndex == i" class="list"> + <div class="item" @click="menuItemClick(item.name)" v-for="item in menu.childen"> + <img v-if="activeMenu == item.name" class="icon" src="@/assets/images/SecurityControl/ic_jiankong_sel@2x.png" alt=""> + <img v-else class="icon" src="@/assets/images/SecurityControl/ic_jiankon.png" alt=""> + <span :class="{active: activeMenu == item.name}">{{ item.name }}</span> + </div> + </div> + </div> + + </div> + + </div> + </div> + + </div> + <div v-else class="center_box_one"> <div class="list"> <div class="item"> <div class="name_wrap"> @@ -333,10 +366,11 @@ </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 class="monitoring" @click="showJk = !showJk"> + <img src="@/assets/images/SecurityControl/ic_jiankong@2x.png" class="icon" alt=""> <div>鐩戞帶鍒楄〃</div> - <img src="@/assets/images/SecurityControl/jiankong_ic_open@2x.png" class="top" alt=""> + <img v-if="showJk" src="@/assets/images/SecurityControl/jiankong_ic_close@2x.png" class="top" alt=""> + <img v-else src="@/assets/images/SecurityControl/jiankong_ic_open@2x.png" class="top" alt=""> </div> <div class="content"> <div class="sa_static"> @@ -432,6 +466,43 @@ time.value = dayjs().format('HH:mm:ss') }, 1000) + +const showJk = ref(true) +const activeJkIndex = ref(0) +const activeMenu = ref('') +const jkList = ref([ + { + name: '鏈堝彴鍖�', + childen: [ + { name: '鏈堝彴1', id: 0 }, + { name: '鏈堝彴2', id: 0 }, + { name: '鏈堝彴3', id: 0 }, + ] + }, + { + name: '鍔炲叕妤�', + childen: [] + }, + { + name: '鍘傛埧', + childen: [] + }, + { + name: '澶ч棬', + childen: [] + }, +]) +const menuClick = (val) => { + if (val == activeJkIndex.value) { + activeJkIndex.value = -1 + } else { + activeJkIndex.value = val + } +} +const menuItemClick = (val) => { + activeMenu.value = val +} + const arr = ['#68e2e3', '#50afd3', '#377cdb', '#d5ae3a'] const initEnergy = () => { @@ -595,10 +666,10 @@ color: '#61d3f9' }])] const data = [] - data.push({ name: '寰呰闂�', value: data4.value.waitVisitNum,rate: data4.value.waitVisitRata }) - data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum,rate: data4.value.registerVisitRata }) - data.push({ name: '宸茬寮�', value: data4.value.levelNum,rate: data4.value.levelRata }) - data.push({ name: '婊炵暀', value: data4.value.retentionNum,rate: data4.value.retentionRata }) + data.push({ name: '寰呰闂�', value: data4.value.waitVisitNum, rate: data4.value.waitVisitRata }) + data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum, rate: data4.value.registerVisitRata }) + data.push({ name: '宸茬寮�', value: data4.value.levelNum, rate: data4.value.levelRata }) + data.push({ name: '婊炵暀', value: data4.value.retentionNum, rate: data4.value.retentionRata }) const option = { color: colors, tooltip: { @@ -749,7 +820,7 @@ const getData4 = () => { afgetVisitData().then(res => { const result = res.data || {} - dataList4.value = result + data4.value = result initEchart3() }) } @@ -760,7 +831,7 @@ getData2() getData3() getData4() - + // initEchart1() }) @@ -970,6 +1041,109 @@ .center_box { flex: 1; margin: 0 20px; + + .jiankong { + margin: 0 48px; + display: flex; + height: calc(100% - 40px); + position: relative; + + .jk_bg { + width: 100%; + height: 100%; + position: absolute; + z-index: -1; + } + + .content { + flex: 1; + /* height: calc( 100% - 30px ); */ + padding: 16px 0px 32px 20px; + + .video { + height: 100%; + border: 1px solid; + } + } + + .right_wrap { + margin-left: 15px; + width: 250px; + padding: 16px 20px 32px 0; + + .menus { + height: 100%; + background: #002A42; + border: 1px solid rgba(1, 171, 254, 0.8); + padding: 15px; + + .search_wrap { + display: flex; + align-items: center; + box-shadow: inset 0px 0px 6px 0px rgba(1, 171, 254, 0.5); + border-radius: 2px; + border: 1px solid rgba(1, 171, 254, 0.8); + height: 34px; + line-height: 34px; + padding-left: 12px; + + .search { + width: 12px; + height: 12px; + margin-right: 3px; + } + + .input { + flex: 1; + font-size: 14px; + } + } + + .menu_wrap { + margin-top: 15px; + + .menu { + .menu_name { + display: flex; + justify-content: space-between; + align-items: center; + height: 34px; + border-bottom: 2px solid rgba(210, 224, 255, 0.2); + cursor: pointer; + .name {} + + .icon { + width: 8px; + } + .open{ + width: 14px; + } + } + + .list { + .item { + display: flex; + align-items: center; + height: 34px; + margin-left: 10px; + cursor: pointer; + color: #D2E0FF; + .icon{ + width: 15px; + height: 14px; + margin-right: 8px; + } + .active{ + color: #01D9FE; + } + } + } + } + } + } + } + + } .center_box_one { padding: 8px 60px; @@ -1425,6 +1599,7 @@ .monitoring { position: absolute; + cursor: pointer; top: -60px; right: 0; display: flex; @@ -1439,7 +1614,9 @@ border: 1px solid rgba(12, 153, 236, 0.68); .icon { - width: 30px; + width: 16px; + height: 16px; + margin-right: 4px; } .top { -- Gitblit v1.9.3