Merge remote-tracking branch 'origin/master' into master

This commit is contained in:
chendaze 2024-04-07 13:56:25 +08:00
commit e6ac80640e
2 changed files with 153 additions and 20 deletions

View File

@ -12,10 +12,11 @@ export function getTicketList (parameter) {
})
}
export function getTicketByCompany () {
export function getTicketByCompany (parameter) {
return axios({
url: api.ticket + '/getTicketByCompany',
method: 'get',
params: parameter
})
}

View File

@ -19,6 +19,28 @@
<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>
<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>
<a-row>
<a-col :span='11'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='优惠券名称'>
@ -46,10 +68,10 @@
</a-form-item>
</a-col>
<a-col :span='11'>
<a-form-item v-if="mdl.type === 1 " :labelCol='labelCol' :wrapperCol='wrapperCol' label='时长'>
<a-form-item v-if='mdl.type === 1 ' :labelCol='labelCol' :wrapperCol='wrapperCol' label='时长'>
<a-input placeholder='时长' v-decorator="['duration',{rules: [{ required: true, message: '时长'}]}]" />
</a-form-item>
<a-form-item v-if="mdl.type === 2 " :labelCol='labelCol' :wrapperCol='wrapperCol' label='折扣'>
<a-form-item v-if='mdl.type === 2 ' :labelCol='labelCol' :wrapperCol='wrapperCol' label='折扣'>
<a-input placeholder='折扣' v-decorator="['discount',{rules: [{ required: true, message: '折扣'}]}]" />
</a-form-item>
</a-col>
@ -168,6 +190,10 @@
import { saveTicket, getTicketByCompany, get } from '@/api/admin/meeting/ticket'
import pick from 'lodash.pick'
import { STable } from '@/components'
import { getInfo } from '@/api/login'
import { getTenantList } from '@/api/tenant'
import { getParkList } from '@/api/admin/park'
import { selectCustomer } from '@/api/admin/meeting/visitorPerson'
export default {
name: 'TicketModal',
@ -248,7 +274,12 @@ export default {
mdl: {},
queryParam: {},
form: this.$form.createForm(this),
publicSendNum: 0
publicSendNum: 0,
userDetail: {},
tenantList: [], //
parkList: [], //
tenantEnable: false,
parkEnable: false
}
},
beforeCreate() {
@ -256,6 +287,89 @@ export default {
created() {
},
methods: {
//
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
})
})
},
clickNumber(value) {
this.publicSendNum = value
//
@ -314,6 +428,20 @@ export default {
},
onNumChange(e) {
this.value = e.target.value
//
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
})
}
},
getType(value) {
this.mdl.type = value
@ -323,16 +451,32 @@ export default {
this.form.endDate = dateString[1]
},
add() {
this.form.resetFields()
this.notSelectEnterpriseIdList = []
this.edit({ id: 0 })
},
edit(record) {
this.form.resetFields()
this.selectEnterpriseDataList = []
this.notSelectEnterpriseDataList = []
this.notSelectEnterpriseIdList = []
this.mdl = Object.assign(record)
let copyMdl = JSON.parse(JSON.stringify(this.mdl))
//
this.getTenantData()
this.visible = true
if (record.id > 0) {
//
if(copyMdl.tenantId){
// ->
this.mdl = JSON.parse(JSON.stringify(copyMdl))
this.selectTenant(copyMdl.tenantId)
}
//
this.mdl = JSON.parse(JSON.stringify(copyMdl))
//
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', 'tenantId', 'parkId', 'title', 'content', 'duration', 'type', 'money',
'address', 'isVerification', 'enterpriseIds', 'isShow', 'startTime', 'endDate', 'remark',
'isDefault', 'version', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime'))
})
get(record.id).then(res => {
//
@ -352,19 +496,7 @@ export default {
})
} else {
//
getTicketByCompany().then(res => {
console.log('getTicketByCompany', res)
this.selectEnterpriseDataList = res.rows.map(item => {
if (!item.moreNum) {
item.moreNum = 0
}
if (!item.sumNum) {
item.sumNum = 0
}
return item
})
})
}
},
handleSubmit(e) {