Selaa lähdekoodia

签到管理 签到配置 连续签到 和 收听播放奖励 不能出现重复天数 或 小时

DESKTOP-O04BTUJ\muzen 2 vuotta sitten
vanhempi
commit
df7751b0e1
1 muutettua tiedostoa jossa 27 lisäystä ja 24 poistoa
  1. 27 24
      src/views/registration/regConfig/index.vue

+ 27 - 24
src/views/registration/regConfig/index.vue

@@ -5,13 +5,12 @@
         <el-input v-model="form.signTitle" placeholder="请输入签到标题" maxlength="50" show-word-limit />
       </el-form-item>
       <el-form-item label="签到周期:" prop="signDay">
-        <el-input-number v-model="form.signDay" :min="1" :max="99" :precision="0" placeholder="请输入签到周期"
-          :controls="false" @change="changeSignDay" />
+        <el-input-number v-model="form.signDay" :min="1" :max="99" placeholder="请输入签到周期" :controls="false"
+          @change="changeSignDay" />
         <span class="span">天</span>
       </el-form-item>
       <el-form-item label="基础积分:" prop="baseRewardPoint">
-        <el-input-number v-model="form.baseRewardPoint" :min="0" :precision="2" :step="0.01" :controls="false"
-          placeholder="请输入基础积分" />
+        <el-input-number v-model="form.baseRewardPoint" :min="0" :controls="false" placeholder="请输入基础积分" />
         <span class="span">积分</span>
       </el-form-item>
 
@@ -25,13 +24,13 @@
           <el-table-column label="连续签到天数 / 天" align="center">
             <template slot-scope="scope">
               <el-input-number class="input-number" v-model="scope.row.signDay" :min="1" :max="99"
-                :precision="0" :controls="false" @change="getChange($event, scope.$index)" />
+                :controls="false" @blur="checkSignDay(scope.row.signDay, scope.$index)" />
             </template>
           </el-table-column>
           <el-table-column label="奖励积分 / 积分" align="center">
             <template slot-scope="scope">
-              <el-input-number class="input-number" v-model="scope.row.rewardPoint" :min="0" :precision="2"
-                :step="0.01" :controls="false" />
+              <el-input-number class="input-number" v-model="scope.row.rewardPoint" :min="0"
+                :controls="false" />
             </template>
           </el-table-column>
           <el-table-column align="center">
@@ -59,14 +58,14 @@
         <el-table v-if="form.notifyRewardType" :data="form.pointConfigListenGoodList">
           <el-table-column label="播放时间 / 小时" align="center">
             <template slot-scope="scope">
-              <el-input-number class="input-number" v-model="scope.row.listenTime" :min="1" :max="99"
-                :precision="0" :controls="false" @change="getChange($event, scope.$index)" />
+              <el-input-number class="input-number" v-model="scope.row.listenTime" :max="99" :controls="false"
+                @blur="checkListenTime(scope.row.listenTime, scope.$index)" />
             </template>
           </el-table-column>
           <el-table-column label="奖励积分 / 积分" align="center">
             <template slot-scope="scope">
-              <el-input-number class="input-number" v-model="scope.row.rewardPoint" :min="0" :precision="2"
-                :step="0.01" :controls="false" />
+              <el-input-number class="input-number" v-model="scope.row.rewardPoint" :min="0"
+                :controls="false" />
             </template>
           </el-table-column>
           <el-table-column align="center">
@@ -83,8 +82,7 @@
         </el-table>
       </el-form-item>
       <el-form-item label="手机通知奖励:">
-        <el-input-number v-model="form.notifyRewardPoint" :min="0" :precision="2" :step="0.01"
-          :controls="false" />
+        <el-input-number v-model="form.notifyRewardPoint" :min="0" :controls="false" />
         <span class="span">积分</span>
       </el-form-item>
       <el-form-item label="签到规则:" prop="signRule">
@@ -171,32 +169,37 @@ export default {
     handlerPush(key) {
       if (key === '签到奖励') {
         this.form.pointConfigContinueRList.push({
-          signDay: '',
-          rewardPoint: '',
+          signDay: undefined,
+          rewardPoint: undefined,
           status: 1,
         })
+        console.log(this.form.pointConfigContinueRList);
       } else {
         this.form.pointConfigListenGoodList.push({
-          listenTime: '',
-          rewardPoint: '',
+          listenTime: undefined,
+          rewardPoint: undefined,
           type: this.form.notifyRewardType
         })
       }
     },
 
     // 判断连续签到天数是否大于签到周期天数
-    getChange(e, index) {
-      if (Number(e) > this.form.signDay) {
+    checkSignDay(e, index) {
+      if (e > this.form.signDay) {
         this.$message.error('连续签到天数不可大于签到周期!')
-        this.form.pointConfigContinueRList[index].signDay = null
+        this.form.pointConfigContinueRList[index].signDay = undefined
       }
-      if (this.form.pointConfigContinueRList.filter(i => i.signDay === Number(e)).length >= 2) {
+      if (this.form.pointConfigContinueRList.filter(i => i.signDay === e).length === 2) {
         this.$message.error('此天数已存在!')
-        this.form.pointConfigContinueRList[index].signDay = null
+        this.form.pointConfigContinueRList[index].signDay = undefined
       }
-      if (this.form.pointConfigListenGoodList.filter(i => i.listenTime === Number(e)).length >= 2) {
+    },
+
+    // 判断收听播放奖励时是否填写重复的时间
+    checkListenTime(e, index) {
+      if (this.form.pointConfigListenGoodList.filter(i => i.listenTime === e).length === 2) {
         this.$message.error('此时间已存在!')
-        this.form.pointConfigListenGoodList[index].listenTime = null
+        this.form.pointConfigListenGoodList[index].listenTime = undefined
       }
     },