From 8759438ca3812168f1157d3434931624d14531fd Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期五, 27 九月 2024 17:07:29 +0800
Subject: [PATCH] 图表初始化bug
---
src/views/system/check/result/index.vue | 199 ++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 161 insertions(+), 38 deletions(-)
diff --git a/src/views/system/check/result/index.vue b/src/views/system/check/result/index.vue
index 3b5dfac..4551ab5 100644
--- a/src/views/system/check/result/index.vue
+++ b/src/views/system/check/result/index.vue
@@ -1,13 +1,70 @@
<template>
<div id="warp">
- <div>
- <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"
- style="margin-bottom: 10px">
- <el-menu-item index="0">鐪佸巺鏈堝害</el-menu-item>
- <el-menu-item index="1">甯傚眬鏈堝害</el-menu-item>
- <el-menu-item index="2">鐪佸巺瀛e害</el-menu-item>
- <el-menu-item index="3">甯傚眬瀛e害</el-menu-item>
- </el-menu>
+ <div style="display: flex;position: relative">
+ <div style="width: 100%">
+ <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect"
+ style="margin-bottom: 10px">
+ <el-menu-item index="0">鐪佸巺鏈堝害</el-menu-item>
+ <el-menu-item index="1">鐪佸巺瀛e害</el-menu-item>
+ <el-menu-item index="2">鍖哄幙鏈堝害</el-menu-item>
+ <el-menu-item index="3">鍖哄幙瀛e害</el-menu-item>
+ <el-menu-item index="4">鍏畨閮ㄦ湀搴�</el-menu-item>
+ <el-menu-item index="5">鍏畨閮ㄥ搴�</el-menu-item>
+ </el-menu>
+ </div>
+ <!-- 瀵煎嚭鎸夐挳 -->
+ <div style="position: absolute;top:10px; right: 5px;z-index: 2" v-hasPermi="['check:result:export']">
+ <el-popover
+ placement="left"
+ width="300px"
+ trigger="click">
+ <span style="font-weight: bold;font-size: 16px">瀵煎嚭</span>
+
+ <el-form ref="exportForm" :model="exportForm" :rules="exportRules" label-width="100px">
+ <el-form-item label="鑰冩牳鏃堕棿" prop="quarter" required>
+ <el-date-picker
+ :clearable="false"
+ v-model="exportForm.quarter"
+ type="monthrange"
+ format="yyyy-MM"
+ value-format="yyyy-MM"
+ unlink-panels
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫湀浠�"
+ end-placeholder="缁撴潫鏈堜唤"
+ :picker-options="pickerOptions">
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item label="鍖哄幙" prop="deptIds">
+ <el-select v-model="exportForm.deptIds" multiple clearable>
+ <el-option v-for="dept in areaList"
+ :value="dept.id"
+ :key="dept.value"
+ :label="dept.value"/>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鑰冩牳鏍囩" prop="examineTags">
+ <el-checkbox-group v-model="exportForm.examineTags">
+ <el-checkbox
+ v-for="item in tagOptions"
+ :key="item.value"
+ :label="item.value"
+ >{{ item.label }}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ <el-form-item label="璁$畻骞冲潎鍊�" prop="average">
+ <el-switch
+ v-model="exportForm.average"
+ >
+ </el-switch>
+ </el-form-item>
+ <el-button type="primary" size="small" style="width: 400px" @click="handleExport">瀵煎嚭</el-button>
+ </el-form>
+ <el-button slot="reference" type="primary" size="mini" plain>瀵煎嚭</el-button>
+ </el-popover>
+ </div>
+
</div>
<div class="data-chart-container">
@@ -45,7 +102,8 @@
</div>
</div>
<div class="bottom-publish">
- <el-button v-hasPermi="['check:score:publish']" size="medium" :type="isAnyUnpublished(city) ? 'success' : 'danger'" @click="publish(city)">
+ <el-button v-hasPermi="['check:score:publish']" size="medium"
+ :type="isAnyUnpublished(city) ? 'success' : 'danger'" @click="publish(city)">
{{ isAnyUnpublished(city) ? '鍙戝竷' : '鍙栨秷' }}
</el-button>
<el-button size="medium" @click="jumpDetail(index)" type="primary">璇︽儏</el-button>
@@ -60,29 +118,69 @@
</template>
<script>
-import { areaSelect } from '@/api/system/dept';
-import { listScore, getScore, delScore, addScore, updateScore, publishScore } from "@/api/platform/check-score";
+import {areaSelect} from '@/api/system/dept';
+import {listScore, publishScore} from "@/api/platform/check-score";
import * as echarts from 'echarts';
+
let observer = null;
let chart = null;
export default {
name: 'index',
data() {
return {
+ tagOptions: [
+ {value: 0, label: '鐪佸巺'},
+ {value: 1, label: '鍖哄幙'},
+ {value: 2, label: '鍏畨閮�'}
+ ],
+ pickerOptions: {
+ shortcuts: [{
+ text: '绗竴瀛e害',
+ onClick(picker) {
+ picker.$emit('pick', [new Date(new Date().getFullYear() + "-01"), new Date(new Date().getFullYear() + "-03")]);
+ }
+ },
+ {
+ text: '绗簩瀛e害',
+ onClick(picker) {
+ picker.$emit('pick', [new Date(new Date().getFullYear() + "-04"), new Date(new Date().getFullYear() + "-06")]);
+ }
+ },
+ {
+ text: '绗笁瀛e害',
+ onClick(picker) {
+ picker.$emit('pick', [new Date(new Date().getFullYear() + "-07"), new Date(new Date().getFullYear() + "-09")])
+ }
+ },
+ {
+ text: '绗洓瀛e害',
+ onClick(picker) {
+ picker.$emit('pick', [new Date(new Date().getFullYear() + "-10"), new Date(new Date().getFullYear() + "-12")])
+ }
+ }]
+ },
province: {
id: [],
publish: null,
+ },
+ // 瀵煎嚭琛ㄥ崟楠岃瘉
+ exportRules: {
+ quarter: [
+ { type: 'array', required: true, message: '璇烽�夋嫨鏃堕棿', trigger: 'change' }
+ ],
},
checkScoreList: [],
areaList: [],
activeIndex: '0',
date: '',
company: '',
- dataList: {
- name: ['瀵岄『鍘�', '鑽e幙', '楂樻柊鍖�', '鑷祦浜曞尯', '璐′簳鍖�', '澶у畨鍖�', '娌挎哗鍖�'],
- data1: [95, 96, 97, 95, 94.5, 93.6, 94.5],
- data2: [93.7, 93.5, 94.3, 96.5, 95.3, 94.2, 93.3],
- data3: [98.3, 94.3, 93.3, 95.5, 96.8, 96.1, 95.8],
+ // 瀵煎嚭
+ exportForm: {
+ quarter: [],
+ deptIds: [],
+ examineTags: [],
+ examineCategories: [],
+ average: null,
},
// 鏌ヨ鍙傛暟
queryParams: {
@@ -92,13 +190,12 @@
}
},
created() {
- this.queryParams.examineTag = this.activeIndex
- this.getList();
- this.areaSelect();
},
mounted() {
+ this.queryParams.examineTag = this.activeIndex
chart = echarts.init(this.$refs.barChart);
- this.initEchart();
+ this.areaSelect()
+ // this.setChartOption(this.checkScoreList);
},
methods: {
jumpDetail(index) {
@@ -128,8 +225,7 @@
tooltip: {},
xAxis: {
type: 'category',
- axisLabel: {
- },
+ axisLabel: {},
data: this.dataList.name
},
yAxis: {
@@ -198,13 +294,12 @@
tooltip: {},
xAxis: {
type: 'category',
- axisLabel: {
- },
+ axisLabel: {},
data: nameArray
},
yAxis: {
- min: 60
+ min: 0
},
series: [
{
@@ -238,17 +333,22 @@
}
chart.setOption(option, true);
},
- filterData(data, tag) {
- if (!data) return;
- if(!Array.isArray(data)) return;
+ filterData(mapData, tag) {
+ if (!mapData) return;
+ if (!Array.isArray(mapData)) return;
const tempArray = [];
- data.forEach((item) => {
- if(item.data.length) {
+ mapData.forEach((item) => {
+ if (item.data.length) {
+ let flag = false;
item.data.forEach((examine) => {
- if(examine.examineCategory === tag) {
+ if (examine.examineCategory === tag) {
+ flag = true
tempArray.push(examine.score);
}
})
+ if (!flag) {
+ tempArray.push(0);
+ }
}
})
return tempArray;
@@ -257,10 +357,12 @@
areaSelect() {
areaSelect().then(res => {
this.areaList = res.data;
+ this.getList();
})
},
translateDeptId(deptId) {
const department = this.areaList.find(dept => dept.id === deptId);
+ console.log(deptId,this.areaList)
return department ? department.value : '鏈煡';
},
@@ -303,19 +405,23 @@
// 鑾峰彇褰撳墠鏃ユ湡
const today = new Date();
- // 璁$畻鏄ㄥぉ鐨勬棩鏈�
- const yesterday = new Date(today);
- yesterday.setDate(today.getDate() - 1);
+ // 灏嗘棩鏈熷噺鍘讳竴澶�
+ const yesterday = new Date(today.getTime() - 24 * 60 * 60 * 1000);
- // 灏嗘槰澶╃殑鏃ユ湡鏍煎紡鍖栦负瀛楃涓诧紝杩欓噷鍋囪鍚庣鏈熸湜鐨勬槸ISO 8601鏍煎紡
- this.queryParams.createTime = yesterday.toISOString().split('T')[0];
+ // 鑾峰彇骞淬�佹湀銆佹棩
+ const year = yesterday.getFullYear();
+ let month = (yesterday.getMonth() + 1).toString().padStart(2, '0'); // 鏈堜唤鏄粠0寮�濮嬬殑锛屾墍浠ュ姞1
+ let day = yesterday.getDate().toString().padStart(2, '0');
+
+ // 鎷兼帴鎴� yyyy-MM-dd 鏍煎紡
+ this.queryParams.createTime = `${year}-${month}-${day}`
console.log(this.queryParams);
listScore(this.queryParams).then(response => {
this.checkScoreList = response.data;
- console.log(this.checkScoreList);
- this.loading = false;
+
this.setChartOption(this.checkScoreList);
+ this.loading = false;
});
},
publish(city) {
@@ -335,6 +441,23 @@
// 閿欒澶勭悊閫昏緫
});
},
+ // clickItem(value) {
+ // value === this.exportForm.examineTag ? this.exportForm.examineTag = null : this.exportForm.examineTag = value
+ // },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.$refs['exportForm'].validate((valid) => {
+ if (valid) {
+ this.download(
+ "/check/score/export",
+ {
+ ...this.exportForm,
+ },
+ `鑰冩牳鎸囨爣_${new Date().getTime()}.xlsx`
+ );
+ }
+ })
+ },
},
}
</script>
--
Gitblit v1.8.0