From 5435cbf135579dac7db98db1bd0a9295692b6e2f Mon Sep 17 00:00:00 2001 From: "471615499@qq.com" Date: Wed, 25 Sep 2024 00:22:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E4=BC=9A=E8=AE=AE=E5=AE=A4?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + src/api/admin/meeting/roomContent.js | 65 +- src/views/admin/meeting/RoomContentList.vue | 381 +++++----- .../meeting/modules/RoomContentModal.vue | 657 ++++++------------ 4 files changed, 446 insertions(+), 660 deletions(-) diff --git a/.gitignore b/.gitignore index 185e663..56c5d5b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ yarn-error.log* *.njsproj *.sln *.sw* + +vue.config.js +.env.development \ No newline at end of file diff --git a/src/api/admin/meeting/roomContent.js b/src/api/admin/meeting/roomContent.js index 9c62f3f..4694b3b 100644 --- a/src/api/admin/meeting/roomContent.js +++ b/src/api/admin/meeting/roomContent.js @@ -4,24 +4,33 @@ const api = { roomContent: '/meeting/roomContent' } -export function getRoomContentList (parameter) { +export function getMeetingDict(parameter) { return axios({ - url: api.roomContent + '/list', - method: 'get', + url: '/app/mr/getConstData', + method: 'post', params: parameter }) } -export function get (id) { +export function getRoomContentList(parameter) { return axios({ - url: api.roomContent + '/get/'+id, + // url: api.roomContent + '/list', + url: '/admin/meetingRoom/list?pageNum=', + method: 'post', + params: parameter + }) +} + +export function get(id) { + return axios({ + url: api.roomContent + '/get/' + id, method: 'get', params: {} }) } -export function selectSearchInfoByType (parameter) { +export function selectSearchInfoByType(parameter) { return axios({ url: api.roomContent + '/searchInfo/1', method: 'get', @@ -29,7 +38,7 @@ export function selectSearchInfoByType (parameter) { }) } -export function selectSearchInfoByCapacity (parameter) { +export function selectSearchInfoByCapacity(parameter) { return axios({ url: api.roomContent + '/searchInfo/2', method: 'get', @@ -37,7 +46,7 @@ export function selectSearchInfoByCapacity (parameter) { }) } -export function selectSearchInfoByShape (parameter) { +export function selectSearchInfoByShape(parameter) { return axios({ url: api.roomContent + '/searchInfo/4', method: 'get', @@ -45,9 +54,20 @@ export function selectSearchInfoByShape (parameter) { }) } -export function saveRoomContent (parameter) { +export function saveRoomContent(parameter) { return axios({ - url: api.roomContent + (parameter.id > 0 ? '/update' : '/save'), + url: '/admin/meetingRoom' + (parameter.id > 0 ? '/update' : '/save'), + method: 'post', + params: parameter, + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} + +export function getRoomInfo(parameter) { + return axios({ + url: '/app/mr/roomMrs', method: 'post', data: parameter, headers: { @@ -56,7 +76,7 @@ export function saveRoomContent (parameter) { }) } -export function addRoomServe (parameter) { +export function addRoomServe(parameter) { return axios({ url: api.roomContent + '/addRoomServe', method: 'post', @@ -67,7 +87,7 @@ export function addRoomServe (parameter) { }) } -export function addRoomItem (parameter) { +export function addRoomItem(parameter) { return axios({ url: api.roomContent + '/addRoomItem', method: 'post', @@ -79,7 +99,7 @@ export function addRoomItem (parameter) { } //根据会议室id 获取服务列表 -export function selectRoomServeByRoom (parameter) { +export function selectRoomServeByRoom(parameter) { return axios({ url: api.roomContent + '/selectRoomServeByRoom', method: 'post', @@ -91,7 +111,7 @@ export function selectRoomServeByRoom (parameter) { } -export function getFloorList (parameter) { +export function getFloorList(parameter) { return axios({ url: api.roomContent + '/getFloorList', method: 'get', @@ -99,7 +119,7 @@ export function getFloorList (parameter) { }) } -export function getCustomerList (parameter) { +export function getCustomerList(parameter) { return axios({ url: api.roomContent + '/customerList', method: 'get', @@ -108,7 +128,7 @@ export function getCustomerList (parameter) { } -export function selectRoomById (parameter) { +export function selectRoomById(parameter) { return axios({ url: api.roomContent + '/selectRoomById', method: 'get', @@ -117,7 +137,7 @@ export function selectRoomById (parameter) { } -export function getRoomListByFloorId (parameter) { +export function getRoomListByFloorId(parameter) { return axios({ url: api.roomContent + '/getRoomListByFloorId', method: 'get', @@ -125,7 +145,7 @@ export function getRoomListByFloorId (parameter) { }) } -export function getRoomListByBuildIdsRq (parameter) { +export function getRoomListByBuildIdsRq(parameter) { return axios({ url: api.roomContent + '/getRoomListByBuildIds', method: 'post', @@ -136,7 +156,7 @@ export function getRoomListByBuildIdsRq (parameter) { }) } -export function selectRoomItemByRoom (parameter) { +export function selectRoomItemByRoom(parameter) { return axios({ url: api.roomContent + '/selectRoomItemByRoom', method: 'post', @@ -148,15 +168,14 @@ export function selectRoomItemByRoom (parameter) { } -export function delRoomContent (parameter) { +export function delRoomContent(parameter) { return axios({ - url: api.roomContent + '/remove', + // url: api.roomContent + '/remove', + url: '/admin/meetingRoom/remove', method: 'post', params: parameter }) } - - export const roomContentExport = api.roomContent + '/export' diff --git a/src/views/admin/meeting/RoomContentList.vue b/src/views/admin/meeting/RoomContentList.vue index 0799964..649234c 100644 --- a/src/views/admin/meeting/RoomContentList.vue +++ b/src/views/admin/meeting/RoomContentList.vue @@ -4,36 +4,15 @@ - - + + - - - - 会议室 - - - 路演厅 - - - 洽谈室 - - - 直播间 - - - 茶室 - - - 长阳会客厅 - - - 多功能厅 - - - 数据要素 + + + + {{ item.text }} @@ -41,35 +20,38 @@ - - 围桌式 - - - 课桌式 - - - 长方形 - - - U形 - - - 鱼骨形 - - - 开放形 - - - 会议形 + + {{ item.text }} - - - {{ item.capacityNum }} + + + 全部 + + + 0-10 + + + 11-20 + + + 21-30 + + + 31-40 + + + 41-50 + + + 50-100 + + + 100以上 @@ -77,7 +59,7 @@ 查询 - 重置 + 重置 @@ -107,9 +89,9 @@ {{ record.serveCount }} - 编辑 + 编辑 - 删除 + 删除 @@ -125,29 +107,7 @@ - - - -
- - - - - - - - - - - 查询 - 重置 - - - - -
-
-
+ - -
- - - - - - - - - - - - 免费服务 - - - 增值服务 - - - - - - - - 查询 - 重置 - - - - -
-
-
+ - - {{ text | serveTypeFilter }} - @@ -216,7 +140,7 @@ import { STable } from '@/components' import { getRoomContentList, delRoomContent, selectSearchInfoByType, selectSearchInfoByShape, selectSearchInfoByCapacity, addRoomServe, - selectRoomServeByRoom, selectRoomItemByRoom + selectRoomServeByRoom, selectRoomItemByRoom, getMeetingDict } from '@/api/admin/meeting/roomContent' import { getRoomServeList } from '@/api/admin/meeting/roomServe' import { getRoomItemList } from '@/api/admin/meeting/roomItem' @@ -224,6 +148,7 @@ import RoomContentModal from './modules/RoomContentModal.vue' import { checkPermission } from '@/utils/permissions' import { getDictArray } from '@/utils/dict' import { addRoomItem } from '../../../api/admin/meeting/roomContent' +import { delRepairDevice } from '@/api/admin/repair/repairDevice' const typeMap = {} const serveTypeMap = {} @@ -235,6 +160,7 @@ export default { }, data() { return { + parkId: 25, labelCol: { xs: { span: 24 }, sm: { span: 5 } @@ -251,9 +177,13 @@ export default { // 高级搜索 展开/关闭 advanced: false, // 查询参数 - queryParam: {}, - itemQueryParam: { + queryParam: { + meetingName: '', + typeName: '', + shape: '', + capacityNum: '' }, + itemQueryParam: {}, serveQueryParam: {}, capacityList: [], shapeList: [], @@ -269,28 +199,21 @@ export default { { title: '服务名称', dataIndex: 'serveName' - }, - { - title: '服务类型', - dataIndex: 'serveType', - scopedSlots: { customRender: 'serveType' } - }, - { - title: '金额', - dataIndex: 'money' } ], - // 表头 columns: [ { title: '会议室名称', - dataIndex: 'meetingName' + dataIndex: 'name' }, { - title: '会议室类型', - dataIndex: 'type', - scopedSlots: { customRender: 'type' } + title: '所属楼层', + dataIndex: 'floor', + }, + { + title: '所属房间', + dataIndex: 'roomNum' }, { title: '容纳人数', @@ -298,26 +221,17 @@ export default { }, { title: '排列形状', - dataIndex: 'shape' + dataIndex: 'typeName' }, { title: '会议室设备', - dataIndex: 'itemCount', - scopedSlots: { customRender: 'item' } - }, - { - title: '关联服务', - dataIndex: 'serveCount', - scopedSlots: { customRender: 'serve' } - }, - { - title: '金额', - dataIndex: 'money' - }, - { - title: '负责人', - dataIndex: 'headName' + dataIndex: 'device', }, + // { + // title: '关联服务', + // dataIndex: 'serveCount', + // scopedSlots: { customRender: 'serve' } + // }, { title: '操作', width: '200px', @@ -327,19 +241,32 @@ export default { ], // 加载数据方法 必须为 Promise 对象 loadData: (parameter) => { - return getRoomContentList(Object.assign(parameter, this.queryParam)) + const param = { + name: this.queryParam.meetingName, // 名称 + floor: this.queryParam.typeName, // 楼层名称 + typeName: this.queryParam.shape, // 形状 + capacityNum: this.queryParam.capacityNum // 容纳人数 + } + // if (param.typeName === '') { + // delete param.typeName + // } + // if (param.shape === '') { + // delete param.shape + // } + // if (param.capacityNum === '') { + // delete param.capacityNum + // } + return getRoomContentList(Object.assign(parameter, param)) }, itemLoadData: (parameter) => { - console.log(this.parkId) - let param ={ - parkId:this.parkId + let param = { + parkId: this.parkId } - return getRoomItemList(Object.assign(parameter, param)) }, serveLoadData: (parameter) => { - let param ={ - parkId:this.parkId + let param = { + parkId: this.parkId } return getRoomServeList(Object.assign(parameter, param)) }, @@ -358,7 +285,7 @@ export default { // 删除 deleteVisible: false, deleteLoading: false, - deleteIds : null, + deleteIds: null } }, filters: { @@ -374,18 +301,65 @@ export default { TypeData.map(d => { typeMap[d.dictValue] = { text: d.dictLabel } }) - console.log(typeMap) + // console.log(typeMap) const serveTypeData = await getDictArray('serve_type') serveTypeData.map(d => { serveTypeMap[d.dictValue] = { text: d.dictLabel } }) }, mounted() { - this.selectSearchInfoByType() - this.selectSearchInfoByShape() - this.selectSearchInfoByCapacity() + this.getDict() + // this.selectSearchInfoByType() + // this.selectSearchInfoByShape() + // this.selectSearchInfoByCapacity() }, methods: { + // 获取查询参数 + getDict() { + getMeetingDict().then((res) => { + // 楼层 + let _typeList = [] + let dataObj = res.data + for (let key in dataObj.floors) { + let eachObj = dataObj.floors[key] + const keys = Object.keys(eachObj) + _typeList.push({ + text: keys[0], + value: keys[0] + }) + } + _typeList = [{ + text: '全部', + value: '' + }, ..._typeList] + this.typeList = _typeList + + // 形状 + let _shapeList = [] + for (let key in dataObj.types) { + let eachObj = dataObj.types[key] + const keys = Object.keys(eachObj) + _shapeList.push({ + text: keys[0], + value: keys[0] + }) + } + _shapeList = [{ + text: '全部', + value: '' + }, ..._shapeList] + this.shapeList = _shapeList + }) + }, + reset() { + this.queryParam = { + meetingName: '', + typeName: '', + shape: '', + capacityNum: '' + } + this.$refs.table.refresh(true) + }, itemHandleOk() { console.log(this.meetingId) let params = { @@ -433,9 +407,9 @@ export default { }, handleItemTable(record) { let params = { - roomContentId: record.id, + roomContentId: record.id } - this.parkId = record.parkId + // this.parkId = record.parkId selectRoomItemByRoom(params).then((res) => { this.selectedItemRowKeys = res.data.map(d => d.itemId) @@ -447,10 +421,9 @@ export default { }, handleServeTable(record) { let params = { - romeContentId: record.id, - + romeContentId: record.id } - this.parkId = record.parkId + // this.parkId = record.parkId selectRoomServeByRoom(params).then((res) => { this.selectedServeRowKeys = res.data.map(d => d.serveId) this.selectedServeRows = res.data @@ -461,21 +434,21 @@ export default { }, // 获取查询条件 - selectSearchInfoByType() { - selectSearchInfoByType().then((res) => { - this.typeList = res.roomContents - }) - }, - selectSearchInfoByShape() { - selectSearchInfoByShape().then((res) => { - this.shapeList = res.roomContents - }) - }, - selectSearchInfoByCapacity() { - selectSearchInfoByCapacity().then((res) => { - this.capacityList = res.roomContents - }) - }, + // selectSearchInfoByType() { + // selectSearchInfoByType().then((res) => { + // this.typeList = res.roomContents + // }) + // }, + // selectSearchInfoByShape() { + // selectSearchInfoByShape().then((res) => { + // this.shapeList = res.roomContents + // }) + // }, + // selectSearchInfoByCapacity() { + // selectSearchInfoByCapacity().then((res) => { + // this.capacityList = res.roomContents + // }) + // }, onSelectChange(selectedRowKeys, selectedRows) { this.selectedRowKeys = selectedRowKeys this.selectedRows = selectedRows @@ -483,37 +456,43 @@ export default { handleAdd() { this.$refs.modal.add() }, - handleEdit(record) { - this.$refs.modal.edit(record) + handleEdit(id) { + this.$refs.modal.edit(id) }, handleOk() { this.$refs.table.refresh(true) }, delByIds(ids) { - delRoomContent({ ids: ids.join(',') }).then((res) => { - if (res.code === 0) { - this.$message.success('删除成功') - this.handleOk() - } else { - this.$message.error(res.msg) + const _this = this + if (ids === '') { + this.$message.error('请选择后删除!') + return + } + this.$confirm({ + title: '警告', + content: '删除后不可恢复,是否确认删除?', + okText: '是', + okType: 'warning', + cancelText: '否', + onOk() { + delRoomContent({ ids: ids.join(',') }).then((res) => { + if (res.code === 0) { + _this.$message.success('删除成功') + _this.handleOk() + } else { + _this.$message.error(res.msg) + } + _this.selectedRowKeys = [] + // 删除结束 + _this.deleteVisible = false + _this.deleteLoading = false + }) + }, + onCancel() { } - this.selectedRowKeys = [] - // 删除结束 - this.deleteVisible = false - this.deleteLoading = false }) }, - deleteShow(ids) { - this.deleteVisible = true - this.deleteIds = ids - }, - deleteOk() { - this.deleteLoading = true; - this.delByIds(this.deleteIds) - }, - deleteCancel() { - this.deleteVisible = false - }, + }, watch: { /* diff --git a/src/views/admin/meeting/modules/RoomContentModal.vue b/src/views/admin/meeting/modules/RoomContentModal.vue index cfe2831..76dfac8 100644 --- a/src/views/admin/meeting/modules/RoomContentModal.vue +++ b/src/views/admin/meeting/modules/RoomContentModal.vue @@ -18,235 +18,71 @@ - - - {{ item.name }} - - - - - - - {{ item.name }} - - - - - - - - - - {{ item.buildingName }} - - - - - - - - {{ item.floorName }} + + + + {{ item.text }} - - - - - - - - {{ item.name }} - - - - - - - - - - - - + v-decorator="['name',{rules: [{ required: true, message: '输入会议室名称' }]}]" /> + + + - - - - 会议室 - - - 路演厅 - - - 洽谈室 - - - 直播间 - - - 茶室 - - - 长阳会客厅 - - - 多功能厅 - - - 数据要素 + + + + {{ item.text }} + + + + + + + + + + + - - - - - - - - - - - - 围桌式 - - - 课桌式 - - - 长方形 - - - U形 - - - 鱼骨形 - - - 开放形 - - - 会议形 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 是 - - - 否 - - - - - - - - - - - - 是 - - - 否 - - - - - - - - - - - + + + + {{ item.text }} + + - 是 @@ -259,12 +95,6 @@ - - - - - @@ -275,7 +105,7 @@ { + // 楼层 + let _typeList = [] + let _typeMap = {} + let dataObj = res.data + for (let key in dataObj.floors) { + let eachObj = dataObj.floors[key] + const keys = Object.keys(eachObj) + _typeList.push({ + text: keys[0], + value: keys[0] + }) + this.typeMap[keys[0]] = eachObj[keys[0]] + // this.typeMap.keys[0] = eachObj[keys[0]] + } + + this.typeList = _typeList + + // 形状 + let _shapeList = [] + for (let key in dataObj.types) { + let eachObj = dataObj.types[key] + const keys = Object.keys(eachObj) + _shapeList.push({ + text: keys[0], + value: keys[0] + }) + this.shapeMap[keys[0]] = eachObj[keys[0]] + } + this.shapeList = _shapeList + + // 设备 + let _deviceList = [] + for (let key in dataObj.devices) { + let eachObj = dataObj.devices[key] + const keys = Object.keys(eachObj) + _deviceList.push({ + text: keys[0], + value: keys[0] + }) + this.deviceMap[keys[0]] = eachObj[keys[0]] + } + this.deviceList = _deviceList + }) + }, // 获取用户详细信息 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 - }) - } + // 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 + // }) + // } + console.log(this.mdl) }) }, - // 查询地区 - getTenantData() { - getTenantList().then(res => { - this.tenantList = res.rows - }) - }, - // 选择地区 -> 查询园区 - selectTenant(id) { - console.log('selectTenant', id) - // 清空数据 - this.mdl.parkId = null // 园区 - this.mdl.buildingId = null // 楼宇 - this.mdl.buildId = null // 楼层 - this.mdl.roomId = null // 所属房间 - this.mdl.area = null // 会议室面积 - - this.form.setFieldsValue({ - parkId: null, // 园区 - buildingId: null, // 楼宇 - buildId: null, // 楼层 - roomId: null, // 所属房间 - area: null // 会议室面积 - }) - // 查询园区 - getParkList({ - tenantId: id - }).then(res => { - this.parkList = res.rows - }) - }, - // 选择园区 -> 查询楼宇 - selectPark(id) { - // 清空数据 - this.mdl.buildingId = null // 楼宇 - this.mdl.buildId = null // 楼层 - this.mdl.roomId = null // 所属房间 - this.mdl.area = null // 会议室面积 - - this.form.setFieldsValue({ - buildingId: null, // 楼宇 - buildId: null, // 楼层 - roomId: null, // 所属房间 - area: null // 会议室面积 - }) - // 查询楼宇 - getBuildingList({ - parkId: id - }).then(res => { - this.buildingList = res.rows - }) - }, - // 选择楼宇 -> 查询楼层 - selectBuilding(id) { - // 清空数据 - this.mdl.buildId = null // 楼层 - this.mdl.roomId = null // 所属房间 - this.mdl.area = null // 会议室面积 - - this.form.setFieldsValue({ - buildId: null, // 楼层 - roomId: null, // 所属房间 - area: null // 会议室面积 - }) - // 查询楼层 - getBuildingDetailList({ - buildingId: id - }).then(res => { - this.buildingDetailList = res.rows - }) - }, - // 选择楼层 -> 查询房间 - selectBuildingDetail(buildingDetailId) { - // 查询房间 - this.getRoomListByFloorIdMethod(buildingDetailId) - }, - // 查询房间 - getRoomListByFloorIdMethod(buildingDetailId, id) { - // 清空数据 - this.mdl.roomId = null // 所属房间 - this.mdl.area = null // 会议室面积 - - this.form.setFieldsValue({ - roomId: null, // 所属房间 - area: null // 会议室面积 - }) - // 查询房间 - getRoomListByFloorId({ - 'id': id, - 'buildingDetailId': buildingDetailId, - 'type': 0 - }).then((res) => { - this.roomList = res.data - }) - }, - // 选择房间 -> 查询面积 - selectRoom(id) { - // 清空数据 - this.mdl.area = null // 会议室面积 - - this.form.setFieldsValue({ - area: null // 会议室面积 - }) - // 查询面积 - selectRoomById({ - 'id': id - }).then((res) => { - this.form.setFieldsValue({ - area: res.data.area - }) - }) - }, - // - selectChangeIsToll(value) { - this.mdl.isToll = value - }, moment, // async handlePreview(file) { @@ -525,108 +295,123 @@ export default { add() { this.form.resetFields() this.mdl = {} - this.edit({ id: 0 }) - }, - edit(record) { - this.mdl = Object.assign(this.mdl, record) - let copyMdl = JSON.parse(JSON.stringify(this.mdl)) - // 查询地区 - this.getTenantData() - // - 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) - } - // 选择楼层 -> 查询房间 - if (copyMdl.buildId) { - this.mdl = JSON.parse(JSON.stringify(copyMdl)) - this.getRoomListByFloorIdMethod(copyMdl.buildId, copyMdl.roomId) - } - // 防止替换 - this.mdl = JSON.parse(JSON.stringify(copyMdl)) - - } else { // 新增 - - } - // 获取用户信息 - this.getUserDetail() - // 图片 - if (this.mdl.indoorPicUrl) { - this.mdl.indoorPicUrl = JSON.parse(this.mdl.indoorPicUrl) - this.mdl.indoorPicUrl.forEach((item, i) => { - item.url = process.env.VUE_APP_API_BASE_URL + item.url - }) - this.fileList = this.mdl.indoorPicUrl - } else { - this.fileList = [] - } - // + this.fileList = [] this.visible = true - this.$nextTick(() => { - this.form.setFieldsValue( - pick( - this.mdl, - 'id', - 'type', - 'meetingName', - 'capacityNum', - 'expandNum', - 'indoorPicUrl', - 'startTime', - 'endDate', - 'money', - 'isShow', - 'shape', - 'area', - 'address', - 'headName', - 'headPhone', - 'isTicket', - 'isToll', - 'money', - 'remake', - 'duration', - 'content', - 'tenantId', - 'parkId', - 'buildingId', - 'buildId', - 'roomId' + }, + edit(id) { + this.form.resetFields() + this.mdl = {} + this.fileList = [] + getRoomInfo({ roomId: id }).then((res) => { + let deviceStr = res.room.device + if (deviceStr != '') { + deviceStr = deviceStr.replaceAll(' ', '') + let deviceArr = deviceStr.split('#') + if (deviceArr[0] == '') { + deviceArr.shift() + } + res.room.device = deviceArr + } + this.mdl = Object.assign(this.mdl, res.room) + + this.visible = true + this.$nextTick(() => { + this.form.setFieldsValue( + pick( + this.mdl, + 'id', + 'device', + 'typeName', + 'name', + 'capacityNum', + 'floor', + 'files', + 'startTime', + 'endDate', + 'money', + 'enable', + 'typeName', + 'content', + 'area', + 'roomNum' + ) ) - ) + }) + // 图片 + console.log(this.mdl) + if (this.mdl.imgs) { + let files = [] + let fileId = [] + for (let key in this.mdl.imgs) { + let eachObj = this.mdl.imgs[key] + files.push({ + uid: '0', + id: eachObj.id, + url: process.env.VUE_APP_MODEL_BASE_URL + eachObj.url, + status: 'done', + name: eachObj.url + }) + fileId.push(eachObj.id) + } + this.fileList = files + this.mdl.files = fileId + } else { + this.fileList = [] + } }) + + // // let copyMdl = JSON.parse(JSON.stringify(this.mdl)) + // // 查询地区 + // // this.getTenantData() + // // + // if (record.id != 0) { // 编辑 + // } else { // 新增 + // } + // // 获取用户信息 + // this.getUserDetail() + + // // + }, handleSubmit(e) { e.preventDefault() this.form.validateFields((err, values) => { if (!err) { console.log('Received values of form: ', values) - this.confirmLoading = true - const indoorPicUrl = [] + this.confirmLoading = false + + // const indoorPicUrl = [] + const files = [] + this.fileList.forEach((file, index) => { // 添加原来的 - if (file.hasOwnProperty('name') && file.hasOwnProperty('url') && file.hasOwnProperty('uid')) { - indoorPicUrl.push({ 'name': file.name, 'url': file.name, 'uid': index }) + + if (file.hasOwnProperty('url') && file.hasOwnProperty('id')) { + // indoorPicUrl.push({ 'name': file.name, 'url': file.name, 'id': file.id }) + + files.push(file.id) } - if (file.status === 'done' && file.response.code === 0) { + if (file.hasOwnProperty('response') && file.status === 'done' && file.response.code === 0) { const data = file.response - indoorPicUrl.push({ 'name': data.fileName, 'url': data.fileName, 'uid': index }) + // indoorPicUrl.push({ 'name': data.fileName, 'url': data.fileName, 'uid': index }) + files.push(file.response.id) } + }) + // 多个图片 - values.indoorPicUrl = JSON.stringify(indoorPicUrl) + // values.indoorPicUrl = JSON.stringify(indoorPicUrl) + values.files = files + let deviceArr = values.device + let deviceStr = '' + for (let key in deviceArr) { + let eachObj = deviceArr[key] + deviceStr += '#' + eachObj + ' ' + } + values.device = deviceStr + values.floorId = this.typeMap[values.floor] + values.typeId = this.shapeMap[values.typeName] + saveRoomContent(values) .then((res) => { if (res.code === 0) {