Newer
Older
KaiFengPC / src / views / sponeScreen / waterFlood / rainReport.vue
@zhangdeliang zhangdeliang on 8 Aug 2 KB update
<template>
  <!-- 降雨报告 -->
  <div class="rainReportPage">
    <div class="partTitleHM">
      降雨报告
      <el-button size="small" style="float: right; width: 70px; margin: 10px 60px 0px 0px" @click="dialogShowModal = true">
        内涝模型
      </el-button>
    </div>
    <div class="partContHM">
      <div class="scrollMapHM">
        <div class="scrollTitle flex">
          <p>开始时间</p>
          <p>结束时间</p>
          <p>雨强</p>
          <p>累计降雨量</p>
          <p>操作</p>
        </div>
        <Vue3SeamlessScroll :list="dataList" :singleHeight="50" :singleWaitTime="1500" :hover="true" class="scroll">
          <div class="scrollCont flex" v-for="item in dataList" :key="item.id">
            <p class="ellipsis" :title="item.startTime">{{ item.startTime }}</p>
            <p class="ellipsis" :title="item.endTime">{{ item.endTime }}</p>
            <p class="ellipsis">
              <dict-tag :options="rainfall_intensity" :value="String(item.rainIntensity)" />
            </p>
            <p class="ellipsis">{{ item.accumulate }}mm</p>
            <p class="ellipsis reports" @click="checkReport(item)">查看报告</p>
          </div>
        </Vue3SeamlessScroll>
      </div>
    </div>
    <!-- 查看报告单 -->
    <el-dialog title="降雨报告单" v-model="dialogShowDetail" width="1100px" append-to-body>
      <ReportDetail v-if="dialogShowDetail" :rainId="rainId"></ReportDetail>
    </el-dialog>
    <!-- 内涝模型 -->
    <el-dialog title="内涝模型" v-model="dialogShowModal" width="1600px" append-to-body>
      <RiskDetail></RiskDetail>
    </el-dialog>
  </div>
</template>

<script setup>
import { rainfallSessionInfoList } from '@/api/publicService/index';

import { Vue3SeamlessScroll } from 'vue3-seamless-scroll';
import ReportDetail from '@/views/floodSys/floodYP/historyEventDetail.vue'; //查看报告单
import RiskDetail from '@/views/floodSys/floodYP/riskAsses.vue'; //内涝模型

const { proxy } = getCurrentInstance();
const { rainfall_intensity } = proxy.useDict('rainfall_intensity'); //降雨强度  字典数据
const dialogShowDetail = ref(false);
const dialogShowModal = ref(false);
const rainId = ref('');

const dataList = ref([]);

// 获取降雨报告数据
async function getJYData() {
  let res = await rainfallSessionInfoList();
  if (res && res.code == 200) {
    dataList.value = res.data;
  }
}

// 查看报告
function checkReport(item) {
  rainId.value = item.id;
  dialogShowDetail.value = true;
}

onMounted(() => {
  getJYData();
});
</script>

<style lang="scss">
.rainReportPage {
  width: 100%;
  .scrollMapHM {
    p {
      width: 18%;
    }
    .reports {
      color: #3afff8;
    }
  }
}
</style>