feat(mobile): redesign profile pages per two-role design spec
Employee profile moves the growth summary to a compact five-metric strip with a right-aligned detail pill, masks the phone number, adds red-filled entry icons, keeps the three key evidence scores always visible, and switches history rows to icon + inline score with a view-all link. Supervisor profile masks the account phone as well.
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
|
||||
<view class="panel account-card">
|
||||
<text class="panel-title">当前账号</text>
|
||||
<text class="account-phone">{{ phone || '未登录' }}</text>
|
||||
<text class="account-phone">{{ maskedPhone }}</text>
|
||||
<text class="muted account-note">主管端团队数据仅对当前项目范围可见。</text>
|
||||
</view>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import { computed, ref } from 'vue';
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
import SupervisorTabBar from '@/components/SupervisorTabBar.vue';
|
||||
import {
|
||||
@@ -51,6 +51,12 @@ import { resetPageScroll } from '@/services/navigation';
|
||||
|
||||
const phone = ref('');
|
||||
|
||||
const maskedPhone = computed(() => {
|
||||
const value = phone.value.trim();
|
||||
if (!value) return '未登录';
|
||||
return /^1[3-9]\d{9}$/.test(value) ? `${value.slice(0, 3)}****${value.slice(7)}` : value;
|
||||
});
|
||||
|
||||
const refreshAuth = () => {
|
||||
phone.value = getAuth().phone;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user