|
@@ -5,16 +5,16 @@
|
|
|
<el-col :span="23">
|
|
|
<el-form ref="addItem" :model="addData" :rules="rules" label-width="160px">
|
|
|
<el-form-item label="券名称:" prop="title">
|
|
|
- <el-input v-model="addData.title" placeholder="请输入券名称" :maxlength="32" show-word-limit />
|
|
|
+ <el-input v-model="addData.title" :readonly="readonly" placeholder="请输入券名称" :maxlength="32" show-word-limit />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="使用场景:" prop="type">
|
|
|
- <el-radio-group v-model="addData.type">
|
|
|
+ <el-radio-group v-model="addData.type" :disabled="readonly">
|
|
|
<el-radio :label="1">门店消费</el-radio>
|
|
|
<el-radio :label="2">盲票购买</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="面值:" prop="discount">
|
|
|
- <el-input v-model.number="addData.discount" type="number" :min="0" placeholder="请输入券面值">
|
|
|
+ <el-input v-model.number="addData.discount" :readonly="readonly" type="number" :min="0" placeholder="请输入券面值">
|
|
|
<template slot="append">元</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
@@ -27,36 +27,36 @@
|
|
|
<Upload :value="addData.picUrl ? [{ fileName: addData.picUrl }] : []" @input="addData.picUrl = $event[0] ? $event[0].fileName : ''" :limit="1" />
|
|
|
</el-form-item> -->
|
|
|
<el-form-item v-if="addData.type === 1" label="门店默认承担比例:" prop="channelSharedRate">
|
|
|
- <el-input v-model.number="addData.channelSharedRate" type="number" placeholder="请输入门店默认承担比例">
|
|
|
+ <el-input v-model.number="addData.channelSharedRate" :readonly="readonly" type="number" placeholder="请输入门店默认承担比例">
|
|
|
<template slot="append">%</template>
|
|
|
</el-input>
|
|
|
<div class="tip">若门店承担100%,则核销后公司不需要打款给门店,依此类推。</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="最低消费金额:" prop="minOrderAmt">
|
|
|
- <el-input v-model.number="addData.minOrderAmt" type="number" placeholder="请输入可使用的最低消费金额">
|
|
|
+ <el-input v-model.number="addData.minOrderAmt" :readonly="readonly" type="number" placeholder="请输入可使用的最低消费金额">
|
|
|
<template slot="append">元</template>
|
|
|
</el-input>
|
|
|
<div class="tip">最低消费金额小于等于面值则为无门槛券</div>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="有效期:" prop="dueDays">
|
|
|
- <el-input v-model.number="addData.dueDays" placeholder="请输入有效期">
|
|
|
+ <el-input v-model.number="addData.dueDays" :readonly="readonly" placeholder="请输入有效期">
|
|
|
<template slot="prepend">领取之日起</template>
|
|
|
<template slot="append">天有效</template>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="使用说明:" prop="description">
|
|
|
- <el-input type="textarea" rows="4" v-model="addData.description" placeholder="请输入使用说明 对用户可见"/>
|
|
|
+ <el-input type="textarea" rows="4" :readonly="readonly" v-model="addData.description" placeholder="请输入使用说明 对用户可见"/>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="addData.type === 1" label="使用范围:" prop="useArea">进票门店</el-form-item>
|
|
|
<el-form-item v-else label="使用范围:" prop="useArea">
|
|
|
- <el-radio-group v-model="useArea" @change="$event === 'all' ? this.addData.boxIdList = [] : ''">
|
|
|
+ <el-radio-group v-model="useArea" :disabled="readonly">
|
|
|
<el-radio label="all">所有盲票</el-radio>
|
|
|
<el-radio label="spec">指定盲票</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<div v-if="useArea === 'spec'" style="padding: 0 20px">
|
|
|
- <el-table :data="addData.boxIdList" height="300px">
|
|
|
+ <el-table :data="addData.ticketBoxList" height="300px">
|
|
|
<el-table-column label="盲票图片" prop="picUrl" align="center" width="80">
|
|
|
<template slot-scope="{row}">
|
|
|
<a target="_black" v-if="row.picUrl && row.picUrl.split(',').length > 0" :href="`${IMG_URL + row.picUrl}`"><img :src="`${IMG_URL + row.picUrl.split(',')[0]}`" style="max-height: 37px;max-width: 54px"></a>
|
|
@@ -75,18 +75,18 @@
|
|
|
<el-tag :type="JSON.parse(row.status).value === 'on' ? 'success' : 'info'">{{ JSON.parse(row.status).desc }}</el-tag>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="date" label="操作">
|
|
|
+ <el-table-column v-if="!readonly" prop="date" label="操作">
|
|
|
<template slot-scope="{ $index }">
|
|
|
- <el-button type="text" class="del" @click="addData.boxIdList.splice($index, 1)">删除</el-button>
|
|
|
+ <el-button type="text" class="del" @click="addData.ticketBoxList.splice($index, 1)">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
<br>
|
|
|
- <el-button type="primary" size="small" plain @click="$refs.select.show()">选择盲票</el-button> <span style="margin-left: 10px">已选盲票({{ addData.boxIdList.length }})</span>
|
|
|
+ <el-button v-if="!readonly" type="primary" size="small" plain @click="$refs.select.show()">选择盲票</el-button> <span style="margin-left: 10px">已选盲票({{ addData.ticketBoxList.length }})</span>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row>
|
|
|
+ <el-row v-if="!readonly">
|
|
|
<el-col :span="23" style="text-align: right">
|
|
|
<el-button type="info" @click="$router.go(-1)">取消</el-button>
|
|
|
<el-button :loading="addIng" type="primary" @click="update()">保存</el-button>
|
|
@@ -94,7 +94,7 @@
|
|
|
</el-row>
|
|
|
|
|
|
<!-- 弹出层 -->
|
|
|
- <SelectTicket ref="select" v-model="addData.boxIdList" />
|
|
|
+ <SelectTicket ref="select" v-model="addData.ticketBoxList" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -113,7 +113,9 @@ export default {
|
|
|
IMG_URL: publicFileGetUrl,
|
|
|
id: this.$route.query.id,
|
|
|
readonly: this.$route.name === 'View',
|
|
|
- addData: {},
|
|
|
+ addData: {
|
|
|
+ ticketBoxList:[]
|
|
|
+ },
|
|
|
addIng: false,
|
|
|
rules: {
|
|
|
title: [{ required: true, message: '请输入券名称', trigger: 'blur' }],
|
|
@@ -134,7 +136,7 @@ export default {
|
|
|
getCouponDetail(this.id).then(res => {
|
|
|
this.addData = res.data
|
|
|
this.addData.type = JSON.parse(res.data.type).value
|
|
|
- if (res.data.boxIdList instanceof Array && res.data.boxIdList.length > 0) {
|
|
|
+ if (res.data.ticketBoxList instanceof Array && res.data.ticketBoxList.length > 0) {
|
|
|
this.useArea = 'spec'
|
|
|
}
|
|
|
})
|
|
@@ -145,7 +147,9 @@ export default {
|
|
|
this.$refs.addItem.validate((valid, items) => {
|
|
|
if (valid) {
|
|
|
this.addIng = true
|
|
|
- this.addData.boxIds = this.addData.boxIdList.map(item => { return item.boxId }).toString()
|
|
|
+ if(this.useArea === 'spec') {
|
|
|
+ this.addData.boxIds = this.addData.ticketBoxList.map(item => { return item.boxId }).toString()
|
|
|
+ }
|
|
|
addCoupon(this.addData).then(res => {
|
|
|
this.addIng = false
|
|
|
if (res.code === 0) {
|