瀏覽代碼

fix:音乐套餐增加报错提示

zeng.chen 1 月之前
父節點
當前提交
ec5e589aad
共有 2 個文件被更改,包括 38 次插入121 次删除
  1. 35 111
      src/views/service/music/detail.vue
  2. 3 10
      src/views/service/vip/detail.vue

+ 35 - 111
src/views/service/music/detail.vue

@@ -2,127 +2,55 @@
   <div class="app-container">
     <el-form :model="form" :rules="rules" ref="form" label-width="110px">
       <el-form-item label="流量平台:">
-        <el-select
-          v-model="form.platform"
-          placeholder="请选择流量平台"
-          :disabled="disabled()"
-        >
-          <el-option
-            v-for="item in typeOptions"
-            :key="item.value"
-            :value="item.value"
-            :label="item.label"
-          />
+        <el-select v-model="form.platform" placeholder="请选择流量平台" :disabled="disabled()">
+          <el-option v-for="item in typeOptions" :key="item.value" :value="item.value" :label="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="关联设备:">
-        <el-select
-          v-model="deviceIds"
-          filterable
-          multiple
-          placeholder="请选择关联设备"
-        >
-          <el-option
-            v-for="(item, index) in devOptions"
-            :key="`${item.value}-${index}`"
-            :value="item.value"
-            :label="item.label"
-          />
+        <el-select v-model="deviceIds" filterable multiple placeholder="请选择关联设备">
+          <el-option v-for="(item, index) in devOptions" :key="`${item.value}-${index}`" :value="item.value"
+            :label="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="套餐名称:">
         <el-input v-model="form.name" placeholder="请输入套餐名称" />
       </el-form-item>
       <el-form-item label="服务类型:">
-        <el-select
-          v-model="form.businessType"
-          placeholder="请选择服务类型"
-          :disabled="disabled()"
-        >
-          <el-option
-            v-for="item in serviceTypeOptions"
-            :key="item.value"
-            :value="item.value"
-            :label="item.label"
-          />
+        <el-select v-model="form.businessType" placeholder="请选择服务类型" :disabled="disabled()">
+          <el-option v-for="item in serviceTypeOptions" :key="item.value" :value="item.value" :label="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item v-if="typeList[0] === '13'" label="资源平台:">
-        <el-select
-          v-model="form.platformId"
-          placeholder="请选择资源平台"
-          :disabled="disabled()"
-        >
-          <el-option
-            v-for="item in platformOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabled()">
+          <el-option v-for="item in platformOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item v-else label="流量套餐:">
-        <el-select
-          v-model="form.goodsId"
-          placeholder="请选择流量套餐"
-          :disabled="disabled()"
-        >
-          <el-option
-            v-for="(item, index) in goodsOptions"
-            :key="index"
-            :label="item"
-            :value="index"
-          />
+        <el-select v-model="form.goodsId" placeholder="请选择流量套餐" :disabled="disabled()">
+          <el-option v-for="(item, index) in goodsOptions" :key="index" :label="item" :value="index" />
         </el-select>
       </el-form-item>
       <el-form-item v-if="form.platformId === 10" label="栏目:">
         <el-select v-model="form.groupId" placeholder="请选择爱听栏目">
-          <el-option
-            v-for="item in sceneOptions"
-            :key="item.value"
-            :value="item.value"
-            :label="item.label"
-          />
+          <el-option v-for="item in sceneOptions" :key="item.value" :value="item.value" :label="item.label" />
         </el-select>
       </el-form-item>
       <el-form-item label="原价:" prop="price">
-        <el-input-number
-          v-model="form.price"
-          :min="0"
-          :max="500"
-          :controls="false"
-          :precision="2"
-          placeholder="请输入原价"
-        />
+        <el-input-number v-model="form.price" :min="0" :max="500" :controls="false" :precision="2"
+          placeholder="请输入原价" />
       </el-form-item>
       <el-form-item label="活动价:" prop="discount">
-        <el-input-number
-          v-model="form.discount"
-          :min="0"
-          :max="500"
-          :controls="false"
-          :precision="2"
-          placeholder="请输入活动价"
-        />
+        <el-input-number v-model="form.discount" :min="0" :max="500" :controls="false" :precision="2"
+          placeholder="请输入活动价" />
       </el-form-item>
       <el-form-item label="服务时长:">
         <el-select v-model="form.indate" placeholder="请选择服务时长">
-          <el-option
-            v-for="item in serviceTimeOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
+          <el-option v-for="item in serviceTimeOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="是否推荐:">
         <el-select v-model="form.isRecommend" placeholder="请选择是否推荐">
-          <el-option
-            v-for="item in recommendOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          />
+          <el-option v-for="item in recommendOptions" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
       </el-form-item>
       <el-form-item label="排序:" v-if="form.businessType === 5">
@@ -131,22 +59,10 @@
       <el-form-item label="赠送会员:">
         <el-switch v-model="isFreeContentVip" :disabled="disableVip" />
       </el-form-item>
-      <el-form-item
-        v-if="isFreeContentVip"
-        label="关联会员套餐:"
-        prop="freeActivityId"
-      >
-        <el-select
-          v-model="form.freeActivityId"
-          placeholder="请选择会员套餐:"
-          :disabled="disableVip"
-        >
-          <el-option
-            v-for="(item, index) in freeOptions"
-            :key="`free-option-${item.id}-${index}`"
-            :label="item.name"
-            :value="item.id"
-          />
+      <el-form-item v-if="isFreeContentVip" label="关联会员套餐:" prop="freeActivityId">
+        <el-select v-model="form.freeActivityId" placeholder="请选择会员套餐:" :disabled="disableVip">
+          <el-option v-for="(item, index) in freeOptions" :key="`free-option-${item.id}-${index}`" :label="item.name"
+            :value="item.id" />
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -160,11 +76,11 @@
 <script>
 import { list } from "@/api/operation/scene";
 import {
-create,
-detail,
-deviceGoodsList,
-edit,
-goodsList,
+  create,
+  detail,
+  deviceGoodsList,
+  edit,
+  goodsList,
 } from "@/api/service/package";
 import { devMixin, serviceTimeMixin, serviceTypeMixin } from "@/mixin/index";
 export default {
@@ -287,6 +203,9 @@ export default {
       );
     },
     "form.platform"(val) {
+      if (!val) {
+        return;
+      }
       this.getDevList({ type: val });
       this.getGoodSList(val);
     },
@@ -311,8 +230,13 @@ export default {
     // 详情
     getList() {
       detail(this.form.id).then((res) => {
+        console.log("获取详情:", res);
         if (res.code === 0) {
           this.form = res.data;
+          if (!this.form.platform) {
+            this.$message.error('未获取到平台信息,脏数据')
+            return
+          }
           this.isFreeContentVip =
             res.data.isFreeContentVip === 1 ? true : false;
           this.disableVip = this.isFreeContentVip;

+ 3 - 10
src/views/service/vip/detail.vue

@@ -1,11 +1,7 @@
 <template>
   <div class="app-container">
     <el-form :model="form" :rules="rules" ref="form" label-width="120px">
-      <!-- <el-form-item v-if="typeList[0] === '18'" label="流量平台:">
-        <el-select v-model="form.platform" placeholder="请选择流量平台" :disabled="disabled()">
-          <el-option v-for="item in typeOptions" :key="item.value" :value="item.value" :label="item.label" />
-        </el-select>
-      </el-form-item> -->
+
       <el-form-item label="套餐名称:" prop="name">
         <el-input v-model="form.name" placeholder="请输入套餐名称" />
       </el-form-item>
@@ -79,7 +75,7 @@ import { devMixin, serviceTimeMixin, serviceTypeMixin } from '@/mixin/index'
 // import { list } from '@/api/operation/scene'
 import { detail, edit, create, goodsList, deviceGoodsList } from '@/api/service/package'
 export default {
-  name:"serviceVipDetail",
+  name: "serviceVipDetail",
   mixins: [devMixin, serviceTimeMixin, serviceTypeMixin],
   data() {
     let checkedPrice = (rule, value, callback) => {
@@ -197,9 +193,6 @@ export default {
       }
       this.getDeviceGoodsList(this.deviceIds ?? [], val, this.isFreeFlow ?? false)
     },
-    'form.platform'(val) {
-      this.getDevList({ type: val })
-    },
     'isFreeFlow'(val) {
       if (val === true) {
         this.getDeviceGoodsList(this.deviceIds ?? [], this.form.businessType ?? -1, val)
@@ -223,7 +216,7 @@ export default {
     getList() {
       detail(String(this.form.id)).then(res => {
         if (res.code === 0) {
-          console.log("获取到详情:", JSON.stringify(res.data))
+
           this.form = res.data
           this.isFreeFlow = res.data.isFreeFlow === 1 ? true : false
           // 将 freeActivityId 转换为字符串