hookehuyr

style(search): 优化搜索页面样式和布局

重构搜索页面的样式结构,改进输入框和按钮的UI设计
添加背景图片并调整布局间距
将底部按钮改为固定定位以提升用户体验
1 <!-- 1 <!--
2 * @Date: 2024-01-26 13:08:09 2 * @Date: 2024-01-26 13:08:09
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2026-01-06 23:23:30 4 + * @LastEditTime: 2026-01-08 10:33:16
5 * @FilePath: /xyxBooking-weapp/src/pages/search/index.vue 5 * @FilePath: /xyxBooking-weapp/src/pages/search/index.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -9,32 +9,39 @@ ...@@ -9,32 +9,39 @@
9 <view class="search-page"> 9 <view class="search-page">
10 <view> 10 <view>
11 <view v-if="!is_search"> 11 <view v-if="!is_search">
12 - <view class="input-item"> 12 + <view class="input-card">
13 - <view>证件号码</view> 13 + <view class="input-label">证件号码</view>
14 - <view> 14 + <input
15 - <input type="text" v-model="idCode" placeholder="请输入证件号码" @blur="checkIdCode" maxlength="18" style="width: 100%;"> 15 + class="id-input"
16 - </view> 16 + type="text"
17 + v-model="idCode"
18 + placeholder="请输入证件号码"
19 + @blur="checkIdCode"
20 + maxlength="18"
21 + >
17 </view> 22 </view>
18 - <view style="color:#A67939; font-size: 30rpx; text-align: center;"> 23 + <view class="tip-block">
19 - <view style="display: flex; align-items: center; justify-content: center;"> 24 + <view class="tip-title">
20 - <IconFont name="tips" />&nbsp;温馨提示 25 + <IconFont name="tips" size="16" color="#A67939" />
26 + <text class="tip-title-text">温馨提示</text>
21 </view> 27 </view>
22 - <view style="margin-top: 16rpx;">获取参观码,扫码或识别身份证成功进闸机</view> 28 + <view class="tip-desc">获取参观码,扫码或识别身份证成功进闸机</view>
23 </view> 29 </view>
24 </view> 30 </view>
25 <view v-else> 31 <view v-else>
26 <qrCodeSearch :id="id_number" /> 32 <qrCodeSearch :id="id_number" />
27 </view> 33 </view>
28 - <view v-if="!is_search" class="save-wrapper">
29 - <view class="save-btn" @tap="searchBtn">查询</view>
30 </view> 34 </view>
31 - <view v-else class="success-btn"> 35 + <view class="logo"></view>
36 +
37 + <view v-if="!is_search" class="footer">
38 + <view class="footer-btn" @tap="searchBtn">查询</view>
39 + </view>
40 + <view v-else class="success-footer">
32 <view @tap="goToHome" class="btn-item btn-left">首页</view> 41 <view @tap="goToHome" class="btn-item btn-left">首页</view>
33 <view @tap="goBack" class="btn-item btn-right">返回查询</view> 42 <view @tap="goBack" class="btn-item btn-right">返回查询</view>
34 </view> 43 </view>
35 </view> 44 </view>
36 - <view class="logo"></view>
37 - </view>
38 </template> 45 </template>
39 46
40 <script setup> 47 <script setup>
...@@ -85,52 +92,104 @@ const goToHome = () => { ...@@ -85,52 +92,104 @@ const goToHome = () => {
85 92
86 <style lang="less"> 93 <style lang="less">
87 .search-page { 94 .search-page {
88 - padding: 32rpx; 95 + position: relative;
89 min-height: 100vh; 96 min-height: 100vh;
90 - background-color: #F6F6F6; 97 + padding: 32rpx;
98 + padding-bottom: 220rpx;
99 + background-image: url('https://cdn.ipadbiz.cn/xys/booking/bg.jpg');
100 + background-repeat: no-repeat;
101 + background-position: center;
102 + background-size: cover;
91 103
92 - .input-item { 104 + .input-card {
93 background-color: #FFF; 105 background-color: #FFF;
94 - padding: 32rpx;
95 border-radius: 16rpx; 106 border-radius: 16rpx;
107 + border: 2rpx solid rgba(166, 121, 57, 0.45);
96 margin-bottom: 32rpx; 108 margin-bottom: 32rpx;
109 + height: 112rpx;
110 + display: flex;
111 + align-items: center;
112 + padding: 0 32rpx;
97 113
98 - view:first-child { 114 + .input-label {
99 - margin-bottom: 16rpx; 115 + width: 160rpx;
100 - font-weight: bold; 116 + color: #333;
117 + font-size: 30rpx;
118 + font-weight: 600;
101 } 119 }
102 - input { 120 +
103 - border-bottom: 2rpx solid #EEE; 121 + .id-input {
104 - padding: 16rpx 0; 122 + flex: 1;
123 + width: 100%;
124 + text-align: right;
125 + font-size: 30rpx;
126 + color: #333;
105 } 127 }
106 } 128 }
107 129
108 - .save-wrapper { 130 + .tip-block {
109 margin-top: 64rpx; 131 margin-top: 64rpx;
110 - .save-btn { 132 + color: #A67939;
133 + text-align: center;
134 + font-size: 30rpx;
135 +
136 + .tip-title {
137 + display: flex;
138 + align-items: center;
139 + justify-content: center;
140 + }
141 +
142 + .tip-title-text {
143 + margin-left: 10rpx;
144 + font-weight: 600;
145 + }
146 +
147 + .tip-desc {
148 + margin-top: 16rpx;
149 + font-weight: 600;
150 + }
151 + }
152 +
153 + .footer {
154 + position: fixed;
155 + left: 0;
156 + right: 0;
157 + bottom: 0;
158 + padding: 24rpx 32rpx calc(24rpx + env(safe-area-inset-bottom));
159 + }
160 +
161 + .footer-btn {
111 background-color: #A67939; 162 background-color: #A67939;
112 color: #FFF; 163 color: #FFF;
113 text-align: center; 164 text-align: center;
114 - padding: 26rpx 0; 165 + height: 96rpx;
115 - border-radius: 16rpx; 166 + display: flex;
116 - font-size: 35rpx; 167 + align-items: center;
117 - } 168 + justify-content: center;
169 + border-radius: 12rpx;
170 + font-size: 34rpx;
171 + font-weight: 600;
118 } 172 }
119 173
120 - .success-btn { 174 + .success-footer {
121 position: fixed; 175 position: fixed;
122 - bottom: 64rpx;
123 - width: 750rpx;
124 left: 0; 176 left: 0;
177 + right: 0;
178 + bottom: 0;
179 + padding: 24rpx 32rpx calc(24rpx + env(safe-area-inset-bottom));
125 display: flex; 180 display: flex;
126 - justify-content: space-around; 181 + gap: 24rpx;
127 182
128 .btn-item { 183 .btn-item {
129 - width: 40%; 184 + flex: 1;
130 text-align: center; 185 text-align: center;
131 - padding: 26rpx 0; 186 + height: 96rpx;
132 - border-radius: 16rpx; 187 + display: flex;
133 - font-size: 35rpx; 188 + align-items: center;
189 + justify-content: center;
190 + border-radius: 12rpx;
191 + font-size: 34rpx;
192 + font-weight: 600;
134 } 193 }
135 194
136 .btn-left { 195 .btn-left {
...@@ -148,7 +207,7 @@ const goToHome = () => { ...@@ -148,7 +207,7 @@ const goToHome = () => {
148 .logo { 207 .logo {
149 position: absolute; 208 position: absolute;
150 right: 0; 209 right: 0;
151 - bottom: 200rpx; 210 + bottom: 240rpx;
152 height: 400rpx; 211 height: 400rpx;
153 width: 150rpx; 212 width: 150rpx;
154 background-image: url('https://cdn.ipadbiz.cn/xys/booking/logo.png'); 213 background-image: url('https://cdn.ipadbiz.cn/xys/booking/logo.png');
......