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

139 lines
2.7 KiB

4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 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"
  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="widthFix"></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. border-radius: 20rpx;
  69. }
  70. .base {
  71. display: flex;
  72. flex-direction: column;
  73. justify-content: space-around;
  74. width: calc(100% - 150rpx);
  75. color: white;
  76. box-sizing: border-box;
  77. padding: 10rpx 0rpx 0rpx 15rpx;
  78. .name {
  79. font-size: 40rpx;
  80. }
  81. .project {
  82. font-size: 28rpx;
  83. }
  84. }
  85. }
  86. // 团队项目列表
  87. .team-list {
  88. margin-top: 30rpx;
  89. height: 80vh;
  90. overflow-y: scroll;
  91. .team-item {
  92. display: flex;
  93. flex-wrap: wrap;
  94. color: white;
  95. height: 10%;
  96. box-sizing: border-box;
  97. padding: 0rpx 15rpx;
  98. margin: 5rpx 0rpx;
  99. .team-item-left {
  100. width: 90%;
  101. display: flex;
  102. align-items: center;
  103. image {
  104. width: 70rpx;
  105. }
  106. .team-name {
  107. font-size: 34rpx;
  108. margin-left: 15rpx;
  109. }
  110. }
  111. .team-item-right {
  112. display: flex;
  113. align-items: center;
  114. justify-content: center;
  115. }
  116. }
  117. .active-team {
  118. background: #8CBDE9;
  119. }
  120. }
  121. }
  122. }
  123. </style>