index.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. <template>
  2. <view class="content" v-if="list.length > 0">
  3. <view class="title">分销商级别列表</view>
  4. <view class="advance-area">
  5. <view class="flex-box tc thead">
  6. <view class="item-4">级别名称</view>
  7. <view class="item-4">销售金额(元)</view>
  8. <view class="item-4">说明</view>
  9. <view class="item-4">分销占比(%)</view>
  10. </view>
  11. <view
  12. class="flex-box table tc"
  13. v-for="(item, index) in list"
  14. :key="index"
  15. >
  16. <view class="item-4" :class="level === item.name ? 'text-' + themeColor.name : ''">
  17. {{ item.name }}
  18. </view>
  19. <view class="item-4" :class="level === item.name ? 'text-' + themeColor.name : ''">
  20. {{ item.money }}
  21. </view>
  22. <view class="item-4" :class="level === item.name ? 'text-' + themeColor.name : ''">
  23. <view class="table-flex">
  24. <view class="item">分销商</view>
  25. <view class="item">上级分销商</view>
  26. <view class="item">上上级分销商</view>
  27. </view>
  28. </view>
  29. <view class="item-4" :class="level === item.name ? 'text-' + themeColor.name : ''">
  30. <view class="table-flex">
  31. <view class="item">{{ item.level_zero }}</view>
  32. <view class="item">{{ item.level_one }}</view>
  33. <view class="item">{{ item.level_two }}</view>
  34. </view>
  35. </view>
  36. </view>
  37. </view>
  38. </view>
  39. </template>
  40. <script>
  41. export default {
  42. data() {
  43. return {};
  44. },
  45. props: {
  46. list: {
  47. type: Array,
  48. default: () => {
  49. return [];
  50. }
  51. },
  52. level: {
  53. type: String,
  54. default: null
  55. }
  56. }
  57. };
  58. </script>
  59. <style lang="scss">
  60. $color: #e0e0e0;
  61. .content {
  62. padding: 30upx;
  63. display: flex;
  64. flex: 1;
  65. flex-direction: column;
  66. /*background-color: #fbf9fe;*/
  67. }
  68. .flex-box {
  69. display: flex;
  70. flex-wrap: wrap;
  71. }
  72. .flex-box > .item-2 {
  73. flex: 0 0 50%;
  74. }
  75. .flex-box > .item-3 {
  76. flex: 0 0 33.3333%;
  77. }
  78. .flex-box > .item-4 {
  79. flex: 0 0 25%;
  80. }
  81. .title {
  82. margin: 30upx 0;
  83. font-size: $font-lg;
  84. font-weight: 600;
  85. color: #333;
  86. }
  87. //普通表格
  88. .genaral-area {
  89. .item-2 {
  90. font-size: 26upx;
  91. border: 1upx solid $color;
  92. border-width: 1upx 1upx 0 0;
  93. padding: 16upx 0;
  94. box-sizing: border-box;
  95. text-align: center;
  96. &:first-child {
  97. border-left-width: 1upx;
  98. }
  99. &:last-child {
  100. border-right-width: 1upx;
  101. }
  102. }
  103. .thead {
  104. .item-2 {
  105. font-weight: bold;
  106. box-sizing: border-box;
  107. }
  108. }
  109. .table {
  110. &:last-child {
  111. border-bottom: 1upx solid $color;
  112. }
  113. .item-2 {
  114. display: flex;
  115. justify-content: center;
  116. align-items: center;
  117. box-sizing: border-box;
  118. }
  119. }
  120. }
  121. // 多行合并表格
  122. .advance-area {
  123. .item-3,
  124. .item-4 {
  125. font-size: 26upx;
  126. border: 1upx solid $color;
  127. border-width: 1upx 1upx 0 0;
  128. box-sizing: border-box;
  129. text-align: center;
  130. &:first-child {
  131. border-left-width: 1upx;
  132. }
  133. &:last-child {
  134. border-right-width: 1upx;
  135. }
  136. }
  137. .thead {
  138. .item-3,
  139. .item-4 {
  140. font-weight: bold;
  141. padding: 16upx 0;
  142. box-sizing: border-box;
  143. }
  144. }
  145. .table {
  146. &:last-child {
  147. border-bottom: 1upx solid $color;
  148. }
  149. .item-3,
  150. .item-4 {
  151. display: flex;
  152. justify-content: center;
  153. align-items: center;
  154. box-sizing: border-box;
  155. }
  156. }
  157. .table-flex {
  158. flex: 1;
  159. .item {
  160. border-bottom: 1upx solid $color;
  161. padding: 10upx 0;
  162. box-sizing: border-box;
  163. &:last-child {
  164. border-width: 0;
  165. }
  166. }
  167. }
  168. }
  169. </style>