【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.

141 lines
2.7 KiB

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