| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-his__index"> |
| | | <el-form :inline="true" :model="formData" label-width="80px"> |
| | | <el-form :inline="true" :model="formData" label-width="70px"> |
| | | <el-form-item label="开始时间"> |
| | | <el-date-picker |
| | | v-model="formData.startTime" |
| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button-group> |
| | | <el-button type="primary" plain :icon="ArrowLeft" |
| | | <el-button type="primary" plain :icon="DArrowLeft" |
| | | :loading="loading1" @click="leftSearchDataByRange()"/> |
| | | <el-button type="primary" plain :icon="Search" |
| | | :loading="loading1" @click="getList()">查询 |
| | | </el-button> |
| | | <el-button type="primary" plain :icon="ArrowRight" |
| | | <el-button type="primary" plain :icon="DArrowRight" |
| | | :loading="loading1" @click="rightSearchDataByRange()"/> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button-group> |
| | | <el-button type="primary" plain :icon="CaretLeft" |
| | | @click="playChart(true)"/> |
| | | <el-button type="primary" plain :icon="VideoPlay" v-if="!isPlay" |
| | | @click="playHandle('play')"/> |
| | | <el-button type="primary" plain :icon="VideoPause" v-if="isPlay" |
| | | @click="playHandle('pause')"/> |
| | | <el-button type="primary" plain :icon="CaretRight" |
| | | @click="playChart(false)"/> |
| | | </el-button-group> |
| | | </el-form-item> |
| | | |
| | |
| | | import {getYMDHMS} from "@/utils/dateUtil" |
| | | import * as McsApi from '@/api/model/mcs' |
| | | import * as echarts from "echarts"; |
| | | import {Search, ArrowLeft, ArrowRight,} from '@element-plus/icons-vue' |
| | | import {Search, DArrowLeft, DArrowRight, VideoPlay, VideoPause, CaretLeft, CaretRight} from '@element-plus/icons-vue' |
| | | |
| | | defineOptions({name: 'AnalysisformData'}) |
| | | |
| | |
| | | const itemDataObject = ref() |
| | | const timer = ref() |
| | | let myChart = null; |
| | | const isPlay = ref(false) |
| | | |
| | | const formRules = reactive({ |
| | | calItem: [{required: true, message: '预测项不能为空', trigger: 'blur'}], |
| | |
| | | getList(true) |
| | | } |
| | | |
| | | function onChangeMultipleY() { |
| | | getList(true) |
| | | } |
| | | |
| | | function playChart(isBack = false) { |
| | | let mins = isBack ? formData.value.predictFreq * -1 : formData.value.predictFreq |
| | | let startTime = formData.value.startTime; |
| | | let endTime = formData.value.endTime; |
| | | let predictTime = formData.value.predictTime; |
| | | if (predictTime) { |
| | | predictTime = getYMDHMS(new Date(predictTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.predictTime = predictTime; |
| | | } |
| | | if (startTime) { |
| | | startTime = getYMDHMS(new Date(startTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.startTime = startTime; |
| | | } |
| | | if (endTime) { |
| | | endTime = getYMDHMS(new Date(endTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.endTime = endTime; |
| | | } |
| | | getList(false); |
| | | } |
| | | |
| | | function playHandle(type) { |
| | | isPlay.value = 'play' === type |
| | | let doPlay = setInterval(function () { |
| | | if (isPlay.value) { |
| | | playChart() |
| | | } else { |
| | | clearInterval(doPlay); |
| | | } |
| | | if (new Date().getTime() - new Date(formData.value.predictTime).getTime() < 1000 * 60 ) { |
| | | isPlay.value = false |
| | | clearInterval(doPlay); |
| | | } |
| | | }, 1000) |
| | | } |
| | | |
| | | function leftSearchDataByRange() { |
| | | let mins = getRangeMins(); |
| | | let startTime = formData.value.startTime; |
| | | let endTime = formData.value.endTime; |
| | | let predictTime = formData.value.predictTime; |
| | | if (predictTime) { |
| | | predictTime = getYMDHMS(new Date(predictTime) - 1000 * 60 * mins); |
| | | predictTime = getYMDHMS(new Date(predictTime).getTime() - 1000 * 60 * mins); |
| | | formData.value.predictTime = predictTime; |
| | | } |
| | | if (startTime) { |
| | | startTime = getYMDHMS(new Date(startTime) - 1000 * 60 * mins); |
| | | startTime = getYMDHMS(new Date(startTime).getTime() - 1000 * 60 * mins); |
| | | formData.value.startTime = startTime; |
| | | } |
| | | if (endTime) { |
| | | endTime = getYMDHMS(new Date(endTime) - 1000 * 60 * mins); |
| | | endTime = getYMDHMS(new Date(endTime).getTime() - 1000 * 60 * mins); |
| | | formData.value.endTime = endTime; |
| | | } |
| | | getList(false); |
| | |
| | | let endTime = formData.value.endTime; |
| | | let predictTime = formData.value.predictTime; |
| | | if (predictTime) { |
| | | predictTime = getYMDHMS(new Date(predictTime) - 0 + 1000 * 60 * mins); |
| | | predictTime = getYMDHMS(new Date(predictTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.predictTime = predictTime; |
| | | } |
| | | if (startTime) { |
| | | startTime = getYMDHMS(new Date(startTime) - 0 + 1000 * 60 * mins); |
| | | startTime = getYMDHMS(new Date(startTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.startTime = startTime; |
| | | } |
| | | if (endTime) { |
| | | endTime = getYMDHMS(new Date(endTime) - 0 + 1000 * 60 * mins); |
| | | endTime = getYMDHMS(new Date(endTime).getTime() + 1000 * 60 * mins); |
| | | formData.value.endTime = endTime; |
| | | } |
| | | getList(false); |