Merge branch 'master' of http://139.196.74.78:10010/r/drone/command-center-dashboard
1 files renamed
3 files modified
13 files added
| | |
| | | <script setup> |
| | | import CommonTitle from '@/components/CommonTitle.vue'; |
| | | import { wToR } from '@/utils/pxConver'; |
| | | import overviewImg1 from '@/assets/images/home/homeRight/overview1.png'; |
| | | import overviewImg2 from '@/assets/images/home/homeRight/overview2.png'; |
| | | import overviewImg3 from '@/assets/images/home/homeRight/overview3.png'; |
| | | import overviewImg4 from '@/assets/images/home/homeRight/overview4.png'; |
| | | import overviewImg5 from '@/assets/images/home/homeRight/overview5.png'; |
| | | import overviewImg6 from '@/assets/images/home/homeRight/overview6.png'; |
| | | |
| | | const list = ref([ |
| | | { name: '待审核', value: 265, img: overviewImg1, color: '#FF8E8E' }, |
| | | { name: '待分拨', value: 266, img: overviewImg2, color: '#6FCAFF' }, |
| | | { name: '待处理', value: 262, img: overviewImg3, color: '#6FCAFF' }, |
| | | { name: '处理中', value: 262, img: overviewImg4, color: '#FFD509' }, |
| | | { name: '已完成', value: 246, img: overviewImg5, color: '#FF8E8E' }, |
| | | { name: '已完结', value: 262, img: overviewImg6, color: '#8EFFAC' }, |
| | | ]); |
| | | </script> |
| | | |
| | | <template> |
| | | <CommonTitle title="事件概况" /> |
| | | <div class="eventOverview"></div> |
| | | <div :style="{ marginLeft: wToR(14) }"> |
| | | <div class="eventOverview"> |
| | | <div class="overviewData"> |
| | | <div class="totalBox"> |
| | | <div class="totalNumber">8096</div> |
| | | <div class="totalLabel">总事件数</div> |
| | | </div> |
| | | <div class="contentBox"> |
| | | <div class="overviewItem" v-for="item in list" :key="item.name"> |
| | | <div class="itemName"><img :src="item.img" alt="" />{{ item.name }}</div> |
| | | <div class="itemValue" :style="{ color: item.color }">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | border-radius: 0px 0px 0px 0px; |
| | | opacity: 0.85; |
| | | margin: hToV(3) 0 0 0; |
| | | padding-top: hToV(15); |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | |
| | | .overviewData { |
| | | width: 360px; |
| | | height: hToV(122); |
| | | background: url('@/assets/images/home/homeRight/overviewBg.png') no-repeat center / 100% 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding-left: 11px; |
| | | |
| | | .totalBox { |
| | | .totalNumber { |
| | | font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; |
| | | font-weight: 400; |
| | | font-size: 26px; |
| | | color: #ffffff; |
| | | line-height: hToV(30); |
| | | text-align: center; |
| | | } |
| | | |
| | | .totalLabel { |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #ffffff; |
| | | line-height: hToV(20); |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | .contentBox { |
| | | width: 246px; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | gap: hToV(13) 0; |
| | | font-family: Source Han Sans CN, Source Han Sans CN, serif; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #ffffff; |
| | | line-height: hToV(14); |
| | | |
| | | .overviewItem { |
| | | width: calc(100% / 3); |
| | | |
| | | .itemName { |
| | | display: flex; |
| | | align-items: center; |
| | | margin-bottom: hToV(6); |
| | | |
| | | img { |
| | | width: 16px; |
| | | height: hToV(16); |
| | | } |
| | | } |
| | | |
| | | .itemValue { |
| | | font-family: YouSheBiaoTiHei, YouSheBiaoTiHei, serif; |
| | | font-weight: 400; |
| | | font-size: 24px; |
| | | line-height: hToV(18); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <script setup> |
| | | import CommonTitle from '@/components/CommonTitle.vue'; |
| | | import { wToR } from '@/utils/pxConver'; |
| | | |
| | | const list = ref([ |
| | | { name: '替代人工(人次)', value: 1174, color: '#FFFFFF' }, |
| | |
| | | </script> |
| | | <template> |
| | | <CommonTitle title="降本增效" /> |
| | | <div class="synergy"> |
| | | <div class="synergy-item" v-for="item in list"> |
| | | <div class="title">{{ item.name }}</div> |
| | | <div class="value" :style="{ color: item.color }">{{ item.value }}</div> |
| | | <div :style="{ marginLeft: wToR(14) }"> |
| | | <div class="synergy"> |
| | | <div class="synergy-item" v-for="item in list"> |
| | | <div class="title">{{ item.name }}</div> |
| | | <div class="value" :style="{ color: item.color }">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | width: 95px; |
| | | height: hToV(77); |
| | | padding-top: hToV(7); |
| | | background: url('@/assets/images/home/synergyBg.png') no-repeat center center / 100% 100%; |
| | | background: url('@/assets/images/home/homeRight/synergyBg.png') no-repeat center center / 100% 100%; |
| | | |
| | | .title { |
| | | font-family: Source Han Sans CN, Source Han Sans CN, serif; |
| | |
| | | <script setup> |
| | | import CommonTitle from '@/components/CommonTitle.vue'; |
| | | import { wToR } from '@/utils/pxConver'; |
| | | import data1 from '@/assets/images/home/homeRight/data1.png'; |
| | | import data2 from '@/assets/images/home/homeRight/data2.png'; |
| | | import data3 from '@/assets/images/home/homeRight/data3.png'; |
| | | import data4 from '@/assets/images/home/homeRight/data4.png'; |
| | | |
| | | const detailsFun = () => { |
| | | console.log('details'); |
| | | }; |
| | | |
| | | const list = ref([ |
| | | { name: 'AI识别', value: '14656', color: '#6DD7FF', img: data1 }, |
| | | { name: '全景', value: '174', color: '#FFAD64', img: data2 }, |
| | | { name: '三维', value: '897', color: '#8EFFAC', img: data3 }, |
| | | { name: '正射', value: '1185', color: '#61FFFC', img: data4 }, |
| | | ]); |
| | | </script> |
| | | <template> |
| | | <CommonTitle title="任务成果" @details="detailsFun" /> |
| | | <div class="taskAchievements"></div> |
| | | <div :style="{ marginLeft: wToR(14) }"> |
| | | <div class="taskAchievements"> |
| | | <div class="rawData"> |
| | | <div class="bigTitle">原始<br />数据</div> |
| | | <div class="rawDataRight"> |
| | | <img src="../../../../assets/images/home/homeRight/rowData.png" alt="" /> |
| | | <div class="rawDataContent"> |
| | | <div> |
| | | <div class="title">照片总数(张)</div> |
| | | <div class="value">6582</div> |
| | | </div> |
| | | <div> |
| | | <div class="title">视频总数(个)</div> |
| | | <div class="value">4785</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="processingData"> |
| | | <div class="bigTitle">处理<br />数据</div> |
| | | <div class="data-right"> |
| | | <div v-for="item in list"> |
| | | <img :src="item.img" alt="" /> |
| | | <div class="content"> |
| | | <div class="title">{{ item.name }}</div> |
| | | <div class="value" :style="{ color: item.color }">{{ item.value }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped lang="scss"> |
| | |
| | | rgba(31, 62, 122, 0.35) 79%, |
| | | rgba(31, 62, 122, 0) 100% |
| | | ); |
| | | border-radius: 0px 0px 0px 0px; |
| | | opacity: 0.85; |
| | | margin: hToV(2) 0 hToV(21) 0; |
| | | padding-left: 17px; |
| | | padding-top: hToV(15); |
| | | |
| | | .rawData { |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | width: 353px; |
| | | |
| | | .rawDataRight { |
| | | width: 295px; |
| | | background: url('@/assets/images/home/homeRight/rawDataBg.png') no-repeat left 32px center/ 100% 100%; |
| | | display: flex; |
| | | |
| | | > img { |
| | | height: hToV(63); |
| | | width: 63px; |
| | | } |
| | | |
| | | .rawDataContent { |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | color: #ffffff; |
| | | width: 0; |
| | | flex-grow: 1; |
| | | padding-top: hToV(12); |
| | | |
| | | .title { |
| | | font-family: Source Han Sans CN, Source Han Sans CN, serif; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | line-height: hToV(13); |
| | | text-align: left; |
| | | margin-bottom: hToV(6); |
| | | } |
| | | |
| | | .value { |
| | | font-family: YouSheBiaoTiHei, YouSheBiaoTiHei, serif; |
| | | font-weight: 400; |
| | | font-size: 26px; |
| | | line-height: hToV(22); |
| | | text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.25); |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .processingData { |
| | | margin-top: hToV(19); |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | .data-right { |
| | | width: 289px; |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | justify-content: space-between; |
| | | gap: hToV(8) 0; |
| | | |
| | | > div { |
| | | width: 135px; |
| | | height: hToV(42); |
| | | display: flex; |
| | | |
| | | > img { |
| | | width: 32px; |
| | | height: hToV(32); |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .content { |
| | | width: 0; |
| | | flex: 1; |
| | | |
| | | .title { |
| | | font-family: Source Han Sans CN, Source Han Sans CN; |
| | | font-weight: 400; |
| | | font-size: 14px; |
| | | color: #ffffff; |
| | | line-height: hToV(17); |
| | | text-align: left; |
| | | } |
| | | |
| | | .value { |
| | | font-family: YouSheBiaoTiHei, YouSheBiaoTiHei; |
| | | font-weight: 400; |
| | | font-size: 24px; |
| | | line-height: hToV(23); |
| | | text-align: left; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .bigTitle { |
| | | margin-right: 22px; |
| | | font-family: Source Han Sans CN, Source Han Sans CN, serif; |
| | | font-weight: bold; |
| | | font-size: 18px; |
| | | color: #e1f5ff; |
| | | line-height: hToV(22); |
| | | } |
| | | </style> |