Commit 6b3e262f authored by 张牧越's avatar 张牧越

临边 联调

parent 94ef9805
...@@ -299,4 +299,53 @@ export function getSafeCapUseRecords(params) { ...@@ -299,4 +299,53 @@ export function getSafeCapUseRecords(params) {
} }
//fall-protection
export function getBuildingList() {
return request({
url: '/pweb/s/linbian/device/list',
method: 'get',
})
}
export function get24hourWarningData() {
return request({
url: '/pweb/s/linbian/day/statistics',
method: 'get',
})
}
export function getFallWarningList() {
return request({
url: '/pweb/s/linbian/today/statistics',
method: 'get',
})
}
export function getFallWarningStatus() {
return request({
url: '/pweb/s/linbian/statistics',
method: 'get',
})
}
export function getFallWarningTableList() {
return request({
url: '/pweb/s/linbian/warning',
method: 'get',
})
}
export function getDeviceCurrentStatus(params) {
return request({
url: '/pweb/s/linbian/device/realdata',
method: 'get',
params
})
}
<template> <template>
<div :style="{ zoom: zoom }"> <div>
<div class="nav-header"> <div class="nav-header">
<div class="left-nav"> <div class="left-nav">
<div class="weather"> <div class="weather">
...@@ -16,13 +16,33 @@ ...@@ -16,13 +16,33 @@
<div class="condition">{{ screenDetail.weather_condition }}</div> <div class="condition">{{ screenDetail.weather_condition }}</div>
</div> </div>
</div> </div>
<template v-for="(router, index) in leftNav">
<router-link <router-link
v-for="(router, index) in leftNav" v-if="router.child && router.child.length == 0"
:key="index" :key="index"
:to="{ path: router.menu_url, query: { token_code: token } }" :to="{ path: router.menu_url, query: { token_code: token } }"
> >
{{ router.right_name }}</router-link {{ router.right_name }}</router-link
> >
<el-dropdown v-else :key="index" placement="bottom">
<div class="parent-router">
{{ router.right_name }}
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
v-for="(child, cIndex) in router.child"
:key="cIndex"
>
<router-link
:to="{ path: child.menu_url, query: { token_code: token } }"
>
{{ child.right_name }}</router-link
>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</div> </div>
<div class="mid-title"> <div class="mid-title">
<el-tooltip <el-tooltip
...@@ -35,13 +55,15 @@ ...@@ -35,13 +55,15 @@
</el-tooltip> </el-tooltip>
</div> </div>
<div class="right-nav"> <div class="right-nav">
<template v-for="(router, index) in rightNav">
<router-link <router-link
v-for="(router, index) in rightNav"
:key="index" :key="index"
:to="{ path: router.menu_url, query: { token_code: token } }" :to="{ path: router.menu_url, query: { token_code: token } }"
> >
{{ router.right_name }}</router-link {{ router.right_name }}</router-link
> >
</template>
<div class="clock"> <div class="clock">
<div class="time"> <div class="time">
{{ time }} {{ time }}
...@@ -208,7 +230,9 @@ export default { ...@@ -208,7 +230,9 @@ export default {
} }
} }
} }
a { a,
.parent-router {
cursor: pointer;
min-width: 66px; min-width: 66px;
text-align: center; text-align: center;
display: inline-block; display: inline-block;
...@@ -221,6 +245,9 @@ a { ...@@ -221,6 +245,9 @@ a {
line-height: 16px; line-height: 16px;
font-size: 16px; font-size: 16px;
background-image: linear-gradient(#0d3353, #183e75); background-image: linear-gradient(#0d3353, #183e75);
&:last-child {
margin-right: 0;
}
&:hover { &:hover {
color: #fff; color: #fff;
border-color: #27acfb; border-color: #27acfb;
...@@ -240,6 +267,7 @@ a { ...@@ -240,6 +267,7 @@ a {
} }
} }
} }
.router-link-exact-active.router-link-active { .router-link-exact-active.router-link-active {
color: #fff; color: #fff;
border-color: #27acfb; border-color: #27acfb;
...@@ -282,4 +310,21 @@ a { ...@@ -282,4 +310,21 @@ a {
margin-right: 6px; margin-right: 6px;
} }
} }
.el-dropdown-menu {
padding: 0;
border: none;
margin: 0;
background: none;
a {
margin-right: 0;
width: 80px;
}
.el-dropdown-menu__item:focus,
.el-dropdown-menu__item:not(.is-disabled):hover {
background: transparent !important;
}
}
.el-popper[x-placement^="bottom"] .popper__arrow::after {
display: none;
}
</style> </style>
\ No newline at end of file
...@@ -192,7 +192,12 @@ ...@@ -192,7 +192,12 @@
</div> </div>
</div> </div>
</div> </div>
<div class="steps"> <div
class="steps"
@mouseleave="mouseLeaveEvent"
@mouseover="mouseOverEvent"
>
<div id="step-scroll">
<el-steps :active="progressDetail.step" finish-status="success"> <el-steps :active="progressDetail.step" finish-status="success">
<el-step <el-step
v-for="(progress, index) in progressDetail.progress_data" v-for="(progress, index) in progressDetail.progress_data"
...@@ -211,6 +216,7 @@ ...@@ -211,6 +216,7 @@
</el-steps> </el-steps>
</div> </div>
</div> </div>
</div>
</ShadowContainer> </ShadowContainer>
</div> </div>
<div class="side-area"> <div class="side-area">
...@@ -464,6 +470,12 @@ export default { ...@@ -464,6 +470,12 @@ export default {
getProgressDetail().then((res) => { getProgressDetail().then((res) => {
if (res.status == 200) { if (res.status == 200) {
this.progressDetail = res.data; this.progressDetail = res.data;
if (res.data.progress_data.length > 6) {
document.getElementById("step-scroll").style.width =
2 * res.data.progress_data.length + "rem";
document.getElementById("step-scroll").style.animationDuration =
res.data.progress_data.length / 2 + "s";
}
this.$nextTick(() => { this.$nextTick(() => {
const lines = document.getElementsByClassName( const lines = document.getElementsByClassName(
"el-step__line-inner" "el-step__line-inner"
...@@ -481,6 +493,8 @@ export default { ...@@ -481,6 +493,8 @@ export default {
this.renderQualityChart(); this.renderQualityChart();
}); });
}, },
mouseLeaveEvent() {},
mouseOverEvent() {},
}, },
mounted() { mounted() {
this.getBaseData(); this.getBaseData();
...@@ -635,6 +649,7 @@ table { ...@@ -635,6 +649,7 @@ table {
} }
.steps { .steps {
padding-top: 40px; padding-top: 40px;
overflow-x: hidden;
} }
.step-title { .step-title {
position: relative; position: relative;
...@@ -803,4 +818,17 @@ table { ...@@ -803,4 +818,17 @@ table {
} }
} }
} }
@keyframes scrolls {
0% {
transform: translateX(0%);
}
100% {
transform: translateX(calc(-100% - 13rem));
}
}
.step-scroll {
animation-name: scrolls;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
</style> </style>
\ No newline at end of file
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
alt="" alt=""
/> />
{{ warns.area_name }} {{ warns.area_name }}
({{ warns.serial_no }}) ({{ warns.device_no }})
</div> </div>
</div> </div>
<div class="status">状态:{{ warns.status_text }}</div> <div class="status">状态:{{ warns.status_text }}</div>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
</ShadowContainer> </ShadowContainer>
</div> </div>
<div class="right-container"> <div class="right-container">
<Title type="long" text="今日统计"></Title> <Title type="long" text="整改统计"></Title>
<ShadowContainer> <ShadowContainer>
<div class="total-chart"> <div class="total-chart">
<div class="chart-container"> <div class="chart-container">
...@@ -522,7 +522,7 @@ export default { ...@@ -522,7 +522,7 @@ export default {
.warp { .warp {
width: 100%; width: 100%;
height: 660px; height: 660px;
overflow: hidden; overflow-y: auto;
} }
.person-check { .person-check {
padding: 14px; padding: 14px;
......
This diff is collapsed.
...@@ -119,13 +119,13 @@ ...@@ -119,13 +119,13 @@
</ShadowContainer> </ShadowContainer>
<Title text="人员地域分布"></Title> <Title text="人员地域分布"></Title>
<ShadowContainer> <ShadowContainer>
<div class="chart-container"> <div class="chart-container" id="reset-area2">
<img class="custom-chart" src="@/assets/chart.png" /> <img class="custom-chart" src="@/assets/chart.png" />
<div ref="areaChart" id="area-chart"></div> <div ref="areaChart" id="area-chart"></div>
</div> </div>
</ShadowContainer> </ShadowContainer>
</div> </div>
<div class="rt-area"> <div class="rt-area" id="reset-area1">
<Title type="long" text="一周考勤"></Title> <Title type="long" text="一周考勤"></Title>
<ShadowContainer> <ShadowContainer>
<div class="chart-title">近一周考勤</div> <div class="chart-title">近一周考勤</div>
...@@ -603,6 +603,13 @@ export default { ...@@ -603,6 +603,13 @@ export default {
); );
}); });
}, },
resetSize(obj) {
let screenWidth =
document.body.clientWidth || document.documentElement.clientWidth;
let defWidth = 1920;
let xScale = screenWidth / defWidth;
obj.style.zoom = 1 / xScale;
},
}, },
mounted() { mounted() {
this.getTime(); this.getTime();
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
" "
alt="" alt=""
/> />
{{ windowData.device_sn }} / {{ windowData.device_no }} /
<span <span
:class="[ :class="[
'online-status', 'online-status',
...@@ -73,10 +73,10 @@ ...@@ -73,10 +73,10 @@
<el-tooltip <el-tooltip
class="item" class="item"
effect="dark" effect="dark"
:content="warn.alarm_content" :content="`${warn.alarm_content}(${warn.device_no})`"
> >
<div class="overflowed"> <div class="overflowed">
{{ warn.alarm_content }} {{ warn.alarm_content }}({{ warn.device_no }})
</div> </div>
</el-tooltip> </el-tooltip>
</div> </div>
...@@ -102,7 +102,7 @@ ...@@ -102,7 +102,7 @@
" "
alt="" alt=""
/> />
{{ monitor.device_sn }} {{ monitor.device_no }}
<span <span
:style="{ :style="{
color: monitor.is_online_text == '在线' ? '#3eec6f' : '', color: monitor.is_online_text == '在线' ? '#3eec6f' : '',
......
...@@ -9,7 +9,8 @@ import Tower from "@/components/tower/Index" ...@@ -9,7 +9,8 @@ import Tower from "@/components/tower/Index"
import Noise from "@/components/noise/Index" import Noise from "@/components/noise/Index"
import Safecap from "@/components/safecap/Index" import Safecap from "@/components/safecap/Index"
import Management from "@/components/management/Index" import Management from "@/components/management/Index"
import FallProtection from "@/components/fallprotection/Index"
import UnloadingPlatform from "@/components/unloadingplatform/Index"
Vue.use(VueRouter) Vue.use(VueRouter)
...@@ -26,8 +27,11 @@ const router = new VueRouter({ ...@@ -26,8 +27,11 @@ const router = new VueRouter({
{ path: 'tower', component: Tower }, { path: 'tower', component: Tower },
{ path: 'noise', component: Noise }, { path: 'noise', component: Noise },
{ path: 'safecap', component: Safecap }, { path: 'safecap', component: Safecap },
{ path: 'management', component: Management }, { path: 'concrete', component: Management },
{ path: 'fallprotection', component: FallProtection },
{ path: 'unloadingplatform', component: UnloadingPlatform },
] ]
}, },
] ]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment