大屏问题修复
parent
5e838368cb
commit
85e5da3405
|
@ -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',
|
||||
})
|
||||
}).catch(() => { });
|
||||
}
|
||||
}
|
||||
.then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = window.XDBSAPP
|
||||
})
|
||||
})
|
||||
.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
|
@ -18,16 +18,16 @@
|
|||
>
|
||||
<path
|
||||
d="M929.84 550.848a29.155 29.155 0 0 0 29.153-29.154V347.16a29.282 29.282 0 0 0-17.9-27.291c-0.028-0.012-0.055-0.019-0.082-0.029L358.4 67.362a0.324 0.324 0 0 0-0.038-0.014 29.452 29.452 0 0 0-25.538 1.186L80.374 204.472A29.229 29.229 0 0 0 65 230.2v291.5a29.155 29.155 0 0 0 29.157 29.15h111.9a87.872 87.872 0 0 0 53.29 53.293V900.69h-87.453a29.155 29.155 0 0 0 0 58.309h408.125a29.155 29.155 0 0 0 0-58.309h-87.456V609.154h29.153a87.594 87.594 0 0 0 82.441-58.306h238.228v145.767a29.154 29.154 0 0 0 29.152 29.154 29.155 29.155 0 1 1-20.612 49.77 29.152 29.152 0 0 0-41.225 41.228 87.471 87.471 0 1 0 90.99-144.342V550.85h29.15zM375.957 317.62h29.152c70.392 0 129.283 50.159 142.826 116.613H405.109a29.187 29.187 0 0 1-29.152-29.154V317.62z m-174.91 174.922h-77.739V375.929h77.739v116.613z m5.013-174.922h-82.752v-70.047l194.346-104.654v116.4H288.5a87.6 87.6 0 0 0-82.44 58.301z m111.594 583.069v-75.384l75.379 75.384h-75.379zM434.26 859.46L329.728 754.922 434.26 650.383V859.46zM317.654 684.539v-75.385h75.379z m233.214-162.845a29.187 29.187 0 0 1-29.152 29.154H288.5a29.187 29.187 0 0 1-29.152-29.154v-174.92A29.187 29.187 0 0 1 288.5 317.62h29.153v87.461a87.557 87.557 0 0 0 87.455 87.461h145.76v29.152z m-3.1-204.074a203.383 203.383 0 0 0-142.659-58.306h-29.154v-120.8l413.3 179.1H547.766z m61.406 174.922v-29.155a203.612 203.612 0 0 0-7.079-53.31l82.458 82.463h-75.381zM650.4 375.927h209.063L754.931 480.465z m174.91 116.615l75.38-75.383v75.383h-75.38z"
|
||||
fill=""
|
||||
fill
|
||||
p-id="3341"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="equipment-list-data">
|
||||
<p style="font-size: 16px">塔机总数</p>
|
||||
<div>
|
||||
<span>{{ towerTotalNum }}</span
|
||||
><span style="font-size: 12px">台</span>
|
||||
<span>{{ towerTotalNum }}</span>
|
||||
<span style="font-size: 12px">台</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -46,42 +46,28 @@
|
|||
<path
|
||||
d="M128 128c-23.552 0-42.496 18.944-42.496 42.496v512c0 23.552 18.944 42.496 42.496 42.496h768c23.552 0 42.496-18.944 42.496-42.496v-512c0-23.552-18.944-42.496-42.496-42.496H128z m0-42.496h768c47.104 0 85.504 38.4 85.504 85.504v512c0 47.104-38.4 85.504-85.504 85.504H128c-47.104 0-85.504-38.4-85.504-85.504v-512c0-47.616 38.4-85.504 85.504-85.504zM846.336 487.424l-150.528-215.04c-2.56-4.096-4.608-6.656-7.168-9.728-4.608-4.608-9.216-6.656-14.336-6.656-5.12 0-10.24 2.048-14.336 6.656-3.584 4.096-3.584 5.12-7.168 9.728l-177.152 252.928-128-163.84c-8.192-10.24-19.968-10.752-28.16-5.632-4.608 3.072-6.656 5.632-9.728 9.728L167.936 573.44c-8.192 11.776-6.144 21.504 5.632 29.696 11.776 8.192 21.504 6.144 29.696-5.632L330.24 409.6l128.512 164.864c8.704 11.264 21.504 11.264 29.696 3.584 3.072-2.56 7.168-8.704 10.752-13.824l174.08-248.832 137.216 196.096c8.192 11.776 17.92 13.312 29.696 5.12 12.288-7.68 14.336-17.408 6.144-29.184zM149.504 896h725.504c14.336 0 21.504 7.168 21.504 21.504 0 14.336-7.168 21.504-21.504 21.504H149.504c-14.336 0-21.504-7.168-21.504-21.504 0-14.336 7.168-21.504 21.504-21.504zM362.496 725.504c14.336 0 21.504 7.168 21.504 21.504v170.496c0 14.336-7.168 21.504-21.504 21.504-14.336 0-21.504-7.168-21.504-21.504v-170.496c0.512-14.336 7.68-21.504 21.504-21.504zM661.504 725.504c14.336 0 21.504 7.168 21.504 21.504v170.496c0 14.336-7.168 21.504-21.504 21.504-14.336 0-21.504-7.168-21.504-21.504v-170.496c0-14.336 7.168-21.504 21.504-21.504z"
|
||||
p-id="4373"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="equipment-list-data">
|
||||
<p style="font-size: 16px">监控总数</p>
|
||||
<div>
|
||||
<span class="fgreen">{{ towerTotalNum }}</span
|
||||
><span style="font-size: 12px">台</span>
|
||||
<span class="fgreen">{{ towerTotalNum }}</span>
|
||||
<span style="font-size: 12px">台</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row style="height: 160px; overflow: hidden">
|
||||
<staff-survey-chart
|
||||
:height="200"
|
||||
:unit="'个'"
|
||||
:data="towerConfigView"
|
||||
:width="140"
|
||||
></staff-survey-chart>
|
||||
<staff-survey-chart :height="200" :unit="'个'" :data="towerConfigView" :width="140"></staff-survey-chart>
|
||||
</el-row>
|
||||
<el-row style="height: calc(100% - 283px)">
|
||||
<div
|
||||
class="warning-info-title"
|
||||
style="padding-left: 20px; position: relative; z-index: 9"
|
||||
>
|
||||
<div class="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
|
||||
<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">
|
||||
|
@ -102,7 +88,7 @@
|
|||
d="M929.84 550.848a29.155 29.155 0 0 0 29.153-29.154V347.16a29.282 29.282 0 0 0-17.9-27.291c-0.028-0.012-0.055-0.019-0.082-0.029L358.4 67.362a0.324 0.324 0 0 0-0.038-0.014 29.452 29.452 0 0 0-25.538 1.186L80.374 204.472A29.229 29.229 0 0 0 65 230.2v291.5a29.155 29.155 0 0 0 29.157 29.15h111.9a87.872 87.872 0 0 0 53.29 53.293V900.69h-87.453a29.155 29.155 0 0 0 0 58.309h408.125a29.155 29.155 0 0 0 0-58.309h-87.456V609.154h29.153a87.594 87.594 0 0 0 82.441-58.306h238.228v145.767a29.154 29.154 0 0 0 29.152 29.154 29.155 29.155 0 1 1-20.612 49.77 29.152 29.152 0 0 0-41.225 41.228 87.471 87.471 0 1 0 90.99-144.342V550.85h29.15zM375.957 317.62h29.152c70.392 0 129.283 50.159 142.826 116.613H405.109a29.187 29.187 0 0 1-29.152-29.154V317.62z m-174.91 174.922h-77.739V375.929h77.739v116.613z m5.013-174.922h-82.752v-70.047l194.346-104.654v116.4H288.5a87.6 87.6 0 0 0-82.44 58.301z m111.594 583.069v-75.384l75.379 75.384h-75.379zM434.26 859.46L329.728 754.922 434.26 650.383V859.46zM317.654 684.539v-75.385h75.379z m233.214-162.845a29.187 29.187 0 0 1-29.152 29.154H288.5a29.187 29.187 0 0 1-29.152-29.154v-174.92A29.187 29.187 0 0 1 288.5 317.62h29.153v87.461a87.557 87.557 0 0 0 87.455 87.461h145.76v29.152z m-3.1-204.074a203.383 203.383 0 0 0-142.659-58.306h-29.154v-120.8l413.3 179.1H547.766z m61.406 174.922v-29.155a203.612 203.612 0 0 0-7.079-53.31l82.458 82.463h-75.381zM650.4 375.927h209.063L754.931 480.465z m174.91 116.615l75.38-75.383v75.383h-75.38z"
|
||||
fill="#1195db"
|
||||
p-id="5289"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -118,9 +104,11 @@
|
|||
</div>
|
||||
<div class="data-row">
|
||||
<span>设备状态:</span>
|
||||
<span :class="it.online == 2 ? 'is-offline' : 'is-online'">{{
|
||||
<span :class="it.online == 2 ? 'is-offline' : 'is-online'">
|
||||
{{
|
||||
it.online == 2 ? "离线" : "在线"
|
||||
}}</span>
|
||||
}}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -166,10 +154,7 @@
|
|||
<el-col :span="16">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<div
|
||||
class="warning-info-title"
|
||||
style="padding-left: 20px; position: relative; z-index: 9"
|
||||
>
|
||||
<div class="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
|
||||
<div :class="'active'">吊重次数({{ towerConfigStat.a0 }}次)</div>
|
||||
<div class="title-bg"></div>
|
||||
</div>
|
||||
|
@ -186,10 +171,7 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="6">
|
||||
<div
|
||||
class="warning-info-title"
|
||||
style="padding-left: 20px; position: relative; z-index: 9"
|
||||
>
|
||||
<div class="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
|
||||
<div :class="'active'">超载次数({{ towerConfigStat.b0 }}次)</div>
|
||||
<div class="title-bg"></div>
|
||||
</div>
|
||||
|
@ -206,36 +188,24 @@
|
|||
</el-col>
|
||||
|
||||
<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="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
|
||||
<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>
|
||||
|
||||
<el-col :span="6">
|
||||
<div
|
||||
class="warning-info-title"
|
||||
style="padding-left: 20px; position: relative; z-index: 9"
|
||||
>
|
||||
<div class="warning-info-title" style="padding-left: 20px; position: relative; z-index: 9">
|
||||
<div :class="'active'">告警次数(10次)</div>
|
||||
<div class="title-bg"></div>
|
||||
</div>
|
||||
|
@ -296,32 +266,16 @@
|
|||
<div class="analyse-equipment">塔机监测</div>
|
||||
</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 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="quality-table special-table scroll"
|
||||
style="height: 180px;padding:0px;"
|
||||
>
|
||||
<el-table :data="warningData" class="mytable"
|
||||
style="width: 100%;background: transparent;" height="265" ref="fbsubordinateUnit">
|
||||
<div v-if="warningData.length > 0" class="quality-table special-table scroll" style="height: 180px;padding:0px;">
|
||||
<el-table :data="warningData" class="mytable" style="width: 100%;background: transparent;" height="265" ref="fbsubordinateUnit">
|
||||
<el-table-column prop="createTime" label="发送时间" width="160"></el-table-column>
|
||||
<el-table-column label="预警类型">
|
||||
<template slot-scope="scope">
|
||||
<div class="tag-group">
|
||||
<el-tag
|
||||
v-for="item in dicts"
|
||||
v-if="dic(item.dictValue,scope.row.warnings)"
|
||||
type="danger"
|
||||
effect="dark">
|
||||
{{ item.dictLabel }}
|
||||
</el-tag>
|
||||
<el-tag v-for="item in dicts" v-if="dic(item.dictValue,scope.row.warnings)" type="danger" effect="dark">{{ item.dictLabel }}</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -335,10 +289,7 @@
|
|||
<div class="analyse-text">力矩曲线</div>
|
||||
</div>
|
||||
<div class="safe-moment">
|
||||
<safe-curve-chart
|
||||
:height="260"
|
||||
:momentdata="momentData"
|
||||
></safe-curve-chart>
|
||||
<safe-curve-chart :height="260" :momentdata="momentData"></safe-curve-chart>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -346,12 +297,7 @@
|
|||
</el-row>
|
||||
|
||||
<el-row class="dev-info-list">
|
||||
<el-col
|
||||
:span="4"
|
||||
class="dev-info-item"
|
||||
v-for="(it, idx) in devBottomInfo"
|
||||
:key="idx"
|
||||
>
|
||||
<el-col :span="4" class="dev-info-item" v-for="(it, idx) in devBottomInfo" :key="idx">
|
||||
<div class="info-item-content">
|
||||
<div class="row-1">
|
||||
<span class="sp-title">{{ it.title }}</span>
|
||||
|
@ -374,7 +320,7 @@
|
|||
d="M511.362506 77.130254A435.935081 435.935081 0 0 0 75.427425 511.360799 435.935081 435.935081 0 0 0 511.362506 948.574282a435.935081 435.935081 0 0 0 434.656679-437.213483A435.935081 435.935081 0 0 0 511.362506 77.130254zM511.362506 1.278402a511.360799 511.360799 0 0 1 511.360799 511.360799 511.360799 511.360799 0 0 1-511.360799 511.360799A511.360799 511.360799 0 0 1 0.001707 512.639201 511.360799 511.360799 0 0 1 511.362506 0zM322.585144 283.379109a37.499792 37.499792 0 0 0-53.26675 0 37.925926 37.925926 0 0 0 0 53.692884l131.675406 131.675406a121.022056 121.022056 0 0 0-13.636288 56.675822A124.004994 124.004994 0 0 0 511.362506 649.428215a124.004994 124.004994 0 0 0 124.004993-124.004994A124.004994 124.004994 0 0 0 511.362506 401.418227a124.857262 124.857262 0 0 0-56.675822 13.636288zM511.362506 477.270079a48.579276 48.579276 0 0 1 48.153142 48.153142A48.153142 48.153142 0 0 1 511.362506 573.576363a48.153142 48.153142 0 0 1-48.579276-48.153142A48.579276 48.579276 0 0 1 511.362506 477.270079z m-281.24844-51.13608a302.981273 302.981273 0 0 0-14.91469 98.01082 37.925926 37.925926 0 0 0 37.925926 37.925926 37.499792 37.499792 0 0 0 37.499792-37.925926 235.652102 235.652102 0 0 1 11.079484-74.147316 37.499792 37.499792 0 0 0-23.863504-47.727008 37.073658 37.073658 0 0 0-47.727008 23.863504zM511.362506 227.98169a317.895963 317.895963 0 0 0-98.436954 14.91469 38.35206 38.35206 0 0 0-23.863504 47.727007 38.35206 38.35206 0 0 0 48.153142 24.289638A235.652102 235.652102 0 0 1 511.362506 303.833541a221.163546 221.163546 0 0 1 221.589679 221.58968 37.925926 37.925926 0 0 0 37.925926 37.925926 37.925926 37.925926 0 0 0 37.925926-37.925926A298.293799 298.293799 0 0 0 511.362506 229.260092z"
|
||||
fill="#363636"
|
||||
p-id="11358"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
v-if="idx == 1"
|
||||
|
@ -394,7 +340,7 @@
|
|||
<path
|
||||
d="M174.5 394.1h331.2c91 0 166-73.2 166.3-164.2 0.3-91-73.7-165.1-164.7-165.1-43.2 0-84 16.6-114.9 46.7-15.5 15.1-27.7 32.9-36.2 52.2-12.7 29.1 8.4 61.7 40.1 62.6 18.5 0.5 35.2-10.4 42.6-27.3 11.6-26.2 37.7-44.2 68.3-44.2 41.4 0 75.1 33.9 74.7 75.4-0.4 41.1-34.5 73.9-75.6 73.9H174.5c-24.9 0-45 20.1-45 45s20.2 45 45 45zM189.3 634.2l0.6 45-0.6-45zM682 626.9c-0.6 0-0.8 0-427.3 6.3-7.3 0.1-14.2 0.2-20.5 0.3-24.8 0.4-44.7 20.8-44.3 45.6 0.3 24.9 20.8 44.8 45.7 44.4 6.3-0.1 13.2-0.2 20.5-0.3 124.9-1.9 415.3-6.2 426.2-6.3 42.8 0.2 77.2 36.5 74.2 80-2.8 39.8-35.9 70-75.7 69.3-30.2-0.5-55.9-18.5-67.2-44.5-7.3-16.8-24.1-27.5-42.5-27-31.7 0.9-52.8 33.5-40.1 62.6 8.4 19.4 20.6 37.1 36.2 52.2 30.9 30.1 71.8 46.7 115 46.7 91.8-0.1 166.8-77 164.5-168.8-2.3-88.9-75.3-160.5-164.7-160.5zM856.6 240.3c-29-11.5-60.5 10.1-60.5 41.4v1.3c0 18 10.9 34.4 27.6 41.1 27.5 11 47 38 47 69.4 0 41.2-33.5 74.7-74.7 74.7H112.6c-24.9 0-45 20.1-45 45s20.1 45 45 45h683.5c90.8 0 164.7-73.9 164.7-164.7-0.1-69.5-43.3-129-104.2-153.2z"
|
||||
p-id="6962"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
v-if="idx == 2"
|
||||
|
@ -415,7 +361,7 @@
|
|||
d="M675.84 102.4c36.7616 0 66.56 29.7984 66.56 66.56v148.48h122.88c36.23424 0 65.70496 28.9536 66.53952 64.98816L931.84 384v481.28c0 36.7616-29.7984 66.56-66.56 66.56H158.72c-36.7616 0-66.56-29.7984-66.56-66.56V384c0-36.7616 29.7984-66.56 66.56-66.56h122.88V168.96c0-36.23424 28.9536-65.70496 64.98816-66.53952L348.16 102.4z m184.32 286.72H163.84v471.04h696.32V389.12z m-209.92 107.52a10.24 10.24 0 0 1 10.24 10.24v51.2a10.24 10.24 0 0 1-10.24 10.24h-102.40512l0.00512 194.56a10.24 10.24 0 0 1-10.24 10.24H486.4a10.24 10.24 0 0 1-10.24-10.24l-0.00512-194.56H373.76a10.24 10.24 0 0 1-10.24-10.24V506.88a10.24 10.24 0 0 1 10.24-10.24h276.48z m20.48-322.56H353.28v143.36h317.44V174.08z"
|
||||
fill="#666666"
|
||||
p-id="7868"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
v-if="idx == 3"
|
||||
|
@ -435,7 +381,7 @@
|
|||
<path
|
||||
d="M760.685714 376.685714l27.428572-56.685714c9.142857-18.285714 16.457143-36.571429 25.6-53.028571h1.828571c9.142857 16.457143 20.114286 34.742857 29.257143 53.028571l32.914286 56.685714h85.942857l-95.085714-149.942857 89.6-155.428571h-82.285715l-25.6 53.028571c-7.314286 18.285714-14.628571 34.742857-21.942857 51.2h-1.828571c-9.142857-16.457143-18.285714-34.742857-27.428572-51.2L768 71.314286h-85.942857l89.6 146.285714-95.085714 159.085714h84.114285zM213.942857 877.714286H162.742857V73.142857h-73.142857v841.142857c0 20.114286 16.457143 36.571429 36.571429 36.571429h841.142857v-73.142857H213.942857zM522.624 464.512l-51.712 51.730286 51.712 51.712 51.730286-51.712-51.730286-51.730286zM315.757714 671.049143l-51.730285 51.712 51.730285 51.712 51.712-51.712-51.712-51.712zM421.705143 570.916571l-51.748572 51.712 51.730286 51.730286 51.730286-51.712-51.712-51.730286zM212.315429 773.010286l-51.712 51.712 51.712 51.730285 51.730285-51.730285-51.730285-51.712zM307.2 398.628571l51.2-51.2-64-64c109.714286 9.142857 210.285714 53.028571 288.914286 120.685715l-9.142857 9.142857 51.2 51.2 9.142857-9.142857c67.657143 74.971429 113.371429 170.057143 128 276.114285l-60.342857-60.342857-51.2 51.2 128 128c7.314286 7.314286 16.457143 10.971429 25.6 10.971429 9.142857 0 18.285714-3.657143 25.6-10.971429l128-128-51.2-51.2-69.485715 69.485715C808.228571 457.142857 576 232.228571 290.742857 212.114286l67.657143-67.657143-51.2-51.2-128 128c-14.628571 14.628571-14.628571 36.571429 0 51.2l128 126.171428z"
|
||||
p-id="8743"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
v-if="idx == 4"
|
||||
|
@ -452,16 +398,12 @@
|
|||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="9822"
|
||||
>
|
||||
<path
|
||||
d="M894.56 268.64l31.68 59.52-391.2 208.32-31.68-59.52 391.2-208.32z"
|
||||
fill="#666666"
|
||||
p-id="9823"
|
||||
></path>
|
||||
<path d="M894.56 268.64l31.68 59.52-391.2 208.32-31.68-59.52 391.2-208.32z" fill="#666666" p-id="9823" />
|
||||
<path
|
||||
d="M512 33.44C247.52 33.44 33.44 247.52 33.44 512s214.08 478.56 478.56 478.56 478.56-214.08 478.56-478.56S776.48 33.44 512 33.44z m0 852c-202.08 0-366.24-167.52-366.24-374.88S309.92 135.68 512 135.68s366.24 167.52 366.24 374.88-163.68 374.88-366.24 374.88z"
|
||||
fill="#666666"
|
||||
p-id="9824"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
v-if="idx == 5"
|
||||
|
@ -482,7 +424,7 @@
|
|||
d="M819.198 910.218 204.799 910.218c-50.267 0-91.022-40.75-91.022-91.02L113.777 204.822c0-50.29 40.755-91.045 91.022-91.045l614.398 0c50.27 0 91.02 40.755 91.02 91.045l0 614.376C910.218 869.468 869.468 910.218 819.198 910.218zM841.953 227.554c0-25.122-20.385-45.51-45.51-45.51L227.554 182.044c-25.122 0-45.51 20.387-45.51 45.51l0 568.889c0 25.125 20.387 45.535 45.51 45.535l568.889 0c25.125 0 45.51-20.39 45.51-45.535L841.953 227.554zM603.268 400.952l-57.14-57.115 0 335.802 55.505-55.5c13.335-13.31 34.93-13.335 48.265 0 13.33 13.335 13.33 34.95 0 48.29l-105.77 105.765c-1.615 3.415-3.525 6.78-6.37 9.625-7.1 7.08-16.475 10.1-25.76 9.67-9.262 0.46-18.66-2.59-25.76-9.69-2.842-2.85-4.8-6.15-6.347-9.58l-105.79-105.79c-13.335-13.34-13.335-34.955 0-48.29 13.332-13.31 34.927-13.335 48.262 0l55.502 55.5L477.865 343.837l-57.117 57.115c-13.335 13.357-34.952 13.335-48.287 0s-13.335-34.93 0-48.265l115.395-115.37c13.332-13.335 34.927-13.357 48.262 0l115.395 115.37c13.335 13.335 13.335 34.952 0 48.265C638.198 414.286 616.583 414.286 603.268 400.952z"
|
||||
fill="#272636"
|
||||
p-id="10418"
|
||||
></path>
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="row-scale">
|
||||
|
@ -490,12 +432,7 @@
|
|||
<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>
|
||||
|
@ -509,16 +446,16 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import "@/components/module/module-one-2-1";
|
||||
import "@/components/module/module-one-3-1";
|
||||
import "@/components/staff-survey-chart";
|
||||
import "@/components/tower-crane-value-1";
|
||||
import "@/components/tower-crane-value-2";
|
||||
import "@/components/safe-curve-chart";
|
||||
import debounce from "lodash.debounce";
|
||||
import '@/components/module/module-one-2-1'
|
||||
import '@/components/module/module-one-3-1'
|
||||
import '@/components/staff-survey-chart'
|
||||
import '@/components/tower-crane-value-1'
|
||||
import '@/components/tower-crane-value-2'
|
||||
import '@/components/safe-curve-chart'
|
||||
import debounce from 'lodash.debounce'
|
||||
export default {
|
||||
//塔吊
|
||||
name: "JhbigscreenTowerCrane",
|
||||
name: 'JhbigscreenTowerCrane',
|
||||
data() {
|
||||
return {
|
||||
index: 0,
|
||||
|
@ -526,29 +463,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,
|
||||
|
@ -559,242 +496,240 @@ export default {
|
|||
prjs: [],
|
||||
project: null,
|
||||
dicts: [],
|
||||
};
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.$api.dict("device_tower_warning").then((d) => {
|
||||
this.dicts = d || [];
|
||||
});
|
||||
this.$api.dict('device_tower_warning').then((d) => {
|
||||
this.dicts = d || []
|
||||
})
|
||||
},
|
||||
mounted() {
|
||||
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]}'
|
||||
);
|
||||
)
|
||||
this.$bus.$on(
|
||||
"projectChange",
|
||||
'projectChange',
|
||||
debounce((res) => {
|
||||
this.project = res || this.$root.project;
|
||||
this.dept = this.$root.dept || this.dept;
|
||||
this.prjs = this.$root.projects || this.prjs;
|
||||
this.index = 0;
|
||||
this.initMe();
|
||||
this.project = res || this.$root.project
|
||||
this.dept = this.$root.dept || this.dept
|
||||
this.prjs = this.$root.projects || this.prjs
|
||||
this.index = 0
|
||||
this.initMe()
|
||||
})
|
||||
);
|
||||
this.initMe();
|
||||
)
|
||||
this.initMe()
|
||||
},
|
||||
methods: {
|
||||
initMe() {
|
||||
this.initTowerConfigView();
|
||||
this.initTowerConfigList();
|
||||
this.initTowerConfigView()
|
||||
this.initTowerConfigList()
|
||||
},
|
||||
getProjectId(cb) {
|
||||
let func = () => {
|
||||
let prjId = this.project?.id || 0;
|
||||
let prjId = this.project?.id || 0
|
||||
if (prjId == 0) {
|
||||
if (!this.prjs || this.prjs.length == 0) {
|
||||
setTimeout(func, 100);
|
||||
setTimeout(func, 100)
|
||||
} else {
|
||||
if (this.prjs.length > 1) {
|
||||
cb && cb(this.prjs[1].id);
|
||||
cb && cb(this.prjs[1].id)
|
||||
} else {
|
||||
cb(0);
|
||||
cb(0)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
cb && cb(prjId);
|
||||
cb && cb(prjId)
|
||||
}
|
||||
};
|
||||
func();
|
||||
}
|
||||
func()
|
||||
},
|
||||
initTowerConfigView() {
|
||||
this.getProjectId((id) => {
|
||||
this.$api.tower.findTowerConfigGroupOnline(null, id).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() {
|
||||
this.getProjectId((id) => {
|
||||
this.$api.tower.findTowerConfigListByProjectId(null, id).then((d) => {
|
||||
this.towerConfigList = d.data || [];
|
||||
this.towerConfigList = d.data || []
|
||||
if (d.data.length > 0) {
|
||||
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.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 }
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
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;
|
||||
});
|
||||
this.devBottomInfo[0].data2 = d.data.length > 0 ? d.data[0].rangeLimitStart : 0
|
||||
this.devBottomInfo[1].data2 = d.data.length > 0 ? d.data[0].windSpeedWarning : 0
|
||||
this.devBottomInfo[2].data2 = d.data.length > 0 ? d.data[0].loadWarning : 0
|
||||
this.devBottomInfo[3].data2 = d.data.length > 0 ? d.data[0].leanWarning : 0
|
||||
this.devBottomInfo[4].data2 = d.data.length > 0 ? d.data[0].rotationLimitStart : 0
|
||||
this.devBottomInfo[5].data2 = d.data.length > 0 ? d.data[0].highLimitWarning : 0
|
||||
})
|
||||
},
|
||||
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' })
|
||||
},
|
||||
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)
|
||||
},
|
||||
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)
|
||||
},
|
||||
dic(ds,value){
|
||||
if(value.split(",").indexOf(ds)>-1){
|
||||
return true;
|
||||
}else{
|
||||
dic(ds, value) {
|
||||
if (value.split(',').indexOf(ds) > -1) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="less">
|
||||
.project-tower-crane {
|
||||
|
@ -889,12 +824,7 @@ export default {
|
|||
|
||||
.title-bg {
|
||||
background: rgb(2, 0, 36);
|
||||
background: linear-gradient(
|
||||
185deg,
|
||||
rgba(2, 0, 36, 0.2) 0%,
|
||||
rgba(9, 9, 121, 0.06) 48%,
|
||||
rgba(0, 212, 255, 0.5) 100%
|
||||
);
|
||||
background: linear-gradient(185deg, rgba(2, 0, 36, 0.2) 0%, rgba(9, 9, 121, 0.06) 48%, rgba(0, 212, 255, 0.5) 100%);
|
||||
position: absolute;
|
||||
width: 60%;
|
||||
height: 20px;
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
<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
|
||||
data: objs.datas,
|
||||
},
|
||||
],
|
||||
}
|
||||
]
|
||||
};
|
||||
return option;
|
||||
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>
|
|
@ -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'">{{
|
||||
<span class="sp-value" :class="it.online == 2 ? 'is-offline' : 'is-online'">
|
||||
{{
|
||||
it.online == 2 ? "离线" : "在线"
|
||||
}}</span>
|
||||
}}
|
||||
</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 || [];
|
||||
if (d.data.length > 0) {
|
||||
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.$api.tower.findTowerConfigListByProjectId(postData).then((d) => {
|
||||
this.towerConfigList = d.data || []
|
||||
if (d.data.length > 0) {
|
||||
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 }
|
||||
}
|
||||
})
|
||||
},
|
||||
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,9 +694,10 @@ export default {
|
|||
],
|
||||
series: [
|
||||
{
|
||||
name: "吊重",
|
||||
type: "effectScatter",
|
||||
rippleEffect: { // 设置涟漪动画样式
|
||||
name: '吊重',
|
||||
type: 'effectScatter',
|
||||
rippleEffect: {
|
||||
// 设置涟漪动画样式
|
||||
color: 'purple', // 涟漪颜色,默认为散点自身颜色
|
||||
brushType: 'fill', // 动画方式,全填充或只有线条,'stroke' 'fill'
|
||||
period: 2, //动画周期
|
||||
|
@ -714,20 +708,19 @@ export default {
|
|||
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>
|
Loading…
Reference in New Issue