index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <template>
  2. <view class="page-wrap">
  3. <view class="app-item" v-for="(item, index) in navList" :key="index" @click="handleNav(item.value)">
  4. <view :class="'icon icon-' + item.value">
  5. <image :src="`../../static/svg/app_${item.value}.svg`"></image>
  6. </view>
  7. <view class="text">{{ item.label }}</view>
  8. </view>
  9. </view>
  10. </template>
  11. <script>
  12. export default {
  13. components: {},
  14. data() {
  15. return {
  16. navList: [
  17. {
  18. label: '记账报税',
  19. value: 1
  20. },
  21. {
  22. label: '税控托管',
  23. value: 2
  24. },
  25. {
  26. label: '社保代缴',
  27. value: 3
  28. },
  29. {
  30. label: '其他服务',
  31. value: 4
  32. },
  33. {
  34. label: '我的合同',
  35. value: 5
  36. },
  37. {
  38. label: '财务管家',
  39. value: 6
  40. },
  41. {
  42. label: '设置',
  43. value: 7
  44. },
  45. {
  46. label: '我的消息',
  47. value: 8
  48. },
  49. {
  50. label: '意见反馈',
  51. value: 9
  52. },
  53. {
  54. label: '服务电话',
  55. value: 10
  56. }
  57. ]
  58. };
  59. },
  60. methods: {
  61. handleNav(val) {
  62. let url = '';
  63. switch (val) {
  64. case 1:
  65. url = 'accounting/index';
  66. break;
  67. case 2:
  68. url = 'tax/index';
  69. break;
  70. }
  71. uni.navigateTo({
  72. url
  73. });
  74. }
  75. }
  76. };
  77. </script>
  78. <style lang="scss" scoped>
  79. .page-wrap {
  80. min-height: 100%;
  81. box-sizing: border-box;
  82. background: #fff;
  83. display: flex;
  84. flex-wrap: wrap;
  85. align-content: flex-start;
  86. padding: 27.47rpx 13.74rpx;
  87. box-sizing: border-box;
  88. }
  89. .app-item {
  90. flex: 0 0 25%;
  91. display: flex;
  92. flex-direction: column;
  93. align-items: center;
  94. margin-bottom: 27.47rpx;
  95. .icon {
  96. width: 118.13rpx;
  97. height: 118.13rpx;
  98. border-radius: 50%;
  99. background: #f7f7f7;
  100. display: flex;
  101. align-items: center;
  102. justify-content: center;
  103. image {
  104. width: 68.68rpx;
  105. height: 68.68rpx;
  106. }
  107. &-1 {
  108. background: #ff7356;
  109. }
  110. &-2 {
  111. background: #06d276;
  112. }
  113. &-3 {
  114. background: #52abfd;
  115. }
  116. &-4 {
  117. background: #fcb203;
  118. image {
  119. width: 89.29rpx;
  120. height: 89.29rpx;
  121. }
  122. }
  123. &-5 {
  124. background: #566c8b;
  125. }
  126. &-6 {
  127. background: #4484ae;
  128. }
  129. &-7 {
  130. background: #889fff;
  131. image {
  132. width: 82.42rpx;
  133. height: 82.42rpx;
  134. margin-left: 27.47rpx;
  135. }
  136. }
  137. &-8 {
  138. background: #f7922a;
  139. }
  140. &-9 {
  141. background: #1ed2c7;
  142. image {
  143. width: 82.42rpx;
  144. height: 82.42rpx;
  145. }
  146. }
  147. &-10 {
  148. background: #fcb203;
  149. }
  150. }
  151. .text {
  152. font-size: 24.73rpx;
  153. margin-top: 13.74rpx;
  154. }
  155. }
  156. </style>