bug
jiangping
2023-11-07 64b432916af9c9218ab3f3eca614e26c542142ae
minipro_standard/pages/personal/personal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,93 @@
<template>
   <view class="info">
      <view class="info_portrait">
         <image :src="userInfo.avatar ? userInfo.avatar : avatar" mode="widthFix" />
         <text>用户名</text>
      </view>
      <view class="info_list">
         <view class="info_list_item">
            <text>昵称</text>
            <text>{{userInfo.realname ? userInfo.realname : '暂无昵称'}}</text>
         </view>
         <view class="info_list_item">
            <text>手机号</text>
            <text>{{userInfo.companyUser.phone ? userInfo.companyUser.phone : '暂无手机号'}}</text>
         </view>
         <view class="info_list_item">
            <text>所属部门</text>
            <text>{{userInfo.department.name ? userInfo.department.name : '暂无所属部门'}}</text>
         </view>
         <view class="info_list_item">
            <text>岗位</text>
            <text>{{userInfo.companyUser.positionName ? userInfo.companyUser.positionName : '暂无岗位'}}</text>
         </view>
         <view class="info_list_item">
            <text>当前组织</text>
            <text>{{userInfo.rootDepartment.name ? userInfo.rootDepartment.name : '暂无组织'}}</text>
         </view>
      </view>
   </view>
</template>
<script>
   import { mapState } from 'vuex'
   export default {
      data() {
         return {
            avatar: require('@/static/2@2x.png'),
         };
      },
      computed: mapState([
         'userInfo'
      ])
   }
</script>
<style lang="scss" scoped>
.info {
    padding: 30rpx;
    position: absolute;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: white;
    .info_portrait {
        display: flex;
        align-items: center;
        flex-direction: column;
        margin-top: 60rpx;
        image {
            width: 140rpx;
            height: 140rpx;
            margin-bottom: 30rpx;
        }
        text {
            font-size: 30rpx;
            font-weight: 400;
            color: #222222;
        }
    }
    .info_list {
        margin-top: 30rpx;
        .info_list_item {
            height: 98rpx;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-bottom: 1rpx solid #E5E5E5;
            text {
                &:first-child {
                    font-size: 30rpx;
                    font-weight: 400;
                    color: #777777;
                }
                &:last-child {
                    font-size: 28rpx;
                    font-weight: 400;
                    color: #222222;
                }
            }
        }
    }
}
</style>