Browse Source

添加类型

lex-xin 3 years ago
parent
commit
f576953fac
3 changed files with 73 additions and 2 deletions
  1. 1 1
      package.json
  2. 17 1
      src/views/accompaniment/index.vue
  3. 55 0
      src/views/accompaniment/modals/form.vue

+ 1 - 1
package.json

@@ -32,7 +32,7 @@
     "linq": "^3.2.2",
     "lodash": "^4.17.20",
     "moment": "^2.29.1",
-    "node-sass": "^4.13.1",
+    "node-sass": "^4.14.1",
     "normalize.css": "7.0.0",
     "npm": "^6.13.0",
     "nprogress": "0.2.0",

+ 17 - 1
src/views/accompaniment/index.vue

@@ -45,6 +45,12 @@
             <el-option value="SMART_PRACTICE" label="智能陪练" ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item prop="rankType">
+          <el-select v-model="searchForm.rankType" clearable filterable placeholder="请选择是否收费">
+            <el-option :value="0" label="免费"></el-option>
+            <el-option :value="1" label="收费"></el-option>
+          </el-select>
+        </el-form-item>
         <el-button @click="submit" type="primary">搜索</el-button>
         <el-button @click="reset" type="danger">重置</el-button>
       </saveform>
@@ -97,6 +103,15 @@
         />
         <el-table-column
           align="center"
+          label="是否收费"
+          width="180px"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.rankIds ? '收费' : '免费' }}
+          </template>
+        </el-table-column>
+        <el-table-column
+          align="center"
           prop="categoriesName"
           label="客户端类型"
           width="180px"
@@ -204,7 +219,8 @@ export default {
         search: "",
         type: "",
         subjectId: "",
-        clientType:''
+        clientType:'',
+        rankType: null,
       },
       rules: {
         // 分页规则

+ 55 - 0
src/views/accompaniment/modals/form.vue

@@ -27,6 +27,29 @@
           ></el-option>
         </el-select> -->
       </el-form-item>
+      <!-- 是否收费  免费  收费 -->
+      <el-form-item
+        prop="rankIdType"
+        label="是否收费"
+        :rules="[{required: true, message: '请选择是否收费'}]"
+      >
+        <el-select style="width: 100%!important;" v-model="form.rankIdType" placeholder="请选择是否收费" @change="rankChange">
+          <!-- <el-option
+            :value="item.id"
+            :label="item.name"
+            v-for="item in memberRankList"
+            :key="item.id"
+          ></el-option> -->
+          <el-option
+            :value="0"
+            label="免费"
+          ></el-option>
+          <el-option
+            :value="1"
+            label="收费"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item
         prop="sysMusicScore.clientType"
         label="客户端类型"
@@ -152,14 +175,18 @@
 </template>
 <script>
 import { Add, Update, queryPageSysExam, queryTree } from '../api'
+import { getAllmemberRank } from "@/views/resetTeaming/api";
 export default {
   props: ['detail', 'type'],
   data() {
     return {
       tree: [],
+      memberRankList: [], // 会员列表
       form: {
+        rankIdType: 0, // 收费会员类型 默认免费
         sysMusicScore: {
           name: '',
+          rankIds: '', // 收费会员编号
           url: '',
           order: '',
           musicScoreCategoriesId: [],
@@ -187,18 +214,46 @@ export default {
   async mounted() {
     this.$store.dispatch('setSubjects')
     await this.FetchTree()
+    await this.memberRank()
     if (this.detail) {
+      console.log(this.detail)
       this.$set(this.form, 'sysMusicScore', {
         name: this.detail.name,
         url: this.detail.url,
+        rankIds: this.detail.rankIds,
         order: this.detail.order,
         clientType: this.detail.clientType,
         musicScoreCategoriesId: this.detail.categoriesId ? this.formatParentId(this.detail.categoriesId, this.tree) : [],
       })
+      if(this.detail.rankIds) {
+        this.form.rankIdType = 1
+      } else {
+        this.form.rankIdType = 0
+      }
       this.FeatchDetailList()
     }
   },
   methods: {
+    rankChange(value) {
+      if(value) {
+        let tempIds = []
+        this.memberRankList.forEach(item => {
+          tempIds.push(item.id)
+        })
+        this.form.sysMusicScore.rankIds = tempIds.join(',')
+      } else {
+        // 会员购买重置
+        this.form.sysMusicScore.rankIds = ''
+      }
+    },
+    async memberRank() {
+      try {
+        const res = await getAllmemberRank({ isDefault: 0 });
+        this.memberRankList = res.data || [];
+      } catch (e) {
+        console.log(e);
+      }
+    },
     formatParentId(id, list, ids = []) {
       for (const item of list) {
         if (item.sysMusicScoreCategoriesList) {