赋能案例详情
This commit is contained in:
parent
dace70ec6b
commit
5f69279437
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 323 KiB |
|
@ -0,0 +1,268 @@
|
||||||
|
<!--
|
||||||
|
* @Author: hisense.zhangfeihu
|
||||||
|
* @Date: 2022-06-13 10:22:27
|
||||||
|
* @LastEditors: hisense.zhangfeihu
|
||||||
|
* @LastEditTime: 2022-06-13 14:31:19
|
||||||
|
* @Description: 赋能案例-详情页
|
||||||
|
-->
|
||||||
|
<template>
|
||||||
|
<div class="assign-case-detail-page">
|
||||||
|
<!--详情页头部-->
|
||||||
|
<div class="assign-case-detail-page-header">
|
||||||
|
<div class="assign-case-detail-page-header-son">
|
||||||
|
<div class="assign-case-detail-page-header-son-left"></div>
|
||||||
|
<div class="assign-case-detail-page-header-son-right">
|
||||||
|
<div class="assign-case-detail-page-header-son-right-title">
|
||||||
|
{{ dataFrom.name }}
|
||||||
|
</div>
|
||||||
|
<div class="assign-case-detail-page-header-son-right-click">
|
||||||
|
<span>点击查看</span>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="assign-case-detail-page-content">
|
||||||
|
<div class="assign-case-detail-page-content-son">
|
||||||
|
<div class="assign-case-detail-page-content-left">
|
||||||
|
<div
|
||||||
|
class="assign-case-detail-page-content-left-border"
|
||||||
|
id="assign-case-detail-page-content-left-border-id"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in dataFrom.content"
|
||||||
|
:key="index"
|
||||||
|
@click="tabSwitch(item, index)"
|
||||||
|
:class="
|
||||||
|
tabName == item.title
|
||||||
|
? 'assign-case-detail-page-content-left-border-click'
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.title }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="assign-case-detail-page-content-center">
|
||||||
|
<div
|
||||||
|
class="assign-case-detail-page-content-center-card"
|
||||||
|
v-for="(item, index) in dataFrom.content"
|
||||||
|
:key="index"
|
||||||
|
:id="'assign-case-detail-page-content-center-card' + index"
|
||||||
|
>
|
||||||
|
<div class="assign-case-detail-page-content-center-card-title">
|
||||||
|
{{ item.title }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="assign-case-detail-page-content-center-card-description"
|
||||||
|
>
|
||||||
|
{{ item.description }}
|
||||||
|
<p v-if="item.descriptions">{{ item.descriptions }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="assign-case-detail-page-content-right">
|
||||||
|
<div class="assign-case-detail-page-content-right-card">
|
||||||
|
<div class="assign-case-detail-page-content-right-card-title">
|
||||||
|
<span></span>
|
||||||
|
<span>其他案例</span>
|
||||||
|
</div>
|
||||||
|
<div class="assign-case-detail-page-content-right-card-content">
|
||||||
|
<p>{{ dataFrom.else.name }}</p>
|
||||||
|
<p>{{ dataFrom.else.time }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue'
|
||||||
|
let dataFrom = ref({
|
||||||
|
name: '道路保洁监管场景',
|
||||||
|
content: [
|
||||||
|
{
|
||||||
|
title: '案例背景',
|
||||||
|
description:
|
||||||
|
'融合市生态环境局出租车走航大气检测数据、城管局渣土车及环卫作业数据、住建局建筑工地数据、城市云脑视频监控等数据,结合时空大数据分析、预测预警分析等手段,对全市道路污染重点路段进行线索分析、作业辅导',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '业务挑战',
|
||||||
|
description:
|
||||||
|
'目前城市道路污染情况缺少主动发现手段,对渣土车及污染投诉事件,缺乏可参考线索等辅助执法手段',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '解决方案',
|
||||||
|
description:
|
||||||
|
'当道路发生污染(PM10数值>200)时,触发道路污染事件,并通过时空算法模型智能分析污染线索,如建筑工地扬尘外溢、渣土车遗撒、环卫作业问题等。',
|
||||||
|
descriptions:
|
||||||
|
'系统实现预警事件与地图图层数据关联展示,当用户点击预警事件后,中间地图也会展示预警事件发生时段内的污染路段名称、污染状态,以及路段周边的工地、渣土车、环卫车轨迹及监控摄像头位置。同时屏幕右侧显示对应的工地、渣土车、摄像头列表信息。',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '案例成效',
|
||||||
|
description:
|
||||||
|
'实现城市运行智能监测,自动告警预警问题路段。为城管局渣土车执法提供线索,也可以快速定位疑似问题工地和渣土车。',
|
||||||
|
descriptions:
|
||||||
|
'根据道路污染情况,对环卫作业进行调度部署、辅助决策,实现环卫作业调度智能化。',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
else: {
|
||||||
|
name: '文明创城案例',
|
||||||
|
time: '2022-01-01 12:00',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
let tabName = ref('案例背景')
|
||||||
|
const tabSwitch = (item, index) => {
|
||||||
|
tabName.value = item.title
|
||||||
|
if (index != 0) {
|
||||||
|
let top =
|
||||||
|
document.querySelector(
|
||||||
|
'#assign-case-detail-page-content-center-card' + index
|
||||||
|
).offsetTop -
|
||||||
|
document.querySelector(
|
||||||
|
'#assign-case-detail-page-content-center-card' + (index - 1)
|
||||||
|
).offsetHeight
|
||||||
|
let view = document.getElementById(
|
||||||
|
'assign-case-detail-page-content-left-border-id'
|
||||||
|
)
|
||||||
|
view.style.top =
|
||||||
|
document.querySelector(
|
||||||
|
'#assign-case-detail-page-content-center-card' + (index - 1)
|
||||||
|
).offsetHeight + 'px'
|
||||||
|
console.log('view.style.top', view.style.top)
|
||||||
|
document.documentElement.scrollTop = top
|
||||||
|
document.body.scrollTop = top
|
||||||
|
} else {
|
||||||
|
let top = 0
|
||||||
|
let view = document.getElementById(
|
||||||
|
'assign-case-detail-page-content-left-border-id'
|
||||||
|
)
|
||||||
|
document.documentElement.scrollTop = top
|
||||||
|
document.body.scrollTop = top
|
||||||
|
view.style.top = '490px'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.assign-case-detail-page {
|
||||||
|
position: relative;
|
||||||
|
top: 64px;
|
||||||
|
.assign-case-detail-page-header {
|
||||||
|
height: 370px;
|
||||||
|
background: url('~@/assets/assignCase/assignCase_bg2.png') no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
padding-top: 120px;
|
||||||
|
.assign-case-detail-page-header-son {
|
||||||
|
width: 900px;
|
||||||
|
height: 250px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background: #fff;
|
||||||
|
margin: auto;
|
||||||
|
box-shadow: 5px 5px 20px #f2f3fb;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding: 20px;
|
||||||
|
.assign-case-detail-page-header-son-left {
|
||||||
|
height: 200px;
|
||||||
|
width: 290px;
|
||||||
|
background: url('~@/assets/assignCase/assignCase_roadebg.png')
|
||||||
|
no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-header-son-right {
|
||||||
|
.assign-case-detail-page-header-son-right-title {
|
||||||
|
color: #000000;
|
||||||
|
font-size: 36px;
|
||||||
|
line-height: 36px;
|
||||||
|
margin-bottom: 40px;
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-header-son-right-click {
|
||||||
|
color: #526aff;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
cursor: pointer;
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
span:first-child {
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
||||||
|
span:last-child {
|
||||||
|
width: 20px;
|
||||||
|
height: 10px;
|
||||||
|
background: url('~@/assets/assignCase/assignCase_click.png')
|
||||||
|
no-repeat;
|
||||||
|
background-position: center;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content {
|
||||||
|
padding-top: 60px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
.assign-case-detail-page-content-son {
|
||||||
|
width: 1300px;
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content-left {
|
||||||
|
width: 167px;
|
||||||
|
.assign-case-detail-page-content-left-border {
|
||||||
|
border-right: 1px #e5e5e5 solid;
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
position: fixed;
|
||||||
|
top: 490px;
|
||||||
|
div {
|
||||||
|
height: 30px;
|
||||||
|
padding-right: 70px;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
font-size: 24px;
|
||||||
|
color: #666666;
|
||||||
|
line-height: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
div:last-child {
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content-left-border-click {
|
||||||
|
padding-right: 66px;
|
||||||
|
border-right: 4px #526aff solid;
|
||||||
|
color: #526aff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content-center {
|
||||||
|
width: 845px;
|
||||||
|
padding: 0 40px 100px 35px;
|
||||||
|
.assign-case-detail-page-content-center-card {
|
||||||
|
margin-bottom: 60px;
|
||||||
|
.assign-case-detail-page-content-center-card-title {
|
||||||
|
font-size: 28px;
|
||||||
|
color: #000000;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 28px;
|
||||||
|
margin-bottom: 35px;
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content-center-card-description {
|
||||||
|
color: #333333;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 34px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.assign-case-detail-page-content-right {
|
||||||
|
width: 270px;
|
||||||
|
border: 1px red solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue