中建大屏(指挥中心):创建组件

This commit is contained in:
骆乐 2022-08-11 18:43:34 +08:00
parent 37a5d8f6b8
commit 814a52ab85
9 changed files with 390 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

View File

@ -1701,6 +1701,11 @@ const routes2 = [
path: 'labor',
name: '数据看板-劳务管理',
component: () => import('@/views/projectAdmin/jlw/laborManage/index.vue')
},
{
path: 'zjsj',
name: '中建四局-指挥中心',
component: () => import('@/views/projectAdmin/zjsj/commandCentre/index.vue')
}
]
},

View File

@ -0,0 +1,24 @@
<template>
<div class="containerBox">
<div class="leftOne">
<leftOne></leftOne>
</div>
<div class="leftTwo">
<leftTwo></leftTwo>
</div>
</div>
</template>
<script>
import leftOne from "./leftOne";
import leftTwo from "./leftTwo";
export default {
components: { leftOne, leftTwo },
data() {
return {};
}
};
</script>
<style lang="less" scoped>
</style>

View File

@ -0,0 +1,22 @@
<template>
<div>
<CardData title="项目信息">
<div class="contentBox">
123
</div>
</CardData>
</div>
</template>
<script>
import CardData from "../components/cardData";
export default {
components: { CardData },
data() {
return {};
}
};
</script>
<style lang="less" scoped>
</style>

View File

@ -0,0 +1,22 @@
<template>
<div>
<CardData title="人员概况">
<div class="contentBox">
123
</div>
</CardData>
</div>
</template>
<script>
import CardData from "../components/cardData";
export default {
components: { CardData },
data() {
return {};
}
};
</script>
<style lang="less" scoped>
</style>

View File

@ -0,0 +1,39 @@
<template>
<div class="h-card">
<div class="title">{{ title }}</div>
<div class="content">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
props: {
title: {
type: String,
default: ''
}
}
}
</script>
<style lang="less" scoped>
.h-card {
width: 100%;
height: 100%;
.title {
height: 45px;
width: 25%;
text-align: center;
line-height: 40px;
font-size: 18px;
color: #ffffff;
background-image: url('~@/assets/images/projectZjsj/border.png');
background-size: 100%;
}
.content {
height: calc(100% - 30px);
}
}
</style>

View File

@ -0,0 +1,55 @@
<template>
<div class="dataBoardPage">
<div class="headerBox">
<div class="topTit">
<div class="time">
<span>{{中建科创大厦项目}}</span>
<span>{{currentTime}}</span>
<span>{{currentWeek}}</span>
<img class="wetherImg" src="../../../assets/images/projectImg/sun.png" alt />
<span>多云 32</span>
<span>{{currentDate}}</span>
</div>
<div class="title">
<h1 class="title">{{'中建四局综合监管平台'}}</h1>
</div>
<div>
<span>中国建筑第四工程局有限公司</span>
<img
class="backImg"
@click="toBack()"
src="../../../assets/images/projectImg/back.png"
alt
/>
</div>
</div>
<div style="height: 40px" class="menuBox">
<ul class="left">
<li
v-for="(item, index) in menuList"
:key="index"
:class="{
right: index > (menuList.length - 1) / 2,
active: $route.path == item.modulePath,
}"
@click="menuClick(item, index)"
>{{ item.moduleName }}</li>
</ul>
</div>
</div>
<div class="dataBoardContent">
<router-view></router-view>
</div>
</div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
@import url("./style.less");
</style>

View File

@ -0,0 +1,223 @@
.dataBoardPage{
width: 100%;
height: 100%;
background-color:#091529;
position: relative;
color: rgba(255, 255, 255, 0.8);
}
.headerBox{
background-image: url('../../../assets/images/projectImg/title.png');
background-position: bottom center;
background-repeat: no-repeat;
height: 100px;
position: relative;
background-size: 100% auto;
margin: 0 6px;
.topTit{
display: flex;
.time{
span{
padding: 20px;
line-height: 40px;
margin-top: 5px;
}
}
.title{
flex: 1;
margin-top: 8px;
margin-right: 50px;
}
.wetherImg,.backImg{
margin:10px 20px 0px 20px ;
width: 20px;
height: 20px;
}
}
.title{
color: #fcfcfc;
font-size: 31px;
text-align: center;
// padding-top: 15px;
}
}
.menuBox{
li{
display: inline-block;
color: #ffffff;
font-size: 18px;
width: 130px;
height: 40px;
text-align: center;
line-height: 15px;
font-weight: bold;
cursor: pointer;
position: relative;
z-index: 2;
margin-right: 20px;
&.active{
color: #19cbe5;
}
&.right{
float: right;
margin-right: 50px;
}
}
}
/deep/.dataBoardContent{
height: 88%;
margin: 10px 60px 20px;
width: calc(100% - 120px);
.blockTitle{
text-align: center;
color: rgba(108, 233, 240, 100);
font-size: 17px;
font-weight: bold;
position: relative;
top: -10px;
&::after{
content: "";
position: absolute;
background-color: #53ccdf;
height: 3px;
width: 32px;
bottom: -4px;
left: 50%;
margin-left: -16px;
border-radius: 4px;
}
}
.greenBtn{
font-size: 12px;
color: rgba(255, 255, 254, 1);
background-color: rgba(25, 59, 67, 1);
position: relative;
height: 22px;
line-height: 22px;
padding: 0 11px;
display: inline-block;
margin-right: 15px;
cursor: pointer;
&.active{
color: #fcfcfd;
background-color: #2e394b;
}
.arrow{
position: absolute;
}
.arrow1{
left: -1px;
top: -1px;
}
.arrow2{
right: -1px;
top: -1px;
transform: rotate(90deg);
}
.arrow3{
left: -1px;
bottom: -1px;
transform: rotate(-90deg);
}
.arrow4{
right: -1px;
bottom: -1px;
transform: rotate(180deg);
}
}
.aside{
width: 23%;
float: left;
}
.left{
width: calc(77% - 25px);
margin-right: 25px;
float: left;
}
.right{
width: calc(77% - 25px);
margin-left: 25px;
float: left;
}
.safeChart,.qulityChart{
float: left;
width: 50%;
height: 100%;
}
.operateBar{
margin-top: 5px;
}
.greenTable{
font-size: 13px;
width: 100%;
border-spacing: 0px;
margin-bottom: 10px;
th{
color: rgba(255, 255, 255, 0.8);
border-bottom: 1px solid #142428;
padding-bottom: 5px;
font-weight: normal;
}
td{
color: rgba(255, 255, 255, 0.6);
text-align: center;
line-height: 20px;
}
}
.bottomInner{
width: calc(100% - 60px);
margin: 0 30px;
margin-top: 130px;
}
.timeBox{
display: flex;
justify-content: center;
// justify-content: space-between;
align-items: center;
}
.timeInner{
display: inline-flex;
align-items: center;
margin-right: 40px;
p{
color: rgba(255, 255, 254, 0.8);
font-size: 14px;
margin-right: 12px;
}
}
.splitLine{
margin: 25px 0 15px;
}
.topInner{
width: calc(100% - 230px);
height: calc(100% - 80px);
margin: 15px 0 65px 115px ;
}
}
/deep/.dataBoxContent{
overflow: hidden;
.dataBox{
float: left;
height: 35%;
width: 50%;
}
}
/deep/.dataBox{
display: flex;
align-items: flex-start;
justify-content: center;
font-size: 14px;
img{
margin-right: 8px;
}
.num{
font-size: 20px;
line-height: 28px;
}
}