From 29e15a09d64705ca09cf3e76f7eaa2383a007d9d Mon Sep 17 00:00:00 2001 From: gongfuxiang Date: Thu, 24 Apr 2025 15:47:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E9=80=89=E6=8B=A9=E5=88=86?= =?UTF-8?q?=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 3 ++ components/certificate/certificate.vue | 9 ++++-- pages.json | 8 ++++- .../region-picker/region-picker.vue | 9 +++++- pages/user-address-save/user-address-save.vue | 29 ++++++++++--------- 5 files changed, 39 insertions(+), 19 deletions(-) rename {components => pages/common/components}/region-picker/region-picker.vue (96%) diff --git a/App.vue b/App.vue index 21e23acc..6b5d68b1 100644 --- a/App.vue +++ b/App.vue @@ -168,6 +168,9 @@ // 获取位置选择缓存key cache_userlocation_key: 'cache_userlocation_key', + // 地区选择缓存key + cache_region_picker_choice_key: 'cache_region_picker_choice_key', + // 页面支付临时缓存key cache_page_pay_key: 'cache_page_pay_key', diff --git a/components/certificate/certificate.vue b/components/certificate/certificate.vue index 21e7e06d..0be31832 100644 --- a/components/certificate/certificate.vue +++ b/components/certificate/certificate.vue @@ -72,9 +72,12 @@ var current_page = app.globalData.current_page(); // 业务数据 if(user != null && current_page.indexOf('pages/plugins/certificate/') == -1 && current_page.indexOf('pages/web-view/web-view') == -1 && (this.config || null) != null && (this.config.user_auth_business_data || null) != null && (this.config.business_type_data || null) != null) { - this.setData({ - popup_status: true, - }); + // 必须还没认证,可以选择业务 + if(!this.config.user_auth_business_data.auth_status && this.config.user_auth_business_data.is_select) { + this.setData({ + popup_status: true, + }); + } } } return this.popup_status; diff --git a/pages.json b/pages.json index 5410c425..5bcef530 100644 --- a/pages.json +++ b/pages.json @@ -250,7 +250,13 @@ "path": "user-address-save", "style": { "enablePullDownRefresh": false, - "navigationBarTitleText": "" + "navigationBarTitleText": "", + "usingComponents": { + "component-region-picker": "/pages/common/components/region-picker/region-picker" + }, + "componentPlaceholder": { + "component-region-picker": "view" + } } } ] diff --git a/components/region-picker/region-picker.vue b/pages/common/components/region-picker/region-picker.vue similarity index 96% rename from components/region-picker/region-picker.vue rename to pages/common/components/region-picker/region-picker.vue index 675f18f5..d43509b6 100644 --- a/components/region-picker/region-picker.vue +++ b/pages/common/components/region-picker/region-picker.vue @@ -39,6 +39,8 @@ export default { // 下标 columns_index: [[0], [0], [0]], indicatorStyle: `height: ${uni.upx2px(88)}px;`, + // 缓存key + cache_key: app.globalData.data.cache_region_picker_choice_key, }; }, components: { @@ -201,8 +203,13 @@ export default { let province = this.columns[0][this.columns_index[0]]; let city = this.columns[1][this.columns_index[1]]; let areal = this.columns[2][this.columns_index[2]]; + uni.setStorageSync(this.cache_key, { + province: province, + city: city, + areal: areal + }); this.popup_close_event(); - this.$emit("call-back", province, city, areal); + this.$emit("call-back"); }, }, }; diff --git a/pages/user-address-save/user-address-save.vue b/pages/user-address-save/user-address-save.vue index a8b906c4..6c7601b9 100644 --- a/pages/user-address-save/user-address-save.vue +++ b/pages/user-address-save/user-address-save.vue @@ -167,7 +167,7 @@ const app = getApp(); import componentCommon from '@/components/common/common'; import componentNoData from '@/components/no-data/no-data'; - import componentRegionPicker from '@/components/region-picker/region-picker'; + import componentRegionPicker from '@/pages/common/components/region-picker/region-picker'; import componentChoiceLocation from '@/components/choice-location/choice-location'; var common_static_url = app.globalData.get_static_url('common'); const theme_color = app.globalData.get_theme_color(); @@ -736,23 +736,24 @@ region_picker_show: false, }); }, - region_event(address1, address2, address3) { - if((address1 || null) == null) { - address1 = {}; + region_event(address1, address2, address3) { + let data = uni.getStorageSync(app.globalData.data.cache_region_picker_choice_key) || {}; + if((data.province || null) == null) { + data.province = {}; } - if((address2 || null) == null) { - address2 = {}; + if((data.city || null) == null) { + data.city = {}; } - if((address3 || null) == null) { - address3 = {}; + if((data.areal || null) == null) { + data.areal = {}; } this.setData({ - province_id: address1.id || null, - city_id: address2.id || null, - county_id: address3.id || null, - province_name: address1.name || '', - city_name: address2.name || '', - county_name: address3.name || '', + province_id: data.province.id || null, + city_id: data.city.id || null, + county_id: data.areal.id || null, + province_name: data.province.name || '', + city_name: data.city.name || '', + county_name: data.areal.name || '', }); }, // 地址粘贴板