Procházet zdrojové kódy

fix: content cache exception

Casper Dai před 3 roky
rodič
revize
5cae79b89a
1 změnil soubory, kde provedl 68 přidání a 71 odebrání
  1. 68 71
      src/views/schedule/deploy/index.vue

+ 68 - 71
src/views/schedule/deploy/index.vue

@@ -36,81 +36,77 @@
         class="l-flex__fill has-padding"
         @change="onChange"
       />
-      <div
-        v-if="active > 0"
-        class="c-list has-padding u-overflow-y--auto"
-      >
-        <div class="c-list__item u-bold">{{ resolutionRatio }}</div>
-        <div
-          v-for="device in selectedDevices"
-          :key="device.id"
-          class="c-list__item"
-        >
-          {{ device.name }}
-        </div>
-      </div>
-      <div
-        v-if="active === 1"
-        class="c-list large has-padding u-overflow-y--auto"
-      >
-        <div class="c-list__item">
-          <div class="o-type">发布类型</div>
-          <el-select v-model="eventOptions.type">
-            <el-option
-              v-for="option in typeOptions"
-              :key="option.value"
-              :label="option.label"
-              :value="option.value"
-            />
-          </el-select>
+      <template v-if="active > 0">
+        <div class="c-list has-padding u-overflow-y--auto">
+          <div class="c-list__item u-bold">{{ resolutionRatio }}</div>
+          <div
+            v-for="device in selectedDevices"
+            :key="device.id"
+            class="c-list__item"
+          >
+            {{ device.name }}
+          </div>
         </div>
-        <event-picker
-          v-if="isEvent"
-          ref="picker"
-          class="c-list__item"
-          :priority="3"
-          :ratio="resolutionRatio"
-          vertical
-          @choosen="onChoosenProgram"
-        />
-        <div
-          v-else
-          class="c-list__item c-grid-form medium col"
-        >
-          <div class="c-grid-form__label required">播放内容</div>
-          <div class="o-schedule-button u-pointer">
-            <div
-              class="o-schedule-button__label has-padding--h"
-              @click="onChooseSchedule"
-            >
-              <div class="u-ellipsis">{{ msg }}</div>
+        <div class="c-list large has-padding u-overflow-y--auto">
+          <div class="c-list__item">
+            <div class="o-type">发布类型</div>
+            <el-select v-model="eventOptions.type">
+              <el-option
+                v-for="option in typeOptions"
+                :key="option.value"
+                :label="option.label"
+                :value="option.value"
+              />
+            </el-select>
+          </div>
+          <div
+            v-if="isCalendar"
+            class="c-list__item c-grid-form medium col"
+          >
+            <div class="c-grid-form__label required">播放内容</div>
+            <div class="o-schedule-button u-pointer">
+              <div
+                class="o-schedule-button__label has-padding--h"
+                @click="onChooseSchedule"
+              >
+                <div class="u-ellipsis">{{ msg }}</div>
+              </div>
             </div>
           </div>
+          <event-picker
+            v-show="isEvent"
+            ref="picker"
+            class="c-list__item"
+            :priority="3"
+            :ratio="resolutionRatio"
+            vertical
+            @choosen="onChoosenProgram"
+          />
+          <table-dialog
+            ref="scheduleDialog"
+            title="排期选择"
+            size="medium"
+            :schema="scheduleSchema"
+            @choosen="onChoosenSchedule"
+          />
         </div>
-        <table-dialog
-          ref="scheduleDialog"
-          title="排期选择"
-          size="medium"
-          :schema="scheduleSchema"
-          @choosen="onChoosenSchedule"
-        />
-      </div>
-      <div
-        v-if="active > 0 && eventTarget"
-        class="c-list fill has-padding u-overflow-y--auto"
-      >
-        <schedule
-          v-if="scheduleId"
-          :schedule="scheduleId"
-        />
         <div
-          v-if="programId"
-          class="o-program u-pointer"
-          @click="onViewProgram"
+          v-if="eventTarget"
+          class="c-list fill has-padding u-overflow-y--auto"
         >
-          {{ eventTarget.name }}
+          <schedule
+            v-if="scheduleId"
+            :schedule="scheduleId"
+          />
+          <div
+            v-if="programId"
+            class="o-program u-pointer"
+            @click="onViewProgram"
+          >
+            {{ eventTarget.name }}
+          </div>
         </div>
-      </div>
+      </template>
     </div>
   </wrapper>
 </template>
@@ -159,9 +155,9 @@ export default {
     },
     eventTarget () {
       if (this.isCalendar) {
-        return this.eventOptions.schedule
+        return this.eventOptions?.schedule
       }
-      return this.eventOptions.program
+      return this.eventOptions?.program
     },
     isCalendar () {
       return this.eventOptions?.type === PublishType.CALENDAR
@@ -191,7 +187,7 @@ export default {
   methods: {
     onPresent () {
       if (this.active > 0) {
-        this.active -= 1
+        this.active = 0
       }
     },
     onNext () {
@@ -202,6 +198,7 @@ export default {
           }
           break
         case 1:
+        case 2:
           this.publish().then(() => {
             this.active = 0
             this.$refs.tree.reset()