瀏覽代碼

refactor: remove compatibility code

Casper Dai 3 年之前
父節點
當前提交
0e182d65a4

+ 1 - 1
src/api/calendar.js

@@ -38,7 +38,7 @@ export function getSchedule (id, options) {
     ...options
   }).then(({ data }) => {
     const { id, type, status, name, resolutionRatio, eventDetail } = data
-    return { id, type, status, name, resolutionRatio, events: JSON.parse(eventDetail) }
+    return { id, type, status, name, resolutionRatio, events: JSON.parse(eventDetail) || [] }
   })
 }
 

+ 1 - 8
src/api/device.js

@@ -11,7 +11,6 @@ import {
   addScope,
   addUser
 } from './base'
-import { toEvent } from '@/utils/event'
 
 export function getRatiosWithUser () {
   return tenantRequest({
@@ -52,13 +51,7 @@ export function getTimeline (deviceId, options) {
     url: `/content/deviceCalender/${deviceId}`,
     method: 'GET',
     ...options
-  }).then(({ data }) => {
-    let events = JSON.parse(data.eventDetail) || []
-    if (events.length && !events[0].freq) {
-      events = events.map(toEvent)
-    }
-    return events
-  })
+  }).then(({ data }) => JSON.parse(data.eventDetail) || [])
 }
 
 export function addDevice (data) {

+ 3 - 11
src/components/Schedule/ScheduleCalendar/index.vue

@@ -92,10 +92,7 @@
 
 <script>
 import { ScheduleType } from '@/constant'
-import {
-  toEvent,
-  toDate
-} from '@/utils/event'
+import { toDate } from '@/utils/event'
 import calendarMixin from '../mixins/calendar'
 import ScheduleWrapper from '../components/ScheduleWrapper'
 import ScheduleCalendarWeek from './ScheduleCalendarWeek'
@@ -112,13 +109,8 @@ export default {
   },
   mixins: [calendarMixin],
   methods: {
-    transformEvents (events, type) {
-      switch (type) {
-        case ScheduleType.CALENDAR:
-          return events.map(event => this.createEventProxy(toEvent(event))).sort((a, b) => toDate(a.origin.start) - toDate(b.origin.start))
-        default:
-          return events.sort((a, b) => toDate(a.start) - toDate(b.start)).map(this.createEventProxy)
-      }
+    transformEvents (events) {
+      return events.sort((a, b) => toDate(a.start) - toDate(b.start)).map(this.createEventProxy)
     },
     getEvents () {
       switch (this.scheduleOptions.type) {

+ 1 - 1
src/components/Schedule/mixins/schedule.js

@@ -39,7 +39,7 @@ export default {
     this.editable = this.detail.status === State.READY
     this.scheduleOptions = {
       ...this.detail,
-      events: this.transformEvents(this.detail.events || [], this.detail.type)
+      events: this.transformEvents(this.detail.events)
     }
     this.init()
   },

+ 1 - 0
src/scss/bem/_component.scss

@@ -335,6 +335,7 @@
 
     .el-dialog__body {
       display: flex;
+      min-height: 300px;
       background-color: #fff;
     }
   }

+ 9 - 16
src/utils/cache/event.js

@@ -1,7 +1,7 @@
 import { getAssetUrl } from '@/api/asset'
 import { getProgram as programApi } from '@/api/program'
 import { getSchedule as scheduleApi } from '@/api/calendar'
-import { ScheduleType } from '@/constant'
+import { EventTarget } from '@/constant'
 
 const cacheMap = {}
 
@@ -13,16 +13,12 @@ function getScheduleInst (id) {
   return scheduleApi(id, { custom: true, background: true })
 }
 
-function getInstName ({ name }) {
-  return name
-}
-
 function getProgramImage ({ img }) {
   return getAssetUrl(img)
 }
 
 function getScheduleImage ({ events }) {
-  return getImage(ScheduleType.CALENDAR, events[0].programId)
+  return getImage(EventTarget.PROGRAM, events[0].programId)
 }
 
 function getCache (type) {
@@ -33,21 +29,18 @@ function getCache (type) {
 }
 
 function getPromise (type, id) {
+  const key = `${type}__${id}`
   const cache = getCache()
-  if (!cache[id]) {
-    const promise = (type === ScheduleType.CALENDAR ? getProgramInst : getScheduleInst)(id)
+  if (!cache[key]) {
+    const promise = (type === EventTarget.PROGRAM ? getProgramInst : getScheduleInst)(id)
     promise.catch(() => {
-      cache[id] = null
+      cache[key] = null
     })
-    cache[id] = promise
+    cache[key] = promise
   }
-  return cache[id]
-}
-
-export function getName (type, id) {
-  return getPromise(type, id).then(getInstName)
+  return cache[key]
 }
 
 export function getImage (type, id) {
-  return getPromise(type, id).then(type === ScheduleType.CALENDAR ? getProgramImage : getScheduleImage)
+  return getPromise(type, id).then(type === EventTarget.PROGRAM ? getProgramImage : getScheduleImage)
 }

+ 1 - 47
src/utils/event.js

@@ -1,7 +1,4 @@
-import {
-  EventPriority,
-  EventFreq
-} from '@/constant'
+import { EventFreq } from '@/constant'
 
 export const ONE_DAY = 86400000
 
@@ -256,46 +253,3 @@ export function isHitOverDayTime (event, date) {
 export function correctEndTime (endTime) {
   return endTime === '00:00:00' ? '24:00:00' : endTime
 }
-
-import { EventCache } from '@/utils/cache'
-
-export function toEvent (item) {
-  return item.type ? transformDeviceProgramToEvent(item) : transformProgramToEvent(item)
-}
-
-function transformProgramToEvent ({ programId, programName, startDateTime, endDateTime }) {
-  return {
-    priority: EventPriority.NORMAL,
-    freq: EventFreq.ONCE,
-    start: startDateTime,
-    until: endDateTime,
-    target: {
-      type: EventTarget.PROGRAM,
-      id: programId,
-      name: programName
-    }
-  }
-}
-
-function transformDeviceProgramToEvent ({ type, programCalendarId, startTimestamp, endTimestamp }) {
-  const start = toDate(Number(startTimestamp))
-  const until = toDate(Number(endTimestamp))
-  const event = {
-    priority: EventPriority.NORMAL,
-    freq: EventFreq.ONCE,
-    start: `${toDateStr(start)} ${toTimeStr(start)}`,
-    until: `${toDateStr(until)} ${toTimeStr(until)}`,
-    target: {
-      type,
-      id: programCalendarId,
-      name: '未知'
-    },
-    invoke () {
-      delete this.invoke
-      return EventCache.getName(this.target.type, this.target.id).then(name => {
-        this.target.name = name
-      })
-    }
-  }
-  return event
-}

+ 0 - 1
src/views/dashboard/components/Device.vue

@@ -293,7 +293,6 @@ export default {
       }
     },
     getEventInfo (event, startDate, endDate) {
-      event.invoke?.()
       return {
         target: event.target,
         startDate: parseTime(startDate, '{y}.{m}.{d}'),

+ 0 - 1
src/views/device/timeline/index.vue

@@ -455,7 +455,6 @@ export default {
               zIndex: event.priority
             }
           })
-          event.invoke?.()
           event.img?.()
           if (endDate >= this.$endDateTime) {
             break

+ 0 - 11
src/views/review/components/ReviewPublish.vue

@@ -74,17 +74,6 @@ export default {
       }
     },
     getDiff (item) {
-      if (!item.target) {
-        const { programCalendarId, startDateTime, endDateTime } = item
-        return {
-          type: '排期',
-          target: {
-            type: PublishType.CALENDAR,
-            id: programCalendarId
-          },
-          desc: endDateTime ? `${startDateTime} - ${endDateTime}` : `自${startDateTime}开始`
-        }
-      }
       const target = JSON.parse(item.target)
       let type = ''
       switch (target.type) {

+ 0 - 11
src/views/schedule/history/index.vue

@@ -68,17 +68,6 @@ export default {
       }
     },
     getDiff (item) {
-      if (!item.target) {
-        const { programCalendarId, startDateTime, endDateTime } = item
-        return {
-          type: '排期',
-          target: {
-            type: PublishType.CALENDAR,
-            detail: programCalendarId
-          },
-          desc: endDateTime ? `${startDateTime} - ${endDateTime}` : `自${startDateTime}开始`
-        }
-      }
       const target = JSON.parse(item.target)
       let type = ''
       switch (target.type) {