You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
3.9 KiB
130 lines
3.9 KiB
<template>
|
|
<div class="app-container">
|
|
<button-bar view-title="选择优惠包" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
|
|
<div class="main-content">
|
|
<div class="">
|
|
<el-table :key="tableKey" v-loading="listLoading" :data="list" :border="true" style="width: 100%;">
|
|
<el-table-column label="优惠名称" align="center" width="150">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.discountName }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="价值" align="center" width="100">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.discountPrice }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="优惠项目说明" header-align="center" align="left" min-width="200">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.discountInfo }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="剩余数量" align="center" width="120">
|
|
<template slot-scope="scope">
|
|
<span>{{ scope.row.discountLeaveNum }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column label="本次赠送数量" align="center" width="200">
|
|
<template slot-scope="scope">
|
|
<el-input :disabled="scope.row.discountLeaveNum == '0'" @change="changeByDiscountNum($event, scope.row)" v-model="scope.row.discountNum" placeholder=""/>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import ButtonBar from '@/components/ButtonBar'
|
|
|
|
export default {
|
|
name: 'selectpackage',
|
|
components: {
|
|
ButtonBar
|
|
},
|
|
data() {
|
|
return {
|
|
viewTitle: '',
|
|
tableKey: 0,
|
|
listLoading: false,
|
|
btndisabled: false,
|
|
list: [],
|
|
vinSid: '', // 车辆sid
|
|
btnList: [
|
|
{
|
|
type: 'primary',
|
|
size: 'small',
|
|
icon: '',
|
|
btnKey: 'doCreate',
|
|
btnLabel: '确定'
|
|
},
|
|
{
|
|
type: 'info',
|
|
size: 'small',
|
|
icon: '',
|
|
btnKey: 'doClose',
|
|
btnLabel: '关闭'
|
|
}
|
|
]
|
|
}
|
|
},
|
|
mounted() {
|
|
this.$refs['btnbar'].setButtonList(this.btnList)
|
|
},
|
|
methods: {
|
|
btnHandle(btnKey) {
|
|
console.log('XXXXXXXXXXXXXXX ' + btnKey)
|
|
switch (btnKey) {
|
|
case 'doCreate':
|
|
this.doCreate()
|
|
break
|
|
case 'doClose':
|
|
this.doClose()
|
|
break
|
|
default:
|
|
break
|
|
}
|
|
},
|
|
showData(discountUse, discountLeave, vinSid) {
|
|
const aa = []
|
|
for (var i = 0; i < discountLeave.length; i++) {
|
|
for (var k = 0; k < discountUse.length; k++) {
|
|
if (discountLeave[i].discountSid === discountUse[k].discountSid) {
|
|
aa.push({
|
|
discountSid: discountUse[k].discountSid,
|
|
discountName: discountUse[k].discountName,
|
|
discountPrice: discountUse[k].discountPrice,
|
|
discountInfo: discountUse[k].discountInfo,
|
|
discountLeaveNum: parseInt(discountUse[k].discountNum) + parseInt(discountLeave[i].discountLeaveNum),
|
|
discountNum: discountUse[k].discountNum
|
|
})
|
|
}
|
|
}
|
|
}
|
|
this.list = aa
|
|
this.vinSid = vinSid
|
|
},
|
|
changeByDiscountNum(val, row) {
|
|
if (parseInt(row.discountLeaveNum) - parseInt(val) < 0) {
|
|
row.discountNum = row.discountLeaveNum
|
|
} else {
|
|
row.discountNum = val
|
|
}
|
|
},
|
|
doCreate() {
|
|
for (var i = 0; i < this.list.length; i++) {
|
|
if (this.list[i].discountNum === '') {
|
|
this.list[i].discountNum = 0
|
|
}
|
|
}
|
|
this.$emit('backData', this.list, this.vinSid)
|
|
},
|
|
doClose() {
|
|
this.$emit('doback')
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped></style>
|
|
|