| | |
| | | <!-- |
| | | * @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> |
| | |
| | | </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> |
| | | |
| | |
| | | }, |
| | | |
| | | 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: '班制概览' |
| | |
| | | interval: 2 * 60 * 60, |
| | | axisLabel: { |
| | | formatter: function (val, index) { |
| | | |
| | | console.log('>>>>>>', val) |
| | | let str = '' |
| | | let now = moment() |
| | | let current = now.format('YYYY-MM-DD') |
| | |
| | | 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 } |
| | |
| | | }) |
| | | }, |
| | | 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(() => { |
| | | |
| | | }) |
| | | |
| | | } |
| | | }, |