<template>
|
<div class="box-a">
|
<v-header
|
title="房屋租售审核"
|
search
|
:bar="bar"
|
@on-search="onSearch"
|
></v-header>
|
<div>
|
<v-tool-table
|
:trs="trs"
|
:tds="tds"
|
>
|
<template v-slot:houseType="{scope}">
|
{{scope.houseType ==1?'出租':'出售'}}
|
</template>
|
<template v-slot:hx="{scope}">
|
{{`${scope.brn}室${scope.lrn}厅${scope.wcn}卫`}}
|
</template>
|
<template v-slot:orient="{scope}">
|
{{['无','东','南','西','北','东南','东北','西南','西北','南北','东西'][scope.orient]}}
|
</template>
|
<template v-slot:floor="{scope}">
|
{{`${scope.floor||0}/${scope.totalFloor||0}`}}
|
</template>
|
<template v-slot:status="{scope}">
|
{{['待审核','已上架','已驳回','已下架'][scope.status]}}
|
</template>
|
<template v-slot:btn="{scope}">
|
<el-button
|
@click="see(scope,1)"
|
v-if="scope.status===0"
|
type="text"
|
>审核</el-button>
|
<el-button
|
@click="see(scope,2)"
|
type="text"
|
>查看</el-button>
|
<el-button
|
@click="clear(scope.id)"
|
type="text"
|
>删除</el-button>
|
</template>
|
</v-tool-table>
|
</div>
|
<v-tool-page
|
:item="paged"
|
@on-page="onPage"
|
></v-tool-page>
|
<!---->
|
<el-dialog
|
title="房屋审核"
|
:modal="false"
|
:close-on-click-modal="false"
|
:visible.sync="dialogVisible"
|
>
|
<div class="up-box">
|
<div class="item">
|
<div class="li">
|
<div class="label">标题:</div>
|
<div class="cont">
|
{{item.title}}</div>
|
</div>
|
</div>
|
<div class="item" style="justify-content: flex-start;">
|
<div class="label">房屋简介:</div>
|
<div class="cont">
|
{{item.introduction}}
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">类型:</div>
|
<div class="cont">
|
{{item.houseType ==1?'出租':'出售'}}</div>
|
</div>
|
<div class="li">
|
<div class="label">所在小区:</div>
|
<div class="cont">
|
{{item.houseCommunityName}}</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">房屋户型:</div>
|
<div class="cont">
|
{{`${item.brn}室${item.lrn}厅${item.wcn}卫`}}</div>
|
</div>
|
<div class="li">
|
<div class="label">房屋面积:</div>
|
<div class="cont">
|
{{item.area}}㎡</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">房屋朝向:</div>
|
<div class="cont">
|
{{['无','东','南','西','北','东南','东北','西南','西北','南北','东西'][item.orient]}}
|
</div>
|
</div>
|
<div class="li">
|
<div class="label">房屋所在楼层:</div>
|
<div class="cont">
|
{{`${item.floor||0}/${item.totalFloor||0}`}}层</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">房屋装修情况:</div>
|
<div class="cont">
|
{{item.decoration}}</div>
|
</div>
|
<div class="li">
|
<div class="label">发布人:</div>
|
<div class="cont">
|
{{item.userName}}</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">联系方式:</div>
|
<div class="cont">
|
{{item.mobile}}</div>
|
</div>
|
<div class="li">
|
<div class="label">提交时间:</div>
|
<div class="cont">
|
{{item.createAt}}</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">价格:</div>
|
<div class="cont">
|
<span>{{item.amount}}</span>元/月
|
</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">图片:</div>
|
<div class="cont">
|
<div
|
v-for="url in item.imgList"
|
class="img"
|
:key="url"
|
>
|
<img
|
:src="url || '../../static/image/noimage.jpg'"
|
alt=""
|
@click="onScaleImage(item)"
|
>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="item">
|
<div class="li">
|
<div class="label">状态:</div>
|
<div class="cont">
|
{{['待审核','已上架','已驳回','已下架'][item.status]}}
|
</div>
|
</div>
|
</div>
|
<div
|
class="item"
|
v-if="item.status===2"
|
>
|
<div class="li">
|
<div class="label">驳回原因:</div>
|
<div class="cont">
|
{{item.reason}}
|
</div>
|
</div>
|
</div>
|
<!-- <div class="item">-->
|
<!-- <div class="li">-->
|
<!-- <div class="label">状态:</div>-->
|
<!-- <div class="cont">-->
|
<!-- {{['待审核','已上架','已驳回','已下架'][item.status]}}-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<div
|
class="item"
|
v-if="examineType===1"
|
>
|
<div class="li">
|
<div class="label">审核状态:</div>
|
<div class="cont">
|
<el-radio-group v-model="status">
|
<el-radio :label="1">审核通过</el-radio>
|
<el-radio :label="2">驳回</el-radio>
|
</el-radio-group>
|
</div>
|
</div>
|
</div>
|
<div
|
class="item"
|
v-if="examineType===1 && status===2"
|
>
|
<div class="li">
|
<div class="label">驳回原因:</div>
|
<div class="cont">
|
<el-input
|
v-model="reason"
|
style="width: 400px"
|
type="textarea"
|
:rows="2"
|
placeholder="请输入驳回原因"
|
>
|
</el-input>
|
</div>
|
</div>
|
</div>
|
</div>
|
<span
|
slot="footer"
|
class="dialog-footer"
|
>
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
<el-button
|
type="primary"
|
@click="examine"
|
>确 定</el-button>
|
</span>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
export default {
|
props: [],
|
components: {},
|
data() {
|
return {
|
dialogVisible: false,
|
bar: [
|
{
|
title: "房屋类型",
|
name: "houseType",
|
type: "select",
|
list: [
|
{ label: "出售", value: 2 },
|
{ label: "出租", value: 1 },
|
],
|
},
|
{ title: "所在小区", name: "houseCommunityName" },
|
{ title: "发布人", name: "userName" },
|
{ title: "联系方式", name: "mobile" },
|
{
|
title: "状态",
|
name: "status",
|
type: "select",
|
list: [
|
{ label: "待审核", value: 0 },
|
{ label: "已驳回", value: 2 },
|
],
|
},
|
],
|
trs: [
|
{ text: "标题", val: "title" },
|
{ text: "状态", val: "btn", slot: "status" },
|
{ text: "房屋类型", val: "btn", slot: "houseType" },
|
{ text: "所在小区", val: "houseCommunityName" },
|
{ text: "房屋户型", val: "btn", slot: "hx" },
|
{ text: "房屋面积", val: "area" },
|
{ text: "房屋朝向", val: "btn", slot: "orient" },
|
{ text: "所在楼层", val: "btn", slot: "floor" },
|
{ text: "房屋装修情况", val: "decoration" },
|
{ text: "月租金/售价", val: "amount" },
|
{ text: "发布人", val: "userName" },
|
{ text: "联系方式", val: "mobile" },
|
{ text: "提交时间", val: "createAt" },
|
{ text: "操作", val: "btn", width: "200px" },
|
],
|
tds: [],
|
item: {}, //查看
|
examineType: 1, //1审核 2查看
|
status: 1, //审核状态
|
reason: "", //拒绝原因
|
paged: { page: 0, total: 0, r: 0, limit: 10, status: 4 },
|
};
|
},
|
created() {
|
this.init();
|
},
|
mounted() {},
|
methods: {
|
examine() {
|
//审核 确定
|
if (this.examineType == 1) {
|
this.item.status = this.status;
|
this.item.reason = this.reason;
|
console.log(!this.reason && this.status === 2);
|
if (!this.reason && this.status === 2) {
|
demo.toast("请输入驳回原因");
|
return;
|
}
|
this.dialogVisible = false;
|
// return;
|
this.$api.put("house", this.item, (e) => {
|
// console.log(e)
|
this.reason = "";
|
this.init();
|
});
|
}
|
},
|
see(item, type) {
|
//查看 审核
|
this.examineType = type;
|
this.dialogVisible = true;
|
item.imgList = item.photoPah.split(",");
|
// console.log(JSON.parse(JSON.stringify(item)))
|
// this.item =item
|
this.item = JSON.parse(JSON.stringify(item));
|
},
|
clear(id) {
|
//删除
|
let t = this;
|
t.$js.model("删除房屋", "是否删除房屋", (res) => {
|
if (res) {
|
t.$api.del("house?id=" + id, {}, (e) => {
|
demo.toast("删除成功");
|
t.init();
|
});
|
}
|
});
|
},
|
onSearch(e) {
|
//筛选
|
// console.log(e)
|
if (e.status === "") {
|
e.status = 4;
|
}
|
// console.log(e)
|
this.os = e;
|
this.init();
|
},
|
init() {
|
Object.assign(this.paged, this.os);
|
this.$api.post("pagehouse", this.paged, (e) => {
|
this.tds = e.records;
|
this.paged.total = e.total;
|
// console.log(e)
|
});
|
},
|
onPage(v) {
|
if (v.page === this.paged.page && v.page && !v.reset) {
|
return 0;
|
}
|
this.paged.page = v.page;
|
this.paged.limit = v.limit;
|
this.init();
|
},
|
// 查看大图
|
onScaleImage(v) {
|
this.$store.dispatch("setImage", {
|
time: Date.now(),
|
title: '',
|
pic: v,
|
tool: true,
|
});
|
},
|
},
|
watch: {},
|
computed: {},
|
};
|
</script>
|
<style scoped>
|
.box-a {
|
overflow: scroll;
|
}
|
.item {
|
padding: 10px 0;
|
width: 100%;
|
display: flex;
|
justify-content: space-between;
|
}
|
.li {
|
display: flex;
|
}
|
.label {
|
display: flex;
|
flex-direction: row-reverse;
|
align-items: center;
|
min-width: 80px;
|
}
|
|
.cont {
|
min-width: 200px;
|
display: flex;
|
flex-wrap: wrap;
|
}
|
.cont > span {
|
color: red;
|
font-size: 30px;
|
}
|
.img {
|
max-width: 120px;
|
max-height: 60px;
|
margin: 5px;
|
}
|
.img > img {
|
width: 100%;
|
height: 100%;
|
|
object-fit: cover;
|
}
|
</style>
|