gaoshp
2024-04-26 14132fdcf7b0584fa769390bcb9214f0f78fb609
src/views/mdc/processParam/index.vue
@@ -1,7 +1,7 @@
<!--
 * @Date: 2024-04-09 22:11:21
 * @LastEditors: Sneed
 * @LastEditTime: 2024-04-25 23:03:53
 * @LastEditTime: 2024-04-26 20:17:28
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/processParam/index.vue
 实时看板
-->
@@ -40,7 +40,7 @@
                                    <el-button size="small">查看数据</el-button>
                                </div>
                                <scEcharts v-if="item?.dayCharts?.series?.length > 1 && activeList.indexOf(index) > -1"
                                    style="width:100%" height="300px" :option="item?.dayCharts">
                                    style="width:100%" height="200px" :option="item?.dayCharts">
                                </scEcharts>
                                <el-empty v-else description="暂无数据" />
@@ -92,16 +92,6 @@
                let max = moment(this.timeStart, 'YYYY-MM-DD').add(3, 'd').format('YYYY-MM-DD')
                let min = moment(this.timeStart, 'YYYY-MM-DD').subtract(3, 'd').format('YYYY-MM-DD')
                return !moment(Date).isBetween(min, max);
            },
            dayCharts1: {
            },
            dayCharts2: {
            },
            dayCharts3: {
            },
            dayCharts4: {
            },
            dayCharts5: {
            },
        }
    },
@@ -160,20 +150,33 @@
                }
            })
        },
        setDeviceStatusOptions(data, name) {
        setDeviceStatusOptions(data, myname) {
            if (myname !== 'ProcessProgram') return
            let total = Math.abs(moment(this.timeRange.startTime).diff(moment(this.timeRange.endTime)))
            let start = this.timeRange.startTime
            let len = data.data.length
            console.log(moment(data.data[len - 1].time).unix() < moment(this.timeRange.endTime).unix())
            if (moment(data.data[len - 1].time).unix() < moment(this.timeRange.endTime).unix()) {
                let addItem = {
                    time: this.timeRange.endTime,
                    value: data.data[len - 1].value
                }
                data.data.push(addItem)
            }
            let series = data.data.map((item, i) => {
                let current = Math.abs(moment(start).diff(moment(item.time)))
                start = item.time
                let name = i === 0 ? '' : data.data[i - 1].name
                let color = !name ? 'transparent' : data.data[i - 1].color
                if (myname === 'ProcessProgram') {
                    name = item.value
                }
                // let color = !name ? 'transparent' : data.data[i - 1].color
                return {
                    name,
                    type: 'bar',
                    stack: 'total',
                    barWidth: '20px',
                    data: [current / total * 60],
                    data: [current / total],
                    label: {
                        show: true,
                        position: 'insideLeft',
@@ -184,14 +187,14 @@
                        }
                    },
                    itemStyle: {
                        color, // 这一行固定的颜色值需要删除或注释
                        // color, // 这一行固定的颜色值需要删除或注释
                        borderColor: '#FFF',
                        borderWidth: 1
                    },
                }
            })
            console.log('--------', myname, series)
            let arr = [12, 8, 9, 4]
            let splitNumber = arr[Math.abs(moment(this.timeRange.startTime).diff(moment(this.timeRange.endTime))) / 3600000 - 1]
            let dayCharts = {
                legend: [
                ],
@@ -206,15 +209,17 @@
                series,
                xAxis: {
                    type: 'value',
                    splitNumber,
                    interval: 0.05,
                    axisLabel: {
                        formatter: (value, index) => {
                            console.log('>>>>>>>', value, index)
                            let add = Math.abs(moment(this.timeRange.startTime).diff(moment(this.timeRange.endTime))) * value
                            let current = moment(this.timeRange.startTime).add(add, 'ms')
                            return current.format('HH:mm')
                        }
                    },
                },
            }
            let index = this.list.findIndex(item => item.name === name)
            let index = this.list.findIndex(item => item.name === myname)
            this.list[index] = Object.assign({
                ...this.list[index],
                dayCharts