|
|
@@ -1,9 +1,8 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, computed, onMounted } from "vue"
|
|
|
+import { ref, onMounted } from "vue"
|
|
|
import moment from "moment"
|
|
|
import { useRouter } from "vue-router"
|
|
|
import Rs from "@/core/services/RequestService"
|
|
|
-import { end } from "@popperjs/core"
|
|
|
const router = useRouter()
|
|
|
const startDate = ref(new Date())
|
|
|
const endDate = ref(new Date())
|
|
|
@@ -19,19 +18,39 @@ const headData = ref({
|
|
|
exceedVocNum: 0,
|
|
|
exceedPm25Num: 0,
|
|
|
})
|
|
|
-function changeHead(v: number) {
|
|
|
- //
|
|
|
+function jump(v: number) {
|
|
|
+ console.log("JUMP", v)
|
|
|
+ router.push({
|
|
|
+ path: "/overAnalysis/overParam/oveParamDetail",
|
|
|
+ query: {
|
|
|
+ backNeed: 1,
|
|
|
+ time_type: timeType.value,
|
|
|
+ order_type: v,
|
|
|
+ query_start_time: moment(startDate.value).format("YYYYMMDD"),
|
|
|
+ query_end_time: moment(endDate.value).format("YYYYMMDD"),
|
|
|
+ },
|
|
|
+ })
|
|
|
+}
|
|
|
+const ringOptions = {
|
|
|
+ legend: { top: "auto", bottom: 0 },
|
|
|
+ titleText: "",
|
|
|
+}
|
|
|
+const barOptions = {
|
|
|
+ grid: { top: 30, left: 15 },
|
|
|
+ legend: { show: false },
|
|
|
+ titleText: " ",
|
|
|
}
|
|
|
|
|
|
const orderTypes = ref(["2", "2", "2", "2"])
|
|
|
-const chartDatas = ref<Array<any>>([[], [], [], []])
|
|
|
+const chartDatas = ref<Array<any>>([{}, {}, {}, {}])
|
|
|
+//function change(type: number) {}
|
|
|
const query = (type: number) => {
|
|
|
const params = {
|
|
|
time_type: timeType.value,
|
|
|
query_start_time: moment(startDate.value).format("YYYYMMDD"),
|
|
|
query_end_time: moment(endDate.value).format("YYYYMMDD"),
|
|
|
type: type,
|
|
|
- order_type: orderTypes[type],
|
|
|
+ order_type: orderTypes.value[type],
|
|
|
}
|
|
|
let str = type == 0 || type == 1 ? "?" : "Cir?"
|
|
|
for (const key in params) {
|
|
|
@@ -39,7 +58,12 @@ const query = (type: number) => {
|
|
|
}
|
|
|
|
|
|
Rs.get("sys/overParamController/selectCompanyTime" + str).then((res) => {
|
|
|
- chartDatas[type] = res.data.chartData
|
|
|
+ if (type == 2 || type == 3) {
|
|
|
+ chartDatas.value[type] = res.data.chartData
|
|
|
+ chartDatas.value[type].title = ""
|
|
|
+ } else {
|
|
|
+ chartDatas.value[type] = res.data
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
const getTitle = () => {
|
|
|
@@ -88,14 +112,14 @@ onMounted(search)
|
|
|
<div class="card-body px-5 py-3 h-100 d-flex flex-column justify-content-center">
|
|
|
<div
|
|
|
class="card card-flush bgi-no-repeat bgi-size-contain bgi-position-x-center border-0 h-md-50 my-3"
|
|
|
- style="min-width: 250px"
|
|
|
- :style="`background: #4c88cf`"
|
|
|
+ style="min-width: 250px; background: #4c88cf; cursor: pointer"
|
|
|
+ @click="jump(2)"
|
|
|
>
|
|
|
<div class="card-header py-5">
|
|
|
<div class="card-title d-flex">
|
|
|
<span class="text-white pt-1 fw-semibold fs-3">
|
|
|
<i class="fas fa-smog me-3 fs-2 text-white"></i>
|
|
|
- 油烟排放超标总次数
|
|
|
+ 油烟超标总次数
|
|
|
</span>
|
|
|
<span class="fs-2hx fw-bold text-white ms-3 lh-1 ls-n2">
|
|
|
{{ headData.exceedSmokeNum }}
|
|
|
@@ -106,14 +130,14 @@ onMounted(search)
|
|
|
</div>
|
|
|
<div
|
|
|
class="card card-flush bgi-no-repeat bgi-size-contain bgi-position-x-center border-0 h-md-50 my-3"
|
|
|
- style="min-width: 250px"
|
|
|
- :style="`background: #5facd0`"
|
|
|
+ style="min-width: 250px; background: #5facd0; cursor: pointer"
|
|
|
+ @click="jump(4)"
|
|
|
>
|
|
|
<div class="card-header py-5">
|
|
|
<div class="card-title d-flex">
|
|
|
<span class="text-white pt-1 fw-semibold fs-3">
|
|
|
<i class="fas fa-wind me-3 fs-2 text-white"></i>
|
|
|
- 非甲烷排放超标总次数
|
|
|
+ 非甲烷超标总次数
|
|
|
</span>
|
|
|
<span class="fs-2hx fw-bold text-white ms-3 lh-1 ls-n2">
|
|
|
{{ headData.exceedVocNum }}
|
|
|
@@ -124,14 +148,14 @@ onMounted(search)
|
|
|
</div>
|
|
|
<div
|
|
|
class="card card-flush bgi-no-repeat bgi-size-contain bgi-position-x-center border-0 h-md-50 my-3"
|
|
|
- style="min-width: 250px"
|
|
|
- :style="`background: #76bfa3`"
|
|
|
+ style="min-width: 250px; background: #76bfa3; cursor: pointer"
|
|
|
+ @click="jump(6)"
|
|
|
>
|
|
|
<div class="card-header py-5">
|
|
|
<div class="card-title d-flex">
|
|
|
<span class="text-white pt-1 fw-semibold fs-3">
|
|
|
<i class="fas fa-chess-board me-3 fs-2 text-white"></i>
|
|
|
- 颗粒物排放超标总次数
|
|
|
+ 颗粒物超标总次数
|
|
|
</span>
|
|
|
<span class="fs-2hx fw-bold text-white ms-3 lh-1 ls-n2">
|
|
|
{{ headData.exceedPm25Num }}
|
|
|
@@ -150,15 +174,15 @@ onMounted(search)
|
|
|
<h3 class="text-primary">类型超标次数统计</h3>
|
|
|
</div>
|
|
|
<div class="card-toolbar">
|
|
|
- <el-radio-group v-model="orderTypes[3]">
|
|
|
+ <el-radio-group v-model="orderTypes[3]" @change="query(3)">
|
|
|
<el-radio-button label="2">油烟超标</el-radio-button>
|
|
|
<el-radio-button label="4">非甲烷超标</el-radio-button>
|
|
|
<el-radio-button label="6">颗粒物超标</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="card-body p-0">
|
|
|
- <BaseChart :data="chartDatas[3]" type="ring" h="100%"></BaseChart>
|
|
|
+ <div class="card-body p-2">
|
|
|
+ <BaseChart :data="chartDatas[3]" type="ring" h="100%" :options="ringOptions"></BaseChart>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -169,14 +193,16 @@ onMounted(search)
|
|
|
<h3 class="text-primary">规模超标次数统计</h3>
|
|
|
</div>
|
|
|
<div class="card-toolbar">
|
|
|
- <el-radio-group v-model="orderTypes[2]">
|
|
|
+ <el-radio-group v-model="orderTypes[2]" @change="query(2)">
|
|
|
<el-radio-button label="2">油烟超标</el-radio-button>
|
|
|
<el-radio-button label="4">非甲烷超标</el-radio-button>
|
|
|
<el-radio-button label="6">颗粒物超标</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="card-body p-0"></div>
|
|
|
+ <div class="card-body p-2">
|
|
|
+ <BaseChart :data="chartDatas[2]" type="ring" h="100%" :options="ringOptions"></BaseChart>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
@@ -189,14 +215,16 @@ onMounted(search)
|
|
|
<h3 class="text-primary">区域超标次数统计</h3>
|
|
|
</div>
|
|
|
<div class="card-toolbar">
|
|
|
- <el-radio-group v-model="orderTypes[0]">
|
|
|
+ <el-radio-group v-model="orderTypes[0]" @change="query(0)">
|
|
|
<el-radio-button label="2">油烟超标</el-radio-button>
|
|
|
<el-radio-button label="4">非甲烷超标</el-radio-button>
|
|
|
<el-radio-button label="6">颗粒物超标</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="card-body p-0"></div>
|
|
|
+ <div class="card-body p-2">
|
|
|
+ <BaseChart :data="chartDatas[0]" type="bar" h="100%" :options="barOptions"></BaseChart>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
@@ -206,14 +234,16 @@ onMounted(search)
|
|
|
<h3 class="text-primary">菜系超标次数统计</h3>
|
|
|
</div>
|
|
|
<div class="card-toolbar">
|
|
|
- <el-radio-group v-model="orderTypes[1]">
|
|
|
+ <el-radio-group v-model="orderTypes[1]" @change="query(1)">
|
|
|
<el-radio-button label="2">油烟超标</el-radio-button>
|
|
|
<el-radio-button label="4">非甲烷超标</el-radio-button>
|
|
|
<el-radio-button label="6">颗粒物超标</el-radio-button>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="card-body p-0"></div>
|
|
|
+ <div class="card-body p-2">
|
|
|
+ <BaseChart :data="chartDatas[1]" type="bar" h="100%" :options="barOptions"></BaseChart>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|