From 3e091224ab26252d8624b42b461ba773ee8bee0f Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期日, 03 十一月 2024 19:16:31 +0800 Subject: [PATCH] update --- src/views/mdc/efficiency-analysis.vue | 175 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 145 insertions(+), 30 deletions(-) diff --git a/src/views/mdc/efficiency-analysis.vue b/src/views/mdc/efficiency-analysis.vue index 2776c22..8ef0f3f 100644 --- a/src/views/mdc/efficiency-analysis.vue +++ b/src/views/mdc/efficiency-analysis.vue @@ -1,7 +1,7 @@ <!-- * @Date: 2024-04-09 22:11:21 - * @LastEditors: Sneed - * @LastEditTime: 2024-04-18 21:48:13 + * @LastEditors: lzhe lzhe@example.com + * @LastEditTime: 2024-11-01 14:56:14 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/efficiency-analysis.vue * 鏁堢巼鍒嗘瀽 --> @@ -22,8 +22,8 @@ </el-col> <el-col style="margin-top: 14px;">鏃ユ湡</el-col> <el-col> - <el-date-picker style="width: 250px" v-model="time" type="daterange" - range-separator="-" start-placeholder="" end-placeholder="" /> + <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;"> @@ -32,20 +32,23 @@ <MYTree v-model="treeChecked" show-checkbox></MYTree> </el-main> <el-footer> - <el-button>鏌ヨ</el-button> - <el-button>瀵煎嚭</el-button> + <el-button type="primary" @click="query">鏌ヨ</el-button> + <!-- <el-button @click="exportExcel">瀵煎嚭</el-button> --> + <exportDialog @export="exportExcel"></exportDialog> </el-footer> </el-container> </el-aside> <el-container> - <el-tabs tab-position="top" v-model="activeName"> - <el-tab-pane label="鎸夌彮娆$粺璁�" name="ban"> - - </el-tab-pane> - <el-tab-pane label="鎸夋椂闂村懆鏈熺粺璁�" name="time"> - - </el-tab-pane> - </el-tabs> + <el-main> + <el-tabs tab-position="top" v-model="activeName" type="card"> + <el-tab-pane label="鎸夌彮娆$粺璁�" name="shift"> + <Shift :options="chartOption" colname="鏁堢巼" ref="shift" v-if="activeName == 'shift'" /> + </el-tab-pane> + <el-tab-pane label="鎸夋椂闂村懆鏈熺粺璁�" name="time"> + <Time :options="chartOption1" ref="time" v-if="activeName == 'time'" /> + </el-tab-pane> + </el-tabs> + </el-main> </el-container> </el-container> </el-card> @@ -53,21 +56,117 @@ </template> <script> +import moment from 'moment'; import MYTree from './MYTree.vue' +import Shift from './components/Shift.vue' +import Time from './components/Time.vue' +import exportDialog from '@/layout/components/exportDialog.vue' export default { components: { MYTree, + Shift, + Time, + exportDialog }, watch: { - treeChecked(value) { - this.query(value) + activeName() { + this.$nextTick(() => { + this.query() + }) + } }, data() { return { - activeName: '', - productivityType: '', + activeName: 'shift', + productivityType: 'OEE', time: [], + treeChecked: [], + chartOption1: { + title: { + text: '缁熻鍥捐〃', + subtext: '', + }, + grid: { + top: '80px' + }, + tooltip: { + trigger: 'axis' + }, + tooltip: { + trigger: 'axis', + valueFormatter: (params) => { + return params.toFixed(2) + '%' + } + }, + xAxis: { + type: 'category', + axisLabel: { + interval: 'auto', + } + }, + yAxis: { + type: 'value', + axisLabel: { + formatter: (value) => { + return value + '%' + } + }, + }, + dataZoom: [ + { type: 'slider' } + ], + dataset: { + source: [] + }, + series: [] + }, + chartOption: { + legend: { + type: 'plain', + }, + title: { + text: '缁熻鍥捐〃', + subtext: '', + }, + grid: { + top: '80px' + }, + tooltip: { + trigger: 'axis', + valueFormatter: (params) => { + console.log(params, '>>>>>>>>.113213') + return params.toFixed(2) + '%' + } + }, + xAxis: { + type: 'category', + }, + yAxis: { + type: 'value', + axisLabel: { + formatter: (value) => { + return value + '%' + } + }, + }, + dataZoom: [ + { type: 'slider' } + ], + dataset: { + source: [ + ['product', '鐝1', '鐝2'], + ] + }, + series: [ + { + type: 'bar', + }, + { + type: 'bar', + } + ] + }, options: [ { label: '绋煎姩鐜�', @@ -84,21 +183,37 @@ ] } }, + created() { + this.time = [moment().format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')] + }, + mounted() { + this.query() + }, methods: { - query(vals) { - console.log([...vals]) - this.$HTTP.post('/api/blade-mdc/efficiency-analysis/interval', { - endDate: this.time[0], - startDate: this.time[1], - statisticalMethod: 'SHIFT' + exportExcel(statisticalMethod) { + this.$HTTP.post(`/api/mdc/efficiency-analysis/export`, { + startDate: this.time[0], + endDate: this.time[1], + statisticalMethod, + productivityType: this.productivityType, + shiftIndexList: [1, 2], + workStationIdList: this.treeChecked + }).then(res => { + if (res.success) { + window.open(res.data.link) + } else { + this.$message.error(res.msg) + } }) - this.$HTTP.post('/api/blade-mdc/efficiency-analysis?size=-1', { - + }, + query() { + this.$refs[this.activeName].init({ + endDate: this.time[1], + startDate: this.time[0], + productivityType: this.productivityType, + shiftIndexList: [1, 2], + workStationIdList: [...this.treeChecked] }) - this.$HTTP.post('/api/blade-mdc/efficiency-analysis?current=1&size=15', { - - }) - this.$HTTP.post('/api/blade-cps/workstation-wcs-feedback/feedback-status', [...vals]) } } } -- Gitblit v1.9.3