| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import {
- saveScheduleEvents,
- submitSchedule
- } from '@/api/calendar'
- import { State } from '@/constant'
- export default {
- props: {
- detail: {
- type: Object,
- default: null
- },
- hideHeader: {
- type: [Boolean, String],
- default: false
- }
- },
- data () {
- return {
- scheduleOptions: null,
- editable: false
- }
- },
- computed: {
- events () {
- return this.scheduleOptions?.events || []
- },
- isEmpty () {
- return this.events.length === 0
- },
- name () {
- return this.scheduleOptions?.name
- },
- ratio () {
- return this.scheduleOptions?.resolutionRatio
- }
- },
- created () {
- this.editable = this.detail.status === State.READY
- this.scheduleOptions = {
- ...this.detail,
- events: this.transformEvents(this.detail.events)
- }
- },
- methods: {
- transformEvents (events) {
- return events
- },
- getEvents () {
- return this.events
- },
- save () {
- return saveScheduleEvents(this.scheduleOptions, this.getEvents())
- },
- submit () {
- submitSchedule(this.scheduleOptions, this.getEvents()).then(() => {
- this.editable = false
- this.$emit('submit')
- })
- }
- }
- }
|