Commit 27699b05 by crushh

update: 保存卡券校验

parent 2cfa7f67
......@@ -151,6 +151,9 @@ export default {
if (item.prizeType == 2) {
cardIdArr.push(item.prizeRelationId);
}
if (this.gameStatus == 1) {
item.isOld = 1;
}
});
if (cardIdArr.length) {
const { result } = await cardView({ ids: cardIdArr.join(',') });
......@@ -226,7 +229,12 @@ export default {
if (cardIdArr.length) {
const { result } = await cardView({ ids: cardIdArr.join(',') });
this.invalidCard = result; // 1删除 2失效
if (Object.values(result).map(item => item.invalid != 0) && this.gameStatus == 0) {
if (
Object.values(result)
.map(item => item.invalid != 0)
.includes(true) &&
this.gameStatus == 0
) {
this.$message.error('存在异常状态的卡券,请返回上一步修改卡券后再提交');
return;
}
......
......@@ -19,7 +19,7 @@
<template slot="header"> <span class="needCell">奖品类型</span> </template>
<template slot-scope="{ row, $index }">
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeType'" :rules="rules.prizeType" label-width="0">
<el-select v-model="row.prizeType" :disabled="isDisabled" @change="val => handleTypeChange(val, $index)">
<el-select v-model="row.prizeType" :disabled="isDisabled && row.isOld" @change="val => handleTypeChange(val, $index)">
<el-option v-for="(v, i) in prizeTypeOptions" :key="i" :label="v.label" :value="v.value"></el-option>
</el-select>
</el-form-item>
......@@ -29,12 +29,12 @@
<template slot="header"> <span class="needCell">奖项设置</span> </template>
<template slot-scope="{ row, $index }">
<div v-if="row.prizeType == 1">
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeNumber'" :rules="rules.prizeNumber" label-width="0"> <el-input class="inputClass-32" :disabled="isDisabled" v-model.number="row.prizeNumber" @change="val => handlePrizeNumChange(val, $index)" />积分 </el-form-item>
<el-form-item :prop="'gamePrizeList.' + $index + '.' + 'prizeNumber'" :rules="rules.prizeNumber" label-width="0"> <el-input class="inputClass-32" :disabled="isDisabled && row.isOld" v-model.number="row.prizeNumber" @change="val => handlePrizeNumChange(val, $index)" />积分 </el-form-item>
</div>
<el-form-item label-width="0" v-else-if="row.prizeType == 2">
<el-button type="text" @click="selectCard($index)" v-show="!row.prizeRelationId">选择卡券</el-button>
<div class="box" v-show="row.prizeRelationId">
<i v-show="!isDisabled" class="cardIcon iconfont-components3 icon-cp-close-circle-fill" @click="delCard($index)"></i>
<i v-show="!isDisabled && !row.isOld" class="cardIcon iconfont-components3 icon-cp-close-circle-fill" @click="delCard($index)"></i>
<div :class="['cardBox', row.status == 1 || row.status == 2 ? 'redBorder' : '']">
<el-tag v-show="row.status == 1" size="mini" type="danger" class="tagIcon">删除</el-tag>
<el-tag v-show="row.status == 2" size="mini" type="danger" class="tagIcon">失效</el-tag>
......@@ -122,7 +122,7 @@
<el-table-column label="操作" fixed="right">
<template slot-scope="{ row, $index }">
<el-popconfirm icon="el-icon-info" title="确认删除吗?" @confirm="del($index)">
<el-button slot="reference" :disabled="isDisabled" type="text" v-show="row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1">删除</el-button>
<el-button slot="reference" :disabled="isDisabled && row.isOld" type="text" v-show="row.prizeType != 0 || prizeForm.gamePrizeList.filter(item => item.prizeType == 0).length > 1">删除</el-button>
</el-popconfirm>
</template>
</el-table-column>
......@@ -311,7 +311,7 @@ export default {
this.prizeForm.gamePrizeList = this.prizeForm.gamePrizeList.splice(0);
},
addPrize() {
this.prizeForm.gamePrizeList.push({ sort: this.prizeForm.gamePrizeList.length, exchangeType: 0 });
this.prizeForm.gamePrizeList.push({ sort: this.prizeForm.gamePrizeList.length, exchangeType: 0, isOld: 0 });
},
del(index) {
this.prizeForm.gamePrizeList.splice(index, 1);
......@@ -366,17 +366,16 @@ export default {
this.$emit('prevStep', 0);
},
submit() {
if (this.gameStatus == 0) {
let invalid = false;
this.prizeForm.gamePrizeList.forEach(item => {
if (item.prizeType == 2 && item.status != 0) {
invalid = true;
this.$message.error(`${item.prizeName}${item.status == 1 ? '删除' : '失效'},请重新关联奖品`);
return;
}
});
if (invalid) return;
}
let invalid = false;
this.prizeForm.gamePrizeList.forEach(item => {
if (item.prizeType == 2 && item.status != 0 && !item.isOld) {
invalid = true;
this.$message.error(`${item.prizeName}${item.status == 1 ? '删除' : '失效'},请重新关联奖品`);
return;
}
});
if (invalid) return;
this.$refs.prizeForm.validate((val, obj) => {
if (val) {
const data = { ...this.prizeForm };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment