Explorar o código

修复第三方平台数据回显,第三方平台编辑不可改变资源平台

DESKTOP-2S67K1S\31396 %!s(int64=2) %!d(string=hai) anos
pai
achega
6ee2db2c8e

+ 8 - 9
src/views/music/album/detail.vue

@@ -14,8 +14,9 @@
         </el-select>
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
-          <el-option v-for="item in platformOptions" :key="item.value" :value="item.value" :label="item.label" />
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
+          <el-option v-for="item in platformOptions" :key="item.value" :value="item.value" :label="item.label"
+            :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="付费类型:" prop="payType">
@@ -30,8 +31,7 @@
         <el-input-number v-model="form.discount" placeholder="请输入折扣价" :min="1" :precision="2" :controls="false" />
       </el-form-item>
       <el-form-item label="专辑封面:" prop="coverUrl">
-        <Upload listType="picture-card" :url="form.coverUrl" @upload="upload($event, 'coverUrl')"
-          :disabled="disabled" />
+        <Upload listType="picture-card" :url="form.coverUrl" @upload="upload($event, 'coverUrl')" :disabled="disabled" />
       </el-form-item>
       <el-form-item label="歌曲列表:" style="width: 1000px;">
         <el-button type="primary" icon="el-icon-plus" @click="getDialog">添加歌曲</el-button>
@@ -67,7 +67,8 @@
         </el-form-item>
         <el-form-item label="资源平台:">
           <el-select v-model="dialogForm.platformId" placeholder="请选择资源平台">
-            <el-option v-for="item in platformOptions" :key="item.value" :value="item.value" :label="item.label" />
+            <el-option v-for="item in platformOptions.filter(i => !i.joinType.includes('1'))" :key="item.value"
+              :value="item.value" :label="item.label" />
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -195,8 +196,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 15,
-      joinType: 2
+      audioType: 15
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id
@@ -223,7 +223,7 @@ export default {
     // 添加歌曲
     getDialog() {
       this.dialogVisible = true
-      this.dialogForm.platformId = this.platformOptions[0].value
+      this.dialogForm.platformId = this.platformOptions.filter(i => !i.joinType.includes('1'))[0].value
       this.getList()
     },
 
@@ -327,6 +327,5 @@ export default {
 
 .table {
   width: calc(100% - 100px);
-  margin-left: 100px;
 }
 </style>

+ 3 - 4
src/views/music/anchor/detail.vue

@@ -9,9 +9,9 @@
           placeholder="请输入主播简介" />
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="主播头像:" prop="avatar">
@@ -58,8 +58,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 12,
-      joinType: 2
+      audioType: 12
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id

+ 5 - 6
src/views/music/blog/detail.vue

@@ -22,9 +22,9 @@
           maxlength="300" show-word-limit placeholder=" 请输入播客介绍" />
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="付费类型:" prop="charging">
@@ -79,7 +79,7 @@
         </el-form-item>
         <el-form-item label="资源平台:">
           <el-select v-model="dialogForm.platformId" placeholder="请选择资源平台">
-            <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
+            <el-option v-for="item in platformOptions.filter(i => !i.joinType.includes('1'))" :key="item.value" :value="item.value"
               :label="item.label" />
           </el-select>
         </el-form-item>
@@ -202,8 +202,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 8,
-      joinType: 2
+      audioType: 8
     })
     // 分类
     this.getClassify(8)
@@ -258,7 +257,7 @@ export default {
     // 弹窗
     getDialog() {
       this.dialogVisible = true
-      this.dialogForm.platformId = this.platformOptions[0].value
+      this.dialogForm.platformId = this.platformOptions.filter(i => !i.joinType.includes('1'))[0].value
       this.getList()
     },
 

+ 3 - 4
src/views/music/list/detail.vue

@@ -18,9 +18,9 @@
         </el-select>
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="音频封面:" prop="thumbUrl">
@@ -86,8 +86,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 11,
-      joinType: 2
+      audioType: 11
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id

+ 21 - 16
src/views/music/menu/detail.vue

@@ -5,21 +5,20 @@
         <el-input v-model="form.name" placeholder="请输入歌单名称" show-word-limit />
       </el-form-item>
       <el-form-item label="歌单介绍:" prop="description">
-        <el-input v-model="form.description" type="textarea" :autosize="{ minRows: 5, maxRows: 10}"
-          maxlength="100" show-word-limit placeholder="请输入歌单介绍" />
+        <el-input v-model="form.description" type="textarea" :autosize="{ minRows: 5, maxRows: 10 }" maxlength="100"
+          show-word-limit placeholder="请输入歌单介绍" />
       </el-form-item>
       <el-form-item label="创建者:" prop="avatarNickName">
         <el-input v-model="form.avatarNickName" placeholder="请输入歌单创建者名称" />
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
-          <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
+          <el-option v-for="item in platformOptions" :key="item.value" :value="item.value" :label="item.label"
+            :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="歌单封面:" prop="coverUrl">
-        <Upload listType="picture-card" :url="form.coverUrl" @upload="upload($event, 'coverUrl')"
-          :disabled="disabled" />
+        <Upload listType="picture-card" :url="form.coverUrl" @upload="upload($event, 'coverUrl')" :disabled="disabled" />
       </el-form-item>
       <el-form-item label="头像:" prop="avatarNickHead">
         <Upload listType="picture-card" :url="form.avatarNickHead" @upload="upload($event, 'avatarNickHead')"
@@ -59,8 +58,8 @@
         </el-form-item>
         <el-form-item label="资源平台:">
           <el-select v-model="dialogForm.platformId" placeholder="请选择资源平台">
-            <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-              :label="item.label" />
+            <el-option v-for="item in platformOptions.filter(i => !i.joinType.includes('1'))" :key="item.value"
+              :value="item.value" :label="item.label" />
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -75,15 +74,14 @@
         <el-table-column label="播放时长" prop="playTime" align="center" />
         <el-table-column label="操作" align="center">
           <template slot-scope="scope">
-            <el-button type="text" @click="getChecked(scope.row)"
-              :disabled="form.programList.findIndex(i => i.id === scope.row.id) === -1 ? false : true">
+            <el-button type="text" @click="getChecked(scope.row)" :disabled="disabledList()">
               选择
             </el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination v-show="total>0" :total="total" :page.sync="dialogForm.pageNum"
-        :limit.sync="dialogForm.pageSize" @pagination="getList" />
+      <pagination v-show="total > 0" :total="total" :page.sync="dialogForm.pageNum" :limit.sync="dialogForm.pageSize"
+        @pagination="getList" />
     </el-dialog>
   </div>
 </template>
@@ -152,8 +150,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 10,
-      joinType: 2
+      audioType: 10
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id
@@ -168,6 +165,7 @@ export default {
       detail(this.form.id).then(res => {
         if (res.code === 0) {
           this.form = res.data
+          this.form.programList = res.data.programList === null ? [] : res.data.programList
           this.form_loading = false
         }
       })
@@ -180,7 +178,7 @@ export default {
     // 添加歌曲
     getDialog() {
       this.dialogVisible = true
-      this.dialogForm.platformId = this.platformOptions[0].value
+      this.dialogForm.platformId = this.platformOptions.filter(i => !i.joinType.includes('1'))[0].value
       this.getList()
     },
 
@@ -266,6 +264,13 @@ export default {
     // 字典翻译
     statusFormatter(row) {
       return this.selectDictLabel(this.onOrOffOptions, row.status)
+    },
+
+    // 已有的歌曲不可重复选择
+    disabledList() {
+      if (this.form.programList.length > 0) {
+        return this.form.programList.findIndex(i => i.id === scope.row.id) === -1 ? false : true
+      }
     }
   }
 }

+ 3 - 4
src/views/music/program/detail.vue

@@ -9,9 +9,9 @@
           maxlength="100" show-word-limit placeholder="请输入节目介绍" />
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="付费类型:" prop="isFree">
@@ -111,8 +111,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 6,
-      joinType: 2
+      audioType: 6
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id

+ 3 - 4
src/views/music/radio/detail.vue

@@ -5,9 +5,9 @@
         <el-input v-model="form.name" placeholder="请输入电台名称" show-word-limit />
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item v-if="form.platformId !== 4" label="地域分类:" prop="addressClassifyId">
@@ -79,8 +79,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 2,
-      joinType: 2
+      audioType: 2
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id

+ 3 - 4
src/views/music/singer/detail.vue

@@ -16,9 +16,9 @@
         </el-select>
       </el-form-item>
       <el-form-item label="资源平台:" prop="platformId">
-        <el-select v-model="form.platformId" placeholder="请选择资源平台">
+        <el-select v-model="form.platformId" placeholder="请选择资源平台" :disabled="disabledPlatformId(form.platformId)">
           <el-option v-for="item in platformOptions" :key="item.value" :value="item.value"
-            :label="item.label" />
+            :label="item.label" :disabled="disabledJoinType(item.joinType)" />
         </el-select>
       </el-form-item>
       <el-form-item label="歌手简介:" prop="description">
@@ -73,8 +73,7 @@ export default {
   mounted() {
     // 获取资源平台
     this.getPlatform({
-      audioType: 9,
-      joinType: 2
+      audioType: 9
     })
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id