修改编辑页面、修改bug

This commit is contained in:
A1300399510
2023-08-08 16:01:06 +08:00
parent 0d6f1a508a
commit 9e3dba4c87
4 changed files with 115 additions and 74 deletions

View File

@@ -1,5 +1,6 @@
<template>
<div class="flexcenter pop-mask">
<img class="cross" src="@/assets/img/edit/close-icon.svg" @click="$emit('choosingLocation')" />
<div class="pop">
<div id="map"></div>
<iframe id="mapPage" width="100%" height="100%" frameborder=0
@@ -33,7 +34,7 @@ export default {
longitude: 22.3926,
latitude: 114.1332
}
},
},
key: "MVNBZ-PEFWI-O4OGT-5ADVJ-7QAYJ-NBFY4",
latlng: {
@@ -60,7 +61,6 @@ export default {
// 接收位置信息,用户选择确认位置点后选点组件会触发该事件,回传用户的位置信息
var loc = event.data;
if (loc && loc.module == 'locationPicker') {//防止其他应用也会向该页面post信息需判断module是否为'locationPicker'
console.log('location', loc);
let { latlng, poiname } = loc
that.$emit('choosingLocation', {
poiname,
@@ -90,4 +90,14 @@ export default {
border-radius: 20px;
padding: 20px;
}
.cross {
width: 15px;
height: 15px;
position: fixed;
top: 10px;
right: 5px;
z-index: 111;
cursor: pointer;
}
</style>

View File

@@ -24,6 +24,7 @@ let htmlRef = ref(null)
const init1 = () => {
if (document.documentElement.clientHeight <= 724) {
store.state.showloginmodal = false
goTologin()
return
}

View File

@@ -14,7 +14,7 @@ axios.interceptors.request.use( //响应拦截
showFullScreenLoading()
// 开发时登录用的,可以直接替换小程序的 authorization
// if (process.env.NODE_ENV == "development") config['headers']['authorization'] = "x2mmnl9grt51bpplj2k6ioiuummzhnw3"
if (process.env.NODE_ENV == "development") config['headers']['authorization'] = "0h870ovk2xckoqfsh8a3t3sg4sg5z7eg"
// if (process.env.NODE_ENV == "development") config['headers']['authorization'] = "0h870ovk2xckoqfsh8a3t3sg4sg5z7eg"
return config;
},
error => {

View File

@@ -23,13 +23,12 @@
方式五 单行输入框 单位
-->
<!-- 出租方式 -->
<div v-if="item.field === 'type'" ref="type" class="form-option modeOne flexacenter">
<div v-if="item.field === 'type'" class="form-option modeOne flexacenter">
<el-popover placement="bottom" :width="640" v-model:visible="typePopState" :show-arrow="false"
trigger="click" popper-style="padding:0; border-radius:16px;" popper-class="popover-leasetime"
:disabled="verified == 1">
trigger="click" popper-style="padding:0; border-radius:16px;" popper-class="popover-leasetime">
<template #reference>
<div class="modeOne-item flexacenter wid640" :class="{ 'pitch': info['type'] }"
style="border-color: rgba(235, 235, 235, 1);">
style="border-color: rgba(235, 235, 235, 1);" ref="type">
<div class="modeOne-text flexacenter" v-if="info['type']">
{{ typeData[info['type'] >>> 0]['name'] }}
<img class="form-arrows" src="@/assets/img/edit/thin-arrow.svg" />
@@ -78,11 +77,11 @@
<div v-if="item.field === 'rentalduration'" class="form-option modeOne flexacenter">
<el-popover placement="bottom" :width="640" v-model:visible="rentaldurationPopState"
:show-arrow="false" trigger="click" popper-style="padding:0; border-radius:16px;"
popper-class="popover-leasetime" :disabled="verified == 1">
popper-class="popover-leasetime">
<template #reference>
<div class="modeOne-item flexacenter wid640"
:class="{ 'pitch': info['rentalduration'] != null }"
style="border-color: rgba(235, 235, 235, 1);">
style="border-color: rgba(235, 235, 235, 1);" ref="rentalduration">
<div class="modeOne-text flexacenter" v-if="info['rentalduration'] != null">
{{ rentaldurationObj[info['rentalduration']] }}
</div>
@@ -90,7 +89,7 @@
<img class="arrows-icon" src="@/assets/img/edit/arrows.svg" />
</div>
</template>
<div class="one-list" v-if="!rentaldurationTwo">
<div class="one-list" v-if="!rentaldurationTwoState">
<div class="item flexacenter">
<div class="dot"></div>
<div class="content flex1 flexacenter"
@@ -104,16 +103,16 @@
</div>
<div class="item flexacenter">
<div class="dot"></div>
<div class="content flex1 flexacenter" @click="rentaldurationTwo = true">
<div class="content flex1 flexacenter" @click="rentaldurationTwoState = true">
<div class="text">选择租期</div>
<img class="icon" src="@/assets/img/edit/thin-arrow-disabled.svg">
</div>
</div>
</div>
<div class="two-list flexflex" v-if="rentaldurationTwo">
<div class="two-list flexflex" v-else>
<div class="left">
<div class="item flexacenter" @click="rentaldurationTwo = false">
<div class="item flexacenter" @click="rentaldurationTwoState = false">
<div class="dot"></div>
<div class="content flexacenter"
@click="setValue('rentalduration', 0), rentaldurationPopState = false">
@@ -141,45 +140,31 @@
</div>
<!-- 起租日期 -->
<div v-if="item.field === 'leasetime'" class="form-option modeOne flexacenter">
<!-- <div class="modeTwo-item flexcenter" :class="{ 'pitch': info['leasetime'] == 0 }" ref="leasetime"
@click="setValue('leasetime', 0)">随时</div>
<div class="modeTwo-item flexacenter" :class="{ 'pitch': info['leasetime'] }" ref="leasetime">
<el-config-provider :locale="locale">
<el-date-picker prefix-icon="" clear-icon="" :disabled-date="disabledDate"
v-model="info.leasetime" type="date" placeholder="选择日期"></el-date-picker>
</el-config-provider>
<img class="arrows-icon rotate0" src="@/assets/img/edit/arrows.svg" />
<img class="arrows-icon-pitch rotate0" src="@/assets/img/edit/blue-arrow.svg" />
</div> -->
<!-- <div class="modeOne-item flexacenter wid640" style="border-color: rgba(170, 170, 170, 1);">
<div class="modeOne-text flexacenter" v-if="info['leasetime']">{{ info['leasetime'] }}</div>
<div class="modeOne-text flexacenter" v-else style="color: #AAAAAA;">请选择</div>
<img class="arrows-icon" src="@/assets/img/edit/arrows.svg" /> -->
<!-- <img class="arrows-icon-pitch" src="@/assets/img/edit/blue-arrow.svg"
style="transform: rotate(0);" />
<img class="arrows-icon arrows-disabled-icon" style="transform: rotate(0);"
src="@/assets/img/edit/disabled-icon.svg" /> -->
<!-- </div> -->
<el-popover placement="bottom" :width="640" :show-arrow="false" trigger="click"
popper-style="padding:0; border-radius:16px;" popper-class="popover-leasetime"
:disabled="verified == 1">
v-model:visible="leasetimePopState">
<template #reference>
<div class="modeOne-item flexacenter wid640" style="border-color: rgba(170, 170, 170, 1);">
<div class="modeOne-text flexacenter" v-if="info['leasetime']">{{ info['leasetime'] }}
<div class="modeOne-item flexacenter wid640"
:class="{ 'pitch': info['leasetime'] != null }">
<div class="modeOne-text flexacenter" v-if="info['leasetime'] != null" ref="leasetime">
{{
info['leasetime'] || '随时' }}
</div>
<div class="modeOne-text flexacenter" v-else style="color: #AAAAAA;">请选择</div>
<img class="arrows-icon" src="@/assets/img/edit/arrows.svg" />
</div>
</template>
<div class="one-list" v-if="false">
<div class="item flexacenter">
<div class="one-list" v-if="!leasetimeTwoState">
<div class="item flexacenter" @click="setValue('leasetime', 0), leasetimePopState = false">
<div class="dot"></div>
<div class="content flex1 flexacenter">
<div class="content flex1 flexacenter"
:class="{ 'pitch': info['leasetime'] == 0 && info['leasetime'] != null }">
<div class="text">随时</div>
<img class="icom" v-if="info['leasetime'] == 0 && info['leasetime'] != null"
src="@/assets/img/edit/blue-tick.svg" />
</div>
</div>
<div class="item flexacenter">
<div class="item flexacenter" @click="leasetimeTwoState = true">
<div class="dot"></div>
<div class="content flex1 flexacenter">
<div class="text">起租日期</div>
@@ -188,9 +173,10 @@
</div>
</div>
<div class="two-list flexflex">
<div class="two-list flexflex" v-else>
<div class="left">
<div class="item flexacenter">
<div class="item flexacenter"
@click="setValue('leasetime', 0), leasetimeTwoState = false, leasetimePopState = false">
<div class="dot"></div>
<div class="content flexacenter">
<div class="text">随时</div>
@@ -204,15 +190,12 @@
</div>
</div>
</div>
<div class="right flex1">
<div class="right flex1" style="height: 342px;">
<el-config-provider :locale="locale">
<!-- <el-date-picker prefix-icon="" clear-icon="" :disabled-date="disabledDate"
v-model="info.leasetime" type="date" placeholder="选择日期" ref="daterange"
:pickerVisible.sync="true" @blur="chooseDate"></el-date-picker> -->
<el-date-picker v-model="info.leasetime" :picker-options="pickerOptions"
ref="datePicker" popover-class="el-date-picker__popover--right">
></el-date-picker>
<el-date-picker v-model="info.leasetime" :teleported="false" type="date"
value-format="YYYY-MM-DD" popper-class="picker-leasetime"
:disabled-date="disabledDate" @update:modelValue="leasetimePopState = false">
</el-date-picker>
</el-config-provider>
</div>
@@ -412,8 +395,7 @@
trigger="click" popper-style="padding:0; border-radius:16px;" :disabled="verified == 1">
<template #reference>
<div ref="location" class="modeOne-item flexacenter"
:class="{ 'pitch': info['location'], 'disabled': verified == 1 }"
style="width: 640px;border-color: rgba(170, 170, 170, 1);">
:class="{ 'pitch': info['location'], 'disabled': verified == 1 }" style="width: 640px;">
<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" />
@@ -460,7 +442,7 @@
v-if="intermediary != 6 && (item.field == 'address' && info['location'])">
<div class="modeOne-item flexacenter"
:class="{ 'pitch': info['address'], 'disabled': verified == 1 && info['address'] }"
style="width: 640px;border-color: rgba(170, 170, 170, 1);"
style="width: 640px;"
@click="verified == 1 && info['address'] ? '' : handleLocationData()">
<div class="modeOne-text flexacenter" v-if="info['address']">{{ info['address'] }}</div>
<div class="modeOne-text flexacenter" v-else style="color: #AAAAAA;">请选择</div>
@@ -498,14 +480,13 @@
<div class="form-item" v-if="info['address'] && verified == 0">
<div class="form-title flexacenter">所属小区</div>
<div class="form-option modeOne flexacenter">
<!-- <el-popover v-if="info['communityid'] !== 0" v-model:visible="residentialAreaState" -->
<el-popover v-if="!isCommunityListNoData" v-model:visible="residentialAreaState" placement="bottom"
:width="640" :show-arrow="false" trigger="contextmenu"
popper-style="padding:0; border-radius:16px;" :disabled="verified == 1">
<el-popover v-model:visible="residentialAreaState" placement="bottom"
:width="640" :show-arrow="false" trigger="focus" popper-style="padding:0; border-radius:16px;"
:disabled="verified == 1">
<template #reference>
<div ref="communityname" class="modeOne-item flexacenter"
:class="{ 'pitch': info['communityname'], 'disabled': verified == 1 }"
style="width: 640px;border-color: rgb(170, 170, 170);" @click="handleResidentialArea()">
style="width: 640px;border-color: rgb(170, 170, 170);" @click="handleResidentialArea()" v-if="!isCommunityListNoData">
<div class="modeOne-text ellipsis flex1" v-if="info['communityname']"
style="padding-right: 10px;">{{ info.communityname }}
</div>
@@ -515,7 +496,6 @@
src="@/assets/img/edit/disabled-icon.svg" />
<img class="arrows-icon-pitch" src="@/assets/img/edit/blue-arrow.svg" />
</div>
</template>
<div class="residential-area scrollbar">
@@ -532,12 +512,12 @@
<div class="residential-item flexacenter">
<div class="residential-dot" style="background-color: transparent;"></div>
<input class="residential-text residential-input flex1" maxlength="150"
@blur="info['communityid'] = 0" v-model="info.communityname" placeholder="请填写小区名称"
@keyup.enter="residentialAreaState = false" />
@input="info['communityid'] = 0" v-model="info.communityname"
placeholder="请填写小区名称" />
</div>
</div>
</el-popover>
<div v-else ref="communityname" class="modeOne-item flexacenter"
<div v-if="isCommunityListNoData" ref="communityname" class="modeOne-item flexacenter"
:class="{ 'pitch': info['communityname'], 'disabled': verified == 1 }"
style="width: 640px;border-color: rgb(170, 170, 170);">
<input class="communityname-input" v-model="info.communityname" placeholder="请填写" />
@@ -916,7 +896,12 @@ export default {
verified: 0, // 房源是否已经验证
rentaldurationTwo: false, // 出租时长的二级显示状态
rentaldurationTwoState: false, // 出租时长的二级显示状态
leasetimeTwoState: false, // 起租日期的二级显示状态
leasetimePopState: false, // 起租日期的弹窗状态
isCommunityListNoData: false, // 所属小区请求后是否是没有数据
loading: null, // 加载
@@ -1021,8 +1006,6 @@ export default {
}, {});
rentaldurationObj[0] = "不限"
console.log("rentaldurationObj", rentaldurationObj);
let info = data.info
@@ -1031,6 +1014,12 @@ export default {
let intermediary = data.intermediary
if (data['type'] == "edit") {
if (!info['rentalduration']) info['rentalduration'] = 0
if (info['rentalduration'] != null && info['rentalduration'] != 0) this.rentaldurationTwoState = true
if (info['leasetime'] != null && info['leasetime'] != 0) this.leasetimeTwoState = true
}
if (intermediary == 6) {
@@ -1490,13 +1479,17 @@ export default {
// 选择地点后
choosingLocation(value) {
if (!value) {
this.mapComponentState = false
return
}
let info = this.info
info['address'] = value['poiname']
info['latitude'] = value['latlng']['lat']
info['longitude'] = value['latlng']['lng']
this.mapComponentState = false
// this.isResidentialAreaUpdate = true
this.isResidentialAreaUpdate = true
},
// 初始化时判断所属小区是否需要获取列表
@@ -1515,8 +1508,8 @@ export default {
return
}
let data = res.data
this.communityList = data
this.residentialAreaState = true
this.communityList = data
this.isResidentialAreaUpdate = false
})
} else this.residentialAreaState = true
@@ -1561,12 +1554,7 @@ export default {
return false; // 返回 false 表示日期未被禁用
},
chooseDate() {
console.log(this.$refs.daterange);
return
this.$refs.daterange.focus(); // 选择日期后依旧触发焦点
},
},
@@ -1838,7 +1826,7 @@ export default {
&.modeFour {
width: 640px;
border: 1px solid rgba(170, 170, 170, 1);
border: 1px solid #ebebeb;
border-radius: 10px;
overflow: hidden;
@@ -2983,6 +2971,10 @@ export default {
color: #555555;
margin-right: 26px;
justify-content: space-between;
&.pitch {
color: #62B1FF;
}
}
@@ -3027,6 +3019,41 @@ export default {
.right {
margin: 0 30px;
/deep/ .picker-leasetime {
display: block !important;
inset: 15px 0 0 265px !important;
box-shadow: none;
border: none;
.el-date-table th {
text-align: center;
}
.el-popper__arrow {
display: none;
}
.el-date-picker {
box-shadow: none;
border: none;
}
.el-picker-panel__icon-btn {
margin-left: 10px;
margin-right: 10px;
}
}
/deep/ .el-input {
// color: transparent;
// border-color: transparent;
display: none;
.el-input__wrapper {
box-shadow: none;
}
}
.item {
height: 60px;
cursor: pointer;
@@ -3060,7 +3087,10 @@ export default {
}
.el-popover.popover-leasetime {}
// .el-picker.picker-leasetime {
// display: block;
// }
.rotate0 {
transform: rotate(0deg) !important;