|
@@ -2,79 +2,78 @@
|
|
|
<div id="detail">
|
|
|
<el-row>
|
|
|
<el-col :span="24" class="main">
|
|
|
- <el-col :span="24" class="one">
|
|
|
- <el-col :span="24" class="top">
|
|
|
- <el-button type="primary" size="mini" @click="back">返回</el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" class="down">
|
|
|
- <el-form :model="form" ref="form" label-width="100px">
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="创新券名称" prop="name">
|
|
|
- <el-input v-model="form.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="折扣类型" prop="discount_type">
|
|
|
- <el-select v-model="form.discount_type" placeholder="">
|
|
|
- <el-option v-for="(item, index) in discounttypeList" :key="index" :label="item" :value="item"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="适用服务类型" prop="use_type">
|
|
|
- <el-select v-model="form.use_type" placeholder="">
|
|
|
- <el-option v-for="(item, index) in usetypeList" :key="index" :label="item" :value="item"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="所属分类" prop="classify">
|
|
|
- <el-select v-model="form.classify" placeholder="">
|
|
|
- <el-option v-for="(item, index) in classifyList" :key="index" :label="item" :value="item"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="期限" prop="limit_time">
|
|
|
- <el-input v-model="form.limit_time" style="width: 94%"></el-input>
|
|
|
- <span style="padding: 0 5px">个月</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="抵扣比例" prop="scale">
|
|
|
- <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.scale" clearable style="width: 96%"></el-input>
|
|
|
- <span style="padding: 0 5px">%</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="面额" prop="allowance">
|
|
|
- <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.allowance" clearable style="width: 96%"></el-input>
|
|
|
- <span style="padding: 0 5px">元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text">
|
|
|
- <el-form-item label="券总额度" prop="total_allowance">
|
|
|
- <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.total_allowance" clearable style="width: 96%"></el-input>
|
|
|
- <span style="padding: 0 5px">元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" class="text unitallowance">
|
|
|
- <el-form-item label="单个企业/团队最大额度" prop="unit_allowance">
|
|
|
- <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.unit_allowance" clearable style="width: 96%"></el-input>
|
|
|
- <span style="padding: 0 5px">元</span>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" class="text">
|
|
|
- <el-form-item label="描述" prop="desc">
|
|
|
- <el-input v-model="form.desc" type="textarea" maxlength="300" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24" class="formBtn">
|
|
|
- <el-button type="danger" size="mini" @click="back">取消添加</el-button>
|
|
|
- <el-button type="primary" size="mini" @click="onSubmit('form')">提交保存</el-button>
|
|
|
- </el-col>
|
|
|
- </el-form>
|
|
|
- </el-col>
|
|
|
+ <el-col :span="24" class="top">
|
|
|
+ <el-button type="primary" size="mini" @click="back">返回</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="down">
|
|
|
+ <el-form :model="form" :rules="rules" ref="form" label-width="100px">
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="创新券类型" prop="coupons_type">
|
|
|
+ <el-select v-model="form.coupons_type" clearable filterable placeholder="">
|
|
|
+ <el-option v-for="(item, index) in couponstypeList" :key="index" :label="item" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="创新券名称" prop="name">
|
|
|
+ <el-input v-model="form.name"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="折扣类型" prop="discount_type">
|
|
|
+ <el-select v-model="form.discount_type" clearable filterable placeholder="">
|
|
|
+ <el-option v-for="(item, index) in discounttypeList" :key="index" :label="item" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text" v-if="form.discount_type == '折扣券'">
|
|
|
+ <el-form-item label="抵扣比例" prop="scale">
|
|
|
+ <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.scale" clearable style="width: 96%"></el-input>
|
|
|
+ <span style="padding: 0 5px">%</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text" v-if="form.discount_type == '定额券'">
|
|
|
+ <el-form-item label="面额" prop="allowance">
|
|
|
+ <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.allowance" clearable style="width: 96%"></el-input>
|
|
|
+ <span style="padding: 0 5px">元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="适用服务类型" prop="use_type">
|
|
|
+ <el-select v-model="form.use_type" clearable filterable placeholder="">
|
|
|
+ <el-option v-for="(item, index) in usetypeList" :key="index" :label="item" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="所属分类" prop="classify">
|
|
|
+ <el-select v-model="form.classify" clearable filterable placeholder="">
|
|
|
+ <el-option v-for="(item, index) in classifyList" :key="index" :label="item" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="券总额度" prop="total_allowance">
|
|
|
+ <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.total_allowance" clearable style="width: 96%"></el-input>
|
|
|
+ <span style="padding: 0 5px">元</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" class="text">
|
|
|
+ <el-form-item label="使用期限" prop="limit_time">
|
|
|
+ <el-input type="text" oninput="value=value.replace(/[^\d]/g,'')" v-model="form.limit_time" clearable style="width: 94%"></el-input>
|
|
|
+ <span style="padding: 0 5px">个月</span>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="text">
|
|
|
+ <el-form-item label="描述" prop="desc">
|
|
|
+ <el-input v-model="form.desc" type="textarea" maxlength="300" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="formBtn">
|
|
|
+ <el-button type="danger" size="mini" @click="back">取消添加</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="onSubmit('form')">提交保存</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -83,7 +82,7 @@
|
|
|
|
|
|
<script>
|
|
|
const _ = require('lodash');
|
|
|
-const { discounttype, usetype, classify } = require('@common/dict/index');
|
|
|
+const { couponsType, discounTtype, useType, classify } = require('@common/dict/couindex');
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
const { mapActions: coupons } = createNamespacedHelpers('coupons');
|
|
|
export default {
|
|
@@ -93,30 +92,46 @@ export default {
|
|
|
data: function () {
|
|
|
return {
|
|
|
form: {},
|
|
|
- // 折扣类型
|
|
|
- discounttypeList: discounttype,
|
|
|
- // 适用服务类型
|
|
|
- usetypeList: usetype,
|
|
|
- // 所属分类
|
|
|
+ rules: {
|
|
|
+ coupons_type: [{ required: true, message: '请选择创新券类型', trigger: 'change' }],
|
|
|
+ name: [{ required: true, message: '请输入创新券名称', trigger: 'blur' }],
|
|
|
+ discount_type: [{ required: true, message: '请选择创折扣类型', trigger: 'change' }],
|
|
|
+ user_type: [{ required: true, message: '请选择适用服务类型', trigger: 'change' }],
|
|
|
+ classify: [{ required: true, message: '请选择所属分类', trigger: 'change' }],
|
|
|
+ limit_time: [{ required: true, message: '请输入时间期限', trigger: 'blur' }],
|
|
|
+ total_allowance: [{ required: true, message: '请输入券总额度', trigger: 'blur' }],
|
|
|
+ desc: [{ required: true, message: '请输入描述', trigger: 'blur' }],
|
|
|
+ },
|
|
|
+ // 创新券类型
|
|
|
+ couponstypeList: couponsType,
|
|
|
+ discounttypeList: discounTtype,
|
|
|
+ usetypeList: useType,
|
|
|
classifyList: classify,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
- if (this.id) this.search();
|
|
|
+ this.search();
|
|
|
},
|
|
|
methods: {
|
|
|
...coupons(['fetch', 'create', 'update']),
|
|
|
async search() {
|
|
|
- const res = await this.fetch(this.id);
|
|
|
- if (this.$checkRes(res)) {
|
|
|
- this.$set(this, `form`, res.data);
|
|
|
+ // 已有数据
|
|
|
+ if (this.id) {
|
|
|
+ let res = await this.fetch(this.id);
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `form`, res.data);
|
|
|
+ }
|
|
|
+ // 暂无数据
|
|
|
+ } else {
|
|
|
+ let data = { user_id: this.user.id };
|
|
|
+ this.$set(this, `form`, data);
|
|
|
}
|
|
|
},
|
|
|
+ // 提交保存
|
|
|
onSubmit(formName) {
|
|
|
this.$refs[formName].validate(async (valid) => {
|
|
|
if (valid) {
|
|
|
let data = this.form;
|
|
|
- data.user_id = this.user.id;
|
|
|
if (this.id) {
|
|
|
let res = await this.update(data);
|
|
|
if (this.$checkRes(res)) {
|
|
@@ -142,6 +157,7 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ // 返回列表
|
|
|
back() {
|
|
|
this.$router.push({ path: '/adminCenter/coupons' });
|
|
|
},
|
|
@@ -180,7 +196,7 @@ export default {
|
|
|
padding: 15px 0;
|
|
|
}
|
|
|
/deep/.el-form-item {
|
|
|
- margin: 0;
|
|
|
+ margin: 0 0 10px 0;
|
|
|
}
|
|
|
.el-select {
|
|
|
width: 100%;
|
|
@@ -189,9 +205,6 @@ export default {
|
|
|
text-align: center;
|
|
|
padding: 10px 0;
|
|
|
}
|
|
|
- /deep/.unitallowance .el-form-item__label {
|
|
|
- line-height: 20px;
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
.main:hover {
|