Compare commits
No commits in common. "677f542f7cc2be500ee02a2e9294e8913969769c" and "67bfb9981ab91640951b87680047bbf1ffb7ad87" have entirely different histories.
677f542f7c
...
67bfb9981a
@ -45,7 +45,6 @@
|
|||||||
"@riophae/vue-treeselect": "0.4.0",
|
"@riophae/vue-treeselect": "0.4.0",
|
||||||
"axios": "^1.6.8",
|
"axios": "^1.6.8",
|
||||||
"clipboard": "2.0.8",
|
"clipboard": "2.0.8",
|
||||||
"code-brick-zj": "^1.1.0",
|
|
||||||
"core-js": "^3.26.0",
|
"core-js": "^3.26.0",
|
||||||
"crypto-js": "^4.0.0",
|
"crypto-js": "^4.0.0",
|
||||||
"echarts": "5.4.0",
|
"echarts": "5.4.0",
|
||||||
|
11
src/main.js
11
src/main.js
@ -1,10 +1,3 @@
|
|||||||
/*
|
|
||||||
* @Author: zhp
|
|
||||||
* @Date: 2024-04-12 11:13:06
|
|
||||||
* @LastEditTime: 2024-04-12 16:20:31
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @Description:
|
|
||||||
*/
|
|
||||||
import Vue from 'vue'
|
import Vue from 'vue'
|
||||||
import Element from 'element-ui'
|
import Element from 'element-ui'
|
||||||
|
|
||||||
@ -30,7 +23,7 @@ import RightToolbar from "@/components/RightToolbar"
|
|||||||
// import hljs from 'highlight.js'
|
// import hljs from 'highlight.js'
|
||||||
// import 'highlight.js/styles/github-gist.css'
|
// import 'highlight.js/styles/github-gist.css'
|
||||||
import { DICT_TYPE, getDictDataLabel, getDictDatas, getDictDatas2 } from "@/utils/dict";
|
import { DICT_TYPE, getDictDataLabel, getDictDatas, getDictDatas2 } from "@/utils/dict";
|
||||||
import CodeBrickZj from 'code-brick-zj';
|
|
||||||
import './theme/index.css'; // 自定义主题包 - code-brick-zj
|
import './theme/index.css'; // 自定义主题包 - code-brick-zj
|
||||||
|
|
||||||
// 全局方法挂载
|
// 全局方法挂载
|
||||||
@ -57,7 +50,7 @@ import VueMeta from 'vue-meta'
|
|||||||
Vue.use(directive)
|
Vue.use(directive)
|
||||||
Vue.use(plugins)
|
Vue.use(plugins)
|
||||||
Vue.use(VueMeta)
|
Vue.use(VueMeta)
|
||||||
Vue.use(CodeBrickZj);
|
|
||||||
// Form Generator 组件需要使用到 tinymce
|
// Form Generator 组件需要使用到 tinymce
|
||||||
import Tinymce from '@/components/tinymce/index.vue'
|
import Tinymce from '@/components/tinymce/index.vue'
|
||||||
Vue.component('tinymce', Tinymce)
|
Vue.component('tinymce', Tinymce)
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zhp
|
|
||||||
* @Date: 2024-04-12 10:10:26
|
|
||||||
* @LastEditTime: 2024-04-12 10:10:26
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
@ -1,358 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zhp
|
|
||||||
* @Date: 2024-01-24 15:15:24
|
|
||||||
* @LastEditTime: 2024-04-12 16:50:32
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<div>
|
|
||||||
<!-- <el-alert title="自定义 close-text" type="warning" close-text="知道了">
|
|
||||||
</el-alert> -->
|
|
||||||
<el-form :model="listQuery" :inline="true" ref="dataForm" class="blueTip">
|
|
||||||
<el-form-item label="时间维度" prop="reportTime">
|
|
||||||
<el-select v-model="timeSelect" placeholder="请选择">
|
|
||||||
<el-option v-for="item in timeList" :key="item.value" :label="item.label" :value="item.value">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-show="timeSelect === 'month'" label="时间范围" prop="reportTime">
|
|
||||||
<el-date-picker v-model="listQuery.reportTime" type="monthrange" range-separator="至" start-placeholder="开始月份"
|
|
||||||
end-placeholder="结束月份">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="timeSelect === 'year'" label="时间范围" prop="reportTime">
|
|
||||||
<el-date-picker v-model="listQuery.reportTime" type="year" @change="changeTime"
|
|
||||||
:picker-options="{firstDayOfWeek: 1}" :format="'yyyy 年' + '\u3000' + startTimeStamp + '-' + endTimeStamp"
|
|
||||||
placeholder="选择年">
|
|
||||||
</el-date-picker>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="工厂名称" prop="factoryId">
|
|
||||||
<el-select v-model="listQuery.factoryId" placeholder="请选择工厂名称">
|
|
||||||
<el-option v-for="item in factoryList" :key="item.id" :label="item.name" :value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="玻璃类型" prop="type">
|
|
||||||
<el-select v-model="listQuery.type" placeholder="请选择玻璃类型">
|
|
||||||
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" size="small" @click="getDataList">查询</el-button>
|
|
||||||
<el-button type="primary" size="small" plain @click="handleExport">导出</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
<el-row style="height: 400px;">
|
|
||||||
<line-chart class="chart" ref="lineChart" style="height: 400px;width: 50%;margin-top: 50px;"></line-chart>
|
|
||||||
</el-row>
|
|
||||||
<el-divider></el-divider>
|
|
||||||
<base-table :table-props="tableProps" :page="listQuery.pageNo" :limit="listQuery.pageSize" :table-data="tableData">
|
|
||||||
</base-table>
|
|
||||||
<!-- <inputTable :date="date" :data="tableData" :time="[startTimeStamp, endTimeStamp]" :sum="all"
|
|
||||||
:type="listQuery.reportType" @refreshDataList="getDataList" /> -->
|
|
||||||
<!-- <pagination
|
|
||||||
:limit.sync="listQuery.pageSize"
|
|
||||||
:page.sync="listQuery.pageNo"
|
|
||||||
:total="listQuery.total"
|
|
||||||
@pagination="getDataList" /> -->
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// import { parseTime } from '../../core/mixins/code-filter';
|
|
||||||
// import { getGlassPage, exportGlasscExcel } from '@/api/report/glass';
|
|
||||||
// import inputTable from './inputTable.vue';
|
|
||||||
import lineChart from './lineChart';
|
|
||||||
import moment from 'moment'
|
|
||||||
// import FileSaver from 'file-saver'
|
|
||||||
// import * as XLSX from 'xlsx'
|
|
||||||
export default {
|
|
||||||
components: { lineChart },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
listQuery: {
|
|
||||||
pageSize: 10,
|
|
||||||
pageNo: 1,
|
|
||||||
factoryId: null,
|
|
||||||
total: 0,
|
|
||||||
type: null,
|
|
||||||
// reportType: 2,
|
|
||||||
reportTime: []
|
|
||||||
},
|
|
||||||
urlOptions: {
|
|
||||||
// getDataListURL: getGlassPage,
|
|
||||||
// exportURL: exportGlasscExcel
|
|
||||||
},
|
|
||||||
timeList: [
|
|
||||||
{
|
|
||||||
value: 'month',
|
|
||||||
label:'月'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
value: 'year',
|
|
||||||
label: '年'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
factoryList: [
|
|
||||||
{
|
|
||||||
name: '测试',
|
|
||||||
id:1
|
|
||||||
}
|
|
||||||
],
|
|
||||||
typeList: [
|
|
||||||
{
|
|
||||||
name: '芯片',
|
|
||||||
id:0,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '标准组件',
|
|
||||||
id: 1,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'BIPV产品',
|
|
||||||
id: 2,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
tableProps: [
|
|
||||||
// {
|
|
||||||
// prop: 'createTime',
|
|
||||||
// label: '添加时间',
|
|
||||||
// fixed: true,
|
|
||||||
// width: 180,
|
|
||||||
// filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
|
||||||
// },
|
|
||||||
{
|
|
||||||
prop: 'userName',
|
|
||||||
label: '科目',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'nickName',
|
|
||||||
label: '类别',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'datas',
|
|
||||||
label: '数值',
|
|
||||||
// subcomponent: row
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'unit',
|
|
||||||
label: '单位',
|
|
||||||
// subcomponent: row
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'remark',
|
|
||||||
label: '备注',
|
|
||||||
// subcomponent: row
|
|
||||||
}
|
|
||||||
],
|
|
||||||
timeSelect:'month',
|
|
||||||
startTimeStamp:null, //开始时间
|
|
||||||
endTimeStamp:null, //结束时间
|
|
||||||
date:'凯盛玻璃控股成员企业2024生产数据',
|
|
||||||
// reportTime: '',
|
|
||||||
startTimeStamp: '',
|
|
||||||
endTimeStamp: '',
|
|
||||||
tableData: [
|
|
||||||
{
|
|
||||||
userName: 'userName',
|
|
||||||
nickName: '用户名',
|
|
||||||
datas:'111111'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
userName: 'userName',
|
|
||||||
nickName: '用户名',
|
|
||||||
datas: '111111'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
userName: 'userName',
|
|
||||||
nickName: '用户名',
|
|
||||||
datas: '111111'
|
|
||||||
// subcomponent: row
|
|
||||||
}
|
|
||||||
],
|
|
||||||
// proLineList: [],
|
|
||||||
// all: {}
|
|
||||||
};
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getDict()
|
|
||||||
// this.getCurrentYearFirst()
|
|
||||||
// this.getDataList()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
// handleTime() {
|
|
||||||
// this.$forceUpdate()
|
|
||||||
// // this.$nextTick(() => [
|
|
||||||
|
|
||||||
// // ])
|
|
||||||
// },
|
|
||||||
// getCurrentYearFirst() {
|
|
||||||
// let date = new Date();
|
|
||||||
// date.setDate(1);
|
|
||||||
// date.setMonth(0);
|
|
||||||
// this.reportTime = date;
|
|
||||||
// this.startTimeStamp = this.timeFun(new Date(new Date().getFullYear(), 0, 1, 7, 0, 1).getTime()); //开始时间
|
|
||||||
// this.endTimeStamp = this.timeFun(new Date(new Date().getFullYear(), 11, 31, 7, 0, 0).getTime()); //结束时间
|
|
||||||
// this.listQuery.reportTime[0] = parseTime(new Date(new Date().getFullYear(), 0, 1, 7, 0, 1).getTime()) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
|
||||||
// this.listQuery.reportTime[1] = parseTime(new Date(new Date().getFullYear(), 11, 31, 7, 0, 0).getTime()) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 100
|
|
||||||
// },
|
|
||||||
changeTime(val) {
|
|
||||||
if (val) {
|
|
||||||
// let timeStamp = val.getTime(); //标准时间转为时间戳,毫秒级别
|
|
||||||
// this.endTimeStamp = this.timeFun(new Date(val.getFullYear(), 11, 31, 7, 0, 0).getTime()); //开始时间
|
|
||||||
// this.startTimeStamp = this.timeFun(new Date(val.getFullYear(), 0, 1, 7, 0, 1).getTime()); //结束时间
|
|
||||||
// this.listQuery.reportTime[0] = parseTime(new Date(val.getFullYear(), 0, 1, 7, 0, 1).getTime()) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
|
||||||
// this.listQuery.reportTime[1] = parseTime(new Date(val.getFullYear(), 11, 31, 7, 0, 0).getTime()) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
|
||||||
} else {
|
|
||||||
this.listQuery.reportTime = []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async getDict() {
|
|
||||||
this.$refs.lineChart.initChart()
|
|
||||||
// 产线列表
|
|
||||||
// const res = await getCorePLList();
|
|
||||||
// this.proLineList = res.data;
|
|
||||||
},
|
|
||||||
// 获取数据列表
|
|
||||||
multipliedByHundred(str) {
|
|
||||||
console.log(str);
|
|
||||||
// console.log(str)
|
|
||||||
if ( str != 0) {
|
|
||||||
let floatVal = parseFloat(str);
|
|
||||||
if (isNaN(floatVal)) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
floatVal = Math.round(str * 10000) / 100;
|
|
||||||
let strVal = floatVal.toString();
|
|
||||||
let searchVal = strVal.indexOf('.');
|
|
||||||
if (searchVal < 0) {
|
|
||||||
searchVal = strVal.length;
|
|
||||||
strVal += '.';
|
|
||||||
}
|
|
||||||
while (strVal.length <= searchVal + 2) {
|
|
||||||
strVal += '0';
|
|
||||||
}
|
|
||||||
return parseFloat(strVal);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
async getDataList() {
|
|
||||||
},
|
|
||||||
add0(m) {
|
|
||||||
return m < 10 ? '0' + m : m
|
|
||||||
},
|
|
||||||
format(shijianchuo) {
|
|
||||||
//shijianchuo是整数,否则要parseInt转换
|
|
||||||
var time = moment(new Date(shijianchuo)).format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
// console.log(time)
|
|
||||||
// var y = time.getFullYear();
|
|
||||||
// var m = time.getMonth() + 1;
|
|
||||||
// var d = time.getDate();
|
|
||||||
// var h = time.getHours();
|
|
||||||
// var mm = time.getMinutes();
|
|
||||||
// var s = time.getSeconds();
|
|
||||||
return time
|
|
||||||
},
|
|
||||||
changeTime(val) {
|
|
||||||
if (val) {
|
|
||||||
// console.log(val)
|
|
||||||
// console.log(val.setHours(7, 0, 0))
|
|
||||||
// console.log(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000)
|
|
||||||
// let time = this.format(val.setHours(7, 0, 0))
|
|
||||||
this.endTimeStamp = this.format(val.setHours(7, 0, 0)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
|
||||||
this.startTimeStamp = this.format(val.setHours(7, 0, 1) - 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
|
||||||
// console.log(this.listQuery.reportTime);
|
|
||||||
this.listQuery.reportTime[0] = this.format(val.setHours(7, 0, 1)) //+ ' 00:00:00' //new Date(this.startTimeStamp + ' 00:00:00').getTime() / 1000
|
|
||||||
this.listQuery.reportTime[1] = this.format(val.setHours(7, 0, 0) + 24 * 60 * 60 * 1000) //+ ' 23:59:59' //new Date(this.endTimeStamp + ' 23:59:59').getTime() / 1000
|
|
||||||
console.log(this.listQuery.reportTime);
|
|
||||||
} else {
|
|
||||||
this.listQuery.reportTime = []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
//时间戳转为yy-mm-dd hh:mm:ss
|
|
||||||
timeFun(unixtimestamp) {
|
|
||||||
var unixtimestamp = new Date(unixtimestamp);
|
|
||||||
var year = 1900 + unixtimestamp.getYear();
|
|
||||||
var month = "0" + (unixtimestamp.getMonth() + 1);
|
|
||||||
var date = "0" + unixtimestamp.getDate();
|
|
||||||
return year + "-" + month.substring(month.length - 2, month.length) + "-" + date.substring(date.length - 2, date.length)
|
|
||||||
},
|
|
||||||
buttonClick(val) {
|
|
||||||
this.listQuery.reportTime = val.reportTime ? val.reportTime : undefined;
|
|
||||||
switch (val.btnName) {
|
|
||||||
case 'search':
|
|
||||||
this.listQuery.pageNo = 1;
|
|
||||||
this.listQuery.pageSize = 10;
|
|
||||||
this.getDataList();
|
|
||||||
break;
|
|
||||||
case 'export':
|
|
||||||
this.handleExport();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
console.log(val);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
handleExport() {
|
|
||||||
// 处理查询参数
|
|
||||||
// var xlsxParam = { raw: true };
|
|
||||||
// /* 从表生成工作簿对象 */
|
|
||||||
// import('xlsx').then(excel => {
|
|
||||||
// var wb = excel.utils.table_to_book(
|
|
||||||
// document.querySelector("#exportTable"),
|
|
||||||
// xlsxParam
|
|
||||||
// );
|
|
||||||
// /* 获取二进制字符串作为输出 */
|
|
||||||
// var wbout = excel.write(wb, {
|
|
||||||
// bookType: "xlsx",
|
|
||||||
// bookSST: true,
|
|
||||||
// type: "array",
|
|
||||||
// });
|
|
||||||
// try {
|
|
||||||
// FileSaver.saveAs(
|
|
||||||
// //Blob 对象表示一个不可变、原始数据的类文件对象。
|
|
||||||
// //Blob 表示的不一定是JavaScript原生格式的数据。
|
|
||||||
// //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。
|
|
||||||
// //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。
|
|
||||||
// new Blob([wbout], { type: "application/octet-stream" }),
|
|
||||||
// //设置导出文件名称
|
|
||||||
// "许昌安彩日原片生产汇总.xlsx"
|
|
||||||
// );
|
|
||||||
// } catch (e) {
|
|
||||||
// if (typeof console !== "undefined") console.log(e, wbout);
|
|
||||||
// }
|
|
||||||
// return wbout;
|
|
||||||
// //do something......
|
|
||||||
// })
|
|
||||||
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
/* .blueTip { */
|
|
||||||
/* padding-bottom: 10px; */
|
|
||||||
/* } */
|
|
||||||
.blueTip::before{
|
|
||||||
display: inline-block;
|
|
||||||
content: '';
|
|
||||||
width: 4px;
|
|
||||||
height: 18px;
|
|
||||||
background: #0B58FF;
|
|
||||||
border-radius: 1px;
|
|
||||||
margin-right: 8PX;
|
|
||||||
margin-top: 8px;
|
|
||||||
}
|
|
||||||
.chart{
|
|
||||||
position: absolute;
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
transform: translate(-50%, -50%);
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,162 +0,0 @@
|
|||||||
<!--
|
|
||||||
* @Author: zwq
|
|
||||||
* @Date: 2022-01-21 14:43:06
|
|
||||||
* @LastEditors: zhp
|
|
||||||
* @LastEditTime: 2024-04-12 16:50:42
|
|
||||||
* @Description:
|
|
||||||
-->
|
|
||||||
<template>
|
|
||||||
<div>
|
|
||||||
<!-- <div :id="id" :class="className" :style="{ height: '65%', width:width}" /> -->
|
|
||||||
<div :id="id" :class="className" :style="{ height: '400px', width: width }" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import * as echarts from 'echarts'
|
|
||||||
import 'echarts/theme/macarons' // echarts theme
|
|
||||||
// import resize from './mixins/resize'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'OverviewBar',
|
|
||||||
// mixins: [resize],
|
|
||||||
props: {
|
|
||||||
id: {
|
|
||||||
type: String,
|
|
||||||
default: 'OverviewLine'
|
|
||||||
},
|
|
||||||
className: {
|
|
||||||
type: String,
|
|
||||||
default: 'chart'
|
|
||||||
},
|
|
||||||
width: {
|
|
||||||
type: String,
|
|
||||||
default: '100%'
|
|
||||||
},
|
|
||||||
beilv: {
|
|
||||||
type: Number,
|
|
||||||
default: 1
|
|
||||||
},
|
|
||||||
height: {
|
|
||||||
type: String,
|
|
||||||
default: '300px'
|
|
||||||
},
|
|
||||||
legendPosition: {
|
|
||||||
type: String,
|
|
||||||
default: 'center'
|
|
||||||
},
|
|
||||||
showLegend: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
legendData: {
|
|
||||||
type: Array,
|
|
||||||
default: () => []
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
chart: null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
// this.$nextTick(() => {
|
|
||||||
// this.initChart()
|
|
||||||
// })
|
|
||||||
},
|
|
||||||
beforeDestroy() {
|
|
||||||
if (!this.chart) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
this.chart.dispose()
|
|
||||||
this.chart = null
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
initChart() {
|
|
||||||
console.log(1111)
|
|
||||||
this.chart = echarts.init(document.getElementById(this.id))
|
|
||||||
this.chart.setOption({
|
|
||||||
title: {
|
|
||||||
text: '',
|
|
||||||
// subtext: 'Fake Data'
|
|
||||||
},
|
|
||||||
tooltip: {
|
|
||||||
trigger: 'axis'
|
|
||||||
},
|
|
||||||
legend: {
|
|
||||||
data: ['Rainfall', 'Evaporation']
|
|
||||||
},
|
|
||||||
// toolbox: {
|
|
||||||
// show: true,
|
|
||||||
// feature: {
|
|
||||||
// dataView: { show: true, readOnly: false },
|
|
||||||
// magicType: { show: true, type: ['line', 'bar'] },
|
|
||||||
// restore: { show: true },
|
|
||||||
// saveAsImage: { show: true }
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
calculable: true,
|
|
||||||
xAxis: [
|
|
||||||
{
|
|
||||||
type: 'category',
|
|
||||||
// prettier-ignore
|
|
||||||
data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
|
|
||||||
}
|
|
||||||
],
|
|
||||||
yAxis: [
|
|
||||||
{
|
|
||||||
type: 'value'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
grid: {
|
|
||||||
top: '100px',
|
|
||||||
left: "3%",
|
|
||||||
right: "10%",
|
|
||||||
bottom: "3%",
|
|
||||||
containLabel: true
|
|
||||||
},
|
|
||||||
series: [
|
|
||||||
{
|
|
||||||
name: 'Rainfall',
|
|
||||||
type: 'bar',
|
|
||||||
data: [
|
|
||||||
2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3
|
|
||||||
],
|
|
||||||
markPoint: {
|
|
||||||
data: [
|
|
||||||
{ type: 'max', name: 'Max' },
|
|
||||||
{ type: 'min', name: 'Min' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
markLine: {
|
|
||||||
data: [{ type: 'average', name: 'Avg' }]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Evaporation',
|
|
||||||
type: 'bar',
|
|
||||||
data: [
|
|
||||||
2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3
|
|
||||||
],
|
|
||||||
markPoint: {
|
|
||||||
data: [
|
|
||||||
{ name: 'Max', value: 182.2, xAxis: 7, yAxis: 183 },
|
|
||||||
{ name: 'Min', value: 2.3, xAxis: 11, yAxis: 3 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
markLine: {
|
|
||||||
data: [{ type: 'average', name: 'Avg' }]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.chart {
|
|
||||||
margin-top: -3em
|
|
||||||
}
|
|
||||||
</style>
|
|
Loading…
Reference in New Issue
Block a user