gaoshp
2024-11-03 3e091224ab26252d8624b42b461ba773ee8bee0f
src/views/mdc/components/Shift.vue
@@ -1,15 +1,15 @@
<!--
 * @Date: 2024-04-18 21:52:18
 * @LastEditors: Sneed
 * @LastEditTime: 2024-04-20 20:49:20
 * @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 @click="btnListActive = item.id" :type="btnListActive == item.id ? 'primary' : ''"
                    v-for="item in btnList" :key="item.id">{{
                <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>
@@ -30,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">
@@ -40,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>
@@ -54,8 +54,30 @@
import scEcharts from '@/components/scEcharts';
export default {
    props: {
        url: '/api/blade-mdc/efficiency-analysis',
        type: String,
        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
@@ -107,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
                }
            })
@@ -125,47 +147,19 @@
                queryType: 0,
                statisticalMethod: this.statisticalMethod
            }
            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)