|
|
@@ -1,5 +1,19 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
+<!-- <div style="width: 100%;">-->
|
|
|
+<!-- <span style="margin: 10px;">统计区间:</span>-->
|
|
|
+<!-- <el-date-picker-->
|
|
|
+<!-- style="margin: 10px"-->
|
|
|
+<!-- v-model="value2"-->
|
|
|
+<!-- type="daterange"-->
|
|
|
+<!-- align="right"-->
|
|
|
+<!-- unlink-panels-->
|
|
|
+<!-- range-separator="至"-->
|
|
|
+<!-- start-placeholder="开始日期"-->
|
|
|
+<!-- end-placeholder="结束日期"-->
|
|
|
+<!-- :picker-options="pickerOptions" >-->
|
|
|
+<!-- </el-date-picker>-->
|
|
|
+<!-- </div>-->
|
|
|
<div ref="barChart" style="width: 700px; height: 400px;margin-top: 3%"></div> <!-- 这里指定了柱状图的宽高 -->
|
|
|
</div>
|
|
|
</template>
|
|
|
@@ -10,20 +24,105 @@ import * as echarts from 'echarts'
|
|
|
|
|
|
export default {
|
|
|
name: 'warehouseEquipmentUsageStatus',
|
|
|
+ props: {
|
|
|
+ startTime:{
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
+ },
|
|
|
+ endTime:{
|
|
|
+ type: String,
|
|
|
+ default: ''
|
|
|
+ }
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
cabinetData: [], // 存储请求到的柜子数据
|
|
|
chartInstance: null,
|
|
|
+ value2: this.getDefaultDateRange(),
|
|
|
+ queryParams:{
|
|
|
+ startTime: null,
|
|
|
+ endTime: null,
|
|
|
+ },
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近三个月',
|
|
|
+ onClick(picker) {
|
|
|
+ const end = new Date();
|
|
|
+ const start = new Date();
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
+ picker.$emit('pick', [start, end]);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ dateRange() {
|
|
|
+ return {
|
|
|
+ startTime: this.startTime,
|
|
|
+ endTime: this.endTime
|
|
|
+ };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ value2(val) {
|
|
|
+ if(val){
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ },
|
|
|
+ dateRange(newVal, oldVal) {
|
|
|
+ if (newVal.startTime && newVal.endTime) {
|
|
|
+ this.queryParams.startTime = newVal.startTime;
|
|
|
+ this.queryParams.endTime = newVal.endTime;
|
|
|
+ this.getList();
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.getList()
|
|
|
+ // this.getList()
|
|
|
},
|
|
|
methods: {
|
|
|
+
|
|
|
+ getDefaultDateRange() {
|
|
|
+ const today = new Date();
|
|
|
+ const oneMonthAgo = new Date(today.getFullYear(), today.getMonth() - 1, today.getDate());
|
|
|
+ return [oneMonthAgo, today];
|
|
|
+ },
|
|
|
+ formatDate(date) {
|
|
|
+ const year = date.getFullYear().toString().padStart(2, "0");
|
|
|
+ const month = (date.getMonth() + 1).toString().padStart(2, "0");
|
|
|
+ const day = date.getDate().toString().padStart(2, "0");
|
|
|
+ const hours = date.getHours().toString().padStart(2, "0");
|
|
|
+ const minutes = date.getMinutes().toString().padStart(2, "0");
|
|
|
+ const seconds = date.getSeconds().toString().padStart(2, "0");
|
|
|
+
|
|
|
+ return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
|
|
|
+ },
|
|
|
// 请求数据
|
|
|
getList() {
|
|
|
- getMaterialsStatusStatistics().then(response => {
|
|
|
- console.log(response, '物资柜状态统计--开关次数')
|
|
|
+ // if (Array.isArray(this.value2) && this.value2.length === 2) {
|
|
|
+ // this.queryParams.startTime = this.formatDate(this.value2[0])
|
|
|
+ // this.queryParams.endTime = this.formatDate(this.value2[1])
|
|
|
+ // }
|
|
|
+ getMaterialsStatusStatistics(this.queryParams).then(response => {
|
|
|
+ console.log(response, '物资柜状态统计--特殊状态物资统计')
|
|
|
this.cabinetData = response.data // 获取数据后保存
|
|
|
this.renderChart() // 数据获取完后渲染图表
|
|
|
})
|