独墅湖高教创新区危化品智慧管控平台(新危化品)
zhouwx
2025-04-18 817f8b5f25e08499e7e90b38c002e74131d57c17
src/views/hazardousChemicals/homePage/index.vue
@@ -1,5 +1,40 @@
<template>
  <div class="homePage">
    <div>
      <el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
        <el-form-item label="企业名称:" >
          <el-select
              clearable
              v-model="data.queryParams.companyId"
              filterable
              remote
              reserve-keyword
              placeholder="请输入企业名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              style="width: 100%"
          >
            <el-option
                v-for="item in data.companyList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item >
          <el-button
              type="primary"
              @click="getAllList"
          >查询</el-button>
          <el-button
              type="primary"
              plain
              @click="reset"
          >重置</el-button>
        </el-form-item>
      </el-form>
    </div>
    <el-row :gutter="20" justify="space-between" style="margin-bottom: 15px">
      <el-col :xl="6" :lg="6" :md="12" :sm="12" :xs="24" v-for="(item,index) in data.cardList" :key="index">
        <el-card style="margin-bottom: 5px">
@@ -110,7 +145,12 @@
import {getEntryData, getHazmatUseList, getHoData, getMaxUseData, getUseData} from "@/api/hazardousChemicals/count";
import {getWarning} from "@/api/hazardousChemicals/warning";
import {getRawFlow} from "@/api/hazardousChemicals/rawRecord";
import {getCompany} from "@/api/hazardousChemicals/company";
const data = reactive({
  queryParams: {
    companyId: null
  },
  companyList:[],
  cardList: [
    {
      title: '危化品数量',
@@ -150,7 +190,8 @@
  warningData: [],
  warningQueryParams: {
    pageNum: 1,
    pageSize: 10
    pageSize: 10,
    companyId: null
  },
  wTotal: 0,
  wloading: false,
@@ -158,7 +199,8 @@
  hloading: false,
  hazmatQueryParams: {
    pageNum: 1,
    pageSize: 10
    pageSize: 10,
    companyId: null
  },
  hazmatData: [],
@@ -171,15 +213,18 @@
const lineChart = ref("eChartBarN" + Date .now() + Math .random())
onMounted(async () => {
  await getCompanyList()
  await getHazmatFlowData()
  await getHomeData()
  await entryData()
  await useData()
  await maxUseData()
  await getWarningData()
  await getHazmatFlowData()
});
const getWarningData = async () => {
  data.wloading = true
  data.warningQueryParams.companyId = data.queryParams.companyId
  const res = await getWarning(data.warningQueryParams)
  if(res.code == 200){
    data.warningData =res.data.list.map(item => {
@@ -196,6 +241,7 @@
}
const getHazmatFlowData = async () => {
  data.hloading = true
  data.hazmatQueryParams.companyId = data.queryParams.companyId
  const res = await getRawFlow(data.hazmatQueryParams)
  if(res.code == 200){
    data.hazmatData =res.data.list.map(item => {
@@ -224,7 +270,7 @@
  }
}
const entryData = async () => {
  const res = await getEntryData()
  const res = await getEntryData(data.queryParams)
  if(res.code == 200){
    data.entryXData = res.data.map(item => item.month+'月' + item.day+'日')
    data.entryYData = res.data.map(item =>item.count)
@@ -233,8 +279,36 @@
    ElMessage.warning(res.message)
  }
}
const getCompanyList = async (val)=>{
  if(val){
    const queryParams = {
      name: val
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
    } else {
      ElMessage.warning(res.message)
    }
  }else {
    const queryParams = {
      pageNum: 1,
      pageSize: 10
    }
    const res = await getCompany(queryParams)
    if (res.code == 200) {
      data.companyList = res.data.list
      if(data.queryParams.companyId == null){
        data.queryParams.companyId = data.companyList[0].id
      }
    } else {
      ElMessage.warning(res.message)
    }
  }
}
const useData = async () => {
  const res = await getUseData()
  const res = await getUseData(data.queryParams)
  if(res.code == 200){
    data.useXData = res.data.map(item => item.day+'日')
    data.useYData = res.data.map(item =>item.count)
@@ -244,7 +318,7 @@
  }
}
const maxUseData = async () => {
  const res = await getMaxUseData()
  const res = await getMaxUseData(data.queryParams)
  if(res.code == 200){
    data.maxUseList = res.data.map(item => {
      return{
@@ -304,6 +378,19 @@
  })
}
const getAllList = async () => {
  await getHazmatFlowData()
  await getHomeData()
  await entryData()
  await useData()
  await maxUseData()
  await getWarningData()
}
const reset = async () => {
  data.queryParams.companyId = data.companyList[0].id
  await getAllList()
}
const getBarChart = () => {
  if (myBarChart.value != null && myBarChart.value != "" && myBarChart.value != undefined) {
    myChart.value.dispose();