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

View File

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

View File

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