1
lzhe
2024-06-05 dcf9c9e0410fe1186239e3f8d6f7bdc789c08010
src/views/mdc/components/recordChartsByWorkstation.vue
@@ -1,6 +1,6 @@
<template>
    <div id="recordworkParse">
        <div id="recordwork" style="height:500px;"></div>
        <div id="recordwork" style="height:400px;"></div>
        <div class="paginationwork">
            <el-pagination layout="prev, pager, next" @current-change="recordChange" :total="total" :default-page-size="6"/>
        </div>
@@ -11,16 +11,16 @@
import moment from 'moment';
import * as echarts from 'echarts';
export default {
    props: ['setWork','collectionstatus',"select"],
    props: ['setWork','achievements',"select"],
    watch: {
        setWork(val) {
            this.current = "1";
            this.getCharts();
        },
        select(val) {
            this.current = "1";
            this.getCharts();
        }
        // setWork(val) {
        //     this.current = "1";
        //     this.getCharts();
        // },
        // select(val) {
        //     this.current = "1";
        //     this.getCharts();
        // }
    },
    data() {
        return {
@@ -67,15 +67,26 @@
        },
        getColor(name) {
            var color = '';
            this.collectionstatus.forEach(item=> {
                if(item.name == name) {
            this.achievements.forEach(item=> {
                if(item.code == name) {
                    color = item.color;
                }
            })
            return color;
        },
        getStatus(name) {
            var stauts = {};
            this.achievements.forEach(item=> {
                if(item.code == name) {
                    stauts.name= item.name;
                    stauts.type= item.type;
                }
            })
            return stauts;
        },
        getCharts() {
            if(!this.setWork) return;
            if(this.select.length == 0) return;
            this.$HTTP.post(`/api/blade-mdc/status-record/status-record-by-workstation?current=${this.current}&size=${this.size}`,this.setWork).then(res => {
                if (res.code === 200) {
                    var yAxisData = [];
@@ -90,9 +101,11 @@
                            var startTime = moment(item1.startTime).diff(moment(initstart + " 00:00:00"), 'minutes');
                            var endTime = moment(item1.endTime).diff(moment(initstart + " 00:00:00"), 'minutes');
                            var diff = moment(item1.endTime).diff(moment(item1.startTime), 'minutes') //开始了多久
                            var color = this.getColor(item1.wcsDesc);
                            var color = this.getColor(item1.wcs);
                            item1.value = [index,startTime,endTime,diff];
                            item1.itemStyle = {"normal": {"color": color}};
                            item1.statusName = this.getStatus(item1.wcs).name;
                            item1.statusType = this.getStatus(item1.wcs).type;
                            item1.code = item.date;
                            item1.name = item.date;
                            item1.id = item.date;
@@ -109,19 +122,24 @@
            var option = {
                tooltip: {
                    formatter: function (params) {
                        console.log(params)
                    return `<span class="tipdesc">工位</span>${params.data.name}</br>
                            <span class="tipdesc">状态</span>${params.data.wcsDesc}</br>
                            <span class="tipdesc">描述</span>${params.data.feedbackDesc}</br>
                            <span class="tipdesc">状态时间</span>${params.data.startTime} ~ ${params.data.endTime}</br>
                            <span class="tipdesc">反馈时间</span>${params.data.feedbackTime}</br>
                            <span class="tipdesc">反馈人</span>${params.data.feedUser}</br>`;
                       if(params.data.statusType == 4) {
                            var dom = `<span class="tipdesc">工位:</span>${params.data.name}</br>
                                        <span class="tipdesc">状态:</span>${params.data.wcsDesc}</br>
                                        <span class="tipdesc">描述:</span>${params.data.feedbackDesc}</br>
                                        <span class="tipdesc">状态时间:</span>${params.data.startTime} ~ ${params.data.endTime}</br>
                                        <span class="tipdesc">反馈时间:</span>${params.data.feedbackTime}</br>
                                        <span class="tipdesc">反馈人:</span>${params.data.feedUser}</br>`
                       }else {
                            var dom = `<span class="tipstatus">${params.data.statusName}</span></br>
                                    <span class="tipdesc">时段:</span><span>${params.data.startTime.split(" ")[1]} ~ ${params.data.endTime.split(" ")[1]}</span></br>`
                       }
                        return dom;
                    }
                },
                grid: {
                    top: 10,
                    left: 100,
                    bottom: 130,
                    bottom: 30,
                    right: 30
                },
                xAxis: {
@@ -203,8 +221,7 @@
        text-align: right;
        display: flex;
        justify-content: end;
        margin-top: -60px;
        margin-top: 20px;
        position: relative;
        z-index: 99;
    }
</style>