大屏页面配置以及图标

main
许宏杰 3 weeks ago
parent e2c3d49ca1
commit a7431ddc10

@ -29,6 +29,7 @@
"js-beautify": "1.14.11",
"js-cookie": "3.0.5",
"jsencrypt": "3.3.2",
"moment": "^2.30.1",
"nprogress": "0.2.0",
"pinia": "2.1.7",
"splitpanes": "3.1.5",

@ -0,0 +1,12 @@
<svg width="17" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#230;&#149;&#176;&#230;&#141;&#174;&#230;&#166;&#130;&#232;&#167;&#136;icon" clip-path="url(#clip0_29_27)">
<g id="Group">
<path id="Vector" d="M8.53339 9.72996V13.7266C8.53339 13.7969 8.55908 13.8672 8.61302 13.9219C8.6644 13.974 8.73376 14.0026 8.80568 14.0026H10.799C10.948 14.0026 11.0713 13.8802 11.0713 13.7266V8.39948L9.04458 10.1674L8.53339 9.72996ZM0.0154125 13.724C0.0154125 13.7943 0.0411 13.8646 0.0950438 13.9193C0.146419 13.9714 0.215775 14 0.2877 14H2.28105C2.35298 14 2.42233 13.9714 2.47371 13.9193C2.52508 13.8672 2.55334 13.7969 2.55334 13.724V9.64925L0.0154125 11.7686V13.724ZM4.2744 8.20681V13.724C4.2744 13.7969 4.30266 13.8672 4.35403 13.9193C4.40541 13.9714 4.47477 14 4.54669 14H6.54004C6.6094 14 6.67876 13.974 6.7327 13.9193C6.78407 13.8672 6.81233 13.7969 6.81233 13.724V8.24065L5.54594 7.14711L4.2744 8.20681ZM12.795 13.724C12.795 13.7969 12.8232 13.8672 12.8746 13.9193C12.926 13.9714 12.9953 14 13.0672 14H15.0606C15.1325 14 15.2019 13.9714 15.2532 13.9193C15.3046 13.8672 15.3329 13.7969 15.3329 13.724V4.68142L12.795 6.89455V13.724ZM12.3583 0C12.3223 0 12.2889 0.0208295 12.2735 0.057281C12.2581 0.0937326 12.2684 0.132788 12.294 0.156221L14.2001 2.05691L9.04458 6.55607L5.54337 3.5332L0 8.16775V10.17L5.54337 5.53543L9.04458 8.5557L15.2712 3.12442L16.8459 4.69444C16.8716 4.72048 16.9101 4.72829 16.9435 4.71266C16.9769 4.69965 17 4.6658 17 4.62935V0.0911289C17 0.0676957 16.9897 0.0442626 16.9743 0.0260368C16.9563 0.00781105 16.9332 0 16.9101 0H12.3583Z" fill="white" fill-opacity="0.6"/>
</g>
</g>
<defs>
<clipPath id="clip0_29_27">
<rect width="17" height="14" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -0,0 +1,5 @@
<svg width="17" height="15" viewBox="0 0 17 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#231;&#187;&#191;&#229;&#140;&#150;&#229;&#133;&#187;&#230;&#138;&#164;icon">
<path id="Vector" d="M16.4337 9.06785L10.8252 14.8279C10.7504 14.9085 10.623 14.9085 10.5482 14.8279L10.538 14.8169L8.64867 12.044L3.1981 10.7913L1.85415 11.8609L2.3027 8.27297L3.27286 9.81327L7.5069 10.3536L4.21074 5.5129L4.17845 5.5477C4.13598 5.59349 4.08331 5.5825 4.03913 5.5477V5.53671L3.66534 5.16858C3.62286 5.12279 3.63306 5.05319 3.67553 5.0074L8.51784 0.0293824C8.56032 -0.0164051 8.62488 -0.00541611 8.65716 0.0293824L9.03095 0.408503C9.07343 0.454291 9.06324 0.523888 9.02076 0.569676L8.91372 0.68506L10.1829 2.0422C11.6662 0.0312139 13.8953 1.06601 13.8953 1.06601C16.8075 3.29678 15.5162 6.36638 15.0473 7.25099L16.4439 8.7455C16.5204 8.83708 16.5204 8.97444 16.4337 9.06785ZM13.5657 2.03121C11.8055 0.754657 10.8133 2.6411 10.7929 2.68689L14.3014 6.43414C15.4738 4.24916 13.5657 2.03121 13.5657 2.03121ZM1.53472 13.9873C1.29006 13.9873 1.08617 13.7565 1.08617 13.4818C1.08617 13.2052 1.28836 12.9763 1.53472 12.9763C1.77939 12.9763 1.98327 13.207 1.98327 13.4818C1.98327 13.7583 1.77939 13.9873 1.53472 13.9873ZM0.861899 11.9873C0.659711 11.9873 0.5 11.8041 0.5 11.5843C0.5 11.3536 0.659711 11.1814 0.861899 11.1814C1.05389 11.1814 1.2136 11.3645 1.2136 11.5843C1.2153 11.8151 1.05389 11.9873 0.861899 11.9873ZM3.24058 11.8371C3.41048 11.8371 3.56 11.9873 3.56 12.1704C3.56 12.3536 3.42068 12.5147 3.25077 12.5147C3.08086 12.5147 2.93135 12.3645 2.93135 12.1814C2.93135 11.9982 3.07067 11.8371 3.24058 11.8371ZM3.60417 13.7345C3.9134 13.7345 4.15807 14.0221 4.15807 14.3664C4.15807 14.7107 3.90151 14.9983 3.60417 14.9983C3.29495 14.9983 3.05028 14.7107 3.05028 14.3664C3.04858 14.0111 3.29495 13.7345 3.60417 13.7345Z" fill="white" fill-opacity="0.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,5 @@
<svg width="13" height="15" viewBox="0 0 13 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#229;&#133;&#172;&#229;&#155;&#173;&#231;&#174;&#161;&#231;&#144;&#134;icon">
<path id="Vector" d="M12.0445 4.62811C11.7019 4.41694 11.5165 4.02899 11.5634 3.6214C11.7488 2.37406 10.9297 1.20529 9.7351 1.01131C9.50275 0.996581 9.27039 0.930285 9.06855 0.817337C8.72589 0.606173 8.31047 0.542333 7.92087 0.623361C7.74954 0.704389 7.56413 0.655281 7.43974 0.525145C6.69574 -0.204107 5.53398 -0.172186 4.83692 0.606173C4.66559 0.785417 4.5412 0.994125 4.4661 1.23966C4.37456 1.57851 4.12578 1.85597 3.79955 1.937C3.7221 1.95173 3.66108 1.9861 3.61414 2.03276C3.42873 2.22673 3.31842 2.12852 3.133 2.03276C2.20359 1.5957 1.11928 2.03276 0.699172 3.00509C0.59121 3.26536 0.527841 3.55756 0.54427 3.83256C0.530188 4.04372 0.452737 4.25489 0.358857 4.43168C-0.0471725 4.98168 -0.108194 5.71094 0.171098 6.34443C-0.000232604 6.84533 0.157016 7.41498 0.558352 7.75382C1.00663 8.09267 1.64266 8.0141 1.99941 7.55985C2.13788 7.57458 2.2787 7.54512 2.38666 7.46409C2.68238 7.36587 2.86779 7.27011 3.05321 7.36587C3.10015 7.36587 3.14709 7.41498 3.14709 7.46409C3.23862 7.46409 3.23862 7.55985 3.3325 7.55985C3.73618 9.08465 4.61865 10.4277 5.82735 11.3854C5.7499 12.343 5.48469 13.2662 5.05285 14.0912C4.57171 14.4006 3.99905 14.187 3.42638 13.9954C2.99218 13.8506 2.51105 13.8506 2.0792 13.9954C1.98767 13.9954 1.98767 14.0912 1.98767 14.1894C1.98767 14.3834 1.89614 14.4988 1.89614 14.6928C1.89614 14.7885 1.98767 14.8867 2.08155 15.0021H10.6316C10.7232 15.0021 10.7232 15.0021 10.8171 14.9064C10.9086 14.9064 10.9086 14.8106 10.9086 14.7124V14.403C10.9086 14.2901 10.8171 14.2091 10.7232 14.2091H8.0922C8.00067 14.0151 7.79648 13.8997 7.70495 13.7057C7.30127 13.3325 7.14636 12.7334 7.31769 12.1981C7.39514 12.0041 7.42566 11.8101 7.40923 11.599C7.50311 10.9999 7.50311 10.3983 7.59464 9.78443C8.43252 9.68867 9.20468 9.29827 9.8102 8.68196C10.0426 8.68196 10.2749 8.60093 10.4767 8.48799H10.5683C11.0166 8.8121 11.5916 8.87594 12.1032 8.68196C12.5515 8.50272 12.8942 8.08285 12.9716 7.57949V7.48128C13.096 6.34443 12.805 5.1462 12.0445 4.62811ZM4.63743 7.35114C4.72896 7.35114 4.93315 7.35114 4.93315 7.44935L5.22887 7.75873C5.41428 8.26209 5.52459 8.86121 5.71 9.36456C5.71 9.67394 5.80154 9.96368 5.80154 10.1748C4.98009 9.48979 4.54355 8.41924 4.63743 7.35114ZM7.72138 8.95697C7.72138 8.86121 7.81291 8.76299 7.81291 8.64759V8.55183C7.90444 8.29155 8.03118 8.06566 8.20016 7.85449C8.33864 8.01655 8.49589 8.16387 8.6813 8.25963C8.37384 8.51745 8.06404 8.76054 7.72138 8.95697Z" fill="white" fill-opacity="0.6"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

@ -0,0 +1,5 @@
<svg width="17" height="15" viewBox="0 0 17 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#229;&#186;&#148;&#230;&#128;&#165;icon">
<path id="Vector" d="M2.91238 13.2326V6.88117C2.91238 3.08034 5.46488 0 8.6165 0C11.7681 0 14.3206 3.08034 14.3206 6.88117V13.2326H16.2677C16.6713 13.2326 17 13.6293 17 14.1163C17 14.6033 16.6713 15 16.2677 15H0.732256C0.328683 15 0 14.6033 0 14.1163C0 13.6293 0.328683 13.2326 0.732256 13.2326H2.91238ZM9.03047 2.77406L6.21586 8.36234H8.46671L7.90296 12.5548L10.7176 6.96402H8.46671L9.03047 2.77406Z" fill="white"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 575 B

@ -0,0 +1,9 @@
<svg width="17" height="14" viewBox="0 0 17 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="&#232;&#135;&#170;&#230;&#156;&#137;&#228;&#186;&#167;icon">
<g id="Group">
<path id="Vector" d="M9.20432 0C9.06431 0 8.9523 0.114483 8.9523 0.257588V6.47971C8.9523 6.54796 8.97815 6.61401 9.02554 6.66245C9.07292 6.71088 9.13754 6.7373 9.20432 6.7373H13.2366C13.3034 6.7373 13.368 6.71088 13.4154 6.66245C13.4628 6.61401 13.4886 6.54796 13.4886 6.47971L13.4886 0.257588C13.4886 0.114483 13.3766 0 13.2366 0H9.20432ZM10.1607 1.2373H12.2781V5.5H10.1607V1.2373Z" fill="#A5B1C1"/>
<path id="Vector_2" d="M2.13273 3.65673C2.03365 3.758 2.03365 3.92092 2.13273 4.0222L6.042 8.05123C6.14109 8.15251 6.30048 8.15251 6.39957 8.05123L9.53366 4.8479C9.63274 4.74663 9.63274 4.58371 9.53366 4.48243L5.62223 0.453397C5.52315 0.352123 5.36375 0.352123 5.26467 0.453397L2.13273 3.65673ZM3.66639 3.83946L5.4456 2.02094L8 4.66517L6.22079 6.48369L3.66639 3.83946Z" fill="#A5B1C1"/>
<path id="Vector_3" d="M0.627061 4.69592C0.758455 4.50218 0.976011 4.3877 1.20434 4.3877H15.7935C16.0196 4.3877 16.2329 4.49998 16.3664 4.68711C16.5 4.87425 16.5344 5.11643 16.4634 5.33659L13.8032 13.5045C13.7062 13.7996 13.437 13.9977 13.1333 13.9977H4.1101C3.81284 13.9977 3.5479 13.8084 3.44666 13.5222L0.5409 5.3542C0.463356 5.13624 0.495667 4.88966 0.627061 4.69592ZM8.47628 8.34838H12.1532C12.556 8.34838 12.7585 8.14143 12.7585 7.72973C12.7585 7.31803 12.556 7.11108 12.1532 7.11108H8.47843C8.07563 7.11108 7.87316 7.31803 7.87316 7.72973C7.87316 8.14143 8.07348 8.34838 8.47628 8.34838Z" fill="#A5B1C1"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

@ -12,7 +12,7 @@ import usePermissionStore from '@/store/modules/permission'
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register',]
const whiteList = ['/login', '/register','/visualization']
const isWhiteList = (path) => {
return whiteList.some(pattern => isPathMatch(pattern, path))

@ -64,15 +64,46 @@ export const constantRoutes = [
{
path: "/visualization",
component: () => import("@/views/visualization/index"),
redirect: "/visualization/emergency",
children: [
{
path: "/visualization/data",
component: () => import("@/views/visualization/data/index"),
name: "data",
meta: { title: "数据概览", disable: true, icon: "dp-data" },
},
{
path: "/visualization/greening",
component: () => import("@/views/visualization/greening/index"),
name: "greening",
meta: { title: "绿化养护", disable: true, icon: "dp-lh" },
},
{
path: "/visualization/park",
component: () => import("@/views/visualization/park/index"),
name: "park",
meta: { title: "公园管理", disable: true, icon: "dp-park" },
},
{
path: "/visualization/selfOwned",
component: () => import("@/views/visualization/selfOwned/index"),
name: "selfOwned",
meta: { title: "自有产管理", disable: true, icon: "dp-zy" },
},
{
path: "/visualization/emergency",
component: () => import("@/views/visualization/emergency/index"),
name: "emergency",
meta:{ title: "应急抢险", disable: true, icon: "dp-yj" },
},
],
hidden: true,
},
{
path: "",
component: Layout,
redirect: "/index",
children: [
],
children: [],
},
{

@ -1,2 +1,4 @@
export { default as MapView } from './map.vue'
export { default as navigationBar } from './navigationBar.vue'

@ -0,0 +1,162 @@
<template>
<div class="navigation-container">
<div class="navigation-title">
<div class="text-gradient" :text="title">{{ title }}</div>
</div>
<div class="navigation-menus">
<router-link
v-for="(item, index) in formatRouter"
:key="index"
:to="item.path"
custom
v-slot="{ href, route, navigate, isActive, isExactActive }"
>
<a
:href="href"
@click="navigate"
class="menu-item"
:class="{ activeMenu: isActive }"
>
<svg-icon :icon-class="item.meta.icon" style="font-size: 18px" />
<span>{{ item.meta.title }}</span>
</a>
</router-link>
<!-- <div
class="menu-item"
:class="currentIndex === index ? 'activeMenu' : ''"
v-for="(item, index) in formatRouter"
:key="index"
@click="handlerSelect(index, item.meta)"
>
<span>{{ item.meta.title }}</span>
</div> -->
</div>
<div class="navigation-time">{{ formattedDate }}</div>
</div>
</template>
<script setup>
import { onMounted, onBeforeUnmount, ref } from "vue";
import { useRouter } from "vue-router";
import moment from "moment";
import "moment/locale/zh-cn"; //
moment.locale("zh-cn", {
weekdays: "星期一_星期二_星期三_星期四_星期五_星期六_星期日".split("_"),
}); //
const router = useRouter();
const { proxy } = getCurrentInstance();
const title = "徐汇区智慧园林数据可视化驾驶舱";
let currentIndex = ref(4);
/**
* 获取当前时间
*/
const formattedDate = computed(() => {
return moment("2019-05-14").format("YYYY-MM-DD dddd");
});
/**
* 获取大屏路由信息
*/
const formatRouter = computed(() => {
const menuList = router.options.routes.find(
(item) => item.path === "/visualization"
);
console.log(menuList);
if (menuList) {
return menuList.children;
}
return [];
});
/**
* 菜单选中
* @param index
*/
const handlerSelect = (index, item) => {
if (item.disable) {
proxy.$modal.msgWarning("功能开发中,敬请期待");
return;
}
if (currentIndex.value !== index) {
currentIndex.value = index;
}
};
</script>
<style lang="scss" scoped>
.navigation-container {
position: fixed;
top: 0;
left: 0;
z-index: 100;
width: 100%;
height: 96px;
background: linear-gradient(90deg, #08121c 0%, #275382 100%);
display: flex;
align-items: center;
}
.navigation-title {
width: 35%;
height: 100%;
display: flex;
align-items: center;
padding-left: 42px;
background-image: url("@/assets/images/visualization/navigation-title.png");
background-size: 100% 100%;
.text-gradient {
font-size: 36px;
letter-spacing: 3px;
font-weight: bold;
text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
font-family: "Alimama ShuHeiTi-Bold";
}
.text-gradient::before {
content: attr(text);
position: absolute;
z-index: 10;
background: linear-gradient(to bottom, #ffffff 48%, #3c87c6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-shadow: none;
}
}
.navigation-menus {
flex: 1;
height: 100%;
display: flex;
align-items: flex-end;
margin: 0 10px;
gap: 10px;
.menu-item {
cursor: pointer;
font-size: 16px;
color: rgba(255, 255, 255, 0.6);
letter-spacing: 1px;
font-weight: bold;
font-family: "Alimama ShuHeiTi-Bold";
display: flex;
align-items: center;
gap: 6px;
}
.activeMenu {
color: #ffffff;
}
}
.navigation-time {
padding-right: 35px;
font-size: 14px;
color: #ffffff;
font-weight: bold;
letter-spacing: 1px;
font-family: "Alimama ShuHeiTi-Bold";
}
</style>

@ -0,0 +1,12 @@
<template>
<div class="visualization-child">
功能开发中敬请期待数据概览
</div>
</template>
<script setup>
</script>
<style scoped>
</style>

@ -0,0 +1,12 @@
<template>
<div class="visualization-child">
功能开发中敬请期待绿化养护
</div>
</template>
<script setup>
</script>
<style scoped>
</style>

@ -1,15 +1,29 @@
<template>
<div class="visualization-container">
<MapView></MapView>
<navigationBar></navigationBar>
<router-view></router-view>
</div>
</template>
<script setup>
import { MapView } from './components/index.js'
import { navigationBar } from "./components/index.js";
</script>
<style lang="scss">
.visualization-container {
height: 100%;
background: RGBA(20, 25, 52, 1);
}
.visualization-child {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 25px;
letter-spacing: 3px;
font-weight: bold;
font-family: "Alimama ShuHeiTi-Bold";
}
</style>

@ -0,0 +1,12 @@
<template>
<div class="visualization-child">
功能开发中敬请期待公园管理
</div>
</template>
<script setup>
</script>
<style scoped>
</style>

@ -0,0 +1,12 @@
<template>
<div class="visualization-child">
功能开发中敬请期待自有产管理
</div>
</template>
<script setup>
</script>
<style scoped>
</style>
Loading…
Cancel
Save