feat: 重构核心租住流程页面与交互体验

统一注册、看房、申请与入住等核心页面的视觉和流程衔接,补齐支付、签约与状态流转闭环,提升移动端操作连贯性。
This commit is contained in:
liangjian
2026-07-29 09:05:38 +08:00
parent da6bdc6a02
commit 1111ac148b
34 changed files with 8734 additions and 2801 deletions

View File

@@ -196,12 +196,12 @@ export default {
watch: {
currentLang() {
this.loadBannerList()
this.loadAreaList()
this.refreshSelectRoomState()
}
},
async mounted() {
this.checkLoginStatus()
await Promise.all([this.loadBannerList(), this.loadAreaList()])
await this.loadBannerList()
},
methods: {
getLocalizedBannerText(banner = {}, field = '') {
@@ -236,6 +236,29 @@ export default {
this.isLogin = session.isLogin
this.userInfo = this.isLogin ? getStoredUser() : null
},
hasActiveReservationFlow() {
const storeUser = (this.$store && this.$store.state && this.$store.state.vuex_user) || {}
if (storeUser.hasActiveReservationFlow === true) {
return true
}
if (storeUser.hasActiveReservationFlow === false) {
return false
}
const session = getSessionSnapshot()
const user = session.currentUser || session.registeredUser || session.resolvedUser || {}
if (user.hasActiveReservationFlow === true) {
return true
}
if (user.hasActiveReservationFlow === false) {
return false
}
return false
},
refreshSelectRoomState() {
if (!this.isLogin || !this.hasActiveReservationFlow()) {
this.loadAreaList()
}
},
loadBannerList() {
this.isBannerLoading = true
this.bannerLoadError = ''