描述:展厅图片回显

This commit is contained in:
SelfRidicule 2024-03-26 14:06:57 +08:00
parent e96f0d72e0
commit 9bc182af56

View File

@ -31,7 +31,8 @@
<a-row> <a-row>
<a-col :span='10'> <a-col :span='10'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属楼层'> <a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属楼层'>
<a-select v-decorator="['buildId',{rules: [{ required: true, message: '请选择所属楼层' }]}]" placeholder='所属楼层' <a-select v-decorator="['buildId',{rules: [{ required: true, message: '请选择所属楼层' }]}]"
placeholder='所属楼层'
@change='getRoomList'> @change='getRoomList'>
<a-select-option v-for='item in floorList' :key='item.id' :value='item.id'> <a-select-option v-for='item in floorList' :key='item.id' :value='item.id'>
{{ item.floorName }} {{ item.floorName }}
@ -41,7 +42,8 @@
</a-col> </a-col>
<a-col :span='10'> <a-col :span='10'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属房间'> <a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='所属房间'>
<a-select v-decorator="['roomId',{rules: [{ required: true, message: '选择所属房间' }]}]" placeholder='所属房间' <a-select v-decorator="['roomId',{rules: [{ required: true, message: '选择所属房间' }]}]"
placeholder='所属房间'
@change='getArea'> @change='getArea'>
<a-select-option v-for='item in roomList' :key='item.id' :value='item.id'> <a-select-option v-for='item in roomList' :key='item.id' :value='item.id'>
{{ item.name }} {{ item.name }}
@ -54,7 +56,8 @@
<a-col :span='10'> <a-col :span='10'>
<a-form-item label='会议面积' :labelCol='labelCol' :wrapperCol='wrapperCol'> <a-form-item label='会议面积' :labelCol='labelCol' :wrapperCol='wrapperCol'>
<a-input placeholder='会议面积' v-decorator="['area',{rules: [{ required: true, message: '请输入会议面积' }]}]" <a-input placeholder='会议面积'
v-decorator="['area',{rules: [{ required: true, message: '请输入会议面积' }]}]"
disabled='disabled' /> disabled='disabled' />
</a-form-item> </a-form-item>
</a-col> </a-col>
@ -69,12 +72,14 @@
<a-col :span='10'> <a-col :span='10'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='会议地址 '> <a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='会议地址 '>
<a-input placeholder='会议地址' v-decorator="['address',{rules: [{ required: true, message: '输入会议地址' }]}]" /> <a-input placeholder='会议地址'
v-decorator="['address',{rules: [{ required: true, message: '输入会议地址' }]}]" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span='10'> <a-col :span='10'>
<a-form-item label='是否启用' :labelCol='labelCol' :wrapperCol='wrapperCol'> <a-form-item label='是否启用' :labelCol='labelCol' :wrapperCol='wrapperCol'>
<a-select v-decorator="['isShow',{rules: [{ required: true, message: '请选择是否启用'}]}]" placeholder='是否启用'> <a-select v-decorator="['isShow',{rules: [{ required: true, message: '请选择是否启用'}]}]"
placeholder='是否启用'>
<a-select-option :value='0'> <a-select-option :value='0'>
@ -90,7 +95,8 @@
<a-col :span='10'> <a-col :span='10'>
<a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='负责人'> <a-form-item :labelCol='labelCol' :wrapperCol='wrapperCol' label='负责人'>
<a-input placeholder='负责人' v-decorator="['headName',{rules: [{ required: true, message: '输入负责人' }]}]" /> <a-input placeholder='负责人'
v-decorator="['headName',{rules: [{ required: true, message: '输入负责人' }]}]" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span='10'> <a-col :span='10'>
@ -157,16 +163,17 @@
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { saveShowroom,get } from '@/api/admin/meeting/showroom' import { saveShowroom, get } from '@/api/admin/meeting/showroom'
import { import {
getFloorList, getFloorList,
getRoomListByFloorId, getRoomListByFloorId,
selectRoomById, selectRoomById
} from '@/api/admin/meeting/roomContent' } from '@/api/admin/meeting/roomContent'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import moment from 'moment' import moment from 'moment'
import storage from 'store' import storage from 'store'
import { ACCESS_TOKEN } from '@/store/mutation-types' import { ACCESS_TOKEN } from '@/store/mutation-types'
export default { export default {
name: 'ShowroomModal', name: 'ShowroomModal',
props: {}, props: {},
@ -179,7 +186,7 @@ export default {
visible: false, visible: false,
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 5 }, sm: { span: 5 }
}, },
uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload', uploadUrl: process.env.VUE_APP_API_BASE_URL + '/api/dfs/upload',
imageUrl: '', imageUrl: '',
@ -188,7 +195,7 @@ export default {
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 }
}, },
confirmLoading: false, confirmLoading: false,
mdl: {}, mdl: {},
@ -205,7 +212,7 @@ export default {
methods: { methods: {
moment, moment,
beforeUpload (file) { beforeUpload(file) {
const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png' const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'
if (!isJpgOrPng) { if (!isJpgOrPng) {
this.$message.error('You can only upload JPG file!') this.$message.error('You can only upload JPG file!')
@ -216,7 +223,7 @@ export default {
} }
return isJpgOrPng && isLt2M return isJpgOrPng && isLt2M
}, },
handleChange (info) { handleChange(info) {
if (info.file.status === 'uploading') { if (info.file.status === 'uploading') {
this.loading = true this.loading = true
return return
@ -263,30 +270,28 @@ export default {
this.roomList = res.data this.roomList = res.data
}) })
}, },
add() { add() {
this.form.resetFields() this.form.resetFields()
this.edit({ id: 0 }) this.edit({ id: 0 })
}, },
edit(record) { edit(record) {
this.mdl = Object.assign(record) this.mdl = Object.assign(record)
console.log('this.mdl.indoorPicUrl' , this.mdl.indoorPicUrl)
if (this.mdl.indoorPicUrl) {
this.imageUrl = process.env.VUE_APP_API_BASE_URL + this.mdl.indoorPicUrl
}
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.form.setFieldsValue(pick(this.mdl, 'id', 'showroomCode', 'meetingName', 'capacityNum', 'expandNum','buildId', 'indoorPicUrl', 'address', 'startTime', 'endDate', 'isShow', 'headName', 'headPhone', 'content', 'createBy', 'createTime', 'updateBy', 'updateTime', 'version', 'deleteFlag', 'roomId', 'area')) this.form.setFieldsValue(pick(this.mdl, 'id', 'showroomCode', 'meetingName', 'capacityNum', 'expandNum', 'buildId', 'indoorPicUrl', 'address', 'startTime', 'endDate', 'isShow', 'headName', 'headPhone', 'content', 'createBy', 'createTime', 'updateBy', 'updateTime', 'version', 'deleteFlag', 'roomId', 'area'))
}) })
get(record.id).then(res =>{ get(record.id).then(res => {
let param = { let param = {
'buildingDetailId': res.buildId 'buildingDetailId': res.buildId
} }
getRoomListByFloorId(param).then((res) => { getRoomListByFloorId(param).then((res) => {
this.roomList = res.data this.roomList = res.data
}) })
this.form.setFieldsValue({ this.form.setFieldsValue({})
})
}) })
}, },
@ -328,7 +333,8 @@ export default {
*/ */
} }
} }
function getBase64 (img, callback) {
function getBase64(img, callback) {
const reader = new FileReader() const reader = new FileReader()
reader.addEventListener('load', () => callback(reader.result)) reader.addEventListener('load', () => callback(reader.result))
reader.readAsDataURL(img) reader.readAsDataURL(img)