<template> <div> <el-dialog :title="title" :close-on-click-modal="false" v-dialogDrag :visible.sync="visible"> <el-form :model="inputForm" size="small" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''" :disabled="method==='view'" label-width="120px"> <el-row :gutter="15"> <!-- <el-col :span="12"> <el-form-item label="所属园区" prop="parkManagement.id" :rules="[ ]"> <GridSelect title="选择所属园区" labelName = 'parkName' labelValue = 'id' :value = "inputForm.parkManagement.id" :limit="1" @getValue='(value) => {inputForm.parkManagement.id=value}' :columns="[ { prop: 'parkName', label: '园区名称' }, { prop: 'placeSelectName', label: '地点' }, { prop: 'street', label: '街道' }, { prop: 'propertyPerson', label: '物业联系人' }, { prop: 'propertyPhone', label: '物业联系电话' } ]" :searchs="[ { prop: 'parkName', label: '园区名称' } ]" dataListUrl="/parkmanagement/parkManagement/list" queryEntityUrl="/parkmanagement/parkManagement/queryById"> </GridSelect> </el-form-item> </el-col> --> <el-col :span="12"> <el-form-item label="园区名称" prop="buildingName" :rules="[ {required: true, message:'园区名称不能为空', trigger:'blur'} ]"> <el-input v-model="inputForm.buildingName" placeholder="请填写园区名称" ></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="园区简介" prop="buildingDescribe" :rules="[ ]"> <el-input type="textarea" v-model="inputForm.buildingDescribe" placeholder="请填写园区简介" ></el-input> </el-form-item> </el-col> <!-- <el-col :span="12"> <el-form-item label="楼宇经度" prop="buildingLongitude" :rules="[ ]"> <el-input v-model="inputForm.buildingLongitude" placeholder="请填写楼宇经度" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇纬度" prop="buildingLatitude" :rules="[ ]"> <el-input v-model="inputForm.buildingLatitude" placeholder="请填写楼宇纬度" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇联系人" prop="buildingContacts" :rules="[ {required: true, message:'楼宇联系人不能为空', trigger:'blur'} ]"> <el-input v-model="inputForm.buildingContacts" placeholder="请填写楼宇联系人" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇联系人电话" prop="reserve2" :rules="[ {required: true, message:'楼宇联系人电话不能为空', trigger:'blur'} ]"> <el-input v-model="inputForm.reserve2" placeholder="请填写楼宇联系人电话电话" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇层数" prop="buildingNum" :rules="[ ]"> <el-input v-model="inputForm.buildingNum" placeholder="请填写楼宇层数" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇总面积" prop="buildingArea" :rules="[ {required: true, message:'楼宇总面积不能为空', trigger:'blur'} ]"> <el-input v-model="inputForm.buildingArea" placeholder="请填写楼宇总面积" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="地点" prop="placeSelectName" :rules="[ ]"> <el-input v-model="inputForm.placeSelectName" placeholder="请填写地点" disabled="disabled" ></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="街道" prop="street" :rules="[ ]"> <el-select v-model="inputForm.street" placeholder="请选择" style="width: 100%;"> <el-option v-for="item in $dictUtils.getDictList('region_management')" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="楼宇状态" prop="reserve4" :rules="[ ]"> <el-select v-model="inputForm.reserve4" placeholder="请选择" style="width: 100%;"> <el-option v-for="item in $dictUtils.getDictList('building_state')" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> </el-col> --> <el-col :span="24"> <el-form-item label="产业布局图片" prop="picture" :rules="[ ]"> <image-upload v-model="inputForm.picture" :limit="3" tip="最多上传3个图片,单个图片不要超过10M"></image-upload> </el-form-item> </el-col> <!-- <el-col :span="24"> <el-form-item label="楼宇描述" prop="buildingDescribe" :rules="[ ]"> <el-input type="textarea" v-model="inputForm.buildingDescribe" placeholder="请填写楼宇描述" ></el-input> </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="备注" prop="notes" :rules="[ ]"> <el-input type="textarea" v-model="inputForm.notes" placeholder="请填写备注" ></el-input> </el-form-item> </el-col> --> </el-row> </el-form> <span slot="footer" class="dialog-footer"> <el-button size="small" @click="visible = false">关闭</el-button> <el-button size="small" type="primary" v-if="method != 'view'" @click="doSubmit()" v-noMoreClick>确定</el-button> </span> </el-dialog> </div> </template> <script> import GridSelect from '@/components/gridSelect' import buildingManagementService from '@/api/buildinginfo/buildingManagementService' export default { data () { return { title: '', method: '', visible: false, loading: false, inputForm: { id: '', parkManagement: { id: '' }, buildingName: '', buildingLongitude: '', buildingLatitude: '', buildingContacts: '', buildingDescribe: '', buildingNum: '', buildingArea: '', buildingIndustry: '', placeSelectName: '盐城市/盐都区', street: '', placeDetailed: '', picture: '', notes: '', reserve4: '', reserve2: '' } } }, components: { GridSelect }, methods: { init (method, id) { this.method = method this.inputForm.id = id if (method === 'add') { this.title = `新建楼宇信息` } else if (method === 'edit') { this.title = '修改楼宇信息' } else if (method === 'view') { this.title = '查看楼宇信息' } this.visible = true this.loading = false this.$nextTick(() => { this.$refs.inputForm.resetFields() if (method === 'edit' || method === 'view') { // 修改或者查看 this.loading = true buildingManagementService.queryById(this.inputForm.id).then(({data}) => { this.inputForm = this.recover(this.inputForm, data) this.loading = false }) } }) }, // 表单提交 doSubmit () { this.$refs['inputForm'].validate((valid) => { if (valid) { this.loading = true buildingManagementService.save(this.inputForm).then(({data}) => { this.visible = false this.$message.success(data) this.$emit('refreshDataList') this.loading = false }).catch(() => { this.loading = false }) } }) } } } </script>