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

临边 联调

parent 94ef9805
......@@ -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>
<div :style="{ zoom: zoom }">
<div>
<div class="nav-header">
<div class="left-nav">
<div class="weather">
......@@ -16,13 +16,33 @@
<div class="condition">{{ screenDetail.weather_condition }}</div>
</div>
</div>
<router-link
v-for="(router, index) in leftNav"
:key="index"
:to="{ path: router.menu_url, query: { token_code: token } }"
>
{{ router.right_name }}</router-link
>
<template v-for="(router, index) in leftNav">
<router-link
v-if="router.child && router.child.length == 0"
:key="index"
:to="{ path: router.menu_url, query: { token_code: token } }"
>
{{ 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 class="mid-title">
<el-tooltip
......@@ -35,13 +55,15 @@
</el-tooltip>
</div>
<div class="right-nav">
<router-link
v-for="(router, index) in rightNav"
:key="index"
:to="{ path: router.menu_url, query: { token_code: token } }"
>
{{ router.right_name }}</router-link
>
<template v-for="(router, index) in rightNav">
<router-link
:key="index"
:to="{ path: router.menu_url, query: { token_code: token } }"
>
{{ router.right_name }}</router-link
>
</template>
<div class="clock">
<div class="time">
{{ time }}
......@@ -208,7 +230,9 @@ export default {
}
}
}
a {
a,
.parent-router {
cursor: pointer;
min-width: 66px;
text-align: center;
display: inline-block;
......@@ -221,6 +245,9 @@ a {
line-height: 16px;
font-size: 16px;
background-image: linear-gradient(#0d3353, #183e75);
&:last-child {
margin-right: 0;
}
&:hover {
color: #fff;
border-color: #27acfb;
......@@ -240,6 +267,7 @@ a {
}
}
}
.router-link-exact-active.router-link-active {
color: #fff;
border-color: #27acfb;
......@@ -282,4 +310,21 @@ a {
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>
\ No newline at end of file
......@@ -192,23 +192,29 @@
</div>
</div>
</div>
<div class="steps">
<el-steps :active="progressDetail.step" finish-status="success">
<el-step
v-for="(progress, index) in progressDetail.progress_data"
:key="index"
>
<template #title>
<div class="step-title">
{{ progress.over_date }}
<div class="step-status">{{ progress.status_text }}</div>
</div>
</template>
<template #description>
<div class="step-description">{{ progress.name }}</div>
</template>
</el-step>
</el-steps>
<div
class="steps"
@mouseleave="mouseLeaveEvent"
@mouseover="mouseOverEvent"
>
<div id="step-scroll">
<el-steps :active="progressDetail.step" finish-status="success">
<el-step
v-for="(progress, index) in progressDetail.progress_data"
:key="index"
>
<template #title>
<div class="step-title">
{{ progress.over_date }}
<div class="step-status">{{ progress.status_text }}</div>
</div>
</template>
<template #description>
<div class="step-description">{{ progress.name }}</div>
</template>
</el-step>
</el-steps>
</div>
</div>
</div>
</ShadowContainer>
......@@ -464,6 +470,12 @@ export default {
getProgressDetail().then((res) => {
if (res.status == 200) {
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(() => {
const lines = document.getElementsByClassName(
"el-step__line-inner"
......@@ -481,6 +493,8 @@ export default {
this.renderQualityChart();
});
},
mouseLeaveEvent() {},
mouseOverEvent() {},
},
mounted() {
this.getBaseData();
......@@ -635,6 +649,7 @@ table {
}
.steps {
padding-top: 40px;
overflow-x: hidden;
}
.step-title {
position: relative;
......@@ -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>
\ No newline at end of file
......@@ -71,7 +71,7 @@
alt=""
/>
{{ warns.area_name }}
({{ warns.serial_no }})
({{ warns.device_no }})
</div>
</div>
<div class="status">状态:{{ warns.status_text }}</div>
......@@ -82,7 +82,7 @@
</ShadowContainer>
</div>
<div class="right-container">
<Title type="long" text="今日统计"></Title>
<Title type="long" text="整改统计"></Title>
<ShadowContainer>
<div class="total-chart">
<div class="chart-container">
......@@ -522,7 +522,7 @@ export default {
.warp {
width: 100%;
height: 660px;
overflow: hidden;
overflow-y: auto;
}
.person-check {
padding: 14px;
......
This diff is collapsed.
......@@ -119,13 +119,13 @@
</ShadowContainer>
<Title text="人员地域分布"></Title>
<ShadowContainer>
<div class="chart-container">
<div class="chart-container" id="reset-area2">
<img class="custom-chart" src="@/assets/chart.png" />
<div ref="areaChart" id="area-chart"></div>
</div>
</ShadowContainer>
</div>
<div class="rt-area">
<div class="rt-area" id="reset-area1">
<Title type="long" text="一周考勤"></Title>
<ShadowContainer>
<div class="chart-title">近一周考勤</div>
......@@ -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() {
this.getTime();
......
......@@ -28,7 +28,7 @@
"
alt=""
/>
{{ windowData.device_sn }} /
{{ windowData.device_no }} /
<span
:class="[
'online-status',
......@@ -73,10 +73,10 @@
<el-tooltip
class="item"
effect="dark"
:content="warn.alarm_content"
:content="`${warn.alarm_content}(${warn.device_no})`"
>
<div class="overflowed">
{{ warn.alarm_content }}
{{ warn.alarm_content }}({{ warn.device_no }})
</div>
</el-tooltip>
</div>
......@@ -102,7 +102,7 @@
"
alt=""
/>
{{ monitor.device_sn }}
{{ monitor.device_no }}
<span
:style="{
color: monitor.is_online_text == '在线' ? '#3eec6f' : '',
......
......@@ -9,7 +9,8 @@ import Tower from "@/components/tower/Index"
import Noise from "@/components/noise/Index"
import Safecap from "@/components/safecap/Index"
import Management from "@/components/management/Index"
import FallProtection from "@/components/fallprotection/Index"
import UnloadingPlatform from "@/components/unloadingplatform/Index"
Vue.use(VueRouter)
......@@ -26,8 +27,11 @@ const router = new VueRouter({
{ path: 'tower', component: Tower },
{ path: 'noise', component: Noise },
{ 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