|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <GlobalWindow | 
|---|
|  |  |  | :title="title" | 
|---|
|  |  |  | :visible.sync="visible" | 
|---|
|  |  |  | :confirm-working="isWorking" | 
|---|
|  |  |  | @confirm="confirm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <GlobalWindow width="720px" :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> | 
|---|
|  |  |  | <el-form :model="form" ref="form" :rules="rules"> | 
|---|
|  |  |  | <el-form-item label="创建人编码" prop="creator"> | 
|---|
|  |  |  | <el-input v-model="form.creator" placeholder="请输入创建人编码" v-trim/> | 
|---|
|  |  |  | <el-form-item label="所属项目" prop="projectId"> | 
|---|
|  |  |  | <el-select v-model="form.projectId" @change="changeProject" placeholder="请选择项目" clearable> | 
|---|
|  |  |  | <el-option v-for="item in projectList" :key="item.id" :label="item.name" :value="item.id"></el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="创建时间" prop="createDate"> | 
|---|
|  |  |  | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker> | 
|---|
|  |  |  | <el-form-item label="所属楼宇" prop="buildingId"> | 
|---|
|  |  |  | <el-select v-model="form.buildingId" @change="changeBuild" placeholder="请选择楼宇" clearable> | 
|---|
|  |  |  | <el-option v-for="item in buildList" :key="item.id" :label="item.name" :value="item.id"></el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="更新人编码" prop="editor"> | 
|---|
|  |  |  | <el-input v-model="form.editor" placeholder="请输入更新人编码" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="更新时间" prop="editDate"> | 
|---|
|  |  |  | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="是否删除0否 1是" prop="isdeleted"> | 
|---|
|  |  |  | <el-input v-model="form.isdeleted" placeholder="请输入是否删除0否 1是" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="名称" prop="name"> | 
|---|
|  |  |  | <el-input v-model="form.name" placeholder="请输入名称" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="备注" prop="remark"> | 
|---|
|  |  |  | <el-input v-model="form.remark" placeholder="请输入备注" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="状态 0启用 1禁用" prop="status"> | 
|---|
|  |  |  | <el-input v-model="form.status" placeholder="请输入状态 0启用 1禁用" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="排序码" prop="sortnum"> | 
|---|
|  |  |  | <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="图标" prop="imgurl"> | 
|---|
|  |  |  | <el-input v-model="form.imgurl" placeholder="请输入图标" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="房间编号" prop="code"> | 
|---|
|  |  |  | <el-input v-model="form.code" placeholder="请输入房间编号" v-trim/> | 
|---|
|  |  |  | <el-form-item label="楼层" prop="floor"> | 
|---|
|  |  |  | <el-select v-model="form.floor" placeholder="请选择楼层" clearable> | 
|---|
|  |  |  | <el-option v-for="item in floorList" :key="item.id" :label="item.name" :value="item.id"></el-option> | 
|---|
|  |  |  | </el-select> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="房号" prop="roomNum"> | 
|---|
|  |  |  | <el-input v-model="form.roomNum" placeholder="请输入房号" v-trim/> | 
|---|
|  |  |  | <el-input v-model="form.roomNum" placeholder="请输入房号" v-trim /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="是否招商 0否 1是" prop="isInvestment"> | 
|---|
|  |  |  | <el-input v-model="form.isInvestment" placeholder="请输入是否招商 0否 1是" v-trim/> | 
|---|
|  |  |  | <el-form-item label="房间编号" prop="code"> | 
|---|
|  |  |  | <el-input v-model="form.code" placeholder="请输入房间编号" v-trim /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="建筑面积(平方米)" prop="area"> | 
|---|
|  |  |  | <el-input v-model="form.area" placeholder="请输入建筑面积(平方米)" v-trim/> | 
|---|
|  |  |  | <el-form-item label="是否招商" prop="isInvestment"> | 
|---|
|  |  |  | <el-switch v-model="form.isInvestment" :active-value="1" :inactive-value="0"> | 
|---|
|  |  |  | </el-switch> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="计费面积(平方米)" prop="feeArea"> | 
|---|
|  |  |  | <el-input v-model="form.feeArea" placeholder="请输入计费面积(平方米)" v-trim/> | 
|---|
|  |  |  | <el-form-item label="建筑面积(m²)" prop="area"> | 
|---|
|  |  |  | <el-input v-model="form.area" placeholder="请输入建筑面积(m²)" v-trim /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="计租面积(平方米)" prop="rentArea"> | 
|---|
|  |  |  | <el-input v-model="form.rentArea" placeholder="请输入计租面积(平方米)" v-trim/> | 
|---|
|  |  |  | <el-form-item label="计租面积(m²)" prop="rentArea"> | 
|---|
|  |  |  | <el-input v-model="form.rentArea" placeholder="请输入计租面积(m²)" v-trim /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="楼层数" prop="floor"> | 
|---|
|  |  |  | <el-input v-model="form.floor" placeholder="请输入楼层数" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="所属项目编码(关联yw_project)" prop="projectId"> | 
|---|
|  |  |  | <el-input v-model="form.projectId" placeholder="请输入所属项目编码(关联yw_project)" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="所属项目编码(关联yw_building)" prop="buildingId"> | 
|---|
|  |  |  | <el-input v-model="form.buildingId" placeholder="请输入所属项目编码(关联yw_building)" v-trim/> | 
|---|
|  |  |  | <el-form-item label="计费面积(m²)" prop="feeArea"> | 
|---|
|  |  |  | <el-input v-model="form.feeArea" placeholder="请输入计费面积(m²)" v-trim /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </GlobalWindow> | 
|---|
|  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import BaseOpera from '@/components/base/BaseOpera' | 
|---|
|  |  |  | import GlobalWindow from '@/components/common/GlobalWindow' | 
|---|
|  |  |  | import { getProjectList } from '@/api/project/ywProject' | 
|---|
|  |  |  | import { getBuildList } from '@/api/project/ywBuilding' | 
|---|
|  |  |  | import { getFloorList } from '@/api/project/yeFloor' | 
|---|
|  |  |  | import { detailById } from '@/api/project/ywRoom' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'OperaYwRoomWindow', | 
|---|
|  |  |  | extends: BaseOpera, | 
|---|
|  |  |  | components: { GlobalWindow }, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | data() { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 表单数据 | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | 
|---|
|  |  |  | imgurl: '', | 
|---|
|  |  |  | code: '', | 
|---|
|  |  |  | roomNum: '', | 
|---|
|  |  |  | isInvestment: '', | 
|---|
|  |  |  | isInvestment: 0, | 
|---|
|  |  |  | area: '', | 
|---|
|  |  |  | feeArea: '', | 
|---|
|  |  |  | rentArea: '', | 
|---|
|  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // 验证规则 | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | projectId: [{ required: true, message: '请选择项目名称' }], | 
|---|
|  |  |  | buildingId: [{ required: true, message: '请选择项目名称' }], | 
|---|
|  |  |  | floor: [{ required: true, message: '请选择楼层' }], | 
|---|
|  |  |  | roomNum: [{ required: true, message: '请输入房号' }], | 
|---|
|  |  |  | isInvestment: [{ required: true, message: '是否招商' }], | 
|---|
|  |  |  | area: [{ required: true, message: '请输入建筑面积' }], | 
|---|
|  |  |  | rentArea: [{ required: true, message: '请输入计租面积' }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | projectList: [], | 
|---|
|  |  |  | buildList: [], | 
|---|
|  |  |  | floorList: [], | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created () { | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.config({ | 
|---|
|  |  |  | api: '/project/ywRoom', | 
|---|
|  |  |  | 'field.id': 'id' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | open(title, target, type) { | 
|---|
|  |  |  | this.title = title | 
|---|
|  |  |  | this.visible = true | 
|---|
|  |  |  | this.getProject() | 
|---|
|  |  |  | this.buildList = [] | 
|---|
|  |  |  | this.floorList = [] | 
|---|
|  |  |  | // 新建组织 | 
|---|
|  |  |  | if (target == null) { | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.$refs.form.resetFields() | 
|---|
|  |  |  | this.form[this.configData['field.id']] = null | 
|---|
|  |  |  | this.form.type = type | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 编辑 | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.getDetail(target.id) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | confirm() { | 
|---|
|  |  |  | if (!this.form.feeArea) { | 
|---|
|  |  |  | this.form.feeArea = this.form.rentArea | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (this.form.id == null || this.form.id === '') { | 
|---|
|  |  |  | this.__confirmCreate() | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.__confirmEdit() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getDetail(id) { | 
|---|
|  |  |  | detailById(id).then(res => { | 
|---|
|  |  |  | this.form = res || {} | 
|---|
|  |  |  | if (res.projectId) { | 
|---|
|  |  |  | getBuildList({ projectId: res.projectId }).then(res => { | 
|---|
|  |  |  | this.buildList = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (res.buildingId) { | 
|---|
|  |  |  | getFloorList({ buildingId: res.buildingId }).then(res => { | 
|---|
|  |  |  | this.floorList = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getProject() { | 
|---|
|  |  |  | getProjectList({}).then(res => { | 
|---|
|  |  |  | this.projectList = res || [] | 
|---|
|  |  |  | if (this.projectList.length > 0) { | 
|---|
|  |  |  | this.$set(this.form, 'projectId', this.projectList[0].id) | 
|---|
|  |  |  | this.changeProject(this.projectList[0].id) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeProject(e) { | 
|---|
|  |  |  | this.form.buildingId = '' | 
|---|
|  |  |  | getBuildList({ projectId: e }).then(res => { | 
|---|
|  |  |  | this.buildList = res || [] | 
|---|
|  |  |  | // if(this.buildList.length > 0){ | 
|---|
|  |  |  | //   this.form.buildingId = this.buildList[0].id | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeBuild(e) { | 
|---|
|  |  |  | this.form.floor = '' | 
|---|
|  |  |  | getFloorList({ buildingId: e }).then(res => { | 
|---|
|  |  |  | this.floorList = res || [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|