大屏问题修复

dev_xd
haha 2025-04-15 00:53:18 +08:00
parent 5e838368cb
commit 85e5da3405
8 changed files with 2099 additions and 2187 deletions

View File

@ -3,95 +3,69 @@
<el-row>
<el-col :span="8">
<div class="head-title-tab">
<div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)"></div>
<div :class="nav == 1 ? 'head-nav active' : 'head-nav'" @click="doNav(1)" v-if="1==2"></div>
<div :class="nav == 2 ? 'head-nav active' : 'head-nav'" @click="doNav(2)"></div>
<div :class="(nav >= 300 && nav < 400) || nav == 3 ? 'head-nav active' : 'head-nav'"
style="position: relative;" class="has-submenu">
<div :class="(nav >= 300 && nav < 400) || nav == 3 ? 'head-nav active' : 'head-nav'" style="position: relative;" class="has-submenu">
<div @click="doNav(3)"></div>
<div class="header-btn-list">
<div class="header-btn-list-arrow"></div>
<div class="header-btn-list-item" style="">
<div class="header-btn-list-item" style>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 301 ? 'active' : ''" class="sub-btn"
@click="doNav(301)">安全隐患排查</button>
<button type="button" :class="nav == 302 ? 'active' : ''" class="sub-btn"
@click="doNav(302)">教育培训</button>
<button type="button" :class="nav == 303 ? 'active' : ''" class="sub-btn"
@click="doNav(303)">基坑监测</button>
<button type="button" :class="nav == 304 ? 'active' : ''" class="sub-btn"
@click="doNav(304)">塔基监测</button>
<button type="button" :class="nav == 301 ? 'active' : ''" class="sub-btn" @click="doNav(301)"></button>
<button type="button" :class="nav == 302 ? 'active' : ''" class="sub-btn" @click="doNav(302)"></button>
<button type="button" :class="nav == 303 ? 'active' : ''" class="sub-btn" @click="doNav(303)"></button>
<button type="button" :class="nav == 304 ? 'active' : ''" class="sub-btn" @click="doNav(304)"></button>
</div>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 305 ? 'active' : ''" class="sub-btn"
@click="doNav(305)">高支模监测</button>
<button type="button" :class="nav == 306 ? 'active' : ''" class="sub-btn"
@click="doNav(306)">配电箱监测</button>
<button type="button" :class="nav == 307 ? 'active' : ''" class="sub-btn"
@click="doNav(307)">爬架监测</button>
<button type="button" :class="nav == 308 ? 'active' : ''" class="sub-btn"
@click="doNav(308)">施工电梯监测</button>
<button type="button" :class="nav == 305 ? 'active' : ''" class="sub-btn" @click="doNav(305)"></button>
<button type="button" :class="nav == 306 ? 'active' : ''" class="sub-btn" @click="doNav(306)"></button>
<button type="button" :class="nav == 307 ? 'active' : ''" class="sub-btn" @click="doNav(307)"></button>
<button type="button" :class="nav == 308 ? 'active' : ''" class="sub-btn" @click="doNav(308)"></button>
</div>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 309 ? 'active' : ''" class="sub-btn"
@click="doNav(309)">视频监控</button>
<button type="button" :class="nav == 310 ? 'active' : ''" class="sub-btn"
@click="doNav(310)">AI测控</button>
<button type="button" :class="nav == 311 ? 'active' : ''" class="sub-btn"
@click="doNav(311)">标准化管理</button>
<button type="button" :class="nav == 309 ? 'active' : ''" class="sub-btn" @click="doNav(309)"></button>
<button type="button" :class="nav == 310 ? 'active' : ''" class="sub-btn" @click="doNav(310)">AI</button>
<button type="button" :class="nav == 311 ? 'active' : ''" class="sub-btn" @click="doNav(311)"></button>
</div>
</div>
</div>
</div>
<div :class="(nav >= 400 && nav < 500) || nav == 4 ? 'head-nav active' : 'head-nav'"
style="position: relative;" class="has-submenu">
<div :class="(nav >= 400 && nav < 500) || nav == 4 ? 'head-nav active' : 'head-nav'" style="position: relative;" class="has-submenu">
<div @click="doNav(4)"></div>
<div class="header-btn-list">
<div class="header-btn-list-arrow"></div>
<div class="header-btn-list-item" style="">
<div class="header-btn-list-item" style>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 401 ? 'active' : ''" class="sub-btn"
@click="doNav(401)">质量隐患排查</button>
<button type="button" :class="nav == 402 ? 'active' : ''" class="sub-btn"
@click="doNav(402)">材料取样复试</button>
<button type="button" :class="nav == 403 ? 'active' : ''" class="sub-btn"
@click="doNav(403)">举牌验收</button>
<button type="button" :class="nav == 404 ? 'active' : ''" class="sub-btn"
@click="doNav(404)">标养室监测</button>
<button type="button" :class="nav == 401 ? 'active' : ''" class="sub-btn" @click="doNav(401)"></button>
<button type="button" :class="nav == 402 ? 'active' : ''" class="sub-btn" @click="doNav(402)"></button>
<button type="button" :class="nav == 403 ? 'active' : ''" class="sub-btn" @click="doNav(403)"></button>
<button type="button" :class="nav == 404 ? 'active' : ''" class="sub-btn" @click="doNav(404)"></button>
</div>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 405 ? 'active' : ''" class="sub-btn"
@click="doNav(405)">标准化管理</button>
<button type="button" :class="nav == 406 ? 'active' : ''" class="sub-btn"
@click="doNav(406)">混泥土监测</button>
<button type="button" :class="nav == 407 ? 'active' : ''" class="sub-btn"
@click="doNav(407)">爬架监测</button>
<button type="button" :class="nav == 408 ? 'active' : ''" class="sub-btn"
@click="doNav(408)">施工电梯监测</button>
<button type="button" :class="nav == 405 ? 'active' : ''" class="sub-btn" @click="doNav(405)"></button>
<button type="button" :class="nav == 406 ? 'active' : ''" class="sub-btn" @click="doNav(406)"></button>
<button type="button" :class="nav == 407 ? 'active' : ''" class="sub-btn" @click="doNav(407)"></button>
<button type="button" :class="nav == 408 ? 'active' : ''" class="sub-btn" @click="doNav(408)"></button>
</div>
</div>
</div>
</div>
<div :class="(nav >= 500 && nav < 600) || nav == 5 ? 'head-nav active' : 'head-nav'"
style="position: relative;" class="has-submenu">
<div :class="(nav >= 500 && nav < 600) || nav == 5 ? 'head-nav active' : 'head-nav'" style="position: relative;" class="has-submenu">
<div @click="doNav(5)"></div>
<div class="header-btn-list">
<div class="header-btn-list-arrow"></div>
<div class="header-btn-list-item" style="">
<div class="header-btn-list-item" style>
<div class="header-btn-list-padding menu-row1" style="text-align: left;">
<button type="button" :class="nav == 5 ? 'active' : ''" class="sub-btn"
@click="doNav(5)">进度管理</button>
<button type="button" :class="nav == 501 ? 'active' : ''" class="sub-btn"
@click="doNav(501)">延时摄影</button>
<button type="button" :class="nav == 5 ? 'active' : ''" class="sub-btn" @click="doNav(5)"></button>
<button type="button" :class="nav == 501 ? 'active' : ''" class="sub-btn" @click="doNav(501)"></button>
</div>
</div>
</div>
</div>
</div>
</el-col>
<el-col :span="8" class="header-center">
<img class="prj-logo" :src="selProject.setting.orgLogo"
v-if="selProject && selProject.setting && selProject.setting.orgLogo" />
<img class="prj-logo" :src="selProject.setting.orgLogo" v-if="selProject && selProject.setting && selProject.setting.orgLogo" />
{{ selProject?.setting?.orgName || '数字建安施工管理平台' }}
</el-col>
<el-col :span="8">
@ -99,31 +73,43 @@
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">绿</div>
</div>
<div class="header-title-user-info" style="display:inline-block;float:right;">
<el-select v-model="selProjectId" popper-class="header-sel-project-pop"
style="width: 150px;margin-right: 20px;height:30px;line-height: 30px;"
@change="doProjectSelect">
<el-option v-for="it in projects" :key="it.id" :label="it.projectName"
:value="it.id"></el-option>
<el-select v-model="selProjectId" popper-class="header-sel-project-pop" style="width: 150px;margin-right: 20px;height:30px;line-height: 30px;" @change="doProjectSelect">
<el-option v-for="it in projects" :key="it.id" :label="it.projectName" :value="it.id"></el-option>
</el-select>
<span class="command" @click="doLogout">{{ nickName }}
<span class="command" @click="doLogout">
{{ nickName }}
<i class="el-icon-switch-button"></i>
</span>
</div>
<i class="set-fullscreen set-font-size"
style="margin-left: 16px;position: absolute;top: 0px;right: 24px;" @click="toggleFullScreen">
<svg class="icon" v-if="!isFullScreen"
<i class="set-fullscreen set-font-size" style="margin-left: 16px;position: absolute;top: 0px;right: 24px;" @click="toggleFullScreen">
<svg
class="icon"
v-if="!isFullScreen"
style="width: 20px; vertical-align: middle;fill: currentColor;overflow: hidden;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3304">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3304"
>
<path
d="M145.066667 85.333333h153.6c25.6 0 42.666667-17.066667 42.666666-42.666666S324.266667 0 298.666667 0H34.133333C25.6 0 17.066667 8.533333 8.533333 17.066667 0 25.6 0 34.133333 0 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666666s42.666667-17.066667 42.666666-42.666666V145.066667l230.4 230.4c17.066667 17.066667 42.666667 17.066667 59.733334 0 17.066667-17.066667 17.066667-42.666667 0-59.733334L145.066667 85.333333z m170.666666 563.2L162.133333 802.133333l-76.8 76.8V725.333333C85.333333 699.733333 68.266667 682.666667 42.666667 682.666667s-42.666667 17.066667-42.666667 42.666666v256c0 25.6 17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666666-42.666667s-17.066667-42.666667-42.666666-42.666666H145.066667l76.8-76.8 153.6-153.6c17.066667-17.066667 17.066667-42.666667 0-59.733334-17.066667-17.066667-42.666667-17.066667-59.733334 0z m665.6 34.133334c-25.6 0-42.666667 17.066667-42.666666 42.666666v153.6l-76.8-76.8-153.6-153.6c-17.066667-17.066667-42.666667-17.066667-59.733334 0-17.066667 17.066667-17.066667 42.666667 0 59.733334l153.6 153.6 76.8 76.8H725.333333c-25.6 0-42.666667 17.066667-42.666666 42.666666s17.066667 42.666667 42.666666 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666666z m0-682.666667h-256c-25.6 0-42.666667 17.066667-42.666666 42.666667s17.066667 42.666667 42.666666 42.666666h153.6l-76.8 76.8-153.6 153.6c-17.066667 17.066667-17.066667 42.666667 0 59.733334 17.066667 17.066667 42.666667 17.066667 59.733334 0l153.6-153.6 76.8-76.8v153.6c0 25.6 17.066667 42.666667 42.666666 42.666666s42.666667-17.066667 42.666667-42.666666v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
fill="" p-id="3305"></path>
fill
p-id="3305"
/>
</svg>
<svg class="icon" v-else
<svg
class="icon"
v-else
style="width: 24px; vertical-align: middle;fill: currentColor;overflow: hidden;"
viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3952">
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="3952"
>
<path
d="M384 597.333333h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h153.6L17.066667 947.2c-17.066667 17.066667-17.066667 42.666667 0 59.733333 17.066667 17.066667 42.666667 17.066667 59.733333 0L341.333333 742.4v153.6c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z m358.4 85.333334h153.6c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667h-256c-25.6 0-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667s42.666667-17.066667 42.666667-42.666667V742.4l264.533333 264.533333c17.066667 17.066667 42.666667 17.066667 59.733333 0 17.066667-17.066667 17.066667-42.666667 0-59.733333L742.4 682.666667zM640 426.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667s-17.066667-42.666667-42.666667-42.666667H742.4L1006.933333 76.8c17.066667-17.066667 17.066667-42.666667 0-59.733333-17.066667-17.066667-42.666667-17.066667-59.733333 0L682.666667 281.6V128c0-25.6-17.066667-42.666667-42.666667-42.666667s-42.666667 17.066667-42.666667 42.666667v256c0 25.6 17.066667 42.666667 42.666667 42.666667z m-256-341.333334c-25.6 0-42.666667 17.066667-42.666667 42.666667v153.6L76.8 8.533333C59.733333 0 25.6 0 8.533333 8.533333 0 25.6 0 59.733333 8.533333 76.8L281.6 341.333333H128c-25.6 0-42.666667 17.066667-42.666667 42.666667s17.066667 42.666667 42.666667 42.666667h256c25.6 0 42.666667-17.066667 42.666667-42.666667v-256c0-25.6-17.066667-42.666667-42.666667-42.666667z"
p-id="3953"></path>
p-id="3953"
/>
</svg>
</i>
</el-col>
@ -144,100 +130,102 @@ export default {
},
computed: {
nickName() {
return this.$store.getters.nickName;
return this.$store.getters.nickName
},
curNav() {
return this.$store.getters.nav;
}
return this.$store.getters.nav
},
},
watch: {
curNav(n, o) {
this.nav = this.$store.getters.nav;
}
this.nav = this.$store.getters.nav
},
},
mounted() {
window.xapp = this;
this.$api.project.findMyProjectList().then(d => {
this.projects = d.rows || [];
window.xapp = this
this.$api.project.findMyProjectList().then((d) => {
this.projects = d.rows || []
if (this.projects.length > 0) {
let id = localStorage.getItem("selProj") || this.projects[0].id
this.selProjectId = +id;
this.doProjectSelect();
let id = localStorage.getItem('selProj') || this.projects[0].id
this.selProjectId = +id
this.doProjectSelect()
}
});
})
},
methods: {
toggleFullScreen() {
let el = document.body;
this.$toggleFullScreen(el);
let el = document.body
this.$toggleFullScreen(el)
setTimeout(() => {
this.isFullScreen = document.fullscreenElement == el;
}, 400);
this.isFullScreen = document.fullscreenElement == el
}, 400)
},
doProjectSelect() {
let tmps = this.projects.filter(d => d.id == this.selProjectId);
let tmps = this.projects.filter((d) => d.id == this.selProjectId)
if (tmps.length > 0) {
this.$store.dispatch('SetSelProject', tmps[0]);
this.selProject = tmps[0];
this.$store.dispatch('SetSelProject', tmps[0])
this.selProject = tmps[0]
} else {
this.$store.dispatch('SetSelProject', null);
this.selProject = null;
this.$store.dispatch('SetSelProject', null)
this.selProject = null
}
localStorage.setItem("selProj", this.selProjectId);
localStorage.setItem('selProj', this.selProjectId)
},
doNav(n) {
if (this.nav == n) {
return;
return
}
this.nav = n;
this.nav = n
switch (n) {
case 1:
this.$router.push("/index");
break;
this.$router.push('/index')
break
case 2:
this.$router.push("/detail");
break;
this.$router.push('/detail')
break
case 3:
this.$router.push("/prjSafety");
break;
this.$router.push('/prjSafety')
break
case 309:
this.$router.push("/videoMonitor");
break;
this.$router.push('/videoMonitor')
break
case 301:
this.$router.push("/safetyCheck");
break;
this.$router.push('/safetyCheck')
break
case 304:
this.$router.push("/towerCrane");
break;
this.$router.push('/towerCrane')
break
case 306:
this.$router.push("/powerIot");
break;
this.$router.push('/powerIot')
break
case 4:
this.$router.push("/prjQuality");
break;
this.$router.push('/prjQuality')
break
case 5:
this.$router.push("/prjProgress");
break;
this.$router.push('/prjProgress')
break
case 6:
this.$router.push("/greenCarbon");
break;
this.$router.push('/greenCarbon')
break
case 501:
this.$router.push("/photography");
break;
this.$router.push('/photography')
break
}
},
doLogout() {
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = window.XDBSAPP;
type: 'warning',
})
.then(() => {
this.$store.dispatch('LogOut').then(() => {
location.href = window.XDBSAPP
})
})
}).catch(() => { });
}
}
.catch(() => {})
},
},
}
</script>
@ -304,10 +292,8 @@ export default {
}
}
}
}
}
}
}
}
@ -370,8 +356,6 @@ export default {
}
@media (min-width: 2561px) {
.header-center {
font-size: 52px !important;
margin-top: 10px;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,21 @@
<template>
<div class="index-page main-page">
</div>
<div class="index-page main-page"></div>
</template>
<script>
export default {
data() {
return {
selProject: null
selProject: null,
}
},
mounted() {
this.$store.dispatch('ChangeNav', 1);
this.$bus.$on('projectChange', prj => {
this.selProject = prj;
});
}
window.location.href = '#/detail'
this.$store.dispatch('ChangeNav', 1)
this.$bus.$on('projectChange', (prj) => {
this.selProject = prj
})
},
}
</script>

View File

@ -12,7 +12,7 @@
<div class="dept-info" v-else>
<img class="dept-img" src="images/company_3.png" />
<div class="dept-row">
<div class="dept-name">{{ deptType1.deptName }}</div>
<div class="dept-name" :title="deptType1.deptName">{{ deptType1.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType1.leader || '') + ' ' + (deptType1.phone || '')">
<span class="dept-leader">{{ deptType1.leader }}</span>
<span class="dept-phone">{{ deptType1.phone }}</span>
@ -26,7 +26,7 @@
<div class="dept-info" v-else>
<img class="dept-img" src="images/company_2.png" />
<div class="dept-row">
<div class="dept-name">{{ deptType2.deptName }}</div>
<div class="dept-name" :title="deptType2.deptName">{{ deptType2.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType2.leader || '') + ' ' + (deptType2.phone || '')">
<span class="dept-leader">{{ deptType2.leader }}</span>
<span class="dept-phone">{{ deptType2.phone }}</span>
@ -56,7 +56,7 @@
<div class="dept-info" v-else>
<img class="dept-img" src="images/company_11.png" />
<div class="dept-row">
<div class="dept-name">{{ deptType4.deptName }}</div>
<div class="dept-name" :title="deptType4.deptName">{{ deptType4.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType4.leader || '') + ' ' + (deptType4.phone || '')">
<span class="dept-leader">{{ deptType4.leader }}</span>
<span class="dept-phone">{{ deptType4.phone }}</span>
@ -72,7 +72,7 @@
<div class="dept-info" v-else>
<img class="dept-img" src="images/company_12.png" />
<div class="dept-row">
<div class="dept-name">{{ deptType5.deptName }}</div>
<div class="dept-name" :title="deptType5.deptName">{{ deptType5.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType5.leader || '') + ' ' + (deptType5.phone || '')">
<span class="dept-leader">{{ deptType5.leader }}</span>
<span class="dept-phone">{{ deptType5.phone }}</span>
@ -87,7 +87,7 @@
<div class="dept-info" v-else>
<img class="dept-img" src="images/company_10.png" />
<div class="dept-row">
<div class="dept-name">{{ deptType6.deptName }}</div>
<div class="dept-name" :title="deptType6.deptName">{{ deptType6.deptName }}</div>
<div class="dept-leader-phone" :title="(deptType6.leader || '') + ' ' + (deptType6.phone || '')">
<span class="dept-leader">{{ deptType6.leader }}</span>
<span class="dept-phone">{{ deptType6.phone }}</span>
@ -820,6 +820,9 @@ export default {
.dept-name {
color: #50a2eb;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.dept-leader-phone {
@ -904,7 +907,7 @@ export default {
.prj-img-nav {
position: absolute;
z-index: 999;
left: calc(50% - 100px);
.prj-img-nav-item {
display: inline-block;
line-height: 30px;

View File

@ -1,8 +1,6 @@
<template>
<MyDialog v-if="show" v-model="show" width="60vw" height="75vh" class="safety-check-dialog">
<template slot="title">
{{ title }}
</template>
<template slot="title">{{ title }}</template>
<div class="head-title-tab" style="padding: 10px 0px;">
<div :class="nav == 6 ? 'head-nav active' : 'head-nav'" @click="doNav(6)">{{ counts[0] }}</div>
<div :class="nav == 3 ? 'head-nav active' : 'head-nav'" @click="doNav(3)">{{ counts[1] }}</div>
@ -12,20 +10,17 @@
</div>
<div class="scroll data-list" :key="dataKey">
<div v-if="rows.length == 0" style="text-align: center;" class="div-no-data">
<img src="images/nodata.png" style="width: 120px;">
<img src="images/nodata.png" style="width: 120px;" />
<div style="text-align: center;font-size: 12px;color:#888;">暂无数据</div>
</div>
<div v-for="(it, idx) in rows" :key="idx" class="data-item">
<div class="left-image">
<div class="left-header">
<span class="sp-nav" :class="it.imgSel == 0 ? 'active' : ''" @click="it.imgSel = 0">整改前</span>
<span class="sp-nav" :class="it.imgSel == 1 ? 'active' : ''" v-if="it.checkState == 4"
@click="it.imgSel = 1">整改后</span>
<span class="sp-nav" :class="it.imgSel == 1 ? 'active' : ''" v-if="it.checkState == 4" @click="it.imgSel = 1"></span>
</div>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" v-if="it.imgSel == 0"
:preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.marksPicture" v-if="it.imgSel == 1"
:preview-src-list="[it.marksPicture]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" v-if="it.imgSel == 0" :preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.marksPicture" v-if="it.imgSel == 1" :preview-src-list="[it.marksPicture]"></el-image>
</div>
<div class="right-data">
<el-col :span="12">
@ -63,8 +58,15 @@
</div>
</div>
</div>
<el-pagination v-if="rows.length > 0" layout="total,prev, pager, next" @current-change="handleCurrentChange"
:total="total" :page-size="pageSize" :current-page.sync="pageNum" class="bg-pagination"></el-pagination>
<el-pagination
v-if="rows.length > 0"
layout="total,prev, pager, next"
@current-change="handleCurrentChange"
:total="total"
:page-size="pageSize"
:current-page.sync="pageNum"
class="bg-pagination"
></el-pagination>
</MyDialog>
</template>
@ -73,7 +75,7 @@ export default {
data() {
return {
show: false,
title: "安全隐患排查",
title: '安全隐患排查',
prjInfo: {},
nav: 6,
problemType: null,
@ -88,39 +90,39 @@ export default {
},
methods: {
handleCurrentChange(n) {
this.pageNum = n;
this.loadData();
this.pageNum = n
this.loadData()
},
getDict(n) {
let tmps = this.dangerTypeDict.filter(d => d.value == n);
return tmps.length > 0 ? tmps[0].label : '';
let tmps = this.dangerTypeDict.filter((d) => d.value == n)
return tmps.length > 0 ? tmps[0].label : ''
},
doNav(n) {
this.nav = n;
this.loadData();
this.nav = n
this.loadData()
},
showDialog(prj, n, dangerTypeDict) {
this.dangerTypeDict = dangerTypeDict;
this.problemType = n == 0 ? null : n;
this.prjInfo = prj;
this.title = ["安全隐患排查", "日常巡检", "周检", "月检", "转型检查"][n];
this.pageNum = 0;
this.show = true;
this.getCount(n);
this.loadData();
this.dangerTypeDict = dangerTypeDict
this.problemType = n == 0 ? null : n
this.prjInfo = prj
this.title = ['安全隐患排查', '日常巡检', '周检', '月检', '专项检查'][n]
this.pageNum = 0
this.show = true
this.getCount(n)
this.loadData()
},
getCount(n) {
let postData = {
projectId: this.prjInfo.id,
comId: this.prjInfo.comId,
infoType: 0
};
if (n > 0) {
postData.problemType = n;
infoType: 0,
}
this.$api.safety.listCountForBG(postData).then(d => {
this.counts = d.data.filter(it => it.projectName != 'a').map(it => it.id)
});
if (n > 0) {
postData.problemType = n
}
this.$api.safety.listCountForBG(postData).then((d) => {
this.counts = d.data.filter((it) => it.projectName != 'a').map((it) => it.id)
})
},
loadData() {
let postData = {
@ -130,19 +132,18 @@ export default {
pageNum: this.pageNum,
pageSize: this.pageSize,
problemType: this.problemType,
projectName: this.nav
};
this.$api.safety.listForBG(postData).then(d => {
this.total = d.total;
this.rows = (d.rows || []).map(it => {
it.imgSel = 0;
return it;
});
this.dataKey++;
});
}
}
projectName: this.nav,
}
this.$api.safety.listForBG(postData).then((d) => {
this.total = d.total
this.rows = (d.rows || []).map((it) => {
it.imgSel = 0
return it
})
this.dataKey++
})
},
},
}
</script>
@ -189,16 +190,14 @@ export default {
line-height: 30px;
text-align: center;
background: #fff;
color: #5B84EB;
color: #5b84eb;
cursor: pointer;
&.active {
color: #fff;
background: #5B84EB;
background: #5b84eb;
}
}
}
.el-image {
@ -213,12 +212,11 @@ export default {
line-height: 30px;
.sp-label {
color: #8BFFD2;
color: #8bffd2;
}
}
}
}
}
@media (min-width: 1921px) and (max-width: 2560px) {
@ -241,14 +239,11 @@ export default {
max-height: calc(75vh - 180px);
.data-item {
.right-data {
font-size: 18px;
.sp-label {
color: #8BFFD2;
color: #8bffd2;
}
}
}
@ -276,14 +271,11 @@ export default {
max-height: calc(75vh - 180px);
.data-item {
.right-data {
font-size: 24px;
.sp-label {
color: #8BFFD2;
color: #8bffd2;
}
}
}

View File

@ -1,11 +1,9 @@
<template>
<div class="project-safety-check main-page">
<div class="project-safety-check main-page">
<el-col :span="6" class="h100">
<module-one-1-1 label="安全隐患排查" class="chart1-module">
<el-col :span="12" v-for="(it, idx) in chart1Data" :key="idx">
<div
class="equipment-list-min equipment-list-min_div quality-target-index-min quality-target-index-min_div">
<div class="equipment-list-min equipment-list-min_div quality-target-index-min quality-target-index-min_div">
<div class="czz-number-img czz-number-img-blue">
<svg-icon icon-class="notesearch"></svg-icon>
</div>
@ -14,7 +12,8 @@
<span>{{ it.name }}</span>
</div>
<div class="equipment-list-data equipment-list-data_div_bottom">
<span class="sp-data">{{ it.value || 0 }}</span><span class="sp-unit"></span>
<span class="sp-data">{{ it.value || 0 }}</span>
<span class="sp-unit"></span>
</div>
</div>
</div>
@ -24,12 +23,13 @@
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(1)" />
<div class="div-item-chart">
<div class="data-item-chart">
<div class="total-info">{{ item1Data.total }}<br />
<div class="total-info">
{{ item1Data.total }}
<br />
<span class="sp-label">问题总数</span>
</div>
<div class="chart-gif chart-overview-gif"></div>
<my-chart :key="itemChartKey1" id="project-safety-check-item1" width="100%" height="100%"
:render="o => renderDataItem(1)"></my-chart>
<my-chart :key="itemChartKey1" id="project-safety-check-item1" width="100%" height="100%" :render="o => renderDataItem(1)"></my-chart>
</div>
<div class="div-item-info" :key="itemChartKey1">
<div v-for="(it, idx) in item1Data.infos" :key="idx" :class="'item-info'">
@ -44,8 +44,7 @@
<div class="glr-title">最新提交</div>
<div class="div-item-list scroll">
<div v-for="(it, idx) in item1Data.items" :key="idx" class="list-item">
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl"
:preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" :preview-src-list="[it.smarkUrl]"></el-image>
<div class="list-item-info">
<div class="item-row">
<span class="sp-label">提交人:</span>
@ -80,8 +79,7 @@
<el-col :span="18" class="h100">
<module-one-1-3 label="隐患类别统计">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(0)" />
<my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%"
:render="renderChart2"></my-chart>
<my-chart :key="chartKey2" id="project-safety-check-chart2" width="100%" height="100%" :render="renderChart2"></my-chart>
</module-one-1-3>
<el-row class="el-right">
<el-col :span="8">
@ -89,12 +87,13 @@
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(2)" />
<div class="div-item-chart">
<div class="data-item-chart">
<div class="total-info">{{ item2Data.total }}<br />
<div class="total-info">
{{ item2Data.total }}
<br />
<span class="sp-label">问题总数</span>
</div>
<div class="chart-gif chart-overview-gif"></div>
<my-chart :key="itemChartKey1" id="project-safety-check-item2" width="100%"
height="100%" :render="o => renderDataItem(2)"></my-chart>
<my-chart :key="itemChartKey1" id="project-safety-check-item2" width="100%" height="100%" :render="o => renderDataItem(2)"></my-chart>
</div>
<div class="div-item-info" :key="itemChartKey1">
<div v-for="(it, idx) in item2Data.infos" :key="idx" :class="'item-info'">
@ -104,14 +103,12 @@
<span class="sp-percent led-number" v-if="idx > 0">{{ it.percent }}%</span>
</div>
</div>
</div>
<div class="div-item-data">
<div class="glr-title">最新提交</div>
<div class="div-item-list scroll">
<div v-for="(it, idx) in item2Data.items" :key="idx" class="list-item">
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl"
:preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" :preview-src-list="[it.smarkUrl]"></el-image>
<div class="list-item-info">
<div class="item-row">
<span class="sp-label">提交人:</span>
@ -148,12 +145,13 @@
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(3)" />
<div class="div-item-chart">
<div class="data-item-chart">
<div class="total-info">{{ item3Data.total }}<br />
<div class="total-info">
{{ item3Data.total }}
<br />
<span class="sp-label">问题总数</span>
</div>
<div class="chart-gif chart-overview-gif"></div>
<my-chart :key="itemChartKey1" id="project-safety-check-item3" width="100%"
height="100%" :render="o => renderDataItem(3)"></my-chart>
<my-chart :key="itemChartKey1" id="project-safety-check-item3" width="100%" height="100%" :render="o => renderDataItem(3)"></my-chart>
</div>
<div class="div-item-info" :key="itemChartKey1">
<div v-for="(it, idx) in item3Data.infos" :key="idx" :class="'item-info'">
@ -163,14 +161,12 @@
<span class="sp-percent led-number" v-if="idx > 0">{{ it.percent }}%</span>
</div>
</div>
</div>
<div class="div-item-data">
<div class="glr-title">最新提交</div>
<div class="div-item-list scroll">
<div v-for="(it, idx) in item3Data.items" :key="idx" class="list-item">
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl"
:preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" :preview-src-list="[it.smarkUrl]"></el-image>
<div class="list-item-info">
<div class="item-row">
<span class="sp-label">提交人:</span>
@ -203,16 +199,17 @@
</module-one-2-1>
</el-col>
<el-col :span="8">
<module-one-2-1 label="转型检查">
<module-one-2-1 label="专项检查">
<img src="images/icon2001.png" class="img-openwin" @click="showDlg(4)" />
<div class="div-item-chart">
<div class="data-item-chart">
<div class="total-info">{{ item4Data.total }}<br />
<div class="total-info">
{{ item4Data.total }}
<br />
<span class="sp-label">问题总数</span>
</div>
<div class="chart-gif chart-overview-gif"></div>
<my-chart :key="itemChartKey1" id="project-safety-check-item4" width="100%"
height="100%" :render="o => renderDataItem(3)"></my-chart>
<my-chart :key="itemChartKey1" id="project-safety-check-item4" width="100%" height="100%" :render="o => renderDataItem(3)"></my-chart>
</div>
<div class="div-item-info" :key="itemChartKey1">
<div v-for="(it, idx) in item4Data.infos" :key="idx" :class="'item-info'">
@ -222,14 +219,12 @@
<span class="sp-percent led-number" v-if="idx > 0">{{ it.percent }}%</span>
</div>
</div>
</div>
<div class="div-item-data">
<div class="glr-title">最新提交</div>
<div class="div-item-list scroll">
<div v-for="(it, idx) in item4Data.items" :key="idx" class="list-item">
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl"
:preview-src-list="[it.smarkUrl]"></el-image>
<el-image class="img-sm" fit="scale-down" :src="it.smarkUrl" :preview-src-list="[it.smarkUrl]"></el-image>
<div class="list-item-info">
<div class="item-row">
<span class="sp-label">提交人:</span>
@ -281,17 +276,17 @@ export default {
dpi: '',
selProject: null,
legendOpt1: {
icon: "rect",
icon: 'rect',
textStyle: {
color: "#c3dbfd",
color: '#c3dbfd',
fontSize: 14,
rich: {
name: {
color: "#c3dbfd",
color: '#c3dbfd',
padding: [0, 20, 0, 0],
},
percent: {
color: "#4676FD"
color: '#4676FD',
},
},
},
@ -322,42 +317,42 @@ export default {
datas: [],
infos: [],
items: [],
}
},
}
},
mounted() {
window.safetyApp = this;
this.$store.dispatch('ChangeNav', 301);
this.$bus.$on('projectChange', prj => {
this.selProject = prj;
this.init();
});
this.selProject = this.$store.getters.selProject;
this.init();
this.dpi = this.$dpi();
window.addEventListener("resize", () => {
window.safetyApp = this
this.$store.dispatch('ChangeNav', 301)
this.$bus.$on('projectChange', (prj) => {
this.selProject = prj
this.init()
})
this.selProject = this.$store.getters.selProject
this.init()
this.dpi = this.$dpi()
window.addEventListener('resize', () => {
if (this.dpi != this.$dpi()) {
this.dpi = this.$dpi();
this.chartKey++;
this.chartKey2++;
this.dpi = this.$dpi()
this.chartKey++
this.chartKey2++
}
});
this.$api.dict("ssp_proble_sub_type").then((d) => {
this.dangerTypeDict = d || [];
});
})
this.$api.dict('ssp_proble_sub_type').then((d) => {
this.dangerTypeDict = d || []
})
},
methods: {
showDlg(n) {
this.$refs.dlg.showDialog(this.selProject, n, this.dangerTypeDict);
this.$refs.dlg.showDialog(this.selProject, n, this.dangerTypeDict)
},
init() {
if (!this.selProject) {
return;
return
}
let postData = {
projectId: this.selProject.id,
comId: this.selProject.comId
};
comId: this.selProject.comId,
}
let ajaxs = [
this.$api.safety.groupByProblemType(postData),
this.$api.safety.groupByDangerType(postData),
@ -369,119 +364,122 @@ export default {
this.$api.safety.listForBG({ ...postData, problemType: 3, infoType: 0, pageNum: 1, pageSize: 5 }),
this.$api.safety.listCountForBG({ ...postData, problemType: 4, infoType: 0 }),
this.$api.safety.listForBG({ ...postData, problemType: 4, infoType: 0, pageNum: 1, pageSize: 5 }),
];
this.$api.http.all(ajaxs).then(res => {
this.chart1Data = (res[0].data || []).map(it => {
]
this.$api.http.all(ajaxs).then((res) => {
this.chart1Data = (res[0].data || []).map((it) => {
return {
id: it.nickedInfo,
value: it.id,
name: it.problemType,
data: it
data: it,
}
});
this.chart2Data = (res[1].data || []).map(it => {
})
this.chart2Data = (res[1].data || []).map((it) => {
return {
id: it.nickedInfo,
name: it.dangerType,
value1: it.id,
value2: it.comId,
}
});
this.showChart1();//
this.showChart2();//
})
this.showChart1() //
this.showChart2() //
this.makeItemData(this.item1Data, res[2].data)
this.item1Data.items = res[3].rows;
this.item1Data.items = res[3].rows
this.makeItemData(this.item2Data, res[4].data)
this.item2Data.items = res[5].rows;
this.item2Data.items = res[5].rows
this.makeItemData(this.item3Data, res[6].data)
this.item3Data.items = res[7].rows;
this.item3Data.items = res[7].rows
this.makeItemData(this.item4Data, res[8].data)
this.item4Data.items = res[9].rows;
this.itemChartKey1++;
});
},
showChart1(n) {
this.item4Data.items = res[9].rows
this.itemChartKey1++
})
},
showChart1(n) {},
showChart2() {
this.chartKey2++;
this.chartKey2++
},
getStatus(s) {
let checkStates = [{ value: "0", label: '待整改' }, { value: "1", label: '待复检' },
{ value: "3", label: '复检驳回' },
{ value: "4", label: '复检通过' }];
let objs = checkStates.filter(it => it.value == s);
return objs.length > 0 ? objs[0].label : '';
let checkStates = [
{ value: '0', label: '待整改' },
{ value: '1', label: '待复检' },
{ value: '3', label: '复检驳回' },
{ value: '4', label: '复检通过' },
]
let objs = checkStates.filter((it) => it.value == s)
return objs.length > 0 ? objs[0].label : ''
},
makeItemData(item, res) {
let labels = ['问题总数', '待整改', '待复检', '复检驳回', '整改完成', '超时整改'];
item.total = res[0].id;
let total = res[0].id;
item.datas = [];
let labels = ['问题总数', '待整改', '待复检', '复检驳回', '整改完成', '超时整改']
item.total = res[0].id
let total = res[0].id
item.datas = []
for (let i = 1; i < 5; i++) {
item.datas.push({
name: labels[i],
value: res[i].id
});
value: res[i].id,
})
}
item.infos = [];
item.infos = []
for (let i = 0; i < res.length; i++) {
item.infos.push({
name: labels[i],
value: res[i].id,
type: res[i].projectName,
percent: total == 0 ? 0 : (res[i].id / total * 100.0).toFixed(1)
});
percent: total == 0 ? 0 : ((res[i].id / total) * 100.0).toFixed(1),
})
}
},
renderDataItem(n) {
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
let objs = this._data['item' + n + 'Data'];
let is1K = this.$dpi() == '1K'
let is2K = this.$dpi() == '2K'
let objs = this._data['item' + n + 'Data']
let option = {
color: ["#71BCC4", "#EEBE47", "#5EA85D", "#5B84EB", "#E76168"],
color: ['#71BCC4', '#EEBE47', '#5EA85D', '#5B84EB', '#E76168'],
series: [
{
type: 'pie',
radius: ['40%', '70%'],
padAngle: 1,
itemStyle: {
borderRadius: 5
}, emphasis: {
borderRadius: 5,
},
emphasis: {
label: {
show: false,
}
},
},
label: {
show: false
show: false,
},
labelLine: {
show: false
show: false,
},
data: objs.datas
}
]
};
return option;
data: objs.datas,
},
],
}
return option
},
renderChart2(opt) {
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
let is1K = this.$dpi() == '1K'
let is2K = this.$dpi() == '2K'
let option = {
grid: {
left: "5%",
right: "5%",
bottom: "0%",
top: "15%",
left: '5%',
right: '5%',
bottom: '0%',
top: '15%',
containLabel: true,
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => { return v },
trigger: 'axis',
valueFormatter: (v) => {
return v
},
textStyle: {
fontSize: is1K ? 12 : is2K ? 14 : 24
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
},
legend: {
@ -491,89 +489,89 @@ export default {
itemHeight: is1K ? 14 : is2K ? 20 : 20,
itemGap: is1K ? 20 : is2K ? 30 : 40,
textStyle: {
color: "#fff",
color: '#fff',
fontSize: is1K ? 14 : is2K ? 20 : 30,
}
},
},
xAxis: [
{
type: "category",
data: this.chart2Data.map(it => it.name.replace(/[“”]/g, "'")),
type: 'category',
data: this.chart2Data.map((it) => it.name.replace(/[“”]/g, "'")),
axisLabel: {
width: is1K ? 60 : is2K ? 140 : 220,
rotate: 15,
margin: 15,
rotate: 10,
fontSize: is1K ? 12 : is2K ? 14 : 22,
overflow: "break",
color: "#a2c8f9"
overflow: 'break',
color: '#a2c8f9',
},
splitLine: {
lineStyle: {
opacity: 0.1
}
}
opacity: 0.1,
},
},
},
],
yAxis: [
{
type: "value",
type: 'value',
minInterval: 1,
axisLabel: {
formatter: '{value}',
color: "#2ec2b3",
fontSize: is1K ? 12 : is2K ? 14 : 24
color: '#2ec2b3',
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
splitLine: {
lineStyle: {
opacity: 0.1
}
opacity: 0.1,
},
},
},
],
series: [
{
name: '问题数',
type: "bar",
type: 'bar',
barGap: '0%',
barWidth: '20%',
label: {
show: true,
position: "top",
color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24
position: 'top',
color: '#4DAAFC',
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
lineStyle: {
color: "#7ddff2",
color: '#7ddff2',
},
itemStyle: {
normal: { areaStyle: { type: "default", color: "#7ddff2", opacity: 0.1 } },
normal: { areaStyle: { type: 'default', color: '#7ddff2', opacity: 0.1 } },
},
data: this.chart2Data.map(it => it.value1),
data: this.chart2Data.map((it) => it.value1),
},
{
name: '待改数',
type: "bar",
type: 'bar',
barGap: '0%',
barWidth: '20%',
label: {
show: true,
position: "top",
color: "#4DAAFC",
fontSize: is1K ? 12 : is2K ? 14 : 24
position: 'top',
color: '#4DAAFC',
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
lineStyle: {
color: "#006594",
color: '#006594',
},
itemStyle: {
normal: { areaStyle: { type: "default", color: "#006594", opacity: 0.1 } },
normal: { areaStyle: { type: 'default', color: '#006594', opacity: 0.1 } },
},
data: this.chart2Data.map(it => it.value2),
}
data: this.chart2Data.map((it) => it.value2),
},
],
};
return option;
}
}
}
return option
},
},
}
</script>
@ -693,19 +691,19 @@ export default {
top: 4px;
&.is-b {
background-color: #71BCC4;
background-color: #71bcc4;
}
&.is-c {
background-color: #EEBE47;
background-color: #eebe47;
}
&.is-d {
background-color: #5EA85D;
background-color: #5ea85d;
}
&.is-e {
background-color: #5B84EB;
background-color: #5b84eb;
}
}
@ -725,7 +723,7 @@ export default {
.sp-percent {
margin-left: 8px;
color: #5B84EB;
color: #5b84eb;
}
}
}
@ -763,7 +761,7 @@ export default {
line-height: 24px;
.sp-label {
color: #8BFFD2;
color: #8bffd2;
}
}
}
@ -933,8 +931,6 @@ export default {
}
}
}
}
.div-item-chart {
@ -1032,6 +1028,5 @@ export default {
}
}
}
}
</style>

View File

@ -1,5 +1,5 @@
<template>
<div class="project-tower-crane main-page">
<div class="project-tower-crane main-page">
<el-col :span="6" class="h100">
<module-one-3-1 label="设备概况" class="h100">
<el-row class="tower-total">
@ -11,8 +11,8 @@
<div class="equipment-list-data">
<p class="p-label">塔机总数</p>
<div>
<span class="span-num led-number">{{ towerTotalNum }}</span><span
class="span-unit"></span>
<span class="span-num led-number">{{ towerTotalNum }}</span>
<span class="span-unit"></span>
</div>
</div>
</div>
@ -25,8 +25,8 @@
<div class="equipment-list-data">
<p class="p-label">监控总数</p>
<div>
<span class="span-num led-number">{{ towerTotalNum }}</span><span
class="span-unit"></span>
<span class="span-num led-number">{{ towerTotalNum }}</span>
<span class="span-unit"></span>
</div>
</div>
</div>
@ -34,8 +34,7 @@
</el-row>
<el-row style="height: 160px; overflow: hidden" :key="chart1Key">
<staff-survey-chart :height="chart1Height" :unit="'个'" :data="towerConfigView"
width="100%"></staff-survey-chart>
<staff-survey-chart :height="chart1Height" :unit="'个'" :data="towerConfigView" width="100%"></staff-survey-chart>
</el-row>
<el-row class="left-data-list">
@ -43,8 +42,7 @@
<div :class="'active'">监控列表</div>
</div>
<div class="drv-list scroll" id="listMin">
<div v-for="(it, idx) in towerConfigList" :key="idx" class="drv-item list-for"
:class="index == idx ? 'active' : ''" @click="onTowerCraneList(idx)">
<div v-for="(it, idx) in towerConfigList" :key="idx" class="drv-item list-for" :class="index == idx ? 'active' : ''" @click="onTowerCraneList(idx)">
<div class="item-content">
<div class="dev-row1">
<div class="survey_content">
@ -64,10 +62,11 @@
</div>
<div class="data-row">
<span class="sp-label">设备状态:</span>
<span class="sp-value"
:class="it.online == 2 ? 'is-offline' : 'is-online'">{{
it.online == 2 ? "离线" : "在线"
}}</span>
<span class="sp-value" :class="it.online == 2 ? 'is-offline' : 'is-online'">
{{
it.online == 2 ? "离线" : "在线"
}}
</span>
</div>
</div>
</div>
@ -108,7 +107,6 @@
</module-one-3-1>
</el-col>
<el-col :span="18" class="h100">
<el-row class="main-content">
<el-col :span="16" class="h100">
<el-row class="total-data">
@ -148,23 +146,17 @@
<el-col :span="6">
<div class="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
<div :class="'active'">
超载率({{ getRoudValue(towerConfigStat.b0, towerConfigStat.a0) }})
</div>
<div :class="'active'">超载率({{ getRoudValue(towerConfigStat.b0, towerConfigStat.a0) }})</div>
<div class="title-bg"></div>
</div>
<div class="data-row2">
<div class="data-row2-col">
<div class="s-text">本月</div>
<div class="s-number">
{{ getRoudValue(towerConfigStat.b1, towerConfigStat.a1) }}
</div>
<div class="s-number">{{ getRoudValue(towerConfigStat.b1, towerConfigStat.a1) }}</div>
</div>
<div class="data-row2-col">
<div class="s-text">累计</div>
<div class="s-number">
{{ getRoudValue(towerConfigStat.b0, towerConfigStat.a0) }}
</div>
<div class="s-number">{{ getRoudValue(towerConfigStat.b0, towerConfigStat.a0) }}</div>
</div>
</div>
</el-col>
@ -191,24 +183,32 @@
<div class="safe-tower-crane-min" style="position: relative">
<el-row class="row-crane-min">
<el-col :span="2">
<div class="safe-tower-left" v-if="towerConfigList.length > 1"
@click="safeTowerLeft"></div>
<div class="safe-tower-left" v-if="towerConfigList.length > 1" @click="safeTowerLeft"></div>
</el-col>
<el-col :span="20">
<div class="safe-tower-content-max">
<transition :name="direction">
<component :is="comName" :value="selDev" :width="360" :height="200"
:top="55" :left="85" :tHeight="runData.height" :tLoad="runData.load"
:tRotation="runData.rotation" :tRange="runData.range"
:tLeanAngleX="runData.leanAngleX" :tLeanAngleY="runData.leanAngleY"
<component
:is="comName"
:value="selDev"
:width="360"
:height="200"
:top="55"
:left="85"
:tHeight="runData.height"
:tLoad="runData.load"
:tRotation="runData.rotation"
:tRange="runData.range"
:tLeanAngleX="runData.leanAngleX"
:tLeanAngleY="runData.leanAngleY"
:tLoadPercent="runData.loadPercent"
:tMomentPercent="runData.momentPercent"></component>
:tMomentPercent="runData.momentPercent"
></component>
</transition>
</div>
</el-col>
<el-col :span="2">
<div class="safe-tower-right" v-if="towerConfigList.length > 1"
@click="safeTowerRight"></div>
<div class="safe-tower-right" v-if="towerConfigList.length > 1" @click="safeTowerRight"></div>
</el-col>
</el-row>
</div>
@ -224,25 +224,16 @@
</div>
<div class="afoot-content safe-afoot-content">
<div class="afoot-overflow safe-afoot-overflow" id="afootOverflow">
<div v-if="warningData.length == 0" class="not-data">
暂无预警数据
</div>
<div v-if="warningData.length == 0" class="not-data"></div>
<div v-if="warningData.length > 0" class="quality-table special-table scroll"
style="padding:0px;" :key="tbHeight">
<el-table :data="warningData" class="mytable"
style="width: 100%;background: transparent;" :height="tbHeight"
ref="fbsubordinateUnit">
<div v-if="warningData.length > 0" class="quality-table special-table scroll" style="padding:0px;" :key="tbHeight">
<el-table :data="warningData" class="mytable" style="width: 100%;background: transparent;" :height="tbHeight" ref="fbsubordinateUnit">
<el-table-column prop="createTime" label="发送时间"></el-table-column>
<el-table-column label="预警类型">
<template slot-scope="scope">
<div class="tag-group">
<template v-for="(item, idx) in dicts">
<el-tag :key="idx"
v-if="dic(item.value, scope.row.warnings)" type="danger"
effect="dark">
{{ item.label }}
</el-tag>
<el-tag :key="idx" v-if="dic(item.value, scope.row.warnings)" type="danger" effect="dark">{{ item.label }}</el-tag>
</template>
</div>
</template>
@ -257,8 +248,7 @@
<div class="analyse-text">力矩曲线</div>
</div>
<div class="safe-moment">
<my-chart :key="itemChartKey1" id="project-tower-crane-item2" width="100%" height="100%"
:render="o => renderDataItem2(o)"></my-chart>
<my-chart :key="itemChartKey1" id="project-tower-crane-item2" width="100%" height="100%" :render="o => renderDataItem2(o)"></my-chart>
</div>
</div>
</div>
@ -282,8 +272,10 @@
<div v-for="i in 10" :key="i" class="scale-item"></div>
</div>
<span class="sp-data1 sp-data sp-sc">报警:{{ it.data1 }}</span>
<span class="sp-data2 sp-data sp-sc" v-if="it.data2 >= 5" :style="calcTop(it)">:{{
it.data2 }}</span>
<span class="sp-data2 sp-data sp-sc" v-if="it.data2 >= 5" :style="calcTop(it)">
报警:{{
it.data2 }}
</span>
<span class="sp-sc2 sp-sc">{{ it.scale2 }}</span>
</div>
</div>
@ -294,9 +286,9 @@
</template>
<script>
import debounce from "lodash.debounce";
import "@/components/tower-crane-value-1";
import "@/components/tower-crane-value-2";
import debounce from 'lodash.debounce'
import '@/components/tower-crane-value-1'
import '@/components/tower-crane-value-2'
export default {
data() {
return {
@ -311,29 +303,29 @@ export default {
towerConfigList: [],
towerConfigStat: { a0: 0, b0: 0, c0: 0, a1: 0, b1: 0, c1: 0 },
runData: {
height: "0",
range: "0",
rotation: "0",
load: "0",
windSpeed: "0",
leanAngleX: "0",
leanAngleY: "0",
loadPercent: "0",
momentPercent: "0",
windSpeedPercent: "0",
height: '0',
range: '0',
rotation: '0',
load: '0',
windSpeed: '0',
leanAngleX: '0',
leanAngleY: '0',
loadPercent: '0',
momentPercent: '0',
windSpeedPercent: '0',
warnings: null,
},
selDev: {},
devBottomInfo: [
{ title: "幅度", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: "风速", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: "吊重", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: "倾角", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: "转角", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: "高度", data1: 0, data2: 0, scale1: "0", scale2: "0m" },
{ title: '幅度', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
{ title: '风速', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
{ title: '吊重', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
{ title: '倾角', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
{ title: '转角', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
{ title: '高度', data1: 0, data2: 0, scale1: '0', scale2: '0m' },
],
direction: "right",
comName: "tower-crane-value-1",
direction: 'right',
comName: 'tower-crane-value-1',
warningData: [],
momentData: {},
forIndex: 0,
@ -347,287 +339,289 @@ export default {
}
},
mounted() {
window.safetyApp = this;
this.$store.dispatch('ChangeNav', 304);
this.$bus.$on('projectChange', prj => {
this.selProject = prj;
this.init();
});
this.selProject = this.$store.getters.selProject;
this.init();
this.dpi = this.$dpi();
this.resize();
window.addEventListener("resize", () => {
window.safetyApp = this
this.$store.dispatch('ChangeNav', 304)
this.$bus.$on('projectChange', (prj) => {
this.selProject = prj
this.init()
})
this.selProject = this.$store.getters.selProject
this.init()
this.dpi = this.$dpi()
this.resize()
window.addEventListener('resize', () => {
if (this.dpi != this.$dpi()) {
this.dpi = this.$dpi();
this.resize();
this.dpi = this.$dpi()
this.resize()
}
});
this.$api.dict("ssp_proble_sub_type").then((d) => {
this.dangerTypeDict = d || [];
});
})
this.$api.dict('ssp_proble_sub_type').then((d) => {
this.dangerTypeDict = d || []
})
this.momentData = JSON.parse(
'{"point":[[null,null]],"dataX":[15,20,25,30,35,40,45,50,55,60],"dataY":[3,3,3,3,2.59,2.2,1.9,1.66,1.46,1.3]}'
);
)
},
created() {
this.$api.dict("device_tower_warning").then((d) => {
this.dicts = d || [];
console.log("---->", this.dicts);
});
this.$api.dict('device_tower_warning').then((d) => {
this.dicts = d || []
console.log('---->', this.dicts)
})
},
methods: {
resize() {
this.chart1Key++;
this.itemChartKey1++;
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
this.tbHeight = is1K ? 290 : is2K ? 410 : 770;
this.chart1Key++
this.itemChartKey1++
let is1K = this.$dpi() == '1K'
let is2K = this.$dpi() == '2K'
this.tbHeight = is1K ? 290 : is2K ? 410 : 770
},
init() {
if (!this.selProject) {
return;
return
}
this.initTowerConfigView();
this.initTowerConfigList();
this.initTowerConfigView()
this.initTowerConfigList()
},
getRoudValue(a, b) {
if (a > 0) {
return (parseFloat(a / b) * 100).toFixed(1) + "%";
return (parseFloat(a / b) * 100).toFixed(1) + '%'
} else {
return "0%";
return '0%'
}
},
initTowerConfigView() {
let postData = {
comId: this.selProject.comId,
projectId: this.selProject.id,
};
}
this.$api.tower.findTowerConfigGroupOnline(postData).then((d) => {
let list = [];
let total = 0;
let list = []
let total = 0
if (d.data && d.data.length > 0) {
d.data.forEach((datum) => {
total += datum.total;
total += datum.total
if (datum.online == 1) {
list.push({ text: "在线数量", value: datum.total });
list.push({ text: '在线数量', value: datum.total })
if (d.data.length == 1) {
list.push({ text: "离线数量", value: 0 });
list.push({ text: '离线数量', value: 0 })
}
} else {
list.push({ text: "离线数量", value: datum.total });
list.push({ text: '离线数量', value: datum.total })
}
});
})
}
this.towerTotalNum = total;
this.towerConfigView = list;
});
this.towerTotalNum = total
this.towerConfigView = list
})
},
initTowerConfigList() {
let postData = {
comdId: this.selProject.comId,
projectId: this.selProject.id,
};
}
this.$api.tower.findTowerConfigListByProjectId(postData).then((d) => {
this.towerConfigList = d.data || [];
this.towerConfigList = d.data || []
if (d.data.length > 0) {
this.initSelDev(this.index);
this.initSelDev(this.index)
} else {
this.runData.height = "0";
this.runData.range = "0";
this.runData.rotation = "0";
this.runData.load = "0";
this.runData.windSpeed = "0";
this.runData.leanAngleX = "0";
this.runData.leanAngleY = "0";
this.runData.loadPercent = "0";
this.runData.momentPercent = "0";
this.runData.windSpeedPercent = "0";
this.runData.warnings = null;
this.devBottomInfo[0].data1 = 0;
this.devBottomInfo[1].data1 = 0;
this.devBottomInfo[2].data1 = 0;
this.devBottomInfo[3].data1 = 0;
this.devBottomInfo[4].data1 = 0;
this.devBottomInfo[5].data1 = 0;
this.devBottomInfo[0].data2 = 0;
this.devBottomInfo[1].data2 = 0;
this.devBottomInfo[2].data2 = 0;
this.devBottomInfo[3].data2 = 0;
this.devBottomInfo[4].data2 = 0;
this.devBottomInfo[5].data2 = 0;
this.towerConfigStat.a0 = 0;
this.towerConfigStat.b0 = 0;
this.towerConfigStat.c0 = 0;
this.towerConfigStat.a1 = 0;
this.towerConfigStat.b1 = 0;
this.towerConfigStat.c1 = 0;
this.warningData = [];
this.selDev = { deviceName: "未找到设备", frontBrachium: 0, afterBrachium: 0 };
this.runData.height = '0'
this.runData.range = '0'
this.runData.rotation = '0'
this.runData.load = '0'
this.runData.windSpeed = '0'
this.runData.leanAngleX = '0'
this.runData.leanAngleY = '0'
this.runData.loadPercent = '0'
this.runData.momentPercent = '0'
this.runData.windSpeedPercent = '0'
this.runData.warnings = null
this.devBottomInfo[0].data1 = 0
this.devBottomInfo[1].data1 = 0
this.devBottomInfo[2].data1 = 0
this.devBottomInfo[3].data1 = 0
this.devBottomInfo[4].data1 = 0
this.devBottomInfo[5].data1 = 0
this.devBottomInfo[0].data2 = 0
this.devBottomInfo[1].data2 = 0
this.devBottomInfo[2].data2 = 0
this.devBottomInfo[3].data2 = 0
this.devBottomInfo[4].data2 = 0
this.devBottomInfo[5].data2 = 0
this.towerConfigStat.a0 = 0
this.towerConfigStat.b0 = 0
this.towerConfigStat.c0 = 0
this.towerConfigStat.a1 = 0
this.towerConfigStat.b1 = 0
this.towerConfigStat.c1 = 0
this.warningData = []
this.selDev = { deviceName: '未找到设备', frontBrachium: 0, afterBrachium: 0 }
}
});
})
},
dic(ds, value) {
if (value.split(",").indexOf(ds) > -1) {
return true;
if (value.split(',').indexOf(ds) > -1) {
return true
} else {
return false
}
},
initSelDev(n) {
this.selDev = this.towerConfigList[this.index];
this.initLimitData();
this.initRunData();
this.selDev = this.towerConfigList[this.index]
this.initLimitData()
this.initRunData()
//
clearInterval(this.warningInterval);
this.warningInterval = setInterval(this.initRunData, 60000);
this.initCountData();
clearInterval(this.countvwInterval);
this.countvwInterval = setInterval(this.initCountData, 60000);
clearInterval(this.warningInterval)
this.warningInterval = setInterval(this.initRunData, 60000)
this.initCountData()
clearInterval(this.countvwInterval)
this.countvwInterval = setInterval(this.initCountData, 60000)
},
initCountData() {
this.$api.tower.findTowerStatisticsView(this.selDev.deviceSn).then((d) => {
this.towerConfigStat = d.data || [];
});
this.towerConfigStat = d.data || []
})
},
initLimitData() {
this.$api.tower.selectDevTowerDataLimitList(this.selDev.deviceSn).then((d) => {
this.devBottomInfo[0].data2 = d.data[0].rangeLimitStart;
this.devBottomInfo[1].data2 = d.data[0].windSpeedWarning;
this.devBottomInfo[2].data2 = d.data[0].loadWarning;
this.devBottomInfo[3].data2 = d.data[0].leanWarning;
this.devBottomInfo[4].data2 = d.data[0].rotationLimitStart;
this.devBottomInfo[5].data2 = d.data[0].highLimitWarning;
});
if (d.length > 0) {
this.devBottomInfo[0].data2 = d.data[0].rangeLimitStart
this.devBottomInfo[1].data2 = d.data[0].windSpeedWarning
this.devBottomInfo[2].data2 = d.data[0].loadWarning
this.devBottomInfo[3].data2 = d.data[0].leanWarning
this.devBottomInfo[4].data2 = d.data[0].rotationLimitStart
this.devBottomInfo[5].data2 = d.data[0].highLimitWarning
}
})
},
initRunData() {
this.$api.tower.selectDevTowerDataRunList(this.selDev.deviceSn).then((d) => {
if (d.data.length > 0) {
this.runData.height = d.data[0].height;
this.runData.range = d.data[0].range;
this.runData.rotation = d.data[0].rotation;
this.runData.load = d.data[0].load;
this.runData.windSpeed = d.data[0].windSpeed;
this.runData.leanAngleX = d.data[0].leanAngleX;
this.runData.leanAngleY = d.data[0].leanAngleY;
this.runData.loadPercent = d.data[0].loadPercent;
this.runData.momentPercent = d.data[0].momentPercent;
this.runData.windSpeedPercent = d.data[0].windSpeedPercent;
this.runData.warnings = d.data[0].warnings;
this.devBottomInfo[0].data1 = d.data[0].range;
this.devBottomInfo[1].data1 = d.data[0].windSpeed;
this.devBottomInfo[2].data1 = d.data[0].load;
this.devBottomInfo[3].data1 = d.data[0].leanAnglePercent
? d.data[0].leanAnglePercent
: 0;
this.devBottomInfo[4].data1 = d.data[0].rotation;
this.devBottomInfo[5].data1 = d.data[0].height;
this.runData.height = d.data[0].height
this.runData.range = d.data[0].range
this.runData.rotation = d.data[0].rotation
this.runData.load = d.data[0].load
this.runData.windSpeed = d.data[0].windSpeed
this.runData.leanAngleX = d.data[0].leanAngleX
this.runData.leanAngleY = d.data[0].leanAngleY
this.runData.loadPercent = d.data[0].loadPercent
this.runData.momentPercent = d.data[0].momentPercent
this.runData.windSpeedPercent = d.data[0].windSpeedPercent
this.runData.warnings = d.data[0].warnings
this.devBottomInfo[0].data1 = d.data[0].range
this.devBottomInfo[1].data1 = d.data[0].windSpeed
this.devBottomInfo[2].data1 = d.data[0].load
this.devBottomInfo[3].data1 = d.data[0].leanAnglePercent ? d.data[0].leanAnglePercent : 0
this.devBottomInfo[4].data1 = d.data[0].rotation
this.devBottomInfo[5].data1 = d.data[0].height
}
this.warningData = d.data || [];
});
this.warningData = d.data || []
})
},
calcTop(d) {
let tmp = 100 - (d.data2 * 100.0) / d.data1;
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`;
let tmp = 100 - (d.data2 * 100.0) / d.data1
return `top:calc(20px + ${tmp > 78 ? 78 : tmp}%)`
},
getRoudValue(a, b) {
if (a > 0) {
return (parseFloat(a / b) * 100).toFixed(1) + "%";
return (parseFloat(a / b) * 100).toFixed(1) + '%'
} else {
return "0%";
return '0%'
}
},
safeTowerLeft() {
this.direction = "left";
this.automaticRoll();
this.direction = 'left'
this.automaticRoll()
},
safeTowerRight() {
//
this.direction = "right";
this.automaticRoll();
this.direction = 'right'
this.automaticRoll()
},
automaticRoll() {
//
if (this.direction == "right") {
if (this.direction == 'right') {
if (this.index == this.towerConfigList.length - 1) {
this.index = 0;
this.index = 0
} else {
this.index = this.index + 1;
this.index = this.index + 1
}
} else {
if (this.index == 0) {
this.index = this.towerConfigList.length - 1;
this.index = this.towerConfigList.length - 1
} else {
this.index = this.index - 1;
this.index = this.index - 1
}
}
this.selDev = this.towerConfigList[this.index];
var height = $(".list-for").innerHeight();
$("#listMin").animate({ scrollTop: height * this.index + "px" });
this.selDev = this.towerConfigList[this.index]
var height = $('.list-for').innerHeight()
$('#listMin').animate({ scrollTop: height * this.index + 'px' })
},
onTowerCraneList(n) {
this.index = n;
this.selDev = this.towerConfigList[this.index];
this.initLimitData();
this.initCountData();
this.index = n
this.selDev = this.towerConfigList[this.index]
this.initLimitData()
this.initCountData()
//
this.direction = "right";
this.direction = 'right'
},
safeAutomaticRoll() {
var height = $(".safe-afoot-overflow").innerHeight();
console.log(height);
var height = $('.safe-afoot-overflow').innerHeight()
console.log(height)
if (this.forIndex == this.warningData.length) {
this.forIndex = 0;
this.forIndex = 0
} else {
this.forIndex = this.forIndex + 1;
this.forIndex = this.forIndex + 1
}
$("#afootOverflow").animate({ scrollTop: height * this.forIndex + "px" });
$('#afootOverflow').animate({ scrollTop: height * this.forIndex + 'px' })
},
warningListMinMouseover() {
clearInterval(this.warningInterval);
clearInterval(this.warningInterval)
},
warningListMinMouseout() {
this.warningInterval = setInterval(this.safeAutomaticRoll, 10000);
this.warningInterval = setInterval(this.safeAutomaticRoll, 10000)
},
renderDataItem2(o) {
let data = this.momentData;
let data = this.momentData
var color = '#20bc00'
var Xmax = Math.max.apply(null, data.dataX);
var Ymax = Math.max.apply(null, data.dataY);
let is1K = this.$dpi() == "1K";
let is2K = this.$dpi() == "2K";
var Xmax = Math.max.apply(null, data.dataX)
var Ymax = Math.max.apply(null, data.dataY)
let is1K = this.$dpi() == '1K'
let is2K = this.$dpi() == '2K'
let option = {
tooltip: {
position: "top",
position: 'top',
formatter: function (params) {
var fd = params.data[0];
var fd = params.data[0]
var dz = params.data[1]
res = '<div style="padding: 5px 10px;">' +
'<div style="padding-bottom: 5px;">幅度:<span>' + fd + '</span> m</div>' +
'<div>吊重:<span>' + dz + '</span> t</div>' +
res =
'<div style="padding: 5px 10px;">' +
'<div style="padding-bottom: 5px;">幅度:<span>' +
fd +
'</span> m</div>' +
'<div>吊重:<span>' +
dz +
'</span> t</div>' +
'</div>'
return res
},
},
grid: {
top: "20%",
right: "15%",
left: "4%",
bottom: "5%",
containLabel: true
top: '20%',
right: '15%',
left: '4%',
bottom: '5%',
containLabel: true,
},
xAxis: [
{
type: "value",
type: 'value',
name: '幅度/m',
max: 60,
nameTextStyle: {
color: "#c5d9fc",
fontSize: is1K ? 12 : is2K ? 14 : 24
color: '#c5d9fc',
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
splitLine: {
//线
@ -637,32 +631,31 @@ export default {
axisLabel: {
//
textStyle: {
color: "#c5d9fc",
color: '#c5d9fc',
margin: 20,
fontSize: 30
fontSize: 30,
},
},
},
{
type: "category",
type: 'category',
boundaryGap: false,
position: "bottom",
position: 'bottom',
axisLine: {
//线x
show: true,
lineStyle: {
color: "#194e92",
type: "dashed",
color: '#194e92',
type: 'dashed',
},
},
axisLabel: {
show: false,
//
textStyle: {
color: "#c5d9fc",
color: '#c5d9fc',
margin: 20,
fontSize: 30
fontSize: 30,
},
},
data: data.dataX,
@ -672,11 +665,11 @@ export default {
{
name: '吊重/t',
nameTextStyle: {
color: "#c5d9fc",
fontSize: is1K ? 12 : is2K ? 14 : 24
color: '#c5d9fc',
fontSize: is1K ? 12 : is2K ? 14 : 24,
},
max: Ymax + 1,
type: "value",
type: 'value',
splitNumber: 7,
splitLine: {
show: false,
@ -685,15 +678,15 @@ export default {
//线x
show: true,
lineStyle: {
color: "#194e92",
type: "dashed",
color: '#194e92',
type: 'dashed',
},
},
axisLabel: {
margin: 20,
textStyle: {
color: "#c5d9fc",
fontSize: is1K ? 12 : is2K ? 14 : 18
color: '#c5d9fc',
fontSize: is1K ? 12 : is2K ? 14 : 18,
},
},
axisTick: { show: false },
@ -701,33 +694,33 @@ export default {
],
series: [
{
name: "吊重",
type: "effectScatter",
rippleEffect: { //
color: 'purple', // ,
name: '吊重',
type: 'effectScatter',
rippleEffect: {
//
color: 'purple', // ,
brushType: 'fill', // ,线,'stroke' 'fill'
period: 2, //
scale: '3', //
period: 2, //
scale: '3', //
},
xAxisIndex: 0,
yAxisIndex: 0,
symbolSize: 15, //
symbolSize: 15, //
itemStyle: {
color: color,
},
data: data.point,
},
{
type: "line",
symbol: "none",
type: 'line',
symbol: 'none',
smooth: true,
xAxisIndex: 1,
yAxisIndex: 0,
lineStyle: {
normal: {
width: 3,
color: "#5968db", // 线
color: '#5968db', // 线
},
},
areaStyle: {
@ -740,22 +733,22 @@ export default {
0,
1,
[
{ offset: 0, color: "rgb(25,43,115,0.9)" },
{ offset: 0.7, color: "rgba(25,43,115, 0)" },
{ offset: 0, color: 'rgb(25,43,115,0.9)' },
{ offset: 0.7, color: 'rgba(25,43,115, 0)' },
],
false
),
shadowColor: "rgba(25,43,115, 1)", //
shadowColor: 'rgba(25,43,115, 1)', //
},
},
data: data.dataY,
},
],
};
return option;
}
}
}
return option
},
},
}
</script>
@ -779,13 +772,13 @@ export default {
&.czz-number-img-blue {
.svg-icon {
fill: #1e90ff
fill: #1e90ff;
}
}
&.czz-number-img-green {
.svg-icon {
fill: ForestGreen
fill: ForestGreen;
}
}
}
@ -847,7 +840,6 @@ export default {
}
}
}
}
.dev-row2 {
@ -1062,7 +1054,6 @@ export default {
width: 50px;
height: 50px;
}
}
.p-label {
@ -1137,7 +1128,6 @@ export default {
margin-left: 4px;
}
}
}
}
}
@ -1175,7 +1165,6 @@ export default {
}
.safe-tower-content-data {
.safe-tower-icon {
transform: scale(1.5);
position: relative;
@ -1188,10 +1177,7 @@ export default {
padding: 30px 5px;
}
}
}
}
.analyse-map {
@ -1294,7 +1280,6 @@ export default {
width: 80px;
height: 80px;
}
}
.p-label {
@ -1369,7 +1354,6 @@ export default {
margin-left: 4px;
}
}
}
}
}
@ -1407,7 +1391,6 @@ export default {
}
.safe-tower-content-data {
.safe-tower-icon {
transform: scale(2.5);
position: relative;
@ -1420,7 +1403,6 @@ export default {
padding: 60px 5px;
}
}
}
}
@ -1506,6 +1488,5 @@ export default {
}
}
}
}
</style>