敢为人鲜小程序前端代码仓库
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.

212 lines
4.4 KiB

5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
  1. <template>
  2. <view class="running-water">
  3. <!-- 导航栏 -->
  4. <navbar title="金额记录" leftClick @leftClick="$utils.navigateBack" bgColor="#E3441A" color="#fff" />
  5. <view class="bg"></view>
  6. <view class="money-info-wrapper">
  7. <view class="money-info">
  8. <view class="total-brokerage">
  9. <view class="title">总佣金</view>
  10. <view class="total-money">1240.00</view>
  11. <view class="btn">
  12. <view @click="$utils.navigateTo('/pages_order/mine/withdraw')" class="">
  13. 提现
  14. </view>
  15. </view>
  16. </view>
  17. <view class="total-withdraw">
  18. <view class="title">累计提现</view>
  19. <view class="total-money">15300.00</view>
  20. <view class="btn">
  21. <view class="">
  22. 提现记录
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="date-select">
  29. <view class="select-title">
  30. 金额明细
  31. </view>
  32. <view class="year-info">
  33. <view @click="openCalendars" class="time-unit">
  34. {{ year }}
  35. <uv-icon name="arrow-down-fill"></uv-icon>
  36. </view>
  37. <view @click="openCalendars" class="time-unit">
  38. {{ month }}
  39. <uv-icon name="arrow-down-fill"></uv-icon>
  40. </view>
  41. <text class="interval"></text>
  42. <view @click="openCalendars" class="time-unit">
  43. 20
  44. <uv-icon name="arrow-down-fill"></uv-icon>
  45. </view>
  46. </view>
  47. </view>
  48. <view class="tab-box">
  49. <view class="tab-box1" v-if="list && total">
  50. <uv-cell center border :title="item.title" v-for="(item, index) in list" :key="index"
  51. :value="x[item.type] + item.money" :label="item.createTime" />
  52. </view>
  53. <view style="padding: 100rpx 0;" v-else>
  54. <uv-empty mode="history" textSize="28rpx" iconSize="100rpx" />
  55. </view>
  56. </view>
  57. <Calendars ref="calendars" @select="handleSelectCalendars"></Calendars>
  58. </view>
  59. </template>
  60. <script>
  61. import mixinsList from "@/mixins/list.js"
  62. import Calendars from "@/components/calendars/index.vue"
  63. export default {
  64. mixins: [mixinsList],
  65. components: {
  66. Calendars
  67. },
  68. data() {
  69. return {
  70. x: ['+', '-', '-', '+'],
  71. mixinsListApi: "getWaterPageList",
  72. year : new Date().getFullYear(),
  73. month : new Date().getMonth() + 1
  74. }
  75. },
  76. methods: {
  77. //打开日历
  78. openCalendars() {
  79. if (this?.$refs?.calendars) {
  80. this.$refs.calendars.open();
  81. }
  82. },
  83. // 选择了日期
  84. handleSelectCalendars(day) {
  85. this.year = day.year;
  86. this.month = day.month;
  87. }
  88. }
  89. }
  90. </script>
  91. <style lang="scss" scoped>
  92. .running-water {
  93. width: 750rpx;
  94. background: #F5F5F5;
  95. margin: 0 auto;
  96. min-height: 100vh;
  97. .bg {
  98. background: $uni-color;
  99. padding: 100rpx 0rpx;
  100. box-sizing: border-box;
  101. }
  102. .money-info-wrapper {
  103. padding: 0rpx 20rpx;
  104. box-sizing: border-box;
  105. background: white;
  106. height: 130rpx;
  107. .money-info {
  108. display: flex;
  109. flex-wrap: wrap;
  110. background: white;
  111. border-radius: 20rpx;
  112. overflow: hidden;
  113. transform: translateY(-60%);
  114. box-shadow: 0rpx 0rpx 10rpx rgba(0, 0, 0, .1);
  115. .total-brokerage,
  116. .total-withdraw {
  117. width: 50%;
  118. text-align: center;
  119. padding: 20rpx 0rpx;
  120. .title {
  121. font-size: 34rpx;
  122. }
  123. .total-money {
  124. color: $uni-color;
  125. font-size: 36rpx;
  126. margin: 20rpx 0rpx;
  127. }
  128. .btn {
  129. display: flex;
  130. justify-content: center;
  131. align-items: center;
  132. view {
  133. width: 40%;
  134. border: 1px solid $uni-color;
  135. padding: 10rpx;
  136. color: $uni-color;
  137. border-radius: 10rpx;
  138. }
  139. }
  140. }
  141. }
  142. }
  143. .date-select {
  144. padding: 0rpx 20rpx;
  145. box-sizing: border-box;
  146. background: white;
  147. padding-bottom: 20rpx;
  148. display: flex;
  149. justify-content: space-between;
  150. .select-title {}
  151. .year-info {
  152. display: flex;
  153. color: $uni-color;
  154. font-size: 26rpx;
  155. .time-unit {
  156. display: flex;
  157. align-items: center;
  158. justify-content: space-between;
  159. border: 1px solid $uni-color;
  160. margin: 0rpx 10rpx;
  161. border-radius: 10rpx;
  162. box-sizing: border-box;
  163. padding: 7rpx 12rpx;
  164. &::v-deep .uv-icon {
  165. display: flex;
  166. align-items: center;
  167. }
  168. &::v-deep .uv-icon__icon {
  169. color: $uni-color !important;
  170. margin-left: 5rpx;
  171. font-size: 20rpx !important;
  172. }
  173. }
  174. .interval {
  175. display: flex;
  176. align-items: center;
  177. }
  178. }
  179. }
  180. .tab-box {
  181. margin: 20rpx;
  182. background-color: #fff;
  183. border-radius: 20rpx;
  184. overflow: hidden;
  185. }
  186. }
  187. </style>