operationalAnalysis.vue 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <!-- 运营分析 -->
  2. <template>
  3. <view class="operation">
  4. <view class="operation-header">
  5. <view
  6. class="operation-header-item"
  7. v-for="(item, index) in tabList"
  8. :key="index"
  9. :class="{ active: tabCur === item.key }"
  10. @click="tabCur = item.key"
  11. >
  12. <text>{{ item.label }}</text>
  13. </view>
  14. </view>
  15. <view class="operation-main">
  16. <template v-if="tabCur === 'road'">
  17. <view class="operation-main-menu">
  18. <view
  19. class="operation-main-menu-item"
  20. v-for="(item, index) in roadMenuList"
  21. :key="index"
  22. @click="jumpPage(item.url, item.params)"
  23. >
  24. <view class="image">
  25. <u--image :showLoading="true" :src="item.icon" width="60px" height="60px" />
  26. </view>
  27. <view class="name">
  28. <text>{{ item.name }}</text>
  29. </view>
  30. </view>
  31. </view>
  32. </template>
  33. <template v-if="tabCur === 'park'">
  34. <view class="operation-main-menu">
  35. <view
  36. class="operation-main-menu-item"
  37. v-for="(item, index) in parkMenuList"
  38. :key="index"
  39. @click="jumpPage(item.url, item.params)"
  40. >
  41. <view class="image">
  42. <u--image :showLoading="true" :src="item.icon" width="60px" height="60px" />
  43. </view>
  44. <view class="name">
  45. <text>{{ item.name }}</text>
  46. </view>
  47. </view>
  48. </view>
  49. </template>
  50. </view>
  51. </view>
  52. </template>
  53. <script>
  54. export default {
  55. data() {
  56. return {
  57. tabList: [
  58. { key: 'road', label: '路段' },
  59. { key: 'park', label: '停车场' }
  60. ],
  61. tabCur: 'road',
  62. roadMenuList: [
  63. {
  64. icon: '/static/icons/operationalAnalysisIcons/section-analysis-icon.svg',
  65. name: '路段分析',
  66. url: 'pages/operationalAnalysis/roadModel/index',
  67. params: {
  68. title: '路段分析',
  69. key: 'sectionAnalysis'
  70. }
  71. },
  72. {
  73. icon: '/static/icons/operationalAnalysisIcons/arrearage-analysis-icon.svg',
  74. name: '欠费分析',
  75. url: 'pages/operationalAnalysis/roadModel/index',
  76. params: {
  77. title: '欠费分析',
  78. key: 'arrearsAnalysis'
  79. }
  80. },
  81. {
  82. icon: '/static/icons/operationalAnalysisIcons/revenue-analysis-icon.svg',
  83. name: '营收分析',
  84. url: 'pages/operationalAnalysis/roadModel/index',
  85. params: {
  86. title: '营收分析',
  87. key: 'revenueAnalysis'
  88. }
  89. },
  90. {
  91. icon: '/static/icons/operationalAnalysisIcons/shouru-analysis-icon.svg',
  92. name: '收入分析',
  93. url: 'pages/operationalAnalysis/roadModel/index',
  94. params: {
  95. title: '收入分析',
  96. key: 'incomeAnalysis'
  97. }
  98. },
  99. {
  100. icon: '/static/icons/operationalAnalysisIcons/payment-method-icon.svg',
  101. name: '支付方式占比',
  102. url: 'pages/operationalAnalysis/roadModel/index',
  103. params: {
  104. title: '支付方式占比',
  105. key: 'paymentMethod'
  106. }
  107. }
  108. ],
  109. parkMenuList: [
  110. {
  111. icon: '/static/icons/operationalAnalysisIcons/parking-lot-analysis-icon.svg',
  112. name: '停车场分析',
  113. url: 'pages/operationalAnalysis/parkModel/index',
  114. params: {
  115. title: '停车场分析',
  116. key: 'parkingLotAnalysis'
  117. }
  118. },
  119. {
  120. icon: '/static/icons/operationalAnalysisIcons/arrearage-analysis-icon.svg',
  121. name: '欠费分析',
  122. url: 'pages/operationalAnalysis/parkModel/index',
  123. params: {
  124. title: '欠费分析',
  125. key: 'arrearsAnalysis'
  126. }
  127. },
  128. {
  129. icon: '/static/icons/operationalAnalysisIcons/revenue-analysis-icon.svg',
  130. name: '营收分析',
  131. url: 'pages/operationalAnalysis/parkModel/index',
  132. params: {
  133. title: '营收分析',
  134. key: 'revenueAnalysis'
  135. }
  136. },
  137. {
  138. icon: '/static/icons/operationalAnalysisIcons/shouru-analysis-icon.svg',
  139. name: '收入分析',
  140. url: 'pages/operationalAnalysis/parkModel/index',
  141. params: {
  142. title: '收入分析',
  143. key: 'incomeAnalysis'
  144. }
  145. },
  146. {
  147. icon: '/static/icons/operationalAnalysisIcons/payment-method-icon.svg',
  148. name: '支付方式占比',
  149. url: 'pages/operationalAnalysis/parkModel/index',
  150. params: {
  151. title: '支付方式占比',
  152. key: 'paymentMethod'
  153. }
  154. }
  155. ]
  156. };
  157. },
  158. onShow() {},
  159. methods: {
  160. /**
  161. * 跳转指定页面
  162. * @param {*} url
  163. * @param {*} params
  164. * @param {*} type
  165. */
  166. jumpPage(url, params, type = 'navigateTo') {
  167. uni.$u.route({
  168. url,
  169. params,
  170. type
  171. });
  172. }
  173. }
  174. };
  175. </script>
  176. <style lang="scss">
  177. page {
  178. background-color: #1767f2;
  179. min-height: calc(100vh - 44px);
  180. }
  181. </style>
  182. <style lang="scss" scoped>
  183. @import './operationalAnalysis.scss';
  184. </style>