pay-list.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. @extends('layouts.base')
  2. @section('title', "付费记录")
  3. @section('content')
  4. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}"/>
  5. <style>
  6. </style>
  7. <div class="all">
  8. <div id="app" v-cloak>
  9. <div class="vue-head">
  10. <div class="vue-main-title" style="margin-bottom:20px">
  11. <div class="vue-main-title-left"></div>
  12. <div class="vue-main-title-content">付费记录</div>
  13. <div class="vue-main-title-button">
  14. </div>
  15. </div>
  16. <div class="vue-search">
  17. <el-form :inline="true" :model="search_form" class="demo-form-inline">
  18. <el-form-item label="">
  19. <el-input v-model="search_form.circle_name" placeholder="圈子名称"></el-input>
  20. </el-form-item>
  21. <el-form-item label="">
  22. <el-select v-model="search_form.category_id" clearable placeholder="所属分类">
  23. <el-option v-for="(item,index) in category_list" :key="index" :label="item.name" :value="item.id"></el-option>
  24. </el-select>
  25. </el-form-item>
  26. <el-form-item label="">
  27. <el-input v-model="search_form.member_info" placeholder="发布者ID/昵称/名称/手机号"></el-input>
  28. </el-form-item>
  29. <el-form-item label="">
  30. <el-input v-model="search_form.pay_member_info" placeholder="支付会员ID/昵称/名称/手机号"></el-input>
  31. </el-form-item>
  32. <el-form-item label="">
  33. <el-select v-model="search_form.pay_id" clearable placeholder="支付方式">
  34. <el-option v-for="(item,index) in pay_list" :key="index" :label="item.name" :value="item.value"></el-option>
  35. </el-select>
  36. </el-form-item>
  37. <el-form-item label="">
  38. <el-date-picker
  39. v-model="times"
  40. type="datetimerange"
  41. value-format="timestamp"
  42. range-separator="至"
  43. start-placeholder="开始日期"
  44. end-placeholder="结束日期"
  45. style="margin-left:5px;"
  46. align="right">
  47. </el-date-picker>
  48. </el-form-item>
  49. <el-form-item label="">
  50. <el-button type="primary" @click="search(1)">搜索</el-button>
  51. </el-form-item>
  52. </el-form>
  53. </div>
  54. </div>
  55. <div class="vue-main" v-if="choose_index==1">
  56. <div>
  57. <div class="vue-main-title" style="margin-bottom:20px">
  58. <div class="vue-main-title-left"></div>
  59. <div class="vue-main-title-content" style="flex:0 0 120px">付费列表</div>
  60. <div class="vue-main-title-button">
  61. </div>
  62. </div>
  63. <el-table :data="list" style="width: 100%">
  64. <el-table-column label="时间" align="center" prop="created_at"></el-table-column>
  65. <el-table-column prop="down_time" label="圈子名称" min-width="180" align="left" class="edit-cell">
  66. <template slot-scope="scope">
  67. <div style="display:flex;align-items: center;">
  68. <img :src="scope.row.circle_img" style="width:50px;min-width:50px;height:50px;margin-right:10px">
  69. <span>[[scope.row.circle_name]]</span>
  70. </div>
  71. </template>
  72. </el-table-column>
  73. <el-table-column label="分类" align="center" prop="category_name"></el-table-column>
  74. <el-table-column label="圈主" align="center" prop="">
  75. <template slot-scope="scope">
  76. <div v-if="scope.row.circle_member_id&&scope.row.circle_member_id!=null">
  77. <div v-if="scope.row.circle_member_id.avatar">
  78. <img :src="scope.row.circle_member_id.avatar" alt="" style="width:40px;height:40px;border-radius:50%">
  79. </div>
  80. <div @click="gotoMember(scope.row.circle_member_id.uid)" style="line-height:32px;color:#29BA9C;cursor: pointer;" class="vue-ellipsis">[[scope.row.circle_member_id.nickname]]</div>
  81. </div>
  82. </template>
  83. </el-table-column>
  84. <el-table-column label="支付会员" align="center" prop="display_order">
  85. <template slot-scope="scope">
  86. <div v-if="scope.row.member_id&&scope.row.member_id!=null">
  87. <div>
  88. <img :src="scope.row.member_id.avatar" alt="" style="width:40px;height:40px;border-radius:50%">
  89. </div>
  90. <div @click="gotoMember(scope.row.member_id.uid)" style="line-height:32px;color:#29BA9C;cursor: pointer;" class="vue-ellipsis">[[scope.row.member_id.nickname]]</div>
  91. </div>
  92. </template>
  93. </el-table-column>
  94. <el-table-column label="支付金额" align="center" prop="money"></el-table-column>
  95. <el-table-column label="支付单号" align="center" prop="order_sn"></el-table-column>
  96. <el-table-column label="支付方式" align="center" prop="link">
  97. <template slot-scope="scope">
  98. <span v-for="(item,index) in pay_list" :key="index">
  99. <span v-if="item.value==scope.row.pay_id">[[item.name]]</span>
  100. </span>
  101. </template>
  102. </el-table-column>
  103. <el-table-column label="平台扣点" align="center" prop="link">
  104. <template slot-scope="scope">
  105. <div>
  106. [[scope.row.deduction]]%
  107. </div>
  108. </template>
  109. </el-table-column>
  110. <el-table-column label="结算金额" align="center" prop="income"></el-table-column>
  111. </el-table>
  112. </div>
  113. </div>
  114. <!-- 分页 -->
  115. <div class="vue-page" v-if="total>0">
  116. <el-row>
  117. <el-col align="right">
  118. <el-pagination layout="prev, pager, next,jumper" @current-change="search" :total="total"
  119. :page-size="per_page" :current-page="current_page" background
  120. ></el-pagination>
  121. </el-col>
  122. </el-row>
  123. </div>
  124. </div>
  125. </div>
  126. <script>
  127. var app = new Vue({
  128. el: "#app",
  129. delimiters: ['[[', ']]'],
  130. name: 'test',
  131. data() {
  132. return {
  133. choose_index:'1',
  134. list:[],
  135. category_list:[],
  136. pay_list:[],
  137. search_form:{
  138. },
  139. times:[],
  140. rules: {},
  141. current_page:1,
  142. total:1,
  143. per_page:1,
  144. }
  145. },
  146. created() {
  147. },
  148. mounted() {
  149. this.getData(1);
  150. },
  151. methods: {
  152. getData(page) {
  153. let json = {
  154. page:page
  155. }
  156. for(let i in this.search_form) {
  157. if(this.search_form[i]) {
  158. json[i] = this.search_form[i]
  159. }
  160. }
  161. if(this.times&&this.times!=null&&this.times.length) {
  162. json.created_start = this.times[0] / 1000
  163. json.created_end = this.times[1] / 1000
  164. }
  165. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  166. this.$http.post('{!! yzWebFullUrl('plugin.circle.admin.pay-log.get-list') !!}',json).then(function(response) {
  167. if (response.data.result) {
  168. this.list = response.data.data.list.data;
  169. this.current_page=response.data.data.list.current_page;
  170. this.total=response.data.data.list.total;
  171. this.per_page=response.data.data.list.per_page;
  172. this.category_list = response.data.data.cat;
  173. this.pay_list = response.data.data.pay_list;
  174. loading.close();
  175. } else {
  176. this.$message({
  177. message: response.data.msg,
  178. type: 'error'
  179. });
  180. }
  181. loading.close();
  182. }, function(response) {
  183. this.$message({
  184. message: response.data.msg,
  185. type: 'error'
  186. });
  187. loading.close();
  188. });
  189. },
  190. gotoDetail(item) {
  191. let link = `{!! yzWebFullUrl('plugin.circle.admin.circle.edit') !!}`+`&id=`+item.id;
  192. window.location.href = link;
  193. },
  194. search(val) {
  195. this.getData(val);
  196. },
  197. addModal() {
  198. let link = `{!! yzWebFullUrl('plugin.circle.admin.circle.edit') !!}`;
  199. console.log(link);
  200. window.location.href = link;
  201. },
  202. del(id,index) {
  203. console.log(id,index)
  204. this.$confirm('确定删除吗', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(() => {
  205. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  206. this.$http.post('{!! yzWebFullUrl('plugin.store-cashier.admin.store-basic.slide-show-delete') !!}',{id:id}).then(function (response) {
  207. if (response.data.result) {
  208. this.list.splice(index,1);
  209. this.$message({type: 'success',message: '删除成功!'});
  210. }
  211. else{
  212. this.$message({type: 'error',message: response.data.msg});
  213. }
  214. loading.close();
  215. this.search(this.current_page)
  216. },function (response) {
  217. this.$message({type: 'error',message: response.data.msg});
  218. loading.close();
  219. }
  220. );
  221. }).catch(() => {
  222. this.$message({type: 'info',message: '已取消删除'});
  223. });
  224. },
  225. search(val) {
  226. this.getData(val);
  227. },
  228. gotoMember(id) {
  229. window.location.href = `{!! yzWebFullUrl('member.member.detail') !!}`+`&id=`+id;
  230. },
  231. },
  232. })
  233. </script>
  234. @endsection