Pārlūkot izejas kodu

音频管理 兑换配置 添加套餐名称 和 实物数量参数

DESKTOP-O04BTUJ\muzen 2 gadi atpakaļ
vecāks
revīzija
52549f787b
1 mainītis faili ar 39 papildinājumiem un 2 dzēšanām
  1. 39 2
      src/views/registration/exchange/detail.vue

+ 39 - 2
src/views/registration/exchange/detail.vue

@@ -14,6 +14,15 @@
             :label="item.label" />
         </el-select>
       </el-form-item>
+      <el-form-item label="套餐名称:" v-if="form.type !== 3">
+        <el-select v-model="form.businessId" placeholder="请选择套餐">
+          <el-option v-for="item in mealOptions" :key="item.id" :value="item.id" :label="item.name" />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="实物数量:" v-else prop="totalNum">
+        <el-input-number v-model="form.totalNum" :min="1" :controls="false" />
+        <span style="margin-left: 10px">个</span>
+      </el-form-item>
       <el-form-item label="兑换图片:" prop="pic">
         <Upload listType="picture-card" :url="form.pic" @upload="upload" :disabled="disabled" />
       </el-form-item>
@@ -27,7 +36,7 @@
 
 <script>
 import Upload from '@/components/Upload/index.vue'
-import { create, detail, edit } from '@/api/registration/exchange'
+import { create, detail, edit, mealList } from '@/api/registration/exchange'
 export default {
   components: {
     Upload
@@ -35,7 +44,11 @@ export default {
   data() {
     return {
       // 表单
-      form: {},
+      form: {
+        status: 0,
+        type: null,
+        businessType: 2
+      },
       // 校验
       rules: {
         name: [{
@@ -47,6 +60,9 @@ export default {
         type: [{
           required: true, message: '请选择兑换类型', trigger: 'change'
         }],
+        totalNum: [{
+          required: true, message: '请输入实物数量', trigger: 'blur'
+        }],
         pic: [{
           required: true, message: '请上传兑换图片', trigger: 'change'
         }]
@@ -62,10 +78,22 @@ export default {
         value: 3,
         label: '音响实物'
       }],
+      // 套餐类型
+      mealOptions: [],
       // 只读
       disabled: false
     }
   },
+  watch: {
+    'form.type': {
+      handler(val) {
+        if (val !== null) {
+          this.getMealList()
+        }
+      },
+      deep: true
+    }
+  },
   mounted() {
     if (this.$route.query.id) {
       this.form.id = this.$route.query.id
@@ -93,6 +121,15 @@ export default {
       this.$tab.closeOpenPage('/registration/exchangeConfig')
     },
 
+    getMealList() {
+      let type = this.form.type === 0 ? 13 : 12
+      mealList(type, 2).then(res => {
+        if (res.code === 0) {
+          this.mealOptions = res.data
+        }
+      })
+    },
+
     // 确定
     getSubmit() {
       this.$refs.form.validate((valid) => {