From 32040049673bea40ee10d89e8aec6c9074eff5e5 Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Thu, 4 Apr 2024 15:12:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E6=8F=8F=E8=BF=B0:=20=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E5=AE=A4=E9=A2=84=E7=BA=A6=E8=AE=B0=E5=BD=95=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=20=E5=9C=B0=E5=8C=BA=E3=80=81=E5=9B=AD=E5=8C=BA=E3=80=81?= =?UTF-8?q?=E6=A5=BC=E5=AE=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin/meeting/reservation.js | 4 +- src/views/admin/meeting/ReservationInfo.vue | 28 ++- .../meeting/modules/ReservationModal.vue | 172 ++++++++++++++++-- 3 files changed, 183 insertions(+), 21 deletions(-) diff --git a/src/api/admin/meeting/reservation.js b/src/api/admin/meeting/reservation.js index ca095df..6d3910d 100644 --- a/src/api/admin/meeting/reservation.js +++ b/src/api/admin/meeting/reservation.js @@ -28,11 +28,11 @@ export function get (id) { }) } -export function roomContentList () { +export function roomContentList (params) { return axios({ url: '/meeting/roomContent/roomContentList', method: 'get', - params: {} + params: params }) } diff --git a/src/views/admin/meeting/ReservationInfo.vue b/src/views/admin/meeting/ReservationInfo.vue index d43770f..741b12e 100644 --- a/src/views/admin/meeting/ReservationInfo.vue +++ b/src/views/admin/meeting/ReservationInfo.vue @@ -12,15 +12,39 @@ - - {{ form.title }} + + {{ form.tenantName }} + + + {{ form.roomContent.parkName }} + + + + + + + {{ form.buildingName }} + + + + + {{ form.roomContent.buildName }} + + + + {{ form.roomContent.meetingName }} + + + {{ form.title }} + + diff --git a/src/views/admin/meeting/modules/ReservationModal.vue b/src/views/admin/meeting/modules/ReservationModal.vue index a76f698..c0b9d29 100644 --- a/src/views/admin/meeting/modules/ReservationModal.vue +++ b/src/views/admin/meeting/modules/ReservationModal.vue @@ -36,6 +36,29 @@ v-decorator="['endDate', {rules: [{required: true, message: '请选择结束时间'}]}]" placeholder='结束时间' /> + + + + {{ item.name }} + + + + + {{ item.name }} + + + + + + {{ item.buildingName }} + + + @@ -55,6 +78,11 @@ import { saveReservation, get, roomContentList } from '@/api/admin/meeting/reser import pick from 'lodash.pick' import moment from 'moment' import { selectRoomById } from '@/api/admin/meeting/roomContent' +import { getInfo } from '@/api/login' +import { getTenantList } from '@/api/tenant' +import { getParkList } from '@/api/admin/park' +import { getBuildingList } from '@/api/admin/building' +import { getBuildingDetailList } from '@/api/admin/buildingDetail' export default { name: 'ReservationModal', @@ -74,44 +102,154 @@ export default { confirmLoading: false, mdl: {}, form: this.$form.createForm(this), - roomContentList: [] + tenantList: [], // 地区 + parkList: [], // 园区 + buildingList: [], // 楼宇 + roomContentList: [], // 会议室 + tenantEnable: false, + parkEnable: false } }, beforeCreate() { }, created() { - this.getRoomContentDataList() + // 查询地区 + this.getTenantData() }, methods: { - moment, - onRangeChangeSign() { - + // 获取用户详细信息 + 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 + }) + } + }) }, - getRoomContentDataList() { - roomContentList().then(res => { + // 查询地区 + getTenantData() { + getTenantList().then(res => { + this.tenantList = res.rows + }) + }, + // 选择地区 -> 查询园区 + selectTenant(id) { + console.log('selectTenant', id) + // 清空数据 + this.mdl.parkId = null // 园区 + this.mdl.buildingId = null // 楼宇 + this.mdl.roomContentId = null // 会议室 + + this.form.setFieldsValue({ + parkId: null, // 园区 + buildingId: null, // 楼宇 + roomContentId: null // 会议室 + }) + // 查询园区 + getParkList({ + tenantId: id + }).then(res => { + this.parkList = res.rows + }) + }, + // 选择园区 -> 查询楼宇 + selectPark(id) { + // 清空数据 + this.mdl.buildingId = null // 楼宇 + this.mdl.roomContentId = null // 会议室 + + this.form.setFieldsValue({ + buildingId: null, // 楼宇 + roomContentId: null // 会议室 + }) + // 查询楼宇 + getBuildingList({ + parkId: id + }).then(res => { + this.buildingList = res.rows + }) + }, + // 选择楼宇 -> 查询会议室 + selectBuilding(id) { + // 清空数据 + this.mdl.roomContentId = null // 会议室 + + this.form.setFieldsValue({ + roomContentId: null // 会议室 + }) + roomContentList({ + buildingId: id + }).then(res => { console.log('roomContentList', res) this.roomContentList = res.data }) + }, + moment, + onRangeChangeSign() { + }, add() { this.form.resetFields() this.edit({ id: 0 }) }, edit(record) { - this.mdl = Object.assign(record) + this.mdl = Object.assign(this.mdl, record) + let copyMdl = JSON.parse(JSON.stringify(this.mdl)) + // + if (record.id != 0) { // 编辑 + // 选择地区 -> 查询园区 + if (copyMdl.tenantId) { + this.mdl = JSON.parse(JSON.stringify(copyMdl)) + this.selectTenant(copyMdl.tenantId) + } + // 选择园区 -> 查询楼宇 + if (copyMdl.parkId) { + this.mdl = JSON.parse(JSON.stringify(copyMdl)) + this.selectPark(copyMdl.parkId) + } + // 选择楼宇 -> 查询会议室 + if (copyMdl.buildingId) { + this.mdl = JSON.parse(JSON.stringify(copyMdl)) + this.selectBuilding(copyMdl.buildingId) + } + // 防止替换 + this.mdl = JSON.parse(JSON.stringify(copyMdl)) + + } else { // 新增 + + } + // 获取用户详细信息 + this.getUserDetail() + this.visible = true this.$nextTick(() => { - this.form.setFieldsValue(pick(this.mdl, 'id', 'roomContentId', 'userId', 'ticketId', 'customerId', 'title', 'stauts', 'isAfterSale', 'oderNumber', 'orderMoney', 'cancelTime', 'cancelResaon', 'visitType', 'explainNeedType', 'meetingNeedType', 'meetingId', 'photographType', 'startTime', 'endTime', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'remake')) + this.form.setFieldsValue(pick(this.mdl, 'id', 'tenantId', 'parkId', 'buildingId', 'roomContentId', 'userId', 'ticketId', 'customerId', + 'title', 'stauts', 'isAfterSale', 'oderNumber', 'orderMoney', 'cancelTime', 'cancelResaon', + 'visitType', 'explainNeedType', 'meetingNeedType', 'meetingId', 'photographType', + 'startTime', 'endTime', 'endDate', 'deleteFlag', 'createBy', 'createTime', 'updateBy', 'updateTime', 'remake')) }) - if (record.id !== 0){ - get(record.id).then(res => { - this.form.setFieldsValue({ - endDate: res.endDate, - duration: res.duration - }) - }) - } }, handleSubmit(e) { From 22aced73cd5e03689840c897b1f0c6b4e571fc17 Mon Sep 17 00:00:00 2001 From: SelfRidicule Date: Thu, 4 Apr 2024 16:07:46 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=8F=8F=E8=BF=B0=EF=BC=9A=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E9=80=89=E6=8B=A9=E5=9C=B0=E5=8C=BA=E3=80=81=E5=9B=AD?= =?UTF-8?q?=E5=8C=BA=E3=80=81=E6=A5=BC=E5=AE=87=E3=80=81=E6=A5=BC=E5=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/meeting/modules/EquipmentModal.vue | 298 ++++++++++++++---- 1 file changed, 235 insertions(+), 63 deletions(-) diff --git a/src/views/admin/meeting/modules/EquipmentModal.vue b/src/views/admin/meeting/modules/EquipmentModal.vue index 3b33085..a567532 100644 --- a/src/views/admin/meeting/modules/EquipmentModal.vue +++ b/src/views/admin/meeting/modules/EquipmentModal.vue @@ -16,24 +16,82 @@
| - 新增设备 + 设备管理
+ + + + + {{ item.name }} + + + + + + + {{ item.name }} + + + + + + + + + + {{ item.buildingName }} + + + + + + + + {{ item.floorName }} + + + + + + + + + + + {{ item.name }} + + + + + - + - + - + 门禁 @@ -49,32 +107,11 @@ - - - - - - {{ item.floorName }} - - - - - - - - - {{ item.name }} - - - - - - + 开启 @@ -120,7 +157,7 @@ ref='table' style='width: 800px;margin-left: 20px' :data-source='loadData' - > + > {{ text }} @@ -128,11 +165,16 @@