|
@@ -0,0 +1,669 @@
|
|
|
|
+<!-- -->
|
|
|
|
+<template>
|
|
|
|
+<div class='con' v-loading.fullscreen.lock="loading">
|
|
|
|
+ <el-dialog :close-on-click-modal='false' title="企业信息" width="45%" :visible.sync="dialogFormVisible">
|
|
|
|
+ <el-form :model="form" :label-position="'left'" :label-width="formLabelWidth">
|
|
|
|
+ <div style="padding:0 30px;">
|
|
|
|
+ <div class="d-l">
|
|
|
|
+ <el-form-item label="信息标题">
|
|
|
|
+ <el-input v-model="form.title"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="价格">
|
|
|
|
+ <div class="c-input-con">
|
|
|
|
+ <el-input placeholder="请输入价格" maxlength="10" v-model="form.total"></el-input>
|
|
|
|
+ <span class="hover-tip">元/月</span>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="建筑面积">
|
|
|
|
+ <div class="c-input-con">
|
|
|
|
+ <el-input placeholder="请输入价格" maxlength="10" v-model="form.coveredArea"></el-input>
|
|
|
|
+ <span class="hover-tip">m²</span>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="单位朝向">
|
|
|
|
+ <el-select v-model="form.orientation" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in form.orientations"
|
|
|
|
+ :key="item.txt"
|
|
|
|
+ :label="item.txt"
|
|
|
|
+ v-model="item.txt">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="装修情况">
|
|
|
|
+ <el-select v-model="form.decorate" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in form.decorates"
|
|
|
|
+ :key="item.txt"
|
|
|
|
+ :label="item.txt"
|
|
|
|
+ v-model="item.txt">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="封面">
|
|
|
|
+ <el-upload
|
|
|
|
+ :action="serverName+'/house/upload'"
|
|
|
|
+ :headers="{token}"
|
|
|
|
+ :show-file-list="true"
|
|
|
|
+ :before-upload="beforeAvatarUpload"
|
|
|
|
+ :on-change="handleChange"
|
|
|
|
+ :file-list="fileList"
|
|
|
|
+ :on-success="upload_success"
|
|
|
|
+ :on-error="upload_fail">
|
|
|
|
+ <div class="zfb-upload">
|
|
|
|
+ <img v-if="homepic" :src="homepic">
|
|
|
|
+ <div v-else>
|
|
|
|
+ <i class="el-icon-plus"></i>
|
|
|
|
+ <div class="zfb-upload-text">
|
|
|
|
+ <span v-html="$base.defaultTxt.upload_tips"></span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="v-mask">
|
|
|
|
+ <i class="iconfont icon-chongzhi"></i>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-upload>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="d-r">
|
|
|
|
+ <el-form-item label="所在楼层">
|
|
|
|
+ <el-input v-model="form.floor"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="房间数">
|
|
|
|
+ <el-input v-model="form.houseNum"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="客厅数">
|
|
|
|
+ <el-input v-model="form.parlourNum"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="卫生间数">
|
|
|
|
+ <el-input v-model="form.toiletNum"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="挂牌时间">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="form.startTime"
|
|
|
|
+ type="date"
|
|
|
|
+ placeholder="选择日期">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="用途">
|
|
|
|
+ <el-input v-model="form.purpose"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="电梯">
|
|
|
|
+ <el-select v-model="form.elevator" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in form.elevators"
|
|
|
|
+ :key="item.val"
|
|
|
|
+ :label="item.txt"
|
|
|
|
+ v-model="item.val">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="仅属">
|
|
|
|
+ <el-input v-model="form.power"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form>
|
|
|
|
+ <div style="text-align:center" class="dialog-footer">
|
|
|
|
+ <div>
|
|
|
|
+ <el-button @click="dialogFormVisible = false">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="save(c_id)">保 存</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ <div class="h-header">
|
|
|
|
+ <vcenter>
|
|
|
|
+ <div>
|
|
|
|
+ <el-dropdown >
|
|
|
|
+ <el-button type="primary">
|
|
|
|
+ {{dropdown_active.text}}
|
|
|
|
+ <i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
|
+ <el-dropdown-item style="padding:0" v-for="(item,i) in dropdown_actives" :key="i"><div style="padding:0 20px;" @click="dropdown_active=item">{{item.text}}</div></el-dropdown-item>
|
|
|
|
+ </el-dropdown-menu>
|
|
|
|
+ </el-dropdown>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="h-input">
|
|
|
|
+ <span>时间段:</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="fix-date">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="value5"
|
|
|
|
+ type="datetimerange"
|
|
|
|
+ :picker-options="pickerOptions2"
|
|
|
|
+ range-separator="-"
|
|
|
|
+ start-placeholder="开始日期"
|
|
|
|
+ end-placeholder="结束日期"
|
|
|
|
+ value-format="yyyy-MM-dd hh:mm:ss"
|
|
|
|
+ align="right">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="h-input"><span>手机号:</span></div>
|
|
|
|
+ <div>
|
|
|
|
+ <el-input v-model="userName" placeholder="输入手机号查询"></el-input>
|
|
|
|
+ </div>
|
|
|
|
+ <div>
|
|
|
|
+ <el-button @click="search" type="primary">搜索</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </vcenter>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="h-body">
|
|
|
|
+ <el-table height="520" :data="tableData" style="width: 100%;padding:0 20px;">
|
|
|
|
+ <el-table-column v-for="(item,i) in tableHeader" :key="i" :prop="item.name" :label="item.label">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="状态">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <el-switch
|
|
|
|
+ @change='changeState(scope.row)'
|
|
|
|
+ v-model="scope.row.state.st"
|
|
|
|
+ active-color="#0175dc"
|
|
|
|
+ inactive-color="#999">
|
|
|
|
+ </el-switch>
|
|
|
|
+ <span :style="{color:scope.row.state.text==='开'?'#0175dc':'#999',paddingLeft:'5px'}">{{scope.row.state.text}}</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="操作">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <span class="o-span" @click="show(scope.row)">编辑</span>
|
|
|
|
+ <span class="o-span" @click="del(scope.row)" style="color:#f56c6c;padding-left:15px;">删除</span>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ </el-table>
|
|
|
|
+ <div class="p-con">
|
|
|
|
+ <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="currentPage" :page-size="size" layout="prev, pager, next, jumper" :total="total">
|
|
|
|
+ </el-pagination>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+// 这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
|
|
|
|
+// 例如:import 《组件名称》 from '《组件路径》';
|
|
|
|
+import vcenter from '@/components/vcenter'
|
|
|
|
+import {serverName} from '@/utils/http'
|
|
|
|
+
|
|
|
|
+const tableHeader = [{
|
|
|
|
+ name: 'id',
|
|
|
|
+ label: 'ID'
|
|
|
|
+}, {
|
|
|
|
+ name: 'createTime',
|
|
|
|
+ label: '发布时间'
|
|
|
|
+}, {
|
|
|
|
+ name: 'title',
|
|
|
|
+ label: '信息标题'
|
|
|
|
+}, {
|
|
|
|
+ name: 'userName',
|
|
|
|
+ label: '发布账号'
|
|
|
|
+}]
|
|
|
|
+export default {
|
|
|
|
+ // import引入的组件需要注入到对象中才能使用
|
|
|
|
+ components: {
|
|
|
|
+ vcenter
|
|
|
|
+ },
|
|
|
|
+ data () {
|
|
|
|
+ // 这里存放数据
|
|
|
|
+ return {
|
|
|
|
+ fileList: [],
|
|
|
|
+ homepic: '',
|
|
|
|
+ serverName,
|
|
|
|
+ type: 2,
|
|
|
|
+ dropdown_actives: [
|
|
|
|
+ {
|
|
|
|
+ text: '全部',
|
|
|
|
+ id: ''
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ text: '正常',
|
|
|
|
+ id: 0
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ text: '已关闭',
|
|
|
|
+ id: 1
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ dropdown_active: {
|
|
|
|
+ text: '全部',
|
|
|
|
+ id: ''
|
|
|
|
+ },
|
|
|
|
+ tableData: [],
|
|
|
|
+ tableHeader,
|
|
|
|
+ dialogFormVisible: false,
|
|
|
|
+ currentPage: 1,
|
|
|
|
+ value3: true,
|
|
|
|
+ loading: false,
|
|
|
|
+ formLabelWidth: '100px',
|
|
|
|
+ userName: '',
|
|
|
|
+ form: {
|
|
|
|
+ total: '',
|
|
|
|
+ title: '',
|
|
|
|
+ price: '',
|
|
|
|
+ coveredArea: '',
|
|
|
|
+ utilizationArea: '',
|
|
|
|
+ startTime: '',
|
|
|
|
+ orientation: '东',
|
|
|
|
+ orientations: [{
|
|
|
|
+ txt: '东'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '南'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '西'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '北'
|
|
|
|
+ }],
|
|
|
|
+ decorates: [{
|
|
|
|
+ txt: '精装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '简装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '毛坯'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '豪华装修'
|
|
|
|
+ } ],
|
|
|
|
+ decorate: '精装',
|
|
|
|
+ floor: '',
|
|
|
|
+ houseNum: '',
|
|
|
|
+ parlourNum: '',
|
|
|
|
+ toiletNum: '',
|
|
|
|
+ power: '',
|
|
|
|
+ elevators: [{
|
|
|
|
+ txt: '有',
|
|
|
|
+ val: true
|
|
|
|
+ }, {
|
|
|
|
+ txt: '无',
|
|
|
|
+ val: false
|
|
|
|
+ }],
|
|
|
|
+ elevator: true,
|
|
|
|
+ purpose: ''
|
|
|
|
+ },
|
|
|
|
+ size: 10,
|
|
|
|
+ total: 0,
|
|
|
|
+ c_id: '',
|
|
|
|
+ inpuKey: '',
|
|
|
|
+ pickerOptions2: {
|
|
|
|
+ shortcuts: [{
|
|
|
|
+ text: '最近一周',
|
|
|
|
+ onClick (picker) {
|
|
|
|
+ const end = new Date()
|
|
|
|
+ const start = new Date()
|
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ text: '最近一个月',
|
|
|
|
+ onClick (picker) {
|
|
|
|
+ const end = new Date()
|
|
|
|
+ const start = new Date()
|
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ }
|
|
|
|
+ }, {
|
|
|
|
+ text: '最近三个月',
|
|
|
|
+ onClick (picker) {
|
|
|
|
+ const end = new Date()
|
|
|
|
+ const start = new Date()
|
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
|
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
|
+ }
|
|
|
|
+ }]
|
|
|
|
+ },
|
|
|
|
+ value5: [],
|
|
|
|
+ options: [{
|
|
|
|
+ value: '选项1',
|
|
|
|
+ label: '东'
|
|
|
|
+ }, {
|
|
|
|
+ value: '选项2',
|
|
|
|
+ label: '东南'
|
|
|
|
+ }, {
|
|
|
|
+ value: '选项3',
|
|
|
|
+ label: '南'
|
|
|
|
+ }, {
|
|
|
|
+ value: '选项4',
|
|
|
|
+ label: '西南'
|
|
|
|
+ }, {
|
|
|
|
+ value: '选项5',
|
|
|
|
+ label: '西北'
|
|
|
|
+ }],
|
|
|
|
+ value: ''
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 监听属性 类似于data概念
|
|
|
|
+ computed: {
|
|
|
|
+ token () {
|
|
|
|
+ return window.localStorage.getItem('token')
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 监控data中的数据变化
|
|
|
|
+ watch: {
|
|
|
|
+ currentPage () {
|
|
|
|
+ this.refresh()
|
|
|
|
+ },
|
|
|
|
+ size () {
|
|
|
|
+ this.refresh()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 方法集合
|
|
|
|
+ methods: {
|
|
|
|
+ search () {
|
|
|
|
+ this.currentPage === 1 ? this.refresh() : this.currentPage = 1
|
|
|
|
+ },
|
|
|
|
+ beforeAvatarUpload (file) {
|
|
|
|
+ const isLt5M = file.size / 1024 / 1024 < 5
|
|
|
|
+ if (!isLt5M) {
|
|
|
|
+ this.$message.error('上传头像图片大小不能超过 5MB!')
|
|
|
|
+ return false
|
|
|
|
+ }
|
|
|
|
+ return isLt5M
|
|
|
|
+ },
|
|
|
|
+ handleChange (file, fileList) {
|
|
|
|
+ console.log('file', file)
|
|
|
|
+ console.log('fileList', fileList)
|
|
|
|
+
|
|
|
|
+ if (fileList.length > 1) {
|
|
|
|
+ this.fileList = fileList.slice(-1)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ upload_success (data) {
|
|
|
|
+ console.log('上传成功')
|
|
|
|
+ this.homepic = data.message
|
|
|
|
+ },
|
|
|
|
+ upload_fail (data) {
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '上传失败',
|
|
|
|
+ message: data.message
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ handleSizeChange (val) {
|
|
|
|
+ console.log(`每页 ${val} 条`)
|
|
|
|
+ },
|
|
|
|
+ handleCurrentChange (val) {
|
|
|
|
+ console.log(`当前页: ${val}`)
|
|
|
|
+ },
|
|
|
|
+ refresh () {
|
|
|
|
+ this.loading = true
|
|
|
|
+ this.getData()
|
|
|
|
+ this.loading = false
|
|
|
|
+ },
|
|
|
|
+ clearInfo () {
|
|
|
|
+ this.dialogFormVisible = false
|
|
|
|
+ this.form = {
|
|
|
|
+ total: '',
|
|
|
|
+ title: '',
|
|
|
|
+ price: '',
|
|
|
|
+ coveredArea: '',
|
|
|
|
+ utilizationArea: '',
|
|
|
|
+ startTime: '',
|
|
|
|
+ orientation: '东',
|
|
|
|
+ orientations: [{
|
|
|
|
+ txt: '东'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '南'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '西'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '北'
|
|
|
|
+ }],
|
|
|
|
+ decorates: [{
|
|
|
|
+ txt: '精装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '简装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '毛坯'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '豪华装修'
|
|
|
|
+ } ],
|
|
|
|
+ decorate: '精装',
|
|
|
|
+ floor: '',
|
|
|
|
+ houseNum: '',
|
|
|
|
+ parlourNum: '',
|
|
|
|
+ toiletNum: '',
|
|
|
|
+ power: '',
|
|
|
|
+ elevators: [{
|
|
|
|
+ txt: '有',
|
|
|
|
+ val: true
|
|
|
|
+ }, {
|
|
|
|
+ txt: '无',
|
|
|
|
+ val: false
|
|
|
|
+ }],
|
|
|
|
+ elevator: true,
|
|
|
|
+ purpose: ''
|
|
|
|
+ }
|
|
|
|
+ this.homepic = ''
|
|
|
|
+ this.refresh()
|
|
|
|
+ },
|
|
|
|
+ async changeState (item) {
|
|
|
|
+ await this.$http({
|
|
|
|
+ method: 'post',
|
|
|
|
+ data: {
|
|
|
|
+ id: item.id,
|
|
|
|
+ state: (!item.state.st ? 1 : 0)
|
|
|
|
+ },
|
|
|
|
+ url: '/house/updateHouse',
|
|
|
|
+ headers: {
|
|
|
|
+ token: this.token
|
|
|
|
+ }
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.refresh()
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '错误',
|
|
|
|
+ message: res.message
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ async save (id) {
|
|
|
|
+ await this.$http({
|
|
|
|
+ method: 'post',
|
|
|
|
+ data: {
|
|
|
|
+ id,
|
|
|
|
+ title: this.form.title || null,
|
|
|
|
+ coveredArea: this.form.coveredArea || null,
|
|
|
|
+ total: this.form.total || null,
|
|
|
|
+ orientation: this.form.orientation || null,
|
|
|
|
+ floor: this.form.floor || null,
|
|
|
|
+ houseNum: this.form.houseNum || null,
|
|
|
|
+ parlourNum: this.form.parlourNum || null,
|
|
|
|
+ toiletNum: this.form.toiletNum || null,
|
|
|
|
+ elevator: this.form.elevator || null,
|
|
|
|
+ purpose: this.form.purpose || null,
|
|
|
|
+ power: this.form.power || null,
|
|
|
|
+ homepic: this.homepic || null,
|
|
|
|
+ decorate: this.form.decorate || null,
|
|
|
|
+ startTime: this.form.startTime || null
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ url: '/house/updateHouse',
|
|
|
|
+ headers: {
|
|
|
|
+ token: this.token
|
|
|
|
+ }
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.$alert('更新成功!', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ callback: action => {
|
|
|
|
+ this.clearInfo()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '错误',
|
|
|
|
+ message: res.message
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ async getData () {
|
|
|
|
+ let params = {
|
|
|
|
+ userName: this.userName || '',
|
|
|
|
+ startTime: this.value5 ? this.value5[0] : '',
|
|
|
|
+ endTime: this.value5 ? this.value5[1] : '',
|
|
|
|
+ state: this.dropdown_active.id !== '' ? this.dropdown_active.id : '',
|
|
|
|
+ type: this.type
|
|
|
|
+ }
|
|
|
|
+ let result = await this.$http({
|
|
|
|
+ method: 'post',
|
|
|
|
+ data: params,
|
|
|
|
+ url: '/house/selectHouseByType',
|
|
|
|
+ headers: {
|
|
|
|
+ token: this.token,
|
|
|
|
+ pageNum: this.currentPage,
|
|
|
|
+ pageSize: this.size
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ for (let i = 0; i < result.message.list.length; i++) {
|
|
|
|
+ result.message.list[i].createTime = this.$base.dateFormat('yyyy-MM-dd hh:mm', new Date(result.message.list[i].createTime))
|
|
|
|
+ result.message.list[i].state = this.fixState(result.message.list[i].state)
|
|
|
|
+ }
|
|
|
|
+ this.tableData = result.message.list
|
|
|
|
+
|
|
|
|
+ this.total = result.message.total
|
|
|
|
+ this.currentPage = result.message.pageNum
|
|
|
|
+ },
|
|
|
|
+ del (item) {
|
|
|
|
+ this.$confirm('此操作将删除该数据, 是否继续?', '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ cancelButtonText: '取消',
|
|
|
|
+ type: 'warning'
|
|
|
|
+ }).then(() => {
|
|
|
|
+ this.$http({
|
|
|
|
+ method: 'post',
|
|
|
|
+ data: {
|
|
|
|
+ id: item.id
|
|
|
|
+ },
|
|
|
|
+ url: '/house/deleteHouse',
|
|
|
|
+ headers: {
|
|
|
|
+ token: this.token
|
|
|
|
+ }
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
+ this.$alert('删除成功', '提示', {
|
|
|
|
+ confirmButtonText: '确定',
|
|
|
|
+ callback: action => {
|
|
|
|
+ this.refresh()
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ } else {
|
|
|
|
+ this.$notify.error({
|
|
|
|
+ title: '错误',
|
|
|
|
+ message: res.message
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ this.$message({
|
|
|
|
+ type: 'info',
|
|
|
|
+ message: '已取消删除'
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ async show (item) {
|
|
|
|
+ this.dialogFormVisible = true
|
|
|
|
+ let result = await this.$http({
|
|
|
|
+ method: 'post',
|
|
|
|
+ data: {
|
|
|
|
+ id: item.id
|
|
|
|
+ },
|
|
|
|
+ url: '/house/selectHouseById',
|
|
|
|
+ headers: {
|
|
|
|
+ token: this.token
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ let list = result.message
|
|
|
|
+ this.c_id = list.id
|
|
|
|
+ this.form = {
|
|
|
|
+ total: list.total,
|
|
|
|
+ title: list.title,
|
|
|
|
+ price: list.price,
|
|
|
|
+ coveredArea: list.coveredArea,
|
|
|
|
+ utilizationArea: list.utilizationArea,
|
|
|
|
+ startTime: list.startTime ? this.$base.dateFormat('yyyy-MM-dd', new Date(list.startTime)) : '',
|
|
|
|
+ orientation: list.orientation,
|
|
|
|
+ decorate: list.decorate,
|
|
|
|
+ floor: list.floor,
|
|
|
|
+ houseNum: list.houseNum,
|
|
|
|
+ parlourNum: list.parlourNum,
|
|
|
|
+ toiletNum: list.toiletNum,
|
|
|
|
+ power: list.power,
|
|
|
|
+ elevator: list.elevator,
|
|
|
|
+ purpose: list.purpose,
|
|
|
|
+ c_zizhi: list.c_zizhi,
|
|
|
|
+ c_state: list.c_state,
|
|
|
|
+ orientations: [{
|
|
|
|
+ txt: '东'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '南'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '西'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '北'
|
|
|
|
+ }],
|
|
|
|
+ decorates: [{
|
|
|
|
+ txt: '精装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '简装'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '毛坯'
|
|
|
|
+ }, {
|
|
|
|
+ txt: '豪华装修'
|
|
|
|
+ } ],
|
|
|
|
+ elevators: [{
|
|
|
|
+ txt: '有',
|
|
|
|
+ val: true
|
|
|
|
+ }, {
|
|
|
|
+ txt: '无',
|
|
|
|
+ val: false
|
|
|
|
+ }]
|
|
|
|
+ }
|
|
|
|
+ this.homepic = list.homepic
|
|
|
|
+ },
|
|
|
|
+ fixState (state) {
|
|
|
|
+ let obj = {}
|
|
|
|
+ switch (state) {
|
|
|
|
+ case 0:
|
|
|
|
+ obj = {
|
|
|
|
+ status: 0,
|
|
|
|
+ text: '开',
|
|
|
|
+ class: 'zfb-success',
|
|
|
|
+ st: true
|
|
|
|
+ }
|
|
|
|
+ break
|
|
|
|
+
|
|
|
|
+ case 1:
|
|
|
|
+ obj = {
|
|
|
|
+ status: 1,
|
|
|
|
+ text: '关',
|
|
|
|
+ class: 'zfb-guanbi',
|
|
|
|
+ st: false
|
|
|
|
+ }
|
|
|
|
+ break
|
|
|
|
+ default:
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ return obj
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ // 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
|
+ created () {
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ // 生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
|
+ mounted () {
|
|
|
|
+ this.refresh()
|
|
|
|
+ },
|
|
|
|
+ beforeCreate () {}, // 生命周期 - 创建之前
|
|
|
|
+ beforeMount () {}, // 生命周期 - 挂载之前
|
|
|
|
+ beforeUpdate () {}, // 生命周期 - 更新之前
|
|
|
|
+ updated () {}, // 生命周期 - 更新之后
|
|
|
|
+ beforeDestroy () {}, // 生命周期 - 销毁之前
|
|
|
|
+ destroyed () {}, // 生命周期 - 销毁完成
|
|
|
|
+ activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+@import '@/assets/style/info.scss'
|
|
|
|
+</style>
|