【PT.SCC实名制管理系统】24.10.01 -30天,考勤打卡小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

138 lines
2.6 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. <!-- 侧边栏 -->
  2. <template>
  3. <view class="broadside">
  4. <uv-popup ref="popup" :overlayStyle="{background: 'rgba(255,255,255,.2sss)'}" bgColor="#4199EA">
  5. <view class="content">
  6. <!-- 用户信息 -->
  7. <view class="user-info">
  8. <image :src="userInfo.headImage" mode="widthFix"></image>
  9. <view class="base">
  10. <view class="name">{{ userInfo.nickName }}</view>
  11. <view class="project"
  12. v-if="userInfo.team">{{ userInfo.team.name }}</view>
  13. </view>
  14. </view>
  15. <!-- 团队项目列表 -->
  16. <view class="team-list"
  17. v-if="userInfo.team">
  18. <view
  19. class="active-team team-item">
  20. <view class="team-item-left">
  21. <image src="@/static/image/broadside/project.png"
  22. mode="widthFix"></image>
  23. <view class="team-name">{{ userInfo.team.name }}</view>
  24. </view>
  25. <view class="team-item-right">
  26. <uni-icons
  27. type="checkmarkempty" size="30"
  28. color="#fff"></uni-icons>
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. </uv-popup>
  34. </view>
  35. </template>
  36. <script>
  37. import { mapState } from 'vuex'
  38. export default {
  39. name: "broadSide",
  40. data() {
  41. return {
  42. }
  43. },
  44. computed : {
  45. ...mapState(['teamList', 'userInfo']),
  46. },
  47. methods: {
  48. open() {
  49. this.$refs.popup.open('left');
  50. }
  51. }
  52. }
  53. </script>
  54. <style lang="scss" scoped>
  55. .broadside {
  56. .content {
  57. padding-top: var(--status-bar-height);
  58. width: 650rpx;
  59. // 用户信息
  60. .user-info {
  61. width: 85%;
  62. margin: 70rpx auto 0rpx auto;
  63. display: flex;
  64. flex-wrap: wrap;
  65. image {
  66. width: 150rpx;
  67. border-radius: 20rpx;
  68. }
  69. .base {
  70. display: flex;
  71. flex-direction: column;
  72. justify-content: space-around;
  73. width: calc(100% - 150rpx);
  74. color: white;
  75. box-sizing: border-box;
  76. padding: 10rpx 0rpx 0rpx 15rpx;
  77. .name {
  78. font-size: 40rpx;
  79. }
  80. .project {
  81. font-size: 28rpx;
  82. }
  83. }
  84. }
  85. // 团队项目列表
  86. .team-list {
  87. margin-top: 30rpx;
  88. height: 80vh;
  89. overflow-y: scroll;
  90. .team-item {
  91. display: flex;
  92. flex-wrap: wrap;
  93. color: white;
  94. height: 10%;
  95. box-sizing: border-box;
  96. padding: 0rpx 15rpx;
  97. margin: 5rpx 0rpx;
  98. .team-item-left {
  99. width: 90%;
  100. display: flex;
  101. align-items: center;
  102. image {
  103. width: 70rpx;
  104. }
  105. .team-name {
  106. font-size: 34rpx;
  107. margin-left: 15rpx;
  108. }
  109. }
  110. .team-item-right {
  111. display: flex;
  112. align-items: center;
  113. justify-content: center;
  114. }
  115. }
  116. .active-team {
  117. background: #8CBDE9;
  118. }
  119. }
  120. }
  121. }
  122. </style>