2024-02-25 11:17:48 +08:00
|
|
|
|
<template>
|
|
|
|
|
<a-modal
|
2024-02-27 16:42:34 +08:00
|
|
|
|
title='操作'
|
|
|
|
|
style='top: 20px;'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
:width='1000'
|
2024-02-27 16:42:34 +08:00
|
|
|
|
v-model='visible'
|
|
|
|
|
:confirmLoading='confirmLoading'
|
|
|
|
|
@ok='handleSubmit'
|
2024-02-25 11:17:48 +08:00
|
|
|
|
>
|
2024-02-27 16:42:34 +08:00
|
|
|
|
<a-form :form='form'>
|
|
|
|
|
<a-form-item style='display:none'>
|
|
|
|
|
<a-input v-decorator="['id']" />
|
2024-02-25 11:17:48 +08:00
|
|
|
|
</a-form-item>
|
2024-02-27 16:42:34 +08:00
|
|
|
|
<a-form-item style='display:none'>
|
|
|
|
|
<a-input v-decorator="['version']" />
|
2024-02-25 11:17:48 +08:00
|
|
|
|
</a-form-item>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
|
|
|
|
|
<div style='display: flex;margin-bottom: 20px'>
|
|
|
|
|
<span style='width: 20px;display: block;font-size: 25px;color: #1890ff;font-weight: bold;'>|</span>
|
2024-03-26 13:46:30 +08:00
|
|
|
|
<span style='display: block;margin-top: 11px;font-size: 15px'>新增优惠券</span>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</div>
|
2024-04-07 13:51:12 +08:00
|
|
|
|
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属地区'>
|
|
|
|
|
<a-select v-decorator="['tenantId', {rules: [{ required: true, message: '请选择所属地区' }]}]"
|
|
|
|
|
@change='selectTenant'
|
|
|
|
|
:disabled='tenantEnable'>
|
|
|
|
|
<a-select-option v-for='item in tenantList' :key='item.id'>{{ item.name }}</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属园区'>
|
|
|
|
|
<a-select v-decorator="['parkId', {rules: [{ required: true, message: '请选择所属园区' }]}]"
|
|
|
|
|
@change='selectPark'
|
|
|
|
|
:disabled='parkEnable'>
|
|
|
|
|
<a-select-option v-for='item in parkList' :key='item.id'>{{ item.name }}</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span='11'>
|
2024-03-26 13:46:30 +08:00
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠券名称'>
|
|
|
|
|
<a-input placeholder='优惠券名称'
|
|
|
|
|
v-decorator="['title',{rules: [{ required: true, message: '优惠券名称'}]}]" />
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span='11'>
|
2024-03-26 13:46:30 +08:00
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠券类型'>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<a-select
|
2024-03-26 13:46:30 +08:00
|
|
|
|
placeholder='请选择类型' v-decorator="['type',{rules: [{ required: true, message: '优惠券类型'}]}]"
|
2024-03-09 15:48:19 +08:00
|
|
|
|
@change='getType'
|
|
|
|
|
>
|
2024-03-26 16:12:46 +08:00
|
|
|
|
<a-select-option :value='1'>抵用券</a-select-option>
|
|
|
|
|
<a-select-option :value='2'>优惠券</a-select-option>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</a-select>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠方式'>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a-input placeholder='优惠方式'
|
|
|
|
|
v-decorator="['content',{rules: [{ required: true, message: '优惠方式'}]}]" />
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span='11'>
|
2024-04-07 13:51:12 +08:00
|
|
|
|
<a-form-item v-if='mdl.type === 1 ' :labelCol='labelCol' :wrapperCol='wrapperCol' label='时长'>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<a-input placeholder='时长' v-decorator="['duration',{rules: [{ required: true, message: '时长'}]}]" />
|
|
|
|
|
</a-form-item>
|
2024-04-07 13:51:12 +08:00
|
|
|
|
<a-form-item v-if='mdl.type === 2 ' :labelCol='labelCol' :wrapperCol='wrapperCol' label='折扣'>
|
2024-03-15 08:49:37 +08:00
|
|
|
|
<a-input placeholder='折扣' v-decorator="['discount',{rules: [{ required: true, message: '折扣'}]}]" />
|
|
|
|
|
</a-form-item>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='开始时间'>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a-date-picker @change='onChange'
|
|
|
|
|
v-decorator="['startTime',{rules: [{ required: true, message: '开始时间'}]}]"
|
2024-03-09 15:48:19 +08:00
|
|
|
|
placeholder='开始时间' />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='结束日期'>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a-date-picker @change='onChange'
|
|
|
|
|
v-decorator="['endDate',{rules: [{ required: true, message: '结束日期'}]}]"
|
2024-03-09 15:48:19 +08:00
|
|
|
|
placeholder='结束日期' />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
|
|
|
|
|
<a-row>
|
|
|
|
|
<a-col :span='11'>
|
|
|
|
|
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='发送数量' style='margin-top: 20px;'>
|
|
|
|
|
<a-radio-group v-model='value' @change='onNumChange'>
|
|
|
|
|
<a-radio :value='1'>
|
|
|
|
|
无限制
|
|
|
|
|
</a-radio>
|
|
|
|
|
<a-radio :value='2'>
|
|
|
|
|
有限制
|
|
|
|
|
</a-radio>
|
|
|
|
|
<div>
|
2024-03-12 16:23:34 +08:00
|
|
|
|
<a-input-number v-if='value === 2' placeholder='发送数量' @change='clickNumber'
|
2024-03-26 16:12:46 +08:00
|
|
|
|
v-model='publicSendNum'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
style='margin-top: 20px;width: 200px' />
|
|
|
|
|
</div>
|
|
|
|
|
</a-radio-group>
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-col>
|
|
|
|
|
</a-row>
|
|
|
|
|
|
|
|
|
|
<div style='display: flex;margin-bottom: 20px'>
|
|
|
|
|
<span style='width: 20px;display: block;font-size: 25px;color: #1890ff;font-weight: bold;'>|</span>
|
|
|
|
|
<span style='display: block;margin-top: 11px;font-size: 15px'>使用企业</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div style='display: flex;justify-content: space-between;align-items: center;margin-bottom: 20px'>
|
|
|
|
|
<div style='margin-left: 50px'>
|
|
|
|
|
<a @click='getCustomer'>选择企业</a>
|
|
|
|
|
</div>
|
|
|
|
|
<a-form layout='inline'>
|
|
|
|
|
<a-form-item label='关键词' style='margin-right: 135px'>
|
|
|
|
|
<a-input placeholder='请输入关键词' v-model='queryParam.title' />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-form>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<a-table :columns='columns'
|
|
|
|
|
size='default'
|
|
|
|
|
ref='table'
|
2024-03-25 17:30:02 +08:00
|
|
|
|
style='width: 100%; padding: 0 20px;'
|
2024-03-26 10:33:30 +08:00
|
|
|
|
:data-source='selectEnterpriseDataList'
|
|
|
|
|
rowKey='id'>
|
|
|
|
|
|
|
|
|
|
<!-- :rowSelection='{selectedRowKeys: selectEnterpriseIdList, onChange: onSelectChange}'-->
|
|
|
|
|
<!-- >-->
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<a slot='name' slot-scope='text'>{{ text }}</a>
|
|
|
|
|
<span slot='action' slot-scope='text, record'>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a @click='deleteRecord(record)'>删除</a>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<a-divider type='vertical' />
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a v-if='value === 2' @click='couponTicket(record)'>多发优惠劵</a>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</span>
|
|
|
|
|
</a-table>
|
2024-02-25 11:17:48 +08:00
|
|
|
|
</a-form>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
|
2024-03-12 16:23:34 +08:00
|
|
|
|
<a-modal v-model='customerVisible' title='选择企业' width='800px' @ok='customerHandleOk()'>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
<div class='table-page-search-wrapper'>
|
|
|
|
|
<a-form layout='inline'>
|
|
|
|
|
<a-form-item label='关键词' style='width: 300px'>
|
|
|
|
|
<a-input placeholder='请输入关键词' v-model='customerQueryParam.itemName' />
|
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-form>
|
|
|
|
|
</div>
|
|
|
|
|
<div class='table-operator'>
|
|
|
|
|
</div>
|
|
|
|
|
<a-table
|
|
|
|
|
size='default'
|
|
|
|
|
ref='table'
|
|
|
|
|
rowKey='id'
|
2024-03-26 10:33:30 +08:00
|
|
|
|
:rowSelection='{ selectedRowKeys: notSelectEnterpriseIdList, onChange: onCustomerSelectChange }'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
:columns='customerColumns'
|
2024-03-26 10:33:30 +08:00
|
|
|
|
:data-source='notSelectEnterpriseDataList'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
>
|
|
|
|
|
</a-table>
|
|
|
|
|
</a-modal>
|
|
|
|
|
<a-modal
|
|
|
|
|
title='发放优惠券'
|
|
|
|
|
style='top: 20px;'
|
|
|
|
|
:width='500'
|
|
|
|
|
v-model='numVisible'
|
|
|
|
|
:confirmLoading='confirmLoading'
|
|
|
|
|
@ok='handleNumSubmit'
|
|
|
|
|
>
|
|
|
|
|
<a-form layout='inline'>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
<a-form-item label='发放数量'>
|
|
|
|
|
<a-input-number placeholder='请输入发放数量' v-model='ticketNum' style='width: 200px' />
|
2024-03-09 15:48:19 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
</a-form>
|
|
|
|
|
</a-modal>
|
|
|
|
|
|
2024-02-25 11:17:48 +08:00
|
|
|
|
</a-modal>
|
2024-03-09 15:48:19 +08:00
|
|
|
|
|
|
|
|
|
|
2024-02-25 11:17:48 +08:00
|
|
|
|
</template>
|
|
|
|
|
<script>
|
2024-03-25 17:30:02 +08:00
|
|
|
|
import { saveTicket, getTicketByCompany, get } from '@/api/admin/meeting/ticket'
|
2024-02-27 16:42:34 +08:00
|
|
|
|
import pick from 'lodash.pick'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
import { STable } from '@/components'
|
2024-04-07 13:51:12 +08:00
|
|
|
|
import { getInfo } from '@/api/login'
|
|
|
|
|
import { getTenantList } from '@/api/tenant'
|
|
|
|
|
import { getParkList } from '@/api/admin/park'
|
|
|
|
|
import { selectCustomer } from '@/api/admin/meeting/visitorPerson'
|
2024-02-25 11:17:48 +08:00
|
|
|
|
|
2024-02-27 16:42:34 +08:00
|
|
|
|
export default {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
name: 'TicketModal',
|
2024-02-27 16:42:34 +08:00
|
|
|
|
props: {},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
components: {
|
|
|
|
|
STable
|
|
|
|
|
},
|
2024-02-27 16:42:34 +08:00
|
|
|
|
data() {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
return {
|
|
|
|
|
visible: false,
|
2024-03-09 15:48:19 +08:00
|
|
|
|
customerVisible: false,
|
|
|
|
|
customerQueryParam: {},
|
2024-02-25 11:17:48 +08:00
|
|
|
|
labelCol: {
|
|
|
|
|
xs: { span: 24 },
|
2024-03-09 15:48:19 +08:00
|
|
|
|
sm: { span: 6 }
|
2024-02-25 11:17:48 +08:00
|
|
|
|
},
|
|
|
|
|
wrapperCol: {
|
|
|
|
|
xs: { span: 24 },
|
|
|
|
|
sm: { span: 16 }
|
|
|
|
|
},
|
2024-03-25 17:30:02 +08:00
|
|
|
|
ticketId: null,
|
|
|
|
|
ticketNum: 0,
|
2024-03-26 10:33:30 +08:00
|
|
|
|
selectEnterpriseIdList: [],
|
2024-03-09 15:48:19 +08:00
|
|
|
|
selectedRows: [],
|
2024-03-26 10:33:30 +08:00
|
|
|
|
notSelectEnterpriseIdList: [],
|
2024-03-09 15:48:19 +08:00
|
|
|
|
selectedCustomerRows: [],
|
|
|
|
|
columns: [
|
|
|
|
|
{
|
|
|
|
|
title: '企业名称',
|
|
|
|
|
dataIndex: 'name'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '企业负责人',
|
2024-03-25 16:29:21 +08:00
|
|
|
|
dataIndex: 'contacts',
|
2024-03-09 15:48:19 +08:00
|
|
|
|
key: 'age'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '联系电话',
|
2024-03-25 16:29:21 +08:00
|
|
|
|
dataIndex: 'phone'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
2024-03-25 17:30:02 +08:00
|
|
|
|
title: '优惠劵总数量',
|
|
|
|
|
dataIndex: 'sumNum'
|
|
|
|
|
},
|
2024-03-26 09:12:04 +08:00
|
|
|
|
// {
|
|
|
|
|
// title: '优惠劵多发数量',
|
|
|
|
|
// dataIndex: 'moreNum'
|
|
|
|
|
// },
|
2024-03-09 15:48:19 +08:00
|
|
|
|
{
|
|
|
|
|
title: '操作',
|
|
|
|
|
dataIndex: 'action',
|
|
|
|
|
scopedSlots: { customRender: 'action' }
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
customerColumns: [
|
|
|
|
|
{
|
|
|
|
|
title: '企业名称',
|
|
|
|
|
dataIndex: 'name'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '企业负责人',
|
2024-03-26 16:12:46 +08:00
|
|
|
|
dataIndex: 'contacts'
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '联系电话',
|
2024-03-26 10:33:30 +08:00
|
|
|
|
dataIndex: 'phone'
|
2024-03-26 16:12:46 +08:00
|
|
|
|
}
|
2024-03-09 15:48:19 +08:00
|
|
|
|
],
|
|
|
|
|
CompanyList: [],
|
2024-03-26 10:33:30 +08:00
|
|
|
|
notSelectEnterpriseDataList: [],
|
|
|
|
|
selectEnterpriseDataList: [],
|
2024-03-09 15:48:19 +08:00
|
|
|
|
// loadData: parameter => {
|
|
|
|
|
// return getTicketByCompany(Object.assign(parameter, this.queryParam))
|
|
|
|
|
// },
|
|
|
|
|
value: 1,
|
2024-03-25 17:30:02 +08:00
|
|
|
|
numVisible: false,
|
2024-02-25 11:17:48 +08:00
|
|
|
|
confirmLoading: false,
|
|
|
|
|
mdl: {},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
queryParam: {},
|
2024-03-26 16:12:46 +08:00
|
|
|
|
form: this.$form.createForm(this),
|
2024-04-07 13:51:12 +08:00
|
|
|
|
publicSendNum: 0,
|
|
|
|
|
userDetail: {},
|
|
|
|
|
tenantList: [], // 地区
|
|
|
|
|
parkList: [], // 园区
|
|
|
|
|
tenantEnable: false,
|
|
|
|
|
parkEnable: false
|
2024-02-25 11:17:48 +08:00
|
|
|
|
}
|
|
|
|
|
},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
beforeCreate() {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
created() {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
},
|
|
|
|
|
methods: {
|
2024-04-07 13:51:12 +08:00
|
|
|
|
// 获取用户详细信息
|
|
|
|
|
getUserDetail() {
|
|
|
|
|
getInfo().then(res => {
|
|
|
|
|
console.log('getUserDetail', res)
|
|
|
|
|
this.userDetail = res
|
|
|
|
|
// 园区:5
|
|
|
|
|
if (this.userDetail.roleIds && this.userDetail.roleIds.length > 0 && this.userDetail.roleIds[0] == 5) {
|
|
|
|
|
//
|
|
|
|
|
// 判断:是新增就查询园区
|
|
|
|
|
let { id } = this.mdl
|
|
|
|
|
if (!id) {
|
|
|
|
|
// 选择地区 -> 查询园区
|
|
|
|
|
this.selectTenant(this.userDetail.tenantId)
|
|
|
|
|
// 选择园区 -> 查询企业
|
|
|
|
|
this.selectPark(this.userDetail.parkId)
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
// 不可编辑
|
|
|
|
|
this.tenantEnable = true
|
|
|
|
|
this.parkEnable = true
|
|
|
|
|
// 关联地区和园区
|
|
|
|
|
this.mdl.parkId = this.userDetail.parkId
|
|
|
|
|
this.mdl.tenantId = this.userDetail.tenantId
|
|
|
|
|
this.form.setFieldsValue({
|
|
|
|
|
parkId: this.mdl.parkId,
|
|
|
|
|
tenantId: this.mdl.tenantId
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 查询地区
|
|
|
|
|
getTenantData() {
|
|
|
|
|
getTenantList().then(res => {
|
|
|
|
|
this.tenantList = res.rows
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 选择地区 -> 查询园区
|
|
|
|
|
selectTenant(id) {
|
|
|
|
|
console.log('selectTenant', id)
|
|
|
|
|
// 清空数据
|
|
|
|
|
this.mdl.parkId = null // 园区
|
|
|
|
|
this.selectEnterpriseDataList = [] // 选中企业
|
|
|
|
|
this.notSelectEnterpriseDataList = [] // 未选中企业
|
|
|
|
|
this.notSelectEnterpriseIdList = [] // 未选中id
|
|
|
|
|
|
|
|
|
|
this.form.setFieldsValue({
|
|
|
|
|
parkId: null // 园区
|
|
|
|
|
})
|
|
|
|
|
// 查询园区
|
|
|
|
|
getParkList({
|
|
|
|
|
tenantId: id
|
|
|
|
|
}).then(res => {
|
|
|
|
|
this.parkList = res.rows
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
// 选择园区 -> 查询企业
|
|
|
|
|
selectPark(id) {
|
|
|
|
|
// 清空数据
|
|
|
|
|
this.selectEnterpriseDataList = [] // 选中企业
|
|
|
|
|
this.notSelectEnterpriseDataList = [] // 未选中企业
|
|
|
|
|
this.notSelectEnterpriseIdList = [] // 未选中id
|
|
|
|
|
// 查询企业
|
|
|
|
|
getTicketByCompany({
|
|
|
|
|
parkId: id
|
|
|
|
|
}).then(res => {
|
|
|
|
|
console.log('getTicketByCompany', res)
|
|
|
|
|
this.selectEnterpriseDataList = res.rows.map(item => {
|
|
|
|
|
if (!item.moreNum) {
|
|
|
|
|
item.moreNum = 0
|
|
|
|
|
}
|
|
|
|
|
if (!item.sumNum) {
|
|
|
|
|
item.sumNum = 0
|
|
|
|
|
}
|
|
|
|
|
// 发送数量
|
|
|
|
|
if (this.value == '1') { //无限制
|
|
|
|
|
item.sumNum = 1
|
|
|
|
|
} else { //有限制
|
|
|
|
|
item.sumNum = this.publicSendNum
|
|
|
|
|
}
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
},
|
2024-03-25 17:30:02 +08:00
|
|
|
|
clickNumber(value) {
|
2024-03-26 16:12:46 +08:00
|
|
|
|
this.publicSendNum = value
|
2024-03-25 17:30:02 +08:00
|
|
|
|
// 数值改变
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.selectEnterpriseDataList.forEach(item => {
|
2024-03-25 17:30:02 +08:00
|
|
|
|
if (!item.moreNum) {
|
|
|
|
|
item.moreNum = 0
|
|
|
|
|
}
|
|
|
|
|
item.sumNum = value + item.moreNum
|
|
|
|
|
})
|
|
|
|
|
},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
// 多发优惠券
|
2024-03-25 17:30:02 +08:00
|
|
|
|
couponTicket(record) {
|
|
|
|
|
this.numVisible = true
|
|
|
|
|
this.ticketId = record.id
|
|
|
|
|
this.ticketNum = record.moreNum
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
2024-03-25 17:30:02 +08:00
|
|
|
|
// 确定多发优惠券
|
|
|
|
|
handleNumSubmit() {
|
|
|
|
|
this.numVisible = false
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.selectEnterpriseDataList = this.selectEnterpriseDataList.map(item => {
|
2024-03-25 17:30:02 +08:00
|
|
|
|
if (item.id == this.ticketId) {
|
|
|
|
|
console.log('this.ticketNum ', this.ticketNum)
|
2024-03-26 16:12:46 +08:00
|
|
|
|
console.log('this.publicSendNum ', this.publicSendNum)
|
2024-03-25 17:30:02 +08:00
|
|
|
|
item.moreNum = this.ticketNum
|
2024-03-26 16:12:46 +08:00
|
|
|
|
item.sumNum = item.moreNum + this.publicSendNum
|
2024-03-25 17:30:02 +08:00
|
|
|
|
}
|
|
|
|
|
return item
|
2024-03-12 16:23:34 +08:00
|
|
|
|
})
|
|
|
|
|
},
|
2024-03-25 17:30:02 +08:00
|
|
|
|
customerHandleOk() {
|
2024-03-12 16:23:34 +08:00
|
|
|
|
let record = this.selectedCustomerRows
|
2024-03-25 17:30:02 +08:00
|
|
|
|
record.forEach(record => {
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.notSelectEnterpriseDataList = this.notSelectEnterpriseDataList.filter(item => item.id != record.id)
|
|
|
|
|
this.selectEnterpriseDataList.push(record)
|
2024-03-12 16:23:34 +08:00
|
|
|
|
})
|
2024-03-25 17:30:02 +08:00
|
|
|
|
this.customerVisible = false
|
2024-03-12 16:23:34 +08:00
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
2024-03-09 15:48:19 +08:00
|
|
|
|
deleteRecord(record) {
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.selectEnterpriseDataList = this.selectEnterpriseDataList.filter(item => item.id != record.id)
|
|
|
|
|
this.notSelectEnterpriseDataList.push(record)
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
onSelectChange(selectedRowKeys, selectedRows) {
|
|
|
|
|
console.log(selectedRowKeys, selectedRows)
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.selectEnterpriseIdList = selectedRowKeys
|
2024-03-09 15:48:19 +08:00
|
|
|
|
this.selectedRows = selectedRows
|
|
|
|
|
},
|
|
|
|
|
onCustomerSelectChange(selectedRowKeys, selectedRows) {
|
2024-03-26 10:33:30 +08:00
|
|
|
|
this.notSelectEnterpriseIdList = selectedRowKeys
|
2024-03-09 15:48:19 +08:00
|
|
|
|
this.selectedCustomerRows = selectedRows
|
|
|
|
|
},
|
|
|
|
|
getCustomer() {
|
|
|
|
|
this.customerVisible = true
|
|
|
|
|
},
|
|
|
|
|
onNumChange(e) {
|
|
|
|
|
this.value = e.target.value
|
2024-04-07 13:51:12 +08:00
|
|
|
|
// 发送数量
|
|
|
|
|
if (this.value == '1') { // 无限制
|
|
|
|
|
this.selectEnterpriseDataList = this.selectEnterpriseDataList.map(item => {
|
|
|
|
|
item.moreNum = 0
|
|
|
|
|
item.sumNum = 1
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
} else { // 有限制
|
|
|
|
|
this.selectEnterpriseDataList = this.selectEnterpriseDataList.map(item => {
|
|
|
|
|
item.moreNum = 0
|
|
|
|
|
item.sumNum = this.publicSendNum
|
|
|
|
|
return item
|
|
|
|
|
})
|
|
|
|
|
}
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
|
|
|
|
getType(value) {
|
2024-03-26 14:39:54 +08:00
|
|
|
|
this.mdl.type = value
|
2024-03-09 15:48:19 +08:00
|
|
|
|
},
|
|
|
|
|
onChange(date, dateString) {
|
2024-02-27 16:42:34 +08:00
|
|
|
|
this.form.startTime = dateString[0]
|
|
|
|
|
this.form.endDate = dateString[1]
|
|
|
|
|
},
|
|
|
|
|
add() {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
this.edit({ id: 0 })
|
|
|
|
|
},
|
2024-02-27 16:42:34 +08:00
|
|
|
|
edit(record) {
|
2024-04-07 13:51:12 +08:00
|
|
|
|
this.form.resetFields()
|
|
|
|
|
this.selectEnterpriseDataList = []
|
|
|
|
|
this.notSelectEnterpriseDataList = []
|
|
|
|
|
this.notSelectEnterpriseIdList = []
|
2024-02-25 11:17:48 +08:00
|
|
|
|
this.mdl = Object.assign(record)
|
2024-04-07 13:51:12 +08:00
|
|
|
|
let copyMdl = JSON.parse(JSON.stringify(this.mdl))
|
|
|
|
|
// 查询地区
|
|
|
|
|
this.getTenantData()
|
2024-02-25 11:17:48 +08:00
|
|
|
|
this.visible = true
|
2024-03-26 10:33:30 +08:00
|
|
|
|
if (record.id > 0) {
|
2024-04-07 13:51:12 +08:00
|
|
|
|
// 查询园区
|
|
|
|
|
if(copyMdl.tenantId){
|
|
|
|
|
// 选择地区 -> 查询园区
|
|
|
|
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
|
|
|
|
this.selectTenant(copyMdl.tenantId)
|
|
|
|
|
}
|
|
|
|
|
// 防止替换
|
|
|
|
|
this.mdl = JSON.parse(JSON.stringify(copyMdl))
|
|
|
|
|
//
|
2024-03-26 16:12:46 +08:00
|
|
|
|
this.$nextTick(() => {
|
2024-04-07 13:51:12 +08:00
|
|
|
|
this.form.setFieldsValue(pick(this.mdl, 'id', 'tenantId', 'parkId', 'title', 'content', 'duration', 'type', 'money',
|
|
|
|
|
'address', 'isVerification', 'enterpriseIds', 'isShow', 'startTime', 'endDate', 'remark',
|
2024-04-10 16:18:12 +08:00
|
|
|
|
'isDefault', 'version', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'discount'))
|
2024-03-26 16:12:46 +08:00
|
|
|
|
})
|
2024-03-26 10:33:30 +08:00
|
|
|
|
get(record.id).then(res => {
|
|
|
|
|
// 选择企业
|
|
|
|
|
this.selectEnterpriseDataList = res.selectCustomerList
|
|
|
|
|
// this.selectEnterpriseIdList = res.selectCustomerList.map(item => item.id)
|
|
|
|
|
// 未选中企业
|
|
|
|
|
this.notSelectEnterpriseDataList = res.notSelectCustomerList
|
|
|
|
|
// this.notSelectEnterpriseIdList = res.notSelectCustomerList.map(item => item.id)
|
2024-03-26 16:12:46 +08:00
|
|
|
|
|
|
|
|
|
if (res.num) { // 有限制
|
|
|
|
|
this.value = 2
|
|
|
|
|
this.publicSendNum = res.num
|
|
|
|
|
this.notSelectEnterpriseDataList.map(item => item.sumNum = res.num)
|
|
|
|
|
} else { // 无限制
|
|
|
|
|
this.value = 1
|
|
|
|
|
}
|
2024-03-15 08:49:37 +08:00
|
|
|
|
})
|
2024-03-26 16:12:46 +08:00
|
|
|
|
|
2024-03-26 10:33:30 +08:00
|
|
|
|
} else {
|
2024-04-07 13:51:12 +08:00
|
|
|
|
|
2024-03-26 10:33:30 +08:00
|
|
|
|
}
|
2024-02-25 11:17:48 +08:00
|
|
|
|
},
|
2024-02-27 16:42:34 +08:00
|
|
|
|
handleSubmit(e) {
|
2024-02-25 11:17:48 +08:00
|
|
|
|
e.preventDefault()
|
|
|
|
|
this.form.validateFields((err, values) => {
|
|
|
|
|
if (!err) {
|
2024-03-26 09:12:04 +08:00
|
|
|
|
// 选择企业
|
2024-03-26 10:33:30 +08:00
|
|
|
|
values.ticketCustomerVo = this.selectEnterpriseDataList
|
2024-04-10 15:13:47 +08:00
|
|
|
|
values.num = this.publicSendNum
|
2024-02-25 11:17:48 +08:00
|
|
|
|
this.confirmLoading = true
|
|
|
|
|
saveTicket(values).then(res => {
|
|
|
|
|
if (res.code === 0) {
|
|
|
|
|
this.$message.success('保存成功')
|
|
|
|
|
this.$emit('ok')
|
|
|
|
|
this.visible = false
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.msg)
|
|
|
|
|
}
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
this.$message.error('系统错误,请稍后再试')
|
|
|
|
|
}).finally(() => {
|
|
|
|
|
this.confirmLoading = false
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
},
|
2024-03-09 15:48:19 +08:00
|
|
|
|
watch: {}
|
2024-02-25 11:17:48 +08:00
|
|
|
|
}
|
|
|
|
|
</script>
|