1
lzhe
2024-06-05 dcf9c9e0410fe1186239e3f8d6f7bdc789c08010
src/views/console/base/Shiftsystem.vue
@@ -1,7 +1,7 @@
<!--
 * @Date: 2024-04-09 20:19:46
 * @LastEditors: Sneed
 * @LastEditTime: 2024-04-29 23:01:13
 * @LastEditTime: 2024-06-03 22:57:46
 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/console/base/Shiftsystem.vue
-->
<template>
@@ -56,7 +56,7 @@
                </el-row>
            </el-main>
        </el-container>
        <Dialog ref="dialog" :option="{ types, status, group }"></Dialog>
        <Dialog ref="dialog" :option="{ types, status, group }" :detail="detail" @success="success"></Dialog>
    </el-container>
</template>
@@ -97,26 +97,8 @@
        },
        dayCharts() {
            // if (!this?.info?.shiftDetailVOList?.length) return
            // let yData = this.info.shiftDetailVOList.map(item => {
            //     return item.indexName
            // })
            // let series = this.info.shiftDetailVOList.map(item => {
            //     let base = moment().format('YYYY-MM-DD') + ' 00:00:00'
            //     return [item.indexName, moment(base).add(item.shiftStartTime, 'm').unix(), moment(base).add(item.shiftEndTime, 'm').unix()]
            //     // return {
            //     //     name: item.indexName,
            //     //     type: 'bar',
            //     //     data: [moment(base).add(item.shiftStartTime, 'm').format('YYYY-MM-DD HH:mm:ss').unix(), moment(base).add(item.shiftEndTime, 'm').format('YYYY-MM-DD HH:mm:ss').unix()],
            //     //     label: {
            //     //         show: true
            //     //     }
            //     // }
            // })
            // console.log(series)
            let { data = [], categories = [], startTime, end } = this.getData1()
            console.log('>>>>>>', data)
            console.log(data, startTime, '?????')
            return {
                title: {
                    text: '班制概览'
@@ -134,7 +116,7 @@
                    interval: 2 * 60 * 60,
                    axisLabel: {
                        formatter: function (val, index) {
                            console.log('>>>>>>', val)
                            let str = ''
                            let now = moment()
                            let current = now.format('YYYY-MM-DD')
@@ -211,45 +193,63 @@
            info: {
                code: ''
            },
            detail: {
            }
        }
    },
    created() {
        this.init()
    },
    methods: {
        success() {
            this.$refs.table.reload(this.params)
        },
        init() {
            this.$HTTP.get('/api/blade-system/param/detail?paramKey=system.shift.max').then(res => {
                if (res.code === 200) {
                    this.detail = res.data
                }
            })
        },
        getData1() {
            if (!this?.info?.shiftDetailVOList?.length) return { data: [], categories: [], startTime: 0 }
            let categories = this.info.shiftDetailVOList.map(item => {
                return item.indexName
            })
            let base
            let base = null
            this.info.shiftDetailVOList.forEach(item => {
                !base && (base = item.shiftStartTime)
                base === null && (base = item.shiftStartTime)
                if (base > item.shiftStartTime) {
                    base = item.shiftStartTime
                }
            })
            console.log('.....')
            let startTime = moment(moment().format('YYYY-MM-DD') + ' 00:00:00').add(base, 'm').unix()
            let end = moment.unix(startTime).add(24, 'h').unix()
            console.log(moment.unix(startTime).format('YYYY-MM-DD HH:mm:ss'), 'startTIme', moment.unix(end).format('YYYY-MM-DD HH:mm:ss'))
            let data = [];
            var types = [
                { name: 1, color: '#7b9ce1' },
                { name: 2, color: '#bd6d6c' },
                { name: 3, color: '#75d874' },
                { name: 4, color: '#e0bc78' },
                { name: 5, color: '#dc77dc' },
                { name: 6, color: '#72b362' }
            ];
            this.info.shiftDetailVOList.forEach((item, index) => {
                let desc = `${moment.unix(startTime + item.shiftStartTime * 60).format('HH:mm')} - ${moment.unix(startTime + item.shiftEndTime * 60).format('HH:mm')}`
                let desc = `排班情况:${moment.unix(startTime + (item.shiftStartTime - base) * 60).format('HH:mm')} - ${moment.unix(startTime + (item.shiftEndTime - base) * 60).format('HH:mm')}`
                data.push({
                    name: item.indexName,
                    value: [index, startTime + item.shiftStartTime * 60, startTime + item.shiftEndTime * 60, desc],
                    value: [index, startTime + (item.shiftStartTime - base) * 60, startTime + (item.shiftEndTime - base) * 60, desc],
                    itemStyle: {
                        normal: {
                            color: this.info.colour
                        }
                    }
                })
                item?.shiftRestTimeVOList?.forEach(v => {
                    let desc = `休息时段: ${moment.unix(startTime + (v.restStartTime - base) * 60).format('HH:mm')} - ${moment.unix(startTime + (v.restEndTime - base) * 60).format('HH:mm')}`
                    data.push({
                        name: v.indexName,
                        value: [index, startTime + (v.restStartTime - base) * 60, startTime + (v.restEndTime - base) * 60, desc],
                        itemStyle: {
                            normal: {
                                color: 'yellow'
                            }
                        }
                    })
                })
            })
            return { data, categories, startTime, end }
@@ -264,12 +264,25 @@
            })
        },
        table_add() {
            this.$refs.dialog.open()
            this.$refs.dialog.open('add', {
            })
        },
        table_edit() {
            this.$refs.dialog.open()
            this.$refs.dialog.open('edit', this.info)
        },
        del() {
            this.$confirm(`确定删除数据?`, '', {
                type: 'warning'
            }).then(() => {
                this.$HTTP.delete(`/api/blade-cps/shift/${this.info.id}`).then(res => {
                    if (res.code === 200) {
                        this.$refs.table.reload(this.params)
                    }
                })
            }).catch(() => {
            })
        }
    },