member_income.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. <script src="{{static_url('js/echarts.js')}}" type="text/javascript"></script>
  2. @extends('layouts.base')
  3. @section('title', '会员收入统计')
  4. <script src="{{resource_get('plugins/shop-statistics/assets/js/echarts.min.js')}}"></script>
  5. @section('content')
  6. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}" />
  7. <link rel="stylesheet" href="{{resource_get('plugins/shop-statistics/assets/css/common.css')}}">
  8. <link rel="stylesheet" href="{{resource_get('plugins/shop-statistics/assets/css/statistics.css?time='.time())}}">
  9. <style>
  10. .keyword-card {
  11. display: flex;
  12. flex-direction: column;
  13. justify-content: space-between;
  14. height: 50px;
  15. line-height: 1;
  16. margin-left: 10px;
  17. text-align: left;
  18. }
  19. .keyword-card .keyword-card-name {
  20. display: -webkit-box;
  21. -webkit-box-orient: vertical;
  22. -webkit-line-clamp: 1;
  23. overflow: hidden;
  24. }
  25. .export-income {
  26. border: solid 1px #29ba9c;
  27. color: #29ba9c;
  28. }
  29. </style>
  30. <div class="all">
  31. <div id="app">
  32. <panel >
  33. <!-- <statistics-card-title>
  34. 数据情况
  35. </statistics-card-title> -->
  36. <ul class="statistics-overall">
  37. <li>
  38. <statistics-card colorful count-color="#fba04b" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_7.png') !!}" :border="false" title="累计收入: 元" tip="系统产生的所有收入明细总和,等于已提现收入+未提现收入" :count="overall.grand_income" :decimals="2">
  39. </statistics-card>
  40. </li>
  41. <li>
  42. <statistics-card colorful count-color="#43bae0" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_8.png') !!}" :border="false" title="已提现收入: 元" tip="系统发起的所有已提现的收入记录总和,等于未审核提现收入+无效提现收入+未打款提现收入+已打款提现收入" :count="overall.grand_withdraw_income" :decimals="2">
  43. </statistics-card>
  44. </li>
  45. <li>
  46. <statistics-card colorful count-color="#28b183" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_4.png') !!}" :border="false" title="未提现收入: 元" tip="等于累计收入-已提现收入" :count="overall.grand_no_withdraw_income" :decimals="2">
  47. </statistics-card>
  48. </li>
  49. <li>
  50. <statistics-card colorful count-color="#da9a01" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_6.png') !!}" :border="false" title="累计劳务税: 元" tip="未审核收入+未打款收入+已打款收入部分扣除的劳务税总和" :count="overall.grand_service" :decimals="2">
  51. </statistics-card>
  52. </li>
  53. <li>
  54. <statistics-card colorful count-color="#4652a9" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_2.png') !!}" :border="false" title="累计提现手续费: 元" tip="未审核收入+未打款收入+已打款收入部分扣除的手续费总和" :count="overall.grand_poundage" :decimals="2">
  55. </statistics-card>
  56. </li>
  57. <li>
  58. <statistics-card colorful count-color="#f26163" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_1.png') !!}" :border="false" title="未审核提现收入: 元" tip="已提现收入中后台未审核的收入总和" :count="overall.grand_no_audit_income" :decimals="2">
  59. </statistics-card>
  60. </li>
  61. <li>
  62. <statistics-card colorful count-color="#36c3a7" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_5.png') !!}" :border="false" title="无效提现收入" tip="已提现收入中审核时判定为无效的收入总和" :count="overall.grand_invalid_income" :decimals="2">
  63. </statistics-card>
  64. </li>
  65. <li>
  66. <statistics-card colorful count-color="#43bae0" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_3.png') !!}" :border="false" title="未打款提现收入" tip="已提现收入中通过审核但是未打款的收入总和" :count="overall.grand_no_pay_income" :decimals="2">
  67. </statistics-card>
  68. </li>
  69. <li>
  70. <statistics-card colorful count-color="#4652a9" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_9.png') !!}" :border="false" title="已打款提现收入" tip="已提现收入中已经通过审核并且已经打款的收入总和" :count="overall.grand_payed_income" :decimals="2">
  71. </statistics-card>
  72. </li>
  73. <li>
  74. <statistics-card colorful count-color="#4652a9" background="{!! resource_get('plugins/shop-statistics/assets/images/statistics_card_10.png') !!}" :border="false" title="已驳回提现收入" tip="提现后审核过程中被驳回的收入,驳回后转入未提现收入" :count="overall.grand_rebut_income" :decimals="2">
  75. </statistics-card>
  76. </li>
  77. </ul>
  78. </panel>
  79. <panel>
  80. <el-row :gutter="20">
  81. <el-col :span="4">
  82. <statistics-card :title="dataItem.title" :tip="dataItem.tip" :count="dataItem.count" v-for="dataItem in memberIncome.data" :key="dataItem.key" style="margin-bottom:15px;">
  83. </statistics-card>
  84. </el-col>
  85. <el-col :span="20">
  86. <panel-form inline style="text-align:right;">
  87. <statistics-time-range @changed="getCouponStatisticsData"></statistics-time-range>
  88. </panel-form>
  89. <div ref="couponChart" style="margin-top:20px;width:100%;height:575px;"></div>
  90. </el-col>
  91. </el-row>
  92. </panel>
  93. <panel id="couponRankPanel">
  94. <statistics-card-title>
  95. 会员收入汇总
  96. </statistics-card-title>
  97. <panel-form :inline="true">
  98. <el-form-item label="">
  99. <el-input v-model="search.member_id" placeholder="会员ID"></el-input>
  100. </el-form-item>
  101. <el-form-item label="">
  102. <el-input v-model="search.member" placeholder="昵称/姓名/手机号"></el-input>
  103. </el-form-item>
  104. <el-form-item label="">
  105. <el-date-picker value-format="timestamp" v-model="date" type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
  106. </el-form-item>
  107. <el-form-item label="">
  108. <el-button type="primary" @click="selectField">选择列表字段</el-button>
  109. </el-form-item>
  110. <el-form-item label="">
  111. <el-button type="primary" @click="getCouponRankData(1)">搜索</el-button>
  112. </el-form-item>
  113. <el-form-item label="">
  114. <el-button plain class="export-income" @click="exportData">导出</el-button>
  115. </el-form-item>
  116. </panel-form>
  117. <el-table :data="memberIncomeRank.data">
  118. <el-table-column label="排名" align="center">
  119. <template slot-scope="scope">
  120. <div class="member-rank" plain mini :data-rank="scope.row.rank" round mini>[[ scope.row.rank ]]</div>
  121. </template>
  122. </el-table-column>
  123. <el-table-column label="会员头像/昵称/手机号" prop="keyword" align="center" width="200">
  124. <template slot-scope="scope">
  125. <div style="display: flex;justify-content: flex-start;">
  126. <img :src="scope.row.member !== null ? scope.row.member.avatar_image : ''" alt="" style="width: 50px;height: 50px;">
  127. <div class="keyword-card">
  128. <span class="keyword-card-name">[[scope.row.member !== null ? scope.row.member.nickname : '']]</span>
  129. <span>[[scope.row.member !== null ? scope.row.member.mobile : '']]</span>
  130. </div>
  131. </div>
  132. </template>
  133. </el-table-column>
  134. <el-table-column label="累计收入" prop="grand_income" align="center"></el-table-column>
  135. <el-table-column prop="withdrawalIncome" align="center">
  136. <template slot="header" slot-scope="scope">
  137. <div>未提现收入</div>
  138. <div>已提现收入</div>
  139. </template>
  140. <template slot-scope="scope">
  141. <div>[[scope.row.grand_no_withdraw_income]]</div>
  142. <div>[[scope.row.grand_withdraw_income]]</div>
  143. </template>
  144. </el-table-column>
  145. <el-table-column prop="allIncome" align="center">
  146. <template slot="header" slot-scope="scope">
  147. <div>劳务税总和</div>
  148. <div>手续费总和</div>
  149. </template>
  150. <template slot-scope="scope">
  151. <div>[[scope.row.withdraw !== null ? scope.row.withdraw.grand_service : '']]</div>
  152. <div>[[scope.row.withdraw !== null ? scope.row.withdraw.grand_poundage : '']]</div>
  153. </template>
  154. </el-table-column>
  155. <el-table-column align="center" :prop="columnItem.type" :label="columnItem.title" v-for="(columnItem,columnIndex) in selectFielList" :key="columnIndex"></el-table-column>
  156. <el-table-column label="收入明细" align="center">
  157. <template slot-scope="scope">
  158. <el-button type="primary" size="mini" @click="goIncomeDetail(scope.row.member_id)">收入详情</el-button>
  159. </template>
  160. </el-table-column>
  161. </el-table>
  162. <el-row style="margin-top:20px;">
  163. <el-col align="right">
  164. <el-pagination :total="memberIncomeRank.pagination.total" :page-size="memberIncomeRank.pagination.limit" :current-page="memberIncomeRank.pagination.pages" @current-change="getCouponRankData"></el-pagination>
  165. </el-col>
  166. </el-row>
  167. </panel>
  168. <field-dialog v-if="dialogVisible" :select-fiel-list="selectFielList" :choose_income="choose_income" :field-dialog-visible="dialogVisible" @checkfiellist="getCheckFielList" :income_comment="income_comment"></field-dialog>
  169. </div>
  170. </div>
  171. <script>
  172. const GetIncomeOverallDataUrl = "{!! yzWebFullUrl('plugin.shop-statistics.backend.member-income.statistics') !!}";
  173. const GetIncomeStatisticsDataUrl = "{!! yzWebFullUrl('plugin.shop-statistics.backend.member-income.chart') !!}";
  174. const GetIncomeRankDataUrl = "{!! yzWebFullUrl('plugin.shop-statistics.backend.member-income.income-list') !!}";
  175. const GetExportDataUrl = "{!! yzWebFullUrl('plugin.shop-statistics.backend.member-income.export-list') !!}";
  176. const GoIncomeDetailUrl = "{!! yzWebFullUrl('income.income-records.index') !!}";
  177. </script>
  178. @include('Yunshop\ShopStatistics::backend.field_dialog')
  179. <script src="{{resource_get('plugins/shop-statistics/assets/js/components.js')}}"></script>
  180. <script src="{{resource_get('plugins/shop-statistics/assets/js/member_income.js')}}?timestamp={{ time() }}"></script>
  181. <script src="{{resource_get('plugins/shop-statistics/assets/js/common.js')}}"></script>
  182. @endsection