This commit is contained in:
A1300399510
2023-07-10 19:02:29 +08:00
parent ea2dff01f3
commit ba761c23b9
10 changed files with 416 additions and 247 deletions

View File

@@ -1,5 +1,6 @@
<template>
<!-- <div id="container"></div> -->
<header-nav></header-nav>
<map-component v-if="mapComponentState" :info="info" @choosingLocation="choosingLocation" />
<choosing-identity v-if="false"></choosing-identity>
<div class="content-box flexflex">
@@ -12,7 +13,8 @@
<img class="housing-info-location-icon" src="@/assets/img/edit/location-icon.png" />
香港
</div>
<img v-if="false" class="housing-info-certifying" src="@/assets/img/edit/certifying-agent.png">
<img v-if="userIntermediary" class="housing-info-certifying"
src="@/assets/img/edit/certifying-agent.png">
<div v-else class="housing-info-identity flexcenter">{{ intermediaryObj[intermediary] }}</div>
</div>
<div class="housing-info-list" v-if="type != 'plus'">
@@ -311,49 +313,8 @@
<!-- 所在区域 -->
<div class="form-option modeOne flexacenter" v-if="intermediary != 6 && item.field == 'location'">
<!-- <div ref="location" class="modeOne-item flexacenter"
:class="{ 'pitch': info['location'], 'disabled': verified == 1 }"
style="width: 640px;border-color: rgba(170, 170, 170, 1);"
@click="verified == 1 ? '' : areaPopState = true">
<div class="modeOne-text flexacenter" v-if="info['location']">
{{ locationData[Math.floor(info.location)].name }}
<img class="form-arrows" src="@/assets/img/edit/thin-arrow.svg" />
<img class="form-arrows form-arrows-disabled"
src="@/assets/img/edit/thin-arrow-disabled.svg" />
{{ locationData[Math.floor(info.location)].data[info.location] }}
</div>
<div class="modeOne-text flexacenter" style="color: #AAAAAA;" v-else>请选择</div>
<img class="arrows-icon" src="@/assets/img/edit/arrows.svg" />
<img class="arrows-icon arrows-disabled-icon" style="transform: rotate(0);"
src="@/assets/img/edit/disabled-icon.svg" />
<img class="arrows-icon-pitch" src="@/assets/img/edit/blue-arrow.svg" /> -->
<!-- 弹窗 -->
<!-- <div class="pop area-pop-box radius16" style="position: absolute;top: 58px;height: 614px;"
v-if="areaPopState">
<div class="area-box flexflex" style="height: 100%;">
<div class="area-left">
<div class="area-item flexacenter" :class="{ 'pitchpitch': index == locationValue }"
v-for="(item, index) in locationData" :key="index"
@click.stop="handleArea(index)">
<div class="dot"></div>
{{ item.name }}
<div class="semicircle-outside"></div>
</div>
</div>
<div class="area-right flex1">
<div class="area-item flexacenter"
:class="{ 'pitchpitch': info['location'] == index }"
v-for="(item, index) in locationData[locationValue].data" :key="index"
@click.stop="handleArea(index, item)">
<div class="area-item-name">{{ item }}</div>
<img class="area-item-pitch" src="@/assets/img/edit/blue-tick.svg" />
</div>
</div>
</div>
</div> -->
<!-- </div> -->
<el-popover placement="bottom" :width="640" :show-arrow="false" trigger="click" popper-style="padding: 0;border-radius:16px;">
<el-popover placement="bottom" :width="640" :show-arrow="false" trigger="click"
popper-style="padding: 0;border-radius:16px;">
<template #reference>
<div ref="location" class="modeOne-item flexacenter"
:class="{ 'pitch': info['location'], 'disabled': verified == 1 }"
@@ -374,8 +335,6 @@
</div>
</template>
<!-- <div class="pop area-pop-box radius16" style="position: absolute;top: 58px;height: 614px;" -->
<!-- <div class="pop area-pop-box radius16" style="" v-if="areaPopState"> -->
<div class="pop area-pop-box radius16" style="">
<div class="area-box flexflex" style="height: 100%;">
<div class="area-left">
@@ -605,7 +564,6 @@
maxlength="80" show-word-limit>
</el-input>
</div>
</template>
</div>
@@ -663,14 +621,6 @@
</div>
</div>
<!-- 如何获取微信二维码 -->
<div class="flexcenter pop-mask" @click="howBoxState = false" v-if="howBoxState">
<div class="pop how-box shadow radius16" @click.stop="">
<img class="pop-close" @click.stop="howBoxState = false" src="@/assets/img/edit/close-icon.svg" />
<div class="how-title">如何获取微信二维码</div>
<img class="how-img" src="@/assets/img/edit/how-img.svg" />
</div>
</div>
<!-- 发布成功 -->
<div class="flexcenter pop-mask" @click="succeedPopState = 0" v-if="succeedPopState == 1">
<div class="pop succeed-box shadow radius16 flexflex"
@@ -737,29 +687,24 @@
<a class="succeed-examine" :href="skipUrl">查看刚刚发布的{{ intermediary == 6 ? '求' : '' }}房源</a>
</div>
</div>
<!-- 提交失败 -->
<div class="flexcenter pop-mask" @click="failPopState = false" v-if="failPopState">
<div class="pop fail-box shadow radius16 flexcenter">
<img class="pop-close" src="@/assets/img/edit/close-icon.svg" />
<img class="fail-icon" src="@/assets/img/edit/fail-icon.png" />
<div class="fail-title">提交失败</div>
<div class="fail-text">已存为草稿</div>
<div class="fail-hint">房源数量已达上限</div>
<div class="fail-hint" style="margin-bottom: 57px;">下架旧房源便可发布新房源</div>
<div class="fail-btn flexcenter">
房源管理<img class="fail-btn-icon" src="@/assets/img/edit/fail-btn-icon.svg" />
</div>
</div>
</div>
<fail-pop :close="failPopState = false"></fail-pop>
<!-- 了解更多弹窗 -->
<about-pop :popState="aboutPopState" :intermediary="intermediary" @close="handleAboutPopState"></about-pop>
<!-- 页面底部 -->
<page-footer></page-footer>
<!-- 如何获取微信二维码 -->
<how :howBoxState="howBoxState" @close="howBoxState = false"></how>
</template>
<!-- <script charset="utf-8" src="https://map.qq.com/api/gljs?v=1.exp&key=YOUR_KEY"></script> -->
<script>
import aboutPop from '@/components/edit/about-pop.vue'
import mapComponent from '@/components/edit/map.vue'
import choosingIdentity from '@/components/edit/choosingIdentity.vue'
import pageFooter from '@/components/footer/footer.vue'
import how from '@/components/edit/how-pop.vue'
import failPop from '@/components/edit/fail-pop.vue'
import headerNav from '@/components/public/head.vue'
export default {
name: 'ZufangEdit',
@@ -767,6 +712,7 @@ export default {
return {
value: '',
user: {},
userIntermediary: false, // 用户是否是 认证中介,需要全局获取
allowpublishednum: 0,
intermediaryObj: {
1: "中介",
@@ -904,6 +850,10 @@ export default {
aboutPop,
mapComponent,
choosingIdentity,
pageFooter,
how,
failPop,
headerNav,
},
methods: {
@@ -922,7 +872,7 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
});
this.$post('/tenement/forum', {
this.$post('/tenement/pc/api/publish', {
intermediary: this.intermediary,
token: this.token,
uniqid: this.uniqid,
@@ -972,21 +922,6 @@ export default {
let info = data.info
console.log("info", info);
// info['rentalduration'] = 999
// info['type'] = 1.1
// info['leasetime'] = ""
// info['rent'] = 100
// info['property'] = 1
// info['floor'] = 20
// info['elevator'] = 1
// info['sunshinearea'] = 1
// info['acreage'] = 200
// info.location = "1.5"
// communityid: ""
// communityname: ""
if (info['type']) this.typeValue = info['type'] >>> 0
if (!info['leasetime']) info['leasetime'] = null
@@ -1145,7 +1080,7 @@ export default {
// 开始上传二维码
uploadQRCode(base64data) {
this.$post('/tenement/forum/uploadweixinqrcode', {
this.$post('/tenement/pc/api/publish/uploadweixinqrcode', {
base64data,
}).then(res => {
this.loading.close();
@@ -1217,7 +1152,7 @@ export default {
formData.append('name', target.name); // 文件名
formData.append('type', type); // 文件名
this.$axios.post('/tenement/forum/upload', formData).then(res => {
this.$axios.post('/tenement/pc/api/publish/upload', formData).then(res => {
res = res['data']
if (res.code != 200) {
@@ -1303,7 +1238,7 @@ export default {
})
}
this.$post("/tenement/forum/submit", {
this.$post("/tenement/pc/api/publish/submit", {
token: this.token,
info,
status,
@@ -1458,7 +1393,7 @@ export default {
let info = this.info
let location = `${info['longitude'] || 114.160151},${info['latitu1de'] || 22.247117}`
this.$post("/tenement/forum/placeAround", {
this.$post("/tenement/pc/api/publish/placeAround", {
location
}).then(res => {
if (res.code != 200) return
@@ -1505,7 +1440,7 @@ export default {
<style lang="less" scoped>
.content-box {
max-width: 1200px;
width: 1200px;
margin: -36px auto 50px;
align-items: flex-start;
position: relative;
@@ -1592,7 +1527,6 @@ export default {
.housing-info-head {
width: 75px;
color: #7F7F7F;
// border-right: 1px solid #aaaaaa;
}
.housing-info-trail {
@@ -1663,7 +1597,6 @@ export default {
}
.form-box {
// height: 500px;
background-color: #fff;
border: 1px solid rgba(235, 235, 235, 1);
@@ -1672,9 +1605,6 @@ export default {
color: #000;
font-size: 20px;
font-weight: 650;
// padding-top: 36px;
// padding-left: 47px;
// padding-bottom: 25px;
padding: 36px 47px 25px;
border-bottom: 1px solid #ebebeb;
}
@@ -1828,7 +1758,6 @@ export default {
font-size: 16px;
color: #555;
padding: 0 20px;
// justify-content: space-between;
cursor: pointer;
.el-icon-date:before {
@@ -2299,8 +2228,6 @@ export default {
margin-right: 35px;
}
// margin-bottom: 20px;
.input-file {
position: absolute;
top: 0;
@@ -2345,7 +2272,6 @@ export default {
width: 20px;
height: 20px;
position: absolute;
// top: 50%;
top: calc(50% - 5px);
left: 50%;
transform: translate(-50%, -50%);
@@ -2544,11 +2470,7 @@ export default {
}
.pop {
// position: fixed;
z-index: 2;
// top: 50%;
// left: 50%;
// transform: translate(-50%, -50%);
background-color: #fff;
.pop-close {
@@ -2560,25 +2482,6 @@ export default {
cursor: pointer;
}
&.how-box {
position: relative;
padding: 40px 45px 40px;
.how-title {
font-size: 20px;
font-weight: 650;
color: #000;
margin-bottom: 32px;
text-align: center;
}
.how-img {
width: 550px;
height: 584px;
}
}
&.succeed-box {
padding: 63px 0 68px;
background-image: url('@/assets/img/edit/succeed-pop-bj.svg');
@@ -2598,7 +2501,6 @@ export default {
margin-right: 12px;
}
// margin: 0 auto 93px;
margin: 0 auto 110px;
color: #333;
font-weight: 650;
@@ -2675,55 +2577,6 @@ export default {
}
&.fail-box {
width: 500px;
flex-direction: column;
padding-top: 60px;
padding-bottom: 70px;
.fail-icon {
width: 80px;
height: 80px;
margin-bottom: 22px;
}
.fail-title {
color: #333;
font-size: 24px;
font-weight: 650;
margin-bottom: 7px;
}
.fail-text {
color: #aaa;
font-size: 14px;
margin-bottom: 43px;
}
.fail-hint {
color: #555;
font-size: 16px;
margin-bottom: 14px;
}
.fail-btn {
width: 240px;
height: 50px;
background-color: rgba(98, 177, 255, 1);
border-radius: 120px;
font-size: 20px;
color: #fff;
font-weight: 700;
.fail-btn-icon {
width: 24px;
height: 24px;
margin-left: 10px;
}
}
}
&.type-pop-box {
width: 640px;
height: 181px;
@@ -2766,13 +2619,9 @@ export default {
}
&.area-pop-box {
// width: 640px;
height: 695px;
left: 0;
background-color: rgba(255, 255, 255, 1);
// -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.0784313725490196);
// -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.0784313725490196);
// box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.0784313725490196);
overflow: hidden;
z-index: 101;
@@ -2934,7 +2783,6 @@ export default {
display: none;
}
// #62B1FF
}
}
}
@@ -3096,6 +2944,5 @@ export default {
}
}
}
</style>