| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- 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 || [], this.detail.type)
- }
- this.init()
- },
- methods: {
- init () { },
- 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')
- })
- }
- }
- }
|