index.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <!--
  2. * @Author: liuzhenlin 461480418@qq.ocm
  3. * @Date: 2023-01-12 11:57:48
  4. * @LastEditors: liuzhenlin
  5. * @LastEditTime: 2023-01-16 17:52:26
  6. * @Description: file content
  7. * @FilePath: \opms\pages\my\index.vue
  8. -->
  9. <template>
  10. <view class="home">
  11. <view class="nav">
  12. <view :style="{ paddingTop }">
  13. <view class="title" :style="[{ height }, { lineHeight: height }]">
  14. <view class="back" v-if="showBack" @click="$refs.manage.back()">
  15. <u-icon name="arrow-left" color="#ffffff" size="22"></u-icon>
  16. </view>
  17. <text>我的</text>
  18. </view>
  19. <view class="user-info flex flex-middle">
  20. <image class="user-img" src="@/static/images/user.jpg" mode="scaleToFill" />
  21. <view class="info flex1 flex-column flex_1">
  22. <u-text :lines="1" size="32rpx" color="#fff" :bold="true" :text="nickName"></u-text>
  23. <u-text :lines="1" size="24rpx" color="#fff" :text="postName"></u-text>
  24. </view>
  25. <u-icon name="arrow-right" color="#ffffff" size="18"></u-icon>
  26. </view>
  27. </view>
  28. </view>
  29. <view class="main">
  30. <u-row>
  31. <u-col span="12">
  32. <view class="my-menu-item flex flex-middle">
  33. <image class="menu-icon" src="@/static/images/my-menu1.png" mode="scaleToFill" />
  34. <view class="flex_1"><u-text size="28rpx" color="#646464" text="我的资料"></u-text></view>
  35. <u-icon name="arrow-right" color="#969696" size="18"></u-icon>
  36. </view>
  37. </u-col>
  38. </u-row>
  39. <u-row>
  40. <u-col span="12">
  41. <view class="my-menu-item flex flex-middle">
  42. <image class="menu-icon" src="@/static/images/my-menu2.png" mode="scaleToFill" />
  43. <view class="flex_1"><u-text size="28rpx" color="#646464" text="企业信息"></u-text></view>
  44. <u-icon name="arrow-right" color="#969696" size="18"></u-icon>
  45. </view>
  46. </u-col>
  47. </u-row>
  48. <u-row>
  49. <u-col span="12">
  50. <view class="my-menu-item flex flex-middle">
  51. <image class="menu-icon" src="@/static/images/my-menu3.png" mode="scaleToFill" />
  52. <view class="flex_1"><u-text size="28rpx" color="#646464" text="意见反馈"></u-text></view>
  53. <u-icon name="arrow-right" color="#969696" size="18"></u-icon>
  54. </view>
  55. </u-col>
  56. </u-row>
  57. <u-row>
  58. <u-col span="12">
  59. <view class="my-menu-item flex flex-middle">
  60. <image class="menu-icon" src="@/static/images/my-menu4.png" mode="scaleToFill" />
  61. <view class="flex_1"><u-text size="28rpx" color="#646464" text="关于应用"></u-text></view>
  62. <u-icon name="arrow-right" color="#969696" size="18"></u-icon>
  63. </view>
  64. </u-col>
  65. </u-row>
  66. </view>
  67. </view>
  68. </template>
  69. <script>
  70. import {
  71. mapGetters
  72. } from 'vuex'
  73. export default {
  74. name: 'opsIndex',
  75. data() {
  76. return {
  77. height: '',
  78. paddingTop: '',
  79. }
  80. },
  81. computed: {
  82. ...mapGetters(['nickName', 'postName']),
  83. },
  84. created() {
  85. const navData = uni.getMenuButtonBoundingClientRect()
  86. console.log(navData)
  87. this.height = navData.height + 'px'
  88. this.paddingTop = navData.top + 'px'
  89. },
  90. mounted() {},
  91. methods: {},
  92. }
  93. </script>
  94. <style>
  95. page {
  96. background: #f2f3f5;
  97. }
  98. </style>
  99. <style lang="scss" scoped>
  100. .home {
  101. padding-top: 188rpx;
  102. .nav {
  103. position: absolute;
  104. left: 0;
  105. top: 0;
  106. width: 100%;
  107. height: 520rpx;
  108. background: #3e7ef8;
  109. .title {
  110. position: relative;
  111. text-align: center;
  112. font-size: 32rpx;
  113. font-weight: bold;
  114. color: #ffffff;
  115. }
  116. .user-info {
  117. padding: 40rpx 76rpx 0 66rpx;
  118. display: flex;
  119. .user-img {
  120. width: 116rpx;
  121. height: 116rpx;
  122. border-radius: 50%;
  123. margin-right: 32rpx;
  124. }
  125. .info {
  126. height: 116rpx;
  127. margin-right: 32rpx;
  128. }
  129. }
  130. }
  131. .main {
  132. position: absolute;
  133. top: 374rpx;
  134. width: 100%;
  135. height: calc(100vh - 374rpx);
  136. background: #ffffff;
  137. border-radius: 31rpx 31rpx 0 0;
  138. overflow: auto;
  139. padding: 18rpx 38rpx 64rpx 26rpx;
  140. .my-menu-item {
  141. padding: 28rpx 44rpx;
  142. border-bottom: 1px solid #cdcdcd;
  143. .menu-icon {
  144. width: 48rpx;
  145. height: 48rpx;
  146. border-radius: 50%;
  147. margin-right: 25rpx;
  148. }
  149. }
  150. }
  151. }
  152. </style>