reward-list.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267
  1. @extends('layouts.base')
  2. @section('title', "奖励记录")
  3. @section('content')
  4. <style xmlns:v-bind="http://www.w3.org/1999/xhtml">
  5. .rightlist #app .rightlist-head {
  6. padding: 15px 0;
  7. line-height: 50px;
  8. }
  9. .rightlist #app {
  10. margin-left: 30px;
  11. }
  12. .rightlist-head-con {
  13. float: left;
  14. padding-right: 20px;
  15. font-size: 16px;
  16. color: #888;
  17. }
  18. .el-form-item__label {
  19. padding-right: 30px;
  20. }
  21. .mouse-active {
  22. cursor: pointer;
  23. border: 1px dotted #409EFF;
  24. border-radius: 4px;
  25. }
  26. /* 滑块选择小白点 */
  27. .el-switch.is-checked .el-switch__core::after {
  28. left: 100%;
  29. margin-left: -17px;
  30. }
  31. .el-switch__core::after {
  32. content: "";
  33. position: absolute;
  34. top: 1px;
  35. left: 1px;
  36. border-radius: 100%;
  37. transition: all .3s;
  38. width: 16px;
  39. height: 16px;
  40. background-color: #fff;
  41. }
  42. </style>
  43. <link rel="stylesheet" href="//at.alicdn.com/t/font_913727_zrmdutznqpd.css">
  44. <div id="app-share-activity">
  45. <template>
  46. <el-container>
  47. <el-header height="auto">
  48. <div class="">
  49. <h4 class="card-title">奖励记录</h4>
  50. <div style="padding-top: 24px">
  51. <el-form v-loading="loading" ref="form" :model="form" :inline="true">
  52. <el-form-item label="活动ID">
  53. <el-input v-model="searchParams.activity_id" placeholder="活动ID"></el-input>
  54. </el-form-item>
  55. <el-form-item label="活动名称">
  56. <el-input v-model="searchParams.activity_name" placeholder="请输入活动名称"></el-input>
  57. </el-form-item>
  58. <el-form-item label="奖励时间">
  59. <template>
  60. <div class="block">
  61. <span class="demonstration"></span>
  62. <el-date-picker
  63. v-model="searchParams.create_time"
  64. type="datetimerange"
  65. range-separator="至"
  66. start-placeholder="开始日期"
  67. end-placeholder="结束日期"
  68. align="right">
  69. </el-date-picker>
  70. </div>
  71. </template>
  72. </el-form-item>
  73. <el-form-item label="奖励类型">
  74. <template>
  75. <el-select v-model="searchParams.type" placeholder="请选择奖励类型">
  76. <el-option
  77. v-for="item in options"
  78. :key="item.value"
  79. :label="item.label"
  80. :value="item.value">
  81. </el-option>
  82. </el-select>
  83. </template>
  84. </el-form-item>
  85. <el-form-item label="奖励会员ID">
  86. <el-input v-model="searchParams.member_id" placeholder="输入会员ID"></el-input>
  87. </el-form-item>
  88. <el-form-item label="奖励会员姓名/昵称/手机号">
  89. <el-input v-model="searchParams.member_msg" placeholder="姓名/昵称/手机号"></el-input>
  90. </el-form-item>
  91. <el-button type="primary" icon="el-icon-search" @click="searchData()">搜索</el-button>
  92. </el-form>
  93. </div>
  94. </div>
  95. </el-header>
  96. {{--表格start--}}
  97. <el-main>
  98. <template>
  99. <el-table :data="list">
  100. <el-table-column
  101. align="center"
  102. prop="created_at"
  103. label="时间">
  104. </el-table-column>
  105. <el-table-column align="center" label="活动会员" width="auto">
  106. <template slot-scope="scope">
  107. <div>
  108. <div v-if="scope.row.member.avatar"><img :src="scope.row.member.avatar" alt=""
  109. style="width:40px;height:40px;border-radius:50%">
  110. </div>
  111. <div @click="gotoMember(scope.row.member_id)"
  112. style="line-height:32px;color:#29BA9C;cursor: pointer;"
  113. class="vue-ellipsis">[[scope.row.member.nickname]]
  114. </div>
  115. </div>
  116. </template>
  117. </el-table-column>
  118. <el-table-column align="center" align="center" prop="activity_id" label="活动ID"
  119. width="auto"></el-table-column>
  120. <el-table-column align="center" prop="name" label="活动名称" width="auto">
  121. <template slot-scope="scope">
  122. <div style="line-height:32px;color:#29BA9C;cursor: pointer;" class="vue-ellipsis">
  123. [[scope.row.activity.name]]
  124. </div>
  125. </template>
  126. </el-table-column>
  127. <el-table-column label="奖励类型" align="center" align="center">
  128. <template slot-scope="scope">
  129. [[scope.row.reward_name]]
  130. </template>
  131. </el-table-column>
  132. <el-table-column
  133. align="center"
  134. prop="amount"
  135. label="奖励数量">
  136. </el-table-column>
  137. <el-table-column align="center" label="备注">
  138. <template slot-scope="scope">
  139. [[scope.row.remark]]
  140. </template>
  141. </el-table-column>
  142. </el-table>
  143. </template>
  144. </el-main>
  145. {{--表格end--}}
  146. <el-footer>
  147. <el-pagination
  148. layout="prev, pager, next"
  149. @current-change="currentChange"
  150. :current-page.sync="current_page"
  151. :total="page_total"
  152. :page-size="page_size"
  153. background v-loading="loading">
  154. </el-pagination>
  155. </el-footer>
  156. </el-container>
  157. </template>
  158. </div>
  159. <script>
  160. var app = new Vue({
  161. el: '#app-share-activity',
  162. delimiters: ['[[', ']]'],
  163. data() {
  164. let pageList = {!! $pageList ?: '{}'!!};
  165. return {
  166. form: {},
  167. loading: false,
  168. options:
  169. [{
  170. value: 0,
  171. label: '全部'
  172. }, {
  173. value: 1,
  174. label: '余额'
  175. }, {
  176. value: 2,
  177. label: '积分'
  178. }, {
  179. value: 3,
  180. label: '优惠劵'
  181. }, {
  182. value: 4,
  183. label: '微信零钱'
  184. }, {
  185. value: 5,
  186. label: '微信红包'
  187. }],
  188. searchParams: {
  189. 'id': '',
  190. 'name': '',
  191. 'create_time': '',
  192. },
  193. real_search_form: {
  194. 'id': '',
  195. 'name': '',
  196. 'create_time': '',
  197. },
  198. list: pageList.data,
  199. current_page: pageList.current_page,
  200. page_total: pageList.total,
  201. page_size: pageList.per_page,
  202. }
  203. },
  204. methods: {
  205. searchData() {
  206. this.loading = true;
  207. if (this.searchParams.create_time) {
  208. this.searchParams.create_time[0] = Math.round(this.searchParams.create_time[0] / 1000).valueOf();
  209. this.searchParams.create_time[1] = Math.round(this.searchParams.create_time[1] / 1000).valueOf();
  210. }
  211. this.$http.post('{!! yzWebFullUrl('plugin.share-activity.admin.activity-reward.reward-list') !!}', {search: this.searchParams}
  212. ).then(function (response) {
  213. if (response.data.result) {
  214. let datas = response.data.data;
  215. this.page_total = datas.total;
  216. this.list = datas.data;
  217. this.page_size = datas.per_page;
  218. this.current_page = datas.current_page;
  219. this.real_search_form = this.searchParams;
  220. } else {
  221. this.$message({message: response.data.msg, type: 'error'});
  222. }
  223. this.loading = false;
  224. }, function (response) {
  225. this.loading = false;
  226. this.$message({message: response.data.msg, type: 'error'});
  227. }
  228. );
  229. },
  230. currentChange(val) {
  231. this.loading = true;
  232. this.$http.post('{!! yzWebFullUrl('plugin.share-activity.admin.activity-reward.reward-list') !!}', {
  233. page: val,
  234. search: this.real_search_form
  235. }).then(function (response) {
  236. if (response.data.result) {
  237. let datas = response.data.data;
  238. this.page_total = datas.total;
  239. this.list = datas.data;
  240. this.page_size = datas.per_page;
  241. this.current_page = datas.current_page;
  242. } else {
  243. this.$message({message: response.data.msg, type: 'error'});
  244. }
  245. this.loading = false;
  246. }, function (response) {
  247. this.loading = false;
  248. this.$message({message: response.data.msg, type: 'error'});
  249. }
  250. );
  251. },
  252. gotoMember(id) {
  253. window.location.href = `{!! yzWebFullUrl('member.member.detail') !!}` + `&id=` + id;
  254. },
  255. },
  256. });
  257. </script>
  258. @endsection