소스 검색

修复抽奖无法选中问题

1
mo 3 년 전
부모
커밋
7772415f76
3개의 변경된 파일118개의 추가작업 그리고 104개의 파일을 삭제
  1. 4 2
      src/views/categroyManager/vipActiveList.vue
  2. 2 2
      src/views/luckyDraw/api.js
  3. 112 100
      src/views/luckyDraw/trophyCreate.vue

+ 4 - 2
src/views/categroyManager/vipActiveList.vue

@@ -237,8 +237,10 @@
                 <el-button
                 <el-button
                   v-if="
                   v-if="
                     scope.row.status == 'PROGRESS' &&
                     scope.row.status == 'PROGRESS' &&
-                    scope.row.maxCourseNum &&
-                    scope.row.minCourseNum &&
+                    scope.row.maxCourseNum&&
+                    scope.row.minCourseNum&&
+                    scope.row.maxCourseNum >0&&
+                    scope.row.minCourseNum>0 &&
                     scope.row.minCourseNum == scope.row.maxCourseNum
                     scope.row.minCourseNum == scope.row.maxCourseNum
                   "
                   "
                   type="text"
                   type="text"

+ 2 - 2
src/views/luckyDraw/api.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
 import request from '@/utils/request'
-// import qs from 'qs'
+import qs from 'qs'
 
 
 // 查询奖品组列表
 // 查询奖品组列表
 export function luckDrawGroupList(data) {
 export function luckDrawGroupList(data) {
@@ -96,4 +96,4 @@ export function luckDrawLogList(data) {
     data: {},
     data: {},
     params: data
     params: data
   })
   })
-}
+}

+ 112 - 100
src/views/luckyDraw/trophyCreate.vue

@@ -21,97 +21,100 @@
           ></el-option>
           ></el-option>
         </el-select>
         </el-select>
       </el-form-item>
       </el-form-item>
-      <el-row
-        :gutter="10"
-        v-for="(reword, index) in form.rewordList"
-        :key="index"
-      >
-        <el-col :span="10">
-          <el-form-item
-            :label="`奖品${index + 1}`"
-            label-width="100PX"
-            :prop="'rewordList.' + index + '.name'"
-            :rules="[
-              { required: true, message: '请输入活动名称', trigger: 'blur' },
-            ]"
-          >
-            <el-input
-              v-model.trim="reword.name"
-              autocomplete="off"
-              placeholder="请输入奖品名称"
-            ></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item
-            :prop="'rewordList.' + index + '.chances'"
-            :rules="[
-              { required: true, validator: validNumber, trigger: 'blur' },
-            ]"
-          >
-            <el-input
-              v-model.trim="reword.chances"
-              type="number"
-              autocomplete="off"
-              placeholder="请输入中奖概率"
+      <div v-for="(reword, index) in form.rewordList" :key="index">
+        <el-row :gutter="10">
+          <el-col :span="10">
+            <el-form-item
+              :label="`奖品${index + 1}`"
+              label-width="100PX"
+              :prop="'rewordList.' + index + '.name'"
+              :rules="[
+                { required: true, message: '请输入活动名称', trigger: 'blur' },
+              ]"
             >
             >
-              <i slot="suffix" class="el-input__icon" style="padding-right: 5px"
-                >%</i
+              <el-input
+                v-model.trim="reword.name"
+                autocomplete="off"
+                placeholder="请输入奖品名称"
+              ></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item
+              :prop="'rewordList.' + index + '.chances'"
+              :rules="[
+                { required: true, validator: validNumber, trigger: 'blur' },
+              ]"
+            >
+              <el-input
+                v-model.trim="reword.chances"
+                type="number"
+                autocomplete="off"
+                placeholder="请输入中奖概率"
               >
               >
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="4">
+                <i
+                  slot="suffix"
+                  class="el-input__icon"
+                  style="padding-right: 5px"
+                  >%</i
+                >
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="4">
+            <el-form-item
+              :prop="'rewordList.' + index + '.stock'"
+              :rules="[
+                { required: true, validator: validNumber1, trigger: 'blur' },
+              ]"
+            >
+              <el-input
+                v-model.trim="reword.stock"
+                type="number"
+                autocomplete="off"
+                placeholder="请输入库存"
+              >
+              </el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="5">
+            <el-form-item
+              :prop="'rewordList.' + index + '.isDefault'"
+              :rules="[
+                {
+                  required: true,
+                  message: '请输入选择是否默认',
+                  trigger: 'blur',
+                },
+              ]"
+            >
+              <el-select
+                v-model.trim="reword.isDefault"
+                style="width: 100% !important"
+                placeholder="请选择是否默认"
+              >
+                <el-option :value="true" label="是"></el-option>
+                <el-option :value="false" label="否"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
           <el-form-item
           <el-form-item
-            :prop="'rewordList.' + index + '.stock'"
-            :rules="[
-              { required: true, validator: validNumber1, trigger: 'blur' },
-            ]"
+            label="备注"
+            label-width="100px"
+            :prop="'rewordList.' + index + '.memo'"
           >
           >
             <el-input
             <el-input
-              v-model.trim="reword.stock"
-              type="number"
+              type="textarea"
+              :rows="2"
+              v-model.trim="reword.memo"
               autocomplete="off"
               autocomplete="off"
-              placeholder="请输入库存"
-            >
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="5">
-          <el-form-item
-            :prop="'rewordList.' + index + '.isDefault'"
-            :rules="[
-              {
-                required: true,
-                message: '请输入选择是否默认',
-                trigger: 'blur',
-              },
-            ]"
-          >
-            <el-select
-              v-model.trim="reword.isDefault"
-              style="width: 100% !important"
-              placeholder="请选择是否默认"
-            >
-              <el-option :value="true" label="是"></el-option>
-              <el-option :value="false" label="否"></el-option>
-            </el-select>
+              placeholder="请输入备注"
+            ></el-input>
           </el-form-item>
           </el-form-item>
-        </el-col>
-        <el-form-item
-          label="备注"
-          label-width="100PX"
-          :prop="'rewordList.' + index + '.memo'"
-        >
-          <el-input
-            type="textarea"
-            :rows="2"
-            v-model.trim="reword.memo"
-            autocomplete="off"
-            placeholder="请输入备注"
-          ></el-input>
-        </el-form-item>
-      </el-row>
+        </el-row>
+      </div>
       <div style="text-align: center">
       <div style="text-align: center">
         <el-button
         <el-button
           :disabled="form.rewordList.length <= 1"
           :disabled="form.rewordList.length <= 1"
@@ -171,14 +174,14 @@ export default {
       validNumber1: validNumber1,
       validNumber1: validNumber1,
       validNumber: validNumber,
       validNumber: validNumber,
       form: {
       form: {
-        groupId:Number(this.$route.query.groupId),
+        groupId: Number(this.$route.query.groupId),
         rewordList: [
         rewordList: [
           {
           {
-            name: null,
-            chances: null,
-            stock: null,
-            isDefault: null,
-            memo: null,
+            name: "",
+            chances: "",
+            stock: "",
+            isDefault: "",
+            memo: "",
           },
           },
         ],
         ],
       },
       },
@@ -200,10 +203,18 @@ export default {
   mounted() {
   mounted() {
     if (this.list && Array.isArray(this.list)) {
     if (this.list && Array.isArray(this.list)) {
       let arr = this.list.map((item) => {
       let arr = this.list.map((item) => {
-        return { ...item, chances: item.chances * 100 };
+        return {
+          name: item.name,
+          stock: item.stock,
+          isDefault: item.isDefault,
+          memo: item.memo,
+          chances: item.chances * 100,
+          id:item.id
+        };
       });
       });
-      console.log(arr)
+      console.log(arr);
       this.$set(this.form, "rewordList", arr);
       this.$set(this.form, "rewordList", arr);
+      this.$forceUpdate();
     }
     }
   },
   },
   methods: {
   methods: {
@@ -219,10 +230,10 @@ export default {
       // 添加奖品
       // 添加奖品
       let form = this.form;
       let form = this.form;
       form.rewordList.push({
       form.rewordList.push({
-        name: null,
-        chances: null,
-        stock: null,
-        isDefault: null,
+        name: "",
+        chances: "",
+        stock: "",
+        isDefault: "",
       });
       });
     },
     },
     onSubmit(formName) {
     onSubmit(formName) {
@@ -244,6 +255,7 @@ export default {
               isDefault: item.isDefault,
               isDefault: item.isDefault,
               memo: form.memo,
               memo: form.memo,
               enabled: 1,
               enabled: 1,
+              id:item.id || null
             });
             });
           });
           });
           if (chanceCount != 100) {
           if (chanceCount != 100) {
@@ -279,10 +291,10 @@ export default {
 }
 }
 
 
 .reword-list {
 .reword-list {
-  display: flex;
-  .el-form-item {
-    flex: 1;
-  }
+  // display: flex;
+  // .el-form-item {
+  //   flex: 1;
+  // }
 }
 }
 
 
 .add-reword {
 .add-reword {