This commit is contained in:
SelfRidicule 2024-03-25 17:30:02 +08:00
parent 902769298c
commit 8baf9881ff

View File

@ -22,7 +22,8 @@
<a-row>
<a-col :span='11'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠卷名称'>
<a-input placeholder='优惠卷名称' v-decorator="['title',{rules: [{ required: true, message: '优惠卷名称'}]}]" />
<a-input placeholder='优惠卷名称'
v-decorator="['title',{rules: [{ required: true, message: '优惠卷名称'}]}]" />
</a-form-item>
</a-col>
<a-col :span='11'>
@ -40,7 +41,8 @@
<a-row>
<a-col :span='11'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠方式'>
<a-input placeholder='优惠方式' v-decorator="['content',{rules: [{ required: true, message: '优惠方式'}]}]" />
<a-input placeholder='优惠方式'
v-decorator="['content',{rules: [{ required: true, message: '优惠方式'}]}]" />
</a-form-item>
</a-col>
<a-col :span='11'>
@ -56,13 +58,15 @@
<a-row>
<a-col :span='11'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='开始时间'>
<a-date-picker @change='onChange' v-decorator="['startTime',{rules: [{ required: true, message: '开始时间'}]}]"
<a-date-picker @change='onChange'
v-decorator="['startTime',{rules: [{ required: true, message: '开始时间'}]}]"
placeholder='开始时间' />
</a-form-item>
</a-col>
<a-col :span='11'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='结束日期'>
<a-date-picker @change='onChange' v-decorator="['endDate',{rules: [{ required: true, message: '结束日期'}]}]"
<a-date-picker @change='onChange'
v-decorator="['endDate',{rules: [{ required: true, message: '结束日期'}]}]"
placeholder='结束日期' />
</a-form-item>
</a-col>
@ -106,15 +110,15 @@
<a-table :columns='columns'
size='default'
ref='table'
style='width: 800px;margin-left: 20px'
style='width: 100%; padding: 0 20px;'
:data-source='loadData'
rowKey='id'
:rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'>
<a slot='name' slot-scope='text'>{{ text }}</a>
<span slot='action' slot-scope='text, record'>
<a @click='deleteRecord(record)' >删除</a>
<a @click='deleteRecord(record)'>删除</a>
<a-divider type='vertical' />
<a @click='couponTicket(record)'>多发优惠劵</a>
<a v-if='value === 2' @click='couponTicket(record)'>多发优惠劵</a>
</span>
</a-table>
</a-form>
@ -148,8 +152,8 @@
@ok='handleNumSubmit'
>
<a-form layout='inline'>
<a-form-item label='发放数量' >
<a-input-number placeholder='请输入发放数量' v-model='ticketNum' style='width: 200px' />
<a-form-item label='发放数量'>
<a-input-number placeholder='请输入发放数量' v-model='ticketNum' style='width: 200px' />
</a-form-item>
</a-form>
</a-modal>
@ -159,7 +163,7 @@
</template>
<script>
import { saveTicket, getTicketByCompany,get } from '@/api/admin/meeting/ticket'
import { saveTicket, getTicketByCompany, get } from '@/api/admin/meeting/ticket'
import pick from 'lodash.pick'
import { STable } from '@/components'
@ -182,7 +186,8 @@ export default {
xs: { span: 24 },
sm: { span: 16 }
},
ticketNum:0,
ticketId: null,
ticketNum: 0,
selectedRowKeys: [],
selectedRows: [],
selectedCustomerRowKeys: [],
@ -202,8 +207,12 @@ export default {
dataIndex: 'phone'
},
{
title: '优惠劵数量',
dataIndex: 'num'
title: '优惠劵总数量',
dataIndex: 'sumNum'
},
{
title: '优惠劵多发数量',
dataIndex: 'moreNum'
},
{
title: '操作',
@ -238,7 +247,7 @@ export default {
// return getTicketByCompany(Object.assign(parameter, this.queryParam))
// },
value: 1,
numVisible:false,
numVisible: false,
confirmLoading: false,
mdl: {},
queryParam: {},
@ -250,28 +259,42 @@ export default {
created() {
},
methods: {
//
couponTicket(){
this.numVisible =true
},
clickNumber(value){
//
this.loadData.forEach(item =>{
item.num = value
clickNumber(value) {
this.mdl.num = value
//
this.loadData.forEach(item => {
if (!item.moreNum) {
item.moreNum = 0
}
item.sumNum = value + item.moreNum
})
},
handleNumSubmit(){
//
couponTicket(record) {
this.numVisible = true
this.ticketId = record.id
this.ticketNum = record.moreNum
},
customerHandleOk(){
//
handleNumSubmit() {
this.numVisible = false
this.loadData = this.loadData.map(item => {
if (item.id == this.ticketId) {
console.log('this.ticketNum ', this.ticketNum)
console.log('this.mdl.num ', this.mdl.num)
item.moreNum = this.ticketNum
item.sumNum = item.moreNum + this.mdl.num
}
return item
})
},
customerHandleOk() {
let record = this.selectedCustomerRows
record.forEach(record =>{
record.forEach(record => {
this.data = this.data.filter(item => item.id != record.id)
this.loadData.push(record)
})
this.customerVisible =false
this.customerVisible = false
},
@ -284,16 +307,11 @@ export default {
console.log(selectedRowKeys, selectedRows)
this.selectedRowKeys = selectedRowKeys
this.selectedRows = selectedRows
//
},
onCustomerSelectChange(selectedRowKeys, selectedRows) {
this.selectedCustomerRowKeys = selectedRowKeys
this.selectedCustomerRows = selectedRows
},
getCustomer() {
this.customerVisible = true
},
@ -307,7 +325,6 @@ export default {
this.form.startTime = dateString[0]
this.form.endDate = dateString[1]
},
add() {
this.form.resetFields()
this.selectedCustomerRowKeys = []
@ -316,22 +333,21 @@ export default {
edit(record) {
this.mdl = Object.assign(record)
this.visible = true
//
getTicketByCompany().then(res => {
this.loadData = res.rows
})
//todo
get(record.id).then(res =>{
this.form.setFieldsValue({
type:res.type.toString(),
duration:res.duration,
discount:res.discount,
console.log('getTicketByCompany', res)
this.loadData = res.rows.map(item => {
if (!item.moreNum) {
item.moreNum = 0
}
return item
})
this.selectedRowKeys =res.enterpriseIds
})
get(record.id).then(res => {
this.selectedRowKeys = res.enterpriseIds
})
this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'title', 'content', 'duration', 'type', 'money', 'address', 'isVerification','enterpriseIds', 'isShow', 'startTime', 'endDate', 'remark', 'isDefault', 'version', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime'))
this.form.setFieldsValue(pick(this.mdl, 'id', 'title', 'content', 'duration', 'type', 'money', 'address', 'isVerification', 'enterpriseIds', 'isShow', 'startTime', 'endDate', 'remark', 'isDefault', 'version', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime'))
})
},
handleSubmit(e) {
@ -341,10 +357,10 @@ export default {
console.log('Received values of form: ', values)
values.count = 1
let ids = []
this.loadData.forEach(item =>{
this.loadData.forEach(item => {
ids.push(item.id)
})
values.enterpriseIds=this.selectedRowKeys>0?this.selectedRowKeys:ids
values.enterpriseIds = this.selectedRowKeys > 0 ? this.selectedRowKeys : ids
this.confirmLoading = true
saveTicket(values).then(res => {
if (res.code === 0) {