| | |
| | | <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> |