lilei 4 år sedan
förälder
incheckning
6fe5d245e7
1 ändrade filer med 24 tillägg och 14 borttagningar
  1. 24 14
      src/views/market/addlotterySetModal.vue

+ 24 - 14
src/views/market/addlotterySetModal.vue

@@ -189,6 +189,7 @@
                 v-model="item.prizeType"
                 @change="res => {
                   item.prizeDesc = ''
+                  item.isPrizeLimit = item.prizeType == 'NONE' ? 1 : undefined
                 }"
                 placeholder="请选择奖品类型">
                 <a-select-option
@@ -242,24 +243,24 @@
               :prop="'luckyDrawPrizeList.' + index + '.isPrizeLimit'"
               :rules="{
                 required: true,
-                message: '是否中奖',
+                message: '请选择是否限制中奖',
                 trigger: ['blur','change'],
               }"
             >
               <a-select
                 :id="'jpList-isPrizeLimit'+index"
                 style="width: 100%;"
-                :disabled="participantsNum>0||state==1"
+                :disabled="participantsNum>0||state==1||item.prizeType == 'NONE'"
                 v-model="item.isPrizeLimit"
                 @change="res => {
                   item.prizeRate = ''
                   item.prizeNum = ''
                 }"
-                placeholder="是否中奖">
-                <a-select-option value="1">
+                placeholder="是否限制中奖">
+                <a-select-option :key="0" :value="0">
                 </a-select-option>
-                <a-select-option value="0">
+                <a-select-option :key="1" :value="1">
                 </a-select-option>
               </a-select>
@@ -564,14 +565,23 @@ export default {
       this.$refs.ruleForm.validate(valid => {
         if (valid) {
           console.log('valid submit!!')
-          // if (this.form.luckyDrawWinPrizeLimitList.length == 0) {
-          //   this.$message.warning('请选择中奖限制')
-          //   return false
-          // }
-          // if (this.form.luckyDrawTaskList.length == 0) {
-          //   this.$message.warning('请选择赠送抽奖次数规则')
-          //   return false
-          // }
+          // 至少有一个未中奖的奖品
+          const hasNoPrize = this.form.luckyDrawPrizeList.find(item => item.prizeType == 'NONE')
+          // 中奖概率之和必需是100
+          let gv = 0
+          this.form.luckyDrawPrizeList.map(item => {
+            gv = gv + Number(item.prizeRate)
+          })
+          console.log(hasNoPrize, gv)
+          if (!hasNoPrize) {
+            this.$message.warning('至少有一个未中奖类型的奖品')
+            return
+          }
+          if (gv != 100) {
+            this.$message.warning('奖品概率之和必需是100')
+            return
+          }
+
           const formData = JSON.parse(JSON.stringify(this.form))
           formData.activeStartTime = moment(this.form.time[0]).format('YYYY-MM-DD') + ' 00:00:00'
           formData.activeEndTime = moment(this.form.time[1]).format('YYYY-MM-DD') + ' 00:00:00'
@@ -625,8 +635,8 @@ export default {
           const _this = this
           setTimeout(() => {
             _this.form.luckyDrawPrizeList.map((item, index) => {
-              console.log(_this.$refs[`prizeImage${index}`])
               _this.$refs[`prizeImage${index}`][0].setFileList(item.prizeImage)
+              item.isPrizeLimit = Number(item.isPrizeLimit)
             })
           }, 500)
         }