diff --git a/src/api/admin/meeting/ticket.js b/src/api/admin/meeting/ticket.js index f8651cc..585716d 100644 --- a/src/api/admin/meeting/ticket.js +++ b/src/api/admin/meeting/ticket.js @@ -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 }) } diff --git a/src/views/admin/meeting/modules/TicketModal.vue b/src/views/admin/meeting/modules/TicketModal.vue index 3acabe1..1351a24 100644 --- a/src/views/admin/meeting/modules/TicketModal.vue +++ b/src/views/admin/meeting/modules/TicketModal.vue @@ -19,6 +19,28 @@ | 新增优惠券 + + + + + + {{ item.name }} + + + + + + + {{ item.name }} + + + + + @@ -46,10 +68,10 @@ - + - + @@ -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) {