|
@@ -1,7 +1,7 @@
|
|
<template>
|
|
<template>
|
|
<div class="hui-flex hui-dialog">
|
|
<div class="hui-flex hui-dialog">
|
|
- <div class="hui-flex-box hui-dialog-content">
|
|
|
|
- <project-item ref="projectItem"></project-item>
|
|
|
|
|
|
+ <div class="hui-flex-box hui-dialog-content">
|
|
|
|
+ <project-item ref="projectItem" :form="houseForm"></project-item>
|
|
<el-form ref="houseForm" label-position="top" :model="houseForm">
|
|
<el-form ref="houseForm" label-position="top" :model="houseForm">
|
|
<el-form-item label="房源名称" prop="name" :rules="[{required: true, message: '请输入房源名称'}]">
|
|
<el-form-item label="房源名称" prop="name" :rules="[{required: true, message: '请输入房源名称'}]">
|
|
<el-input type="text" v-model="houseForm.name" placeholder="请输入房源名称"></el-input>
|
|
<el-input type="text" v-model="houseForm.name" placeholder="请输入房源名称"></el-input>
|
|
@@ -9,37 +9,51 @@
|
|
<el-form-item label="房间号" prop="roomNumber" :rules="[{required: true, message: '请输入房间号'}]">
|
|
<el-form-item label="房间号" prop="roomNumber" :rules="[{required: true, message: '请输入房间号'}]">
|
|
<el-input type="text" v-model="houseForm.roomNumber" placeholder="请输入房间号"></el-input>
|
|
<el-input type="text" v-model="houseForm.roomNumber" placeholder="请输入房间号"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="房源面积(m²)" prop="area" :rules="[{required: true, message: '请输入房源面积(m²)'}]">
|
|
|
|
- <el-input type="number" v-model="houseForm.area" placeholder="请输入房源面积(m²)"></el-input>
|
|
|
|
|
|
+ <el-form-item label="房源类型" prop="roomTypeId" :rules="[{required: true, message: '请选择房源类型'}]">
|
|
|
|
+ <el-select v-model="houseForm.roomTypeId" placeholder="请选择房源类型">
|
|
|
|
+ <el-option :label="item.name" :value="item.id" v-for="(item,index) in $field.field.houseType"
|
|
|
|
+ :key="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="是否装修">
|
|
<el-form-item label="是否装修">
|
|
<el-radio v-model="houseForm.decoration" :label="0">未装修</el-radio>
|
|
<el-radio v-model="houseForm.decoration" :label="0">未装修</el-radio>
|
|
<el-radio v-model="houseForm.decoration" :label="1">已装修</el-radio>
|
|
<el-radio v-model="houseForm.decoration" :label="1">已装修</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="启用日期">
|
|
|
|
- <el-date-picker v-model="houseForm.invocationDate" type="date" placeholder="其选择启用日期">
|
|
|
|
- </el-date-picker>
|
|
|
|
|
|
+ <el-form-item label="房源面积(m²)" prop="area" :rules="[{required: true, message: '请输入房源面积(m²)'}]">
|
|
|
|
+ <el-input type="number" v-model="houseForm.area" placeholder="请输入房源面积(m²)"></el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="是否公开房源">
|
|
<el-form-item label="是否公开房源">
|
|
<el-radio v-model="houseForm.openState" :label="0">不公开</el-radio>
|
|
<el-radio v-model="houseForm.openState" :label="0">不公开</el-radio>
|
|
<el-radio v-model="houseForm.openState" :label="1">公开</el-radio>
|
|
<el-radio v-model="houseForm.openState" :label="1">公开</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="产权证书/不动产权证号">
|
|
|
|
- <el-input type="text" v-model="houseForm.propertyCertificateNumber" placeholder="请输入产权证书/不动产权证号">
|
|
|
|
- </el-input>
|
|
|
|
|
|
+ <el-form-item label="启用日期">
|
|
|
|
+ <el-date-picker v-model="houseForm.invocationDate" value-format="yyyy-MM-dd" type="date"
|
|
|
|
+ placeholder="其选择启用日期">
|
|
|
|
+ </el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="招商状态">
|
|
<el-form-item label="招商状态">
|
|
<el-radio v-model="houseForm.investmentState" :label="0">未招商</el-radio>
|
|
<el-radio v-model="houseForm.investmentState" :label="0">未招商</el-radio>
|
|
<el-radio v-model="houseForm.investmentState" :label="1">已招商</el-radio>
|
|
<el-radio v-model="houseForm.investmentState" :label="1">已招商</el-radio>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="产权证书/不动产权证号">
|
|
|
|
+ <el-input type="text" v-model="houseForm.propertyCertificateNumber" placeholder="请输入产权证书/不动产权证号">
|
|
|
|
+ </el-input>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item label="房源配图" class="hui-textarea">
|
|
<el-form-item label="房源配图" class="hui-textarea">
|
|
- <upload ref="upload" :list="responsibility" type="insert"></upload>
|
|
|
|
|
|
+ <upload ref="image" :list="responsibility" type="insert"></upload>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="房源视频" class="hui-textarea">
|
|
|
|
+ <upload ref="video" :list="videoList" type="insert" text="上传视频" accept=".mp4"></upload>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="房源标签" class="hui-textarea">
|
|
<el-form-item label="房源标签" class="hui-textarea">
|
|
<tag ref="tag" type="insert" :tagType="3"
|
|
<tag ref="tag" type="insert" :tagType="3"
|
|
:tagActive="houseForm.tagIds ? houseForm.tagIds.split(',') : []">
|
|
:tagActive="houseForm.tagIds ? houseForm.tagIds.split(',') : []">
|
|
</tag>
|
|
</tag>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item label="房源视频" class="hui-textarea">
|
|
|
|
+ <custom-data ref="customData" :list="customList"></custom-data>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
</div>
|
|
</div>
|
|
<div class="hui-dialog-submit">
|
|
<div class="hui-dialog-submit">
|
|
@@ -59,6 +73,7 @@
|
|
import city from '@/components/common/city'
|
|
import city from '@/components/common/city'
|
|
import tag from '@/components/common/tag'
|
|
import tag from '@/components/common/tag'
|
|
import projectItem from '@/components/common/projectItem'
|
|
import projectItem from '@/components/common/projectItem'
|
|
|
|
+ import customData from '@/components/common/customData'
|
|
export default {
|
|
export default {
|
|
props: ['isUpdate', 'detailId'],
|
|
props: ['isUpdate', 'detailId'],
|
|
data() {
|
|
data() {
|
|
@@ -67,7 +82,7 @@
|
|
name: '', //房源名称
|
|
name: '', //房源名称
|
|
roomNumber: '',
|
|
roomNumber: '',
|
|
roomState: '', //房源状态
|
|
roomState: '', //房源状态
|
|
- roomType: '', //房源类型
|
|
|
|
|
|
+ roomTypeId: '', //房源类型
|
|
area: '',
|
|
area: '',
|
|
decoration: 0,
|
|
decoration: 0,
|
|
investmentState: 0,
|
|
investmentState: 0,
|
|
@@ -81,8 +96,9 @@
|
|
projectItemId: '',
|
|
projectItemId: '',
|
|
projectItemTargetId: ''
|
|
projectItemTargetId: ''
|
|
},
|
|
},
|
|
- specific: '',
|
|
|
|
- responsibility: []
|
|
|
|
|
|
+ responsibility: [],
|
|
|
|
+ videoList: [],
|
|
|
|
+ customList: []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -92,32 +108,32 @@
|
|
if (res.state) {
|
|
if (res.state) {
|
|
this.houseForm = res.data;
|
|
this.houseForm = res.data;
|
|
if (this.houseForm.picture) this.responsibility = JSON.parse(this.houseForm.picture);
|
|
if (this.houseForm.picture) this.responsibility = JSON.parse(this.houseForm.picture);
|
|
- if (this.houseForm.data) {
|
|
|
|
- let data = JSON.parse(this.houseForm.data);
|
|
|
|
- this.specific = data.specific;
|
|
|
|
- }
|
|
|
|
|
|
+ if (this.houseForm.video) this.videoList = JSON.parse(this.houseForm.video);
|
|
|
|
+ if (this.houseForm.data) this.customList = JSON.parse(this.houseForm.data);
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
submit() {
|
|
submit() {
|
|
- this.$refs.houseForm.validate((valid) => {
|
|
|
|
- if (valid) {
|
|
|
|
- let postData = JSON.parse(JSON.stringify(this.houseForm));
|
|
|
|
- postData.data = JSON.stringify({
|
|
|
|
- specific: this.specific
|
|
|
|
- });
|
|
|
|
- postData['picture'] = JSON.stringify(this.$refs.upload.fileList);
|
|
|
|
- postData['tagIds'] = this.$refs.tag.tagIds();
|
|
|
|
- if (this.isUpdate) {
|
|
|
|
- updateHouse(postData).then(this.successFunc);
|
|
|
|
|
|
+ this.$refs.projectItem.submit((projectData, valids) => {
|
|
|
|
+ this.$refs.houseForm.validate((valid) => {
|
|
|
|
+ if (valid && valids) {
|
|
|
|
+ let postData = JSON.parse(JSON.stringify(this.houseForm));
|
|
|
|
+ postData['picture'] = JSON.stringify(this.$refs.image.fileList);
|
|
|
|
+ postData['video'] = JSON.stringify(this.$refs.video.fileList);
|
|
|
|
+ postData['data'] = JSON.stringify(this.$refs.customData.listData);
|
|
|
|
+ postData['tagIds'] = this.$refs.tag.tagIds();
|
|
|
|
+ postData = Object.assign(postData, projectData);
|
|
|
|
+ if (this.isUpdate) {
|
|
|
|
+ updateHouse(postData).then(this.successFunc);
|
|
|
|
+ } else {
|
|
|
|
+ insertHouse(postData).then(this.successFunc);
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
- insertHouse(postData).then(this.successFunc);
|
|
|
|
|
|
+ return false;
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
+ });
|
|
});
|
|
});
|
|
},
|
|
},
|
|
successFunc(res) {
|
|
successFunc(res) {
|
|
@@ -131,7 +147,8 @@
|
|
city,
|
|
city,
|
|
upload,
|
|
upload,
|
|
tag,
|
|
tag,
|
|
- projectItem
|
|
|
|
|
|
+ projectItem,
|
|
|
|
+ customData
|
|
},
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|