|
@@ -11,17 +11,21 @@
|
|
|
<el-option v-for="item in groupList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-row :gutter="10" v-for="(item, index) in form.rewordList" :key="index">
|
|
|
+ <el-row :gutter="10" v-for="(reword, index) in form.rewordList" :key="index">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item :label="`奖品${++index}`" prop="name" label-width="100PX">
|
|
|
- <el-input v-model.trim="item.name"
|
|
|
+ <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="7">
|
|
|
- <el-form-item prop="chances">
|
|
|
- <el-input v-model.trim="item.chances"
|
|
|
+ <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="请输入中奖概率">
|
|
@@ -30,8 +34,9 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="5">
|
|
|
- <el-form-item prop="stock">
|
|
|
- <el-input v-model.trim="item.stock"
|
|
|
+ <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="请输入库存">
|
|
@@ -62,11 +67,31 @@ import pagination from "@/components/Pagination/index";
|
|
|
import dayjs from 'dayjs';
|
|
|
import cleanDeep from 'clean-deep';
|
|
|
import { luckDrawPrizeAdd } from './api'
|
|
|
+const validNumber1 = (rule, value, callback) => {
|
|
|
+ if (value == '' && typeof value == 'string' || value == null) {
|
|
|
+ callback(new Error('请输入库存'))
|
|
|
+ } else if (value < 0) {
|
|
|
+ callback(new Error('输入值不能小于0'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+}
|
|
|
+const validNumber = (rule, value, callback) => {
|
|
|
+ if (value == '' && typeof value == 'string' || value == null) {
|
|
|
+ callback(new Error('请输入中奖概率'))
|
|
|
+ } else if (value < 0) {
|
|
|
+ callback(new Error('输入值不能小于0'))
|
|
|
+ } else {
|
|
|
+ callback()
|
|
|
+ }
|
|
|
+}
|
|
|
export default {
|
|
|
components: { pagination, Tooltip, },
|
|
|
props: ['groupList', 'close', 'getList'],
|
|
|
data () {
|
|
|
return {
|
|
|
+ validNumber1: validNumber1,
|
|
|
+ validNumber: validNumber,
|
|
|
form: {
|
|
|
groupId: null,
|
|
|
rewordList: [{
|
|
@@ -77,11 +102,7 @@ export default {
|
|
|
memo: null
|
|
|
},
|
|
|
rules: {
|
|
|
- name: [{required: true, message:'请输入活动名称', trigger: 'blur'}],
|
|
|
- groupId: [{required: true, message:'请选择所属活动', trigger: 'change'}],
|
|
|
- chances: [{required: true, message:'请输入中奖概率', trigger: 'blur'}],
|
|
|
- stock: [{required: true, message:'请输入库存', trigger: 'blur'}],
|
|
|
- enabled: [{required: true, message:'请选择是否启用', trigger: 'change'}]
|
|
|
+ groupId: [{required: true, message:'请选择所属活动', trigger: 'change'}]
|
|
|
},
|
|
|
pageInfo: {
|
|
|
// 分页规则
|