circle-member.blade.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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.member_info" placeholder="会员ID/昵称/名称/手机号"></el-input>
  20. </el-form-item>
  21. <el-form-item label="">
  22. <el-date-picker v-model="times" type="datetimerange" value-format="timestamp" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" style="margin-left:5px;" align="right">
  23. </el-date-picker>
  24. </el-form-item>
  25. <el-form-item label="">
  26. <el-button type="primary" @click="search(1)">搜索</el-button>
  27. </el-form-item>
  28. </el-form>
  29. </div>
  30. </div>
  31. <div class="vue-main" v-if="choose_index==1">
  32. <div>
  33. <div class="vue-main-title" style="margin-bottom:20px">
  34. <div class="vue-main-title-left"></div>
  35. <div class="vue-main-title-content" style="flex:0 0 120px">会员列表</div>
  36. <div class="vue-main-title-button">
  37. <!-- <el-button type="primary" plain icon="el-icon-plus" size="small" @click="addModal">添加</el-button> -->
  38. </div>
  39. </div>
  40. <el-table :data="list" style="width: 100%">
  41. <el-table-column label="时间" align="center" prop="created_at"></el-table-column>
  42. <el-table-column label="会员id" align="center" prop="member_id"></el-table-column>
  43. <el-table-column label="会员" align="center" prop="display_order">
  44. <template slot-scope="scope">
  45. <div>
  46. <div v-if="scope.row.avatar">
  47. <img :src="scope.row.avatar" alt="" style="width:40px;height:40px;border-radius:50%">
  48. </div>
  49. <div @click="gotoMember(scope.row.member_id)" style="line-height:32px;color:#29BA9C;cursor: pointer;" class="vue-ellipsis">[[scope.row.nickname]]</div>
  50. </div>
  51. </template>
  52. </el-table-column>
  53. <el-table-column label="姓名/手机号" align="center" prop="link">
  54. <template slot-scope="scope">
  55. <div>
  56. <div>[[scope.row.realname]]</div>
  57. <div>[[scope.row.mobile]]</div>
  58. </div>
  59. </template>
  60. </el-table-column>
  61. <el-table-column label="作品" align="center" prop="invitation_count"></el-table-column>
  62. </el-table>
  63. </div>
  64. </div>
  65. <!-- 分页 -->
  66. <div class="vue-page" v-if="total>0">
  67. <el-row>
  68. <el-col align="right">
  69. <el-pagination layout="prev, pager, next,jumper" @current-change="search" :total="total"
  70. :page-size="per_page" :current-page="current_page" background
  71. ></el-pagination>
  72. </el-col>
  73. </el-row>
  74. </div>
  75. </div>
  76. </div>
  77. <script>
  78. var app = new Vue({
  79. el: "#app",
  80. delimiters: ['[[', ']]'],
  81. name: 'test',
  82. data() {
  83. return {
  84. choose_index: '1',
  85. list: [],
  86. search_form: {},
  87. times: [],
  88. rules: {},
  89. current_page: 1,
  90. total: 1,
  91. per_page: 1,
  92. }
  93. },
  94. created() {
  95. },
  96. mounted() {
  97. this.search_form.circle_id = this.getParam("circle_id");
  98. this.getData(1);
  99. },
  100. methods: {
  101. getParam(name) {
  102. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  103. var r = window.location.search.substr(1).match(reg);
  104. if (r != null) return unescape(r[2]);
  105. return null;
  106. },
  107. getData(page) {
  108. let json = {
  109. page:page
  110. }
  111. for(let i in this.search_form) {
  112. if(this.search_form[i]) {
  113. json[i] = this.search_form[i]
  114. }
  115. }
  116. if(this.times&&this.times!=null&&this.times.length) {
  117. json.created_start = this.times[0] / 1000
  118. json.created_end = this.times[1] / 1000
  119. }
  120. let loading = this.$loading({target: document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  121. this.$http.post('{!! yzWebFullUrl('plugin.circle.admin.circle.getCircleMemberList') !!}', json).then(function(response) {
  122. if (response.data.result) {
  123. this.list = response.data.data.data;
  124. this.current_page = response.data.data.current_page;
  125. this.total = response.data.data.total;
  126. this.per_page = response.data.data.per_page;
  127. loading.close();
  128. } else {
  129. this.$message({
  130. message: response.data.msg,
  131. type: 'error'
  132. });
  133. }
  134. loading.close();
  135. }, function(response) {
  136. this.$message({
  137. message: response.data.msg,
  138. type: 'error'
  139. });
  140. loading.close();
  141. });
  142. },
  143. gotoDetail(item) {
  144. let link = `{!! yzWebFullUrl('plugin.circle.admin.circle.getCircleMemberList') !!}` + `&circle_id=` + item.id;
  145. window.location.href = link;
  146. },
  147. search(val) {
  148. this.getData(val);
  149. },
  150. addModal() {
  151. let link = `{!! yzWebFullUrl('plugin.circle.admin.circle.edit') !!}`;
  152. console.log(link);
  153. window.location.href = link;
  154. },
  155. gotoMember(id) {
  156. window.location.href = `{!! yzWebFullUrl('member.member.detail') !!}` + `&id=` + id;
  157. },
  158. },
  159. })
  160. </script>
  161. @endsection