From 6dee8f6cf39f07d9d72c6bf17b11567ea7489120 Mon Sep 17 00:00:00 2001
From: 13404089107 <puwei@sinata.cn>
Date: 星期二, 07 四月 2026 11:15:57 +0800
Subject: [PATCH] fix
---
traditionalApp/pages/register/register.vue | 103 +++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 87 insertions(+), 16 deletions(-)
diff --git a/traditionalApp/pages/register/register.vue b/traditionalApp/pages/register/register.vue
index 653b9fd..070dfca 100644
--- a/traditionalApp/pages/register/register.vue
+++ b/traditionalApp/pages/register/register.vue
@@ -121,6 +121,14 @@
<text class="link" @tap="goProtocol('privacy')">《隐私协议》</text>
</text>
</view>
+
+ <u-picker
+ v-model="showRegionPicker"
+ mode="region"
+ title="选择机构地址"
+ :default-region="defaultRegion"
+ @confirm="handleRegionConfirm"
+ ></u-picker>
</view>
</template>
@@ -130,6 +138,7 @@
const registerType = ref<'user' | 'operator'>('user');
const currentStep = ref(1); // 1: step 1, 2: step 2 (only for operator)
const isAgreed = ref(false);
+ const showRegionPicker = ref(false);
const form = reactive({
phone: '',
@@ -146,6 +155,10 @@
if (registerType.value === 'user') return '提交确定';
if (registerType.value === 'operator' && currentStep.value === 1) return '下一步';
return '提交确定';
+ });
+
+ const defaultRegion = computed(() => {
+ return form.region ? form.region.split(' ') : [];
});
const switchTab = (type : 'user' | 'operator') => {
@@ -180,21 +193,17 @@
};
const goProtocol = (type: string) => {
- uni.navigateTo({
- url: `/pages/protocol/protocol?type=${type}`
- });
-};
+ uni.navigateTo({
+ url: `/pages/protocol/protocol?type=${type}`
+ });
+ };
const chooseRegion = () => {
- // Example region picker implementation. You might need to use a specific uni-app picker component
- uni.showToast({
- title: '打开地区选择器',
- icon: 'none'
- });
- // Mock selecting region
- setTimeout(() => {
- form.region = '四川省 成都市 锦江区';
- }, 500);
+ showRegionPicker.value = true;
+ };
+
+ const handleRegionConfirm = (value: { province?: { label?: string }; city?: { label?: string }; area?: { label?: string } }) => {
+ form.region = [value.province?.label, value.city?.label, value.area?.label].filter(Boolean).join(' ');
};
const uploadLicense = () => {
@@ -308,10 +317,13 @@
border-radius: 16rpx;
font-size: 32rpx;
+ & + .tab {
+ margin-left: 30rpx;
+ }
+
&.active {
background-color: #C63520;
color: #fff;
- margin-right: 30rpx;
}
&.normal {
@@ -344,8 +356,13 @@
.input {
flex: 1;
height: 100%;
- font-size: 32rpx;
+ font-size: 28rpx;
color: #333;
+
+ &.placeholder-style {
+ color: #868686;
+ font-size: 28rpx;
+ }
}
.get-code-btn {
@@ -467,4 +484,58 @@
height: 25rpx;
display: block;
}
-</style>
\ No newline at end of file
+
+ :deep(.u-popup__content) {
+ background: #ffffff !important;
+ }
+
+ :deep(.u-datetime-picker) {
+ background: #ffffff !important;
+ border-radius: 32rpx 32rpx 0 0;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ }
+
+ :deep(.u-picker-header),
+ :deep(.u-picker-body) {
+ background: #ffffff !important;
+ }
+
+ :deep(.u-picker-header) {
+ display: contents;
+ }
+
+ :deep(.u-picker__title) {
+ order: 1;
+ text-align: center;
+ font-weight: 700;
+ font-size: 34rpx;
+ color: #333333;
+ padding-top: 24rpx;
+ }
+
+ :deep(.u-btn-picker--tips) {
+ display: none;
+ }
+
+ :deep(.u-btn-picker--primary) {
+ order: 3;
+ height: 96rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: #C63520;
+ border-radius: 16rpx;
+ color: #ffffff !important;
+ font-size: 34rpx;
+ font-weight: 500;
+ padding: 0;
+ margin: 24rpx 40rpx 40rpx;
+ }
+
+ :deep(.u-picker-body) {
+ order: 2;
+ height: 420rpx;
+ }
+</style>
--
Gitblit v1.7.1