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/components/Shift.vue | 106 ++++++++++++++++++++++++++++++----------------------- 1 files changed, 60 insertions(+), 46 deletions(-) diff --git a/src/views/mdc/components/Shift.vue b/src/views/mdc/components/Shift.vue index 9adc08a..47df7a6 100644 --- a/src/views/mdc/components/Shift.vue +++ b/src/views/mdc/components/Shift.vue @@ -1,15 +1,16 @@ <!-- * @Date: 2024-04-18 21:52:18 * @LastEditors: Sneed - * @LastEditTime: 2024-04-20 19:40:06 + * @LastEditTime: 2024-06-17 22:24:22 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/components/Shift.vue --> <template> <el-row> <el-col> <el-button-group> - <el-button :type="btnListActive == item.id ? 'primary' : ''" v-for="item in btnList" :key="item.id">{{ - item.title }}</el-button> + <el-button size="small" @click="btnListActive = item.id" + :type="btnListActive == item.id ? 'primary' : ''" v-for="item in btnList" :key="item.id">{{ + item.title }}</el-button> </el-button-group> </el-col> <el-col style="margin-top: 12px;"> @@ -29,9 +30,9 @@ <span>{{ scope.row.nameData['1'] }}</span> </template> </el-table-column> - <el-table-column prop="" label="鏁堢巼"> + <el-table-column prop="" :label="colname"> <template #default="scope"> - <span>{{ scope.row.data['1'] }}</span> + <span>{{ colnameFn(scope.row.data['1']) }}</span> </template> </el-table-column> <el-table-column prop="" label="鐝2"> @@ -39,9 +40,9 @@ <span>{{ scope.row.nameData['2'] }}</span> </template> </el-table-column> - <el-table-column prop="" label="鏁堢巼"> + <el-table-column prop="" :label="colname"> <template #default="scope"> - <span>{{ scope.row.data['2'] }}</span> + <span>{{ colnameFn(scope.row.data['2']) }}</span> </template> </el-table-column> </scTable> @@ -52,6 +53,32 @@ <script> import scEcharts from '@/components/scEcharts'; export default { + props: { + url: { + default: '/api/mdc/efficiency-analysis', + type: String, + }, + colname: { + default: '', + type: String, + }, + colnameFn: { + type: Function, + default: val => { + if (isNaN(val)) return '-' + return `${(val ? val * 100 : 0).toFixed(2)}%` + } + }, + options: { + default() { + return {} + }, + }, + datasetNum: { + type: Number, + default: 100 + } + }, components: { scEcharts }, @@ -66,8 +93,23 @@ option2: null, } }, + watch: { + btnListActive(val) { + this.query({ + ...this.params, + startDate: val, + endDate: val + }) + this.queryChart({ + ...this.params, + startDate: val, + endDate: val + }) + } + }, methods: { init(params) { + this.params = params this.getTime({ endDate: params.endDate, startDate: params.startDate, @@ -87,11 +129,11 @@ }, getTime(data) { - return this.$HTTP.post('/api/blade-mdc/efficiency-analysis/interval', { + return this.$HTTP.post('/api/mdc/efficiency-analysis/interval', { ...data }).then(res => { if (res.code === 200) { - this.btnList = res.data + this.btnList = res.data.reverse() this.btnListActive = res?.data?.[0]?.id } }) @@ -105,47 +147,19 @@ queryType: 0, statisticalMethod: this.statisticalMethod } - return this.$HTTP.post('/api/blade-mdc/efficiency-analysis', dataSend, { params }).then(res => { + try { + this.option2.dataset.source = [] + } catch (error) { + + } + return this.$HTTP.post(this.url, dataSend, { params }).then(res => { this.chartsData = res.data.items.records let option2 = { - legend: { - type: 'plain', - }, - title: { - text: '缁熻鍥捐〃', - subtext: '', - }, - grid: { - top: '80px' - }, - tooltip: { - trigger: 'axis' - }, - xAxis: { - type: 'category', - }, - yAxis: { - type: 'value' - }, - dataZoom: [ - { type: 'slider' } - ], - dataset: { - source: [ - ['product', '鐝1', '鐝2'], - - ] - }, - series: [{ - type: 'bar', - }, - { - type: 'bar', - }] + ...this.options } option2.dataset.source = [['product', '鐝1', '鐝2']] res.data.items.records.forEach(v => { - option2.dataset.source.push([v.workstationName, v.data[1] === '-' ? 0 : v.data[1], v.data[2] === '-' ? 0 : v.data[1]]) + option2.dataset.source.push([v.workstationName, v.data[1] === '-' ? 0 : v.data[1] * this.datasetNum, v.data[2] === '-' ? 0 : v.data[2] * this.datasetNum]) }); this.option2 = option2 console.log(option2) @@ -168,7 +182,7 @@ delete dataSend.size delete dataSend.order delete dataSend.prop - return await this.$HTTP.post('/api/blade-mdc/efficiency-analysis', dataSend, { params }).then(res => { + return await this.$HTTP.post(this.url, dataSend, { params }).then(res => { return { ...res, data: res.data.items -- Gitblit v1.9.3