<!--智慧排水左右侧面板 --> <template> <!-- 风险评估 --> <div class="riskAssessment"> <div class="ListBoxHeader"> <div class="ListBoxHeader_font">风险评估</div> </div> <div class="Assessmentop"> <div class="subRightBox"> <div class="headcenter" v-for="(item, index) in monitorData" :key="item" :class="monitorname == item.name ? 'activedright' : ''" @click="monitorclick(item, index)" > {{ item.name }} </div> </div> <div class="leftSubTabsBox"> <div class="tabContent"> <ul> <li class="listOne curCick" v-for="(i, index) in listData" :key="index" @click="showMapDalog(i)"> <div class="line flex flex-align-center"> <div class="lable">站点名称:</div> <div class="box flex flex-align-center flex-justcontent-center"> {{ i.siteName }} </div> <span :class="i.siteStatus == '在线' ? 'green' : 'rad'">{{ i.siteStatus }}</span> </div> <div class="line flex flex-align-center"> <div class="lable">水<i></i>深:</div> <div class="box flex flex-align-center flex-justcontent-center">{{ i.z || 0 }}米</div> </div> <div class="line flex flex-align-center"> <div class="lable">风险分析:</div> <div class="box flex flex-align-center flex-justcontent-center" :class="i.warnInfo != '无风险' ? 'cRad' : 'cGreen'" > {{ i.warnInfo }} </div> </div> </li> </ul> </div> </div> </div> </div> <!-- 预警来源 --> <div class="WarningSou"> <div class="ListBoxHeader"> <div class="ListBoxHeader_font">预警来源</div> </div> <div class="WarningSouTop"> <div class="WarningList"> <div class="WarningNy"> <div class="head-right" style=""> <div class="head-item" v-for="(item, index) in yearListA" :key="item" :class="activednameA == item.name ? 'activedright' : ''" @click="yearclickA(item, index)" > {{ item.name }} </div> </div> </div> </div> <div class="yjlyChart"></div> </div> </div> <!-- 风险评估预警与处置评估 --> <div class="WarningAssess"> <div class="ListBoxHeader"> <div class="ListBoxHeader_font">风险评估预警与处置评估</div> </div> <div class="TopProportion"> <div class="WarningSl"> <div class="eachDescribe"> <div class="icon bgcls"></div> <div class="text">预警数量</div> </div> <div class="eachDescribe"> <div class="icon bgcYellow"></div> <div class="text">处置数量</div> </div> </div> <div class="WarningNy"> <div class="head-right" style=""> <div class="head-item" v-for="(item, index) in yearList" :key="index" :class="activedname == item.name ? 'activedright' : ''" @click="yearclick(item, index)" > {{ item.name }} </div> </div> </div> </div> <div class="fxChart"> <AssessmentjsEcharts :data="chartData2" :refresh="chartData2.refresh"></AssessmentjsEcharts> </div> </div> </template> <script setup> import { ref, reactive, toRefs, onMounted, onBeforeUnmount } from 'vue'; import AssessmentjsEcharts from '@/views/oneMap/Echarts/AssessmentjsEcharts.vue'; import bus from '@/bus'; const listData = ref([ { siteName: '东关大街与长青路交叉口', siteStatus: '在线', warnInfo: '无风险' }, { siteName: '大桥街与延河西路交叉口', siteStatus: '离线', warnInfo: '无风险' }, { siteName: '文化沟路与延河西路交叉口', siteStatus: '在线', warnInfo: '无风险' }, ]); const yearList = ref([ { name: '月', value: 1 }, { name: '年', value: 2 }, ]); const yearListA = ref([ { name: '月', value: 1 }, { name: '年', value: 2 }, ]); const monitorData = ref([ { name: '漫溢监测(1/12)', value: 1 }, { name: '积水监测(0/13)', value: 2 }, { name: '水位监测(0/7)', value: 2 }, ]); const chartData2 = ref({ xAxis: ['12/1', '12/2', '12/3', '12/4', '12/5', '12/6'], refresh: 1, }); const activedname = ref('月'); const activednameA = ref('月'); const monitorname = ref('漫溢监测(1/12)'); function yearclick(val) { activedname.value = val.name; } function yearclickA(val) { activednameA.value = val.name; } function monitorclick(val) { monitorname.value = val.name; } // 弹框 function showMapDalog(val) { console.log(val.siteName, 'val.siteName'); let data = { title: val.siteName, comIDs: ['gwpm', 'jcsj'], }; bus.emit('publicDialog', data); // showPipe.value = true; } </script> <style lang="scss" scoped> .riskAssessment { width: 450px; height: 43%; .Assessmentop { width: 450px; height: calc(100% - 50px); .subRightBox { // background: #2cfce9; width: 440px; margin: 0 auto; height: 35px; display: flex; cursor: pointer; font-size: 14px; color: #ffffff; line-height: 25px; .headcenter { width: 132px; height: 30px; padding: 2px 3px; background: url('@/assets/images/zhps/fxpgw.png') no-repeat; background-size: 100% 100%; text-align: center; margin-top: 5px; margin-left: 10px; } .activedright { border: 1px solid #2cfce9; color: #e4f5ff; background: url('@/assets/images/zhps/fxpgxz.png') no-repeat; background-size: 100% 100%; } } .leftSubTabsBox { width: 440px; height: calc(100% - 50px); .tabContent { height: calc(100% - 1px); ul { height: 100%; // overflow: hidden; overflow-y: auto; padding: 0 16px; list-style: none; cursor: pointer; .listOne { margin-top: 5px; background: linear-gradient(0deg, #008599 0%, #08596d 100%); border-radius: 4px; padding: 2px 20px; .line { position: relative; padding: 6px 0; overflow: hidden; .lable { width: 80px; font-size: 14px; font-weight: 400; color: #39f7ff; padding-right: 4px; i { display: inline-block; width: 28px; } span { display: inline-block; width: 7px; } } .lable2 { width: 190px; } .box { // height: 26px; width: 240px; padding: 3px 0; line-height: 20px; border-radius: 2px 2px 2px 2px; border: 1px solid #1cf5fc; text-align: center; font-size: 14px; font-weight: 400; color: #ffffff; } .box2 { width: 120px; } span { display: block; padding: 0 6px; line-height: 18px; margin-left: 10px; font-size: 12px; border: 1px solid #b7b7b7; border-radius: 14px; color: #b7b7b7; background: rgba(183, 183, 183, 0.15); white-space: nowrap; &.rad { border-color: #ff3737; color: #ff3737; background: rgba(255, 55, 55, 0.15); } &.green { border-color: #0fcd22; color: #0fcd22; background: rgba(15, 205, 34, 0.15); } } } } } } } } } .WarningSou { width: 450px; height: 26%; .WarningSouTop { margin: 0 auto; width: 430px; height: calc(100% - 55px); // background: red; .WarningList { margin-top: 5px; display: flex; width: 100%; .WarningNy { width: 100%; .head-right { cursor: pointer; font-size: 14px; color: #ffffff; display: flex; line-height: 18px; .head-item { width: 70px; margin-right: 10px; padding: 2px 3px; background: #00344f; height: 23px; text-align: center; position: relative; left: 270px; } .activedright { border: 1px solid #2cfce9; color: #e4f5ff; background: #166f84; } } } } .yjlyChart { margin: 15px auto; width: 420px; height: calc(100% - 40px); background: url('@/assets/images/zhps/yjly.png') no-repeat; background-size: 100% 100%; } } } .WarningAssess { width: 450px; height: 27%; .TopProportion { margin-top: 5px; display: flex; width: 100%; .WarningSl { display: flex; justify-content: space-around; align-items: center; width: 55%; .eachDescribe { display: flex; align-items: center; font-family: Source Han Sans CN; font-weight: 400; // padding-top: 5px; .icon { width: 8px; height: 8px; border-radius: 50%; } .bgcYellow { background: #2be7abff; } .bgcls { background: #18a7f2ff; } .text { padding: 0 10px 0 6px; font-family: Source Han Sans CN; font-weight: 500; font-size: 14px; color: #c1d3d4; } } } .WarningNy { display: flex; width: 45%; .head-right { cursor: pointer; font-size: 14px; color: #ffffff; display: flex; line-height: 18px; .head-item { width: 70px; margin-right: 10px; padding: 2px 3px; background: #00344f; height: 23px; text-align: center; position: relative; left: 40px; } .activedright { border: 1px solid #2cfce9; color: #e4f5ff; background: #166f84; } } } } .fxChart { margin: 5px auto; width: 420px; height: calc(100% - 80px); } } .ListBoxHeader { height: 44px; line-height: 50px; width: 98%; background: url('@/assets/newImgs/partBg.png') no-repeat; background-size: 100% 100%; display: flex; align-items: center; justify-content: space-between; margin: 7px 0px 0px 8px; .ListBoxHeader_font { font-family: PangMenZhengDao; font-weight: 400; font-size: 23px; color: #ebfeff; padding-left: 34px; } } ::-webkit-scrollbar { width: 5px; /* 设置滚动条的宽度 */ } </style>