From e5cdf3af17609b49138cec3e8fb200752365f651 Mon Sep 17 00:00:00 2001 From: lzhe <lzhe@example.com> Date: 星期五, 01 十一月 2024 14:58:12 +0800 Subject: [PATCH] 1 --- src/views/mdc/alarm-statistics.vue | 128 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 123 insertions(+), 5 deletions(-) diff --git a/src/views/mdc/alarm-statistics.vue b/src/views/mdc/alarm-statistics.vue index 997186a..4c136c6 100644 --- a/src/views/mdc/alarm-statistics.vue +++ b/src/views/mdc/alarm-statistics.vue @@ -1,21 +1,139 @@ <!-- * @Date: 2024-04-09 22:11:21 * @LastEditors: Sneed - * @LastEditTime: 2024-04-13 22:14:33 + * @LastEditTime: 2024-06-22 18:50:49 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/alarm-statistics.vue - * 杩囩▼鍙傛暟 + * 鏁堢巼鍒嗘瀽 --> <template> - <el-main> - <el-card shadow="never"> - 杩囩▼鍙傛暟 + <el-main style="height: 100%;"> + <el-card shadow="never" style="height: 100%;" body-style="height: 100%"> + <el-container style="height: 100%;"> + <el-aside width="300px" style="height: 100%;"> + <el-container> + <el-main class="nopadding"> + <el-row> + <el-col style="margin-top: 14px;">鏃ユ湡</el-col> + <el-col> + <el-date-picker value-format="YYYY-MM-DD" style="width: 250px" v-model="time" + type="daterange" range-separator="-" start-placeholder="" end-placeholder="" /> + </el-col> + </el-row> + <el-row style="margin-top: 14px;"> + 宸ヤ綅 + </el-row> + <MYTree v-model="treeChecked" @loaded="query"></MYTree> + </el-main> + <el-footer> + <el-button type="primary" @click="query()">鏌ヨ</el-button> + <!-- <el-button @click="exportExcel">瀵煎嚭</el-button> --> + <exportDialog ref="export" @export="exportExcel"></exportDialog> + </el-footer> + </el-container> + </el-aside> + <el-container> + <el-main> + <el-tabs tab-position="top" v-model="activeName" type="card"> + <el-tab-pane label="鎸夌彮娆$粺璁�" name="shift"> + <Shift colname="浜ч噺" url="/api/mdc/alarm/summary-shift-graph" ref="shift" + v-if="activeName == 'shift'"> + </Shift> + </el-tab-pane> + <el-tab-pane label="鎸夋椂闂村懆鏈熺粺璁�" name="time"> + <Time url="/api/mdc/alarm/summary-graph" ref="time" v-if="activeName == 'time'"> + </Time> + </el-tab-pane> + </el-tabs> + </el-main> + </el-container> + </el-container> </el-card> </el-main> </template> <script> +import moment from 'moment'; +import MYTree from './MYTree.vue' +import Shift from './components/ShiftAlarm.vue' +import Time from './components/TimeAlarm.vue' +import exportDialog from '@/layout/components/exportDialog.vue' export default { + components: { + MYTree, + Shift, + Time, + exportDialog + }, + watch: { + activeName() { + this.$nextTick(() => { + this.query() + }) + } + }, + data() { + return { + activeName: 'shift', + time: [], + treeChecked: [], + options: [ + { + label: '绋煎姩鐜�', + value: 'OEE', + }, + { + label: '鎶ヨ鐜�', + value: 'ALARM', + }, + { + label: '杩愯鐜�', + value: 'RUNNING', + }, + ] + } + }, + created() { + this.time = [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')] + }, + mounted() { + // this.$nextTick(() => { + // this.query() + // }) + }, + methods: { + exportExcel(statisticalMethod) { + let { start, end } = this.$refs.export.format(this.time[0], this.time[1], statisticalMethod) + this.$HTTP.post(`/api/mdc/alarm/export-alarm`, { + startTime: start, + endTime: end, + enums: statisticalMethod, + month: 0, + queryTime: '', + shiftIndex: 1, + week: 0, + year: 0, + workstationId: this.treeChecked.toString() + }).then(res => { + if (res.success) { + window.open(res.data.link) + } else { + this.$message.error(res.msg) + } + }) + }, + query(firstWorkKey) { + let workstationId = firstWorkKey ? [firstWorkKey] : [...this.treeChecked] + this.$nextTick(() => { + this.$refs[this.activeName].init({ + endDate: this.time[1], + startDate: this.time[0], + workstationId + }) + }) + + } + } } </script> -- Gitblit v1.9.3