Newer
Older
KaiFengPC / src / views / sponeScreen / longYW / SewageBOD.vue
@鲁yixuan 鲁yixuan 16 days ago 3 KB updata
<template>
  <div class="longYW">
    <div class="partTitleHM">
      污水厂进口BOD
      <div class="head-right" style="">
        <el-form-item prop="sewageCode" style="width: 55%">
          <el-select :clearable="false" v-model="queryParams.sewageCode" size="small" @change="changeSewage">
            <el-option v-for="item in ListBod" :key="item.sewageCode" :label="item.sewageName" :value="item.sewageCode" />
          </el-select>
        </el-form-item>
        <el-form-item style="width: 41%; margin-left: 10px">
          <el-date-picker
            type="year"
            v-model="queryParams.dataTime"
            value-format="YYYY"
            placeholder="请选择年"
            style="width: 100%"
            size="small"
            @change="changeDataTime"
            :clearable="false"
          ></el-date-picker>
        </el-form-item>
      </div>
    </div>
    <div class="ConstrucClass">
      <SewageBODEchaer :data="chartData3" :key="refresh1"></SewageBODEchaer>
    </div>
  </div>
</template>

<script setup>
import { ref, nextTick, onMounted, reactive } from 'vue';
import SewageBODEchaer from '@/views/sponeScreen/Echarts/SewageBODEchaer.vue';
import { sewageBodPage, facilitySewagelist } from '@/api/publicService/index';
const { proxy } = getCurrentInstance();
const ListBod = ref([]);

const refresh1 = ref(1);
const chartData3 = ref({
  XName: [],
  data1: [],
  controlMarkLine: [],
  controlGraphic: '',
});
const AllData = reactive({
  queryParams: {
    pageNum: 1,
    pageSize: 10000,
    sewageCode: undefined,
    dataTime: undefined,
  },
});
const { queryParams } = toRefs(AllData);

//下拉框列表
function getUserList() {
  facilitySewagelist().then(res => {
    ListBod.value = res.data || [];
    queryParams.value.sewageCode = res.data[2].sewageCode;
  });
}
/** 获取搜索数据列表 */
function getDataList() {
  sewageBodPage(queryParams.value).then(response => {
    if (queryParams.value.dataTime == '2022') {
      chartData3.value.controlMarkLine = [{ typeName: '考核达标', value: '130', Opacity: 1, color: '#e15a6b' }];
    } else if (queryParams.value.dataTime == '2023') {
      chartData3.value.controlMarkLine = [{ typeName: '考核达标', value: '132', Opacity: 1, color: '#e15a6b' }];
    } else {
      chartData3.value.controlMarkLine = [{ typeName: '考核达标', value: '135', Opacity: 1, color: '#e15a6b' }];
    }
    let SewageList = [];
    let SewageTime = [];
    response.data.forEach(element => {
      SewageList.push(Number(element.bod));
      SewageTime.push(element.dataTime);
    });
    chartData3.value.data1 = SewageList;
    chartData3.value.XName = SewageTime;
    refresh1.value++;
  });
}
// 下拉框事件
function changeSewage(val) {
  queryParams.value.sewageCode = val;
  getDataList();
}

// 年份事件
function changeDataTime(val) {
  queryParams.value.dataTime = val;
  getDataList();
}

onMounted(() => {
  queryParams.value.dataTime = '2023';
  getUserList();
  setTimeout(() => {
    getDataList();
  }, 350);
});
</script>

<style lang="scss" scoped>
.longYW {
  margin-top: 10px;
  width: 100%;
  height: 30%;

  opacity: 0.8;
  .head-right {
    cursor: pointer;
    position: relative;
    left: 180px;
    top: -33px;
    width: 210px;
    height: 32px;
    display: flex;
    // background: red;
  }
}
.ConstrucClass {
  height: calc(100% - 15%);
  background: #004565;
  margin-top: -3px;
  // background: red;
}
</style>