|
@@ -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)
|
|
|
}
|