From 522877ae5bddcb27699b893c27f149d6a3c7e408 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期五, 15 十一月 2024 18:29:02 +0800 Subject: [PATCH] ll --- screen/src/views/SecurityControl.vue | 143 +++++++++++++++++++++++++++++++---------------- 1 files changed, 95 insertions(+), 48 deletions(-) diff --git a/screen/src/views/SecurityControl.vue b/screen/src/views/SecurityControl.vue index 282403c..c13e8f9 100644 --- a/screen/src/views/SecurityControl.vue +++ b/screen/src/views/SecurityControl.vue @@ -43,7 +43,7 @@ <div class="rate"> <div class="la"> <span>杞︿綅浣跨敤鐜�</span> - <span v-if="data.inParkCarTotal && data.parkingLotTotal" class="num">{{ data.parkingUseRate }}%</span> + <span class="num">{{ data.parkingUseRate }}%</span> </div> <div class="val"> <Percent :rate="data.parkingUseRate" /> @@ -88,7 +88,8 @@ <div class="car_static"> <div class="echart_wrap"> <div class="pie_text"> - <div class="fs30"><strong v-if="data.visitJobCarTotal || data.visitJobCarTotal == 0">{{ data.internalJobCarTotal + + <div class="fs30"><strong v-if="data.visitJobCarTotal || data.visitJobCarTotal == 0">{{ + data.internalJobCarTotal + data.relatedJobCarTotal + data.visitJobCarTotal }}</strong></div> <div>璐ц溅</div> </div> @@ -116,7 +117,8 @@ <div class="menus"> <div class="search_wrap"> <img class="search" src="@/assets/images/SecurityControl/ic_search@2x.png" alt=""> - <input v-model="dataValue5" @blur="getData5" @keyup.enter="getData5" class="input" type="text" placeholder="鎼滅储鐩戞帶鍚嶇О"> + <input v-model="dataValue5" @blur="getData5" @keyup.enter="getData5" class="input" type="text" + placeholder="鎼滅储鐩戞帶鍚嶇О"> </div> <div class="menu_wrap"> <div class="menu" v-for="menu, i in data5"> @@ -322,24 +324,45 @@ </div> <img src="@/assets/images/title@2x.png" class="bg" alt="" /> </div> - <div class="list one-swiper"> - <div class="swiper-wrapper"> - <div class="one-swiper-slide swiper-slide item" v-for="item in warningList"> - <div class="item_wrap"> - <img :src="item.img" class="avatar" alt=""> - <div class="content"> - <div class="header"> - <div class="name">{{ item.title }}</div> - <div class="have_time">宸茬粡鍙戠敓{{ item.haveTime }}</div> - </div> - <div class="wrap"> - <div class="line addr"> - <img class="icon" src="@/assets/images/SecurityControl/xiaofang_ic_weizhi@2x.png" alt=""> - <span>{{ item.addr }}</span> + <div class="one_swiper_wrap"> + <div class="list one-swiper"> + <div class="swiper-wrapper"> + <div class="one-swiper-slide swiper-slide item" v-for="item in warningList"> + <div class="item_wrap"> + <img :src="item.img" class="avatar" alt=""> + <div class="content"> + <div class="header"> + <div class="name">{{ item.title }}</div> + <div class="have_time">宸茬粡鍙戠敓{{ item.haveTime }}</div> </div> - <div class="line time"> - <img class="icon" src="@/assets/images/SecurityControl/clock.png" alt=""> - <span>{{ item.createDate }}</span> + <div class="wrap"> + <div class="line addr"> + <img class="icon" src="@/assets/images/SecurityControl/xiaofang_ic_weizhi@2x.png" alt=""> + <span>{{ item.addr }}</span> + </div> + <div class="line time"> + <img class="icon" src="@/assets/images/SecurityControl/clock.png" alt=""> + <span>{{ item.createDate }}</span> + </div> + </div> + </div> + </div> + <div v-if="item.title0 && item.createDate0" class="item_wrap"> + <img :src="item.img0" class="avatar" alt=""> + <div class="content"> + <div class="header"> + <div class="name">{{ item.title0 }}</div> + <div class="have_time">宸茬粡鍙戠敓{{ item.haveTime0 }}</div> + </div> + <div class="wrap"> + <div class="line addr"> + <img class="icon" src="@/assets/images/SecurityControl/xiaofang_ic_weizhi@2x.png" alt=""> + <span>{{ item.addr0 }}</span> + </div> + <div class="line time"> + <img class="icon" src="@/assets/images/SecurityControl/clock.png" alt=""> + <span>{{ item.createDate0 }}</span> + </div> </div> </div> </div> @@ -347,6 +370,7 @@ </div> </div> </div> + </div> <div class="garden_warning"> <div class="com_header"> @@ -425,7 +449,7 @@ <div class="dept">鎷滆閮ㄩ棬</div> <div class="dept">瓒呮椂鏃堕暱</div> </div> - <div class="three-swiper list"> + <div v-if="dataList3.length > 0" class="three-swiper list"> <div class="swiper-wrapper"> <div class="item swiper-slide three-swiper-slide" v-for="item in dataList3"> <div class="line"> @@ -437,7 +461,9 @@ </div> </div> </div> - + <div class="empty_wrap"> + <img v-if="dataList3.length == 0" src="@/assets/images/default_empty.png" alt=""> + </div> </div> </div> </div> @@ -643,9 +669,9 @@ }])] const data = [] data.push({ name: '寰呰闂�', value: data4.value.waitVisitNum, rate: data4.value.waitVisitNum / data4.value.total }) - data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum, rate: data4.value.registerVisitNum / data4.value.total }) - data.push({ name: '宸茬寮�', value: data4.value.levelNum, rate: data4.value.levelNum / data4.value.total }) - data.push({ name: '婊炵暀', value: data4.value.retentionNum, rate: data4.value.retentionNum / data4.value.total }) + data.push({ name: '宸茬櫥璁�', value: data4.value.registerVisitNum, rate: data4.value.registerVisitNum / data4.value.total }) + data.push({ name: '宸茬寮�', value: data4.value.levelNum, rate: data4.value.levelNum / data4.value.total }) + data.push({ name: '婊炵暀', value: data4.value.retentionNum, rate: data4.value.retentionNum / data4.value.total }) const option = { color: colors, tooltip: { @@ -683,6 +709,9 @@ gap: 4, label: { show: false, + formatter: '', + lineHeight: 0, + position: 'inside' }, tooltip: { trigger: 'none', // 褰撻紶鏍囨偓娴湪鏌愪釜鏁版嵁椤逛笂鏃惰Е鍙� @@ -798,10 +827,10 @@ const data4 = ref({}) const getData3 = () => { visitSecurityData().then(res => { - if( !res.code == 200) return + if (!res.code == 200) return data4.value = res.data || {} let obj = data4.value - data4.value.total = obj.levelNum + obj.retentionNum + obj.registerVisitNum + obj.waitVisitNum + data4.value.total = obj.levelNum + obj.retentionNum + obj.registerVisitNum + obj.waitVisitNum const result = res.data.visitRetentionDataList || [] dataList3.value = result.map(i => { if (i.timeOutMinute) { @@ -861,7 +890,23 @@ item.haveTime = dayjs.duration(new Date().getTime() - new Date(item.createDate).getTime()).format('HH灏忔椂mm鍒嗛挓') return item }) - // loopFn1() + let temp = [] + warningList.value.forEach((item, i) => { + // console.log(i); + if (i == 0 || i % 2 == 0) { + console.log(i) + temp.push(item) + } else { + temp[temp.length - 1].addr0 = item.addr + temp[temp.length - 1].createDate0 = item.createDate + temp[temp.length - 1].haveTime0 = item.haveTime + temp[temp.length - 1].img0 = item.img + temp[temp.length - 1].title0 = item.title + } + }) + warningList.value = temp + // console.log('temp', warningList.value); + loopFn1() }) } const tasClick = (val) => { @@ -909,13 +954,10 @@ const loopFn1 = () => { var newSwiper1 = new Swiper('.one-swiper', { initialSlide: 0, - loop: true, // 寰幆妯″紡閫夐」 + // loop: true, // 寰幆妯″紡閫夐」 direction: 'vertical', //绔栫洿鏂瑰悜 - slidesPerView: 1, - slidesPerGroup: 2, - slidesPerColumn: 2, - // autoplay: { delay: 500, disableOnInteraction: false }, - autoplay: warningList.value.length > 2 ? { delay: 500, disableOnInteraction: false } : false, + slidesPerView: 2, + autoplay: warningList.value.length > 1 ? { delay: 4000, disableOnInteraction: false } : false, observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper }) } @@ -924,7 +966,7 @@ initialSlide: 0, direction: 'vertical', //绔栫洿鏂瑰悜 slidesPerView: 3, - autoplay: autoplayFlag(dataList2.value, 3, 2000), + autoplay: autoplayFlag(dataList2.value, 3, 4000), observer: true, //淇敼swiper鑷繁鎴栧瓙鍏冪礌鏃讹紝鑷姩鍒濆鍖杝wiper }) } @@ -1231,7 +1273,7 @@ .menu_wrap { margin-top: 15px; max-height: 440px; - overflow: auto; + overflow: hidden; .menu { .menu_name { @@ -1533,9 +1575,13 @@ margin-right: 20px; /* one-swiper */ + .one_swiper_wrap{ + height: 140px; + overflow: hidden; + } .list { - height: 124px; - overflow: auto; + height: 204px; + overflow: hidden; margin-top: 15px; scrollbar-width: none; display: flex; @@ -1543,24 +1589,25 @@ margin-left: 20px; .item { - width: 366px; - /* width: 50%; */ - float: left; + width: 736px; height: 102px !important; font-size: 13px; color: #D2E0FF; - margin-right: 10px; + display: flex; - &:nth-of-type(2n) { - margin-right: 0; - } - + /* border: 1px solid; */ .item_wrap { + width: 368px; height: 90px; padding: 10px; background: linear-gradient(270deg, rgba(1, 217, 254, 0) 0%, rgba(1, 217, 254, 0.19) 100%); border: 1px solid #006E81; display: flex; + margin-right: 10px; + + &:nth-of-type(2n) { + margin-right: 0; + } } @@ -1699,7 +1746,7 @@ .table { .list { height: 102px !important; - overflow: auto; + overflow: hidden; .item { height: 34px !important; @@ -1766,7 +1813,7 @@ .table { .list { height: 102px !important; - overflow: auto; + overflow: hidden; .item { height: 34px !important; -- Gitblit v1.9.3