zlwu пре 5 месеци
родитељ
комит
b7c88b8249

+ 23 - 4
bx/bx-mobile/src/styles/index.css

@@ -1774,24 +1774,43 @@ a { color: inherit; text-decoration: none }
   flex: 1;
   font-size: 14px;
   color: var(--text);
+  min-width: 0;
+}
+
+/* 密码行:右侧眼睛图标叠在输入区内,避免单独一列的割裂感 */
+.login-input--password {
+  position: relative;
+}
+
+.login-input--password input {
+  padding-right: 38px;
 }
 
 .login-eye {
-  width: 28px;
-  height: 28px;
+  position: absolute;
+  right: 8px;
+  top: 50%;
+  transform: translateY(-50%);
+  width: 32px;
+  height: 32px;
+  margin: 0;
+  padding: 0;
   border: none;
   background: transparent;
-  border-radius: 8px;
+  border-radius: 6px;
   color: var(--text-muted);
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
+  -webkit-tap-highlight-color: transparent;
 }
 
 .login-eye svg { width: 16px; height: 16px }
 
-.login-eye:active { background: var(--primary-bg); color: var(--primary-dark) }
+.login-eye:active {
+  color: var(--primary-dark);
+}
 
 .login-card .btn-primary.btn-block {
   margin-top: 12px;

+ 7 - 2
bx/bx-mobile/src/views/login/LoginPage.vue

@@ -19,7 +19,7 @@
               @input="clearError"
             />
           </div>
-          <div class="login-input" :class="{ error: !!errorText }">
+          <div class="login-input login-input--password" :class="{ error: !!errorText }">
             <van-icon name="lock" size="17" color="var(--text-muted)" />
             <input
               v-model="form.password"
@@ -28,7 +28,12 @@
               autocomplete="current-password"
               @input="clearError"
             />
-            <button class="login-eye" type="button" @click="showPassword = !showPassword">
+            <button
+              class="login-eye"
+              type="button"
+              :aria-label="showPassword ? '隐藏密码' : '显示密码'"
+              @click="showPassword = !showPassword"
+            >
               <van-icon :name="showPassword ? 'closed-eye' : 'eye-o'" size="16" />
             </button>
           </div>

+ 1 - 0
bx/bx-web/src/styles/index.css

@@ -1270,6 +1270,7 @@ body {
   word-break: break-word;
 }
 
+/* kv-full:仅适合紧跟「行首 col1 的 .k」;若前面已是 k,v,k 占满三列,下一值请用普通 .v。 */
 .dlg-kv .v.kv-full {
   grid-column: 2 / -1;
 }

+ 1 - 1
bx/bx-web/src/views/pages/AdvanceApplyPage.vue

@@ -431,7 +431,7 @@ function summaryMethod(params: { data: Array<{ amount?: number }> }) {
             <div class="k">申请人</div>
             <div class="v">{{ viewData.applicantName || '-' }}</div>
             <div class="k">申请原因</div>
-            <div class="v kv-full"><BaseClampText :text="viewData.reason" /></div>
+            <div class="v"><BaseClampText :text="viewData.reason" /></div>
             <div class="k">申请目的</div>
             <div class="v kv-full"><BaseClampText :text="viewData.purpose" /></div>
             <div class="k">申请金额(元)</div>

+ 1 - 1
bx/bx-web/src/views/pages/AdvanceApprovePage.vue

@@ -344,7 +344,7 @@ async function handleConfirmApprove() {
             <div class="k">申请人</div>
             <div class="v">{{ viewData.applicantName || '-' }}</div>
             <div class="k">申请原因</div>
-            <div class="v kv-full"><BaseClampText :text="viewData.reason" /></div>
+            <div class="v"><BaseClampText :text="viewData.reason" /></div>
             <div class="k">申请目的</div>
             <div class="v kv-full"><BaseClampText :text="viewData.purpose" /></div>
             <div class="k">申请金额(元)</div>

+ 1 - 1
bx/bx-web/src/views/pages/AdvanceIssuePage.vue

@@ -474,7 +474,7 @@ async function openView(row: any) {
             <div class="k">申请人</div>
             <div class="v">{{ viewData.applicantName || '-' }}</div>
             <div class="k">申请原因</div>
-            <div class="v kv-full"><BaseClampText :text="viewData.reason" /></div>
+            <div class="v"><BaseClampText :text="viewData.reason" /></div>
             <div class="k">审批通过时间</div>
             <div class="v">{{ viewData.approveTime || '-' }}</div>
           </div>

+ 1 - 1
bx/bx-web/src/views/pages/AllPage.vue

@@ -254,7 +254,7 @@ onMounted(() => {
             <div class="k">申请人</div>
             <div class="v">{{ currentRow?.applicantName || '-' }}</div>
             <div class="k">申请标题</div>
-            <div class="v kv-full"><BaseClampText :text="currentRow?.title" /></div>
+            <div class="v"><BaseClampText :text="currentRow?.title" /></div>
             <div class="k">申请金额(元)</div>
             <div class="v">¥{{ Number(currentRow?.amount || 0).toLocaleString('zh-CN', { minimumFractionDigits: 2 }) }}</div>
             <div class="k">状态</div>

+ 1 - 1
bx/bx-web/src/views/pages/DemoPage.vue

@@ -330,7 +330,7 @@ onMounted(() => {
           <div class="k">申请人</div>
           <div class="v">李老师</div>
           <div class="k">费用项目</div>
-          <div class="v kv-full"><BaseClampText text="差旅费 / 住宿费" /></div>
+          <div class="v"><BaseClampText text="差旅费 / 住宿费" /></div>
           <div class="k">单据日期</div>
           <div class="v">2026-04-24</div>
           <div class="k">是否冲抵</div>

+ 1 - 1
bx/bx-web/src/views/pages/TodoPage.vue

@@ -337,7 +337,7 @@ onMounted(() => {
             <div class="k">申请人</div>
             <div class="v">{{ currentRow?.applicantName || '-' }}</div>
             <div class="k">申请标题</div>
-            <div class="v kv-full"><BaseClampText :text="currentRow?.title" /></div>
+            <div class="v"><BaseClampText :text="currentRow?.title" /></div>
             <div class="k">申请金额(元)</div>
             <div class="v">¥{{ Number(currentRow?.amount || 0).toLocaleString('zh-CN', { minimumFractionDigits: 2 }) }}</div>
             <div class="k">当前节点</div>

+ 1 - 1
bx/bx-web/src/views/pages/UserManagePage.vue

@@ -413,7 +413,7 @@ onMounted(() => {
             <div class="k">手机号</div>
             <div class="v">{{ selectedRow?.phone }}</div>
             <div class="k">邮箱</div>
-            <div class="v kv-full"><BaseClampText :text="selectedRow?.email" /></div>
+            <div class="v"><BaseClampText :text="selectedRow?.email" /></div>
             <div class="k">角色</div>
             <div class="v kv-full"><BaseClampText :text="selectedRow?.roles" /></div>
             <div class="k">状态</div>