index.blade.php 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. @extends('admin.public.base')
  2. @section('body_class')
  3. style="margin: 0 auto;width: 96%;padding: 30px 0px;"
  4. @endsection
  5. @section('content')
  6. @if( check_auth('admin/orders/import_execl') )
  7. <div class="page-header">
  8. @if( check_auth('admin/custom/import_execl') )
  9. <a href="javascript:;" class="btn btn-primary upload"> <span class="fa fa-upload"></span> 导入客户信息</a>
  10. <a href="/uploads/custom_tpl.xlsx" class="btn btn-primary" download="客户导入模版"> <span class="fa fa-download"></span> 客户模版</a>
  11. @endif
  12. @if( check_auth('admin/custom_score/import_execl') )
  13. <a href="javascript:;" class="btn btn-primary upload_score"> <span class="fa fa-upload"></span> 积分批量导入</a>
  14. <a href="/uploads/score_tpl.xlsx" class="btn btn-primary" download="积分批量导入模版"> <span class="fa fa-download"></span> 积分模版</a>
  15. @endif
  16. </div>
  17. @endif
  18. <form action="" method="get" class="form-horizontal form-line">
  19. <div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
  20. <input type="text" class="form-control" name="custom_code" value="{{request('custom_code','')}}" placeholder="请输入客户编码查询" />
  21. </div>
  22. <div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
  23. <input type="text" class="form-control" name="phone" value="{{request('phone','')}}" placeholder="请输入联系方式查询" />
  24. </div>
  25. <div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
  26. <input type="text" class="form-control" name="weiban_extid" value="{{request('weiban_extid','')}}" placeholder="请输入微伴ID查询" />
  27. </div>
  28. <div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
  29. <select name="status" class="form-control">
  30. <option value="" >客户状态</option>
  31. <option value="0" @if (request('status') === '0' ) selected="selected" @endif >正常</option>
  32. <option value="1" @if (request('status') === '1' ) selected="selected" @endif >禁用</option>
  33. </select>
  34. </div>
  35. <div class="form-group col col-lg-2 col-md-2 col-sm-2 col-xs-2" style="margin-right: 2px;">
  36. <input type="date" class="form-control" name="start_time" value="{{request('start_time','')}}" placeholder="请输入创建时间查询" />
  37. </div>
  38. <input type="submit" class="btn btn-sm btn-primary" value="查询"/>
  39. <a href="{{url('admin/custom/index')}}" class="btn btn-sm btn-default" >重置</a>
  40. </form>
  41. <div class="row">
  42. <div class="col-xs-12">
  43. <div class="table-responsive">
  44. <table class="table table-striped table-bordered table-hover">
  45. <thead>
  46. <tr>
  47. <th>客户编码</th>
  48. <th>客户昵称</th>
  49. <th>联系方式</th>
  50. <th>客户积分</th>
  51. <th>微伴ID</th>
  52. <th>客户状态</th>
  53. <th>创建时间</th>
  54. <th>更新时间</th>
  55. <th>操作</th>
  56. </tr>
  57. </thead>
  58. <tbody>
  59. @foreach ($list as $a)
  60. <tr>
  61. <th> {{$a['custom_code']}} </th>
  62. <td> {{$a['username']}} </td>
  63. <td> {{$a['phone']}} </td>
  64. <td> {{$a['custom_score']['score']}} </td>
  65. <td> <a href="{{url('admin/weiban_external/index?'.http_build_query(['id'=>$a['weiban_extid']]))}}">{{$a['weiban_extid']}}</a></td>
  66. <td> {{$a['status']?'禁用':'正常'}} </td>
  67. <td> {{date('Y/m/d H:i:s',$a['insert_time'])}}</td>
  68. <td> {{date('Y/m/d H:i:s',$a['update_time'])}}</td>
  69. <td>
  70. @if(check_auth('admin/custom/edit'))
  71. <a href="{{url('admin/custom/edit?'.http_build_query(['uid'=>$a['uid']]))}}" class="btn btn-sm btn-warning" >编辑</a>
  72. @endif
  73. @if(check_auth('admin/custom_score/incr'))
  74. <a href="{{url('admin/custom_score/incr?'.http_build_query(['custom_uid'=>$a['uid']]))}}" class="btn btn-sm btn-success" >增加积分</a>
  75. @endif
  76. @if(check_auth('admin/custom_score/decr'))
  77. <a href="{{url('admin/custom_score/decr?'.http_build_query(['custom_uid'=>$a['uid']]))}}" class="btn btn-sm btn-danger" >扣减积分</a>
  78. @endif
  79. @if(check_auth('admin/custom/set_status'))
  80. @if( $a['status'] )
  81. <a data-url="{{url('admin/custom/set_status?'.http_build_query(['uid'=>$a['uid'],'status'=>0]))}}" class="set_status btn btn-sm btn-success" >取消拉黑</a>
  82. @else
  83. <a data-url="{{url('admin/custom/set_status?'.http_build_query(['uid'=>$a['uid'],'status'=>1]))}}" class="set_status btn btn-sm btn-danger" >拉黑</a>
  84. @endif
  85. @endif
  86. </td>
  87. </tr>
  88. @endforeach
  89. <tr>
  90. <td colspan="20" class="page">{{$list->render()}}</td>
  91. </tr>
  92. <tr>
  93. <td colspan="20">总计 {{$list->total()}} 个客户</td>
  94. </tr>
  95. </tbody>
  96. </table>
  97. </div>
  98. </div>
  99. </div>
  100. @endsection
  101. @section('javascript')
  102. <script src="/static/fileupload/jquery.ui.widget.js"></script>
  103. <script src="/static/fileupload/jquery.fileupload.js"></script>
  104. <script type="text/javascript">
  105. $(function(){
  106. $('.upload').on('click', function() {
  107. $('#form-upload').remove();
  108. $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input osctype="btn_upload_file" type="file" name="custom_file" multiple="multiple" /></form>');
  109. $('#form-upload input[name=\'custom_file\']').trigger('click');
  110. $('[osctype="btn_upload_file"]').fileupload({
  111. dataType: 'json',
  112. url: "{{url('admin/custom/import_execl')}}",
  113. singleFileUploads: false,
  114. beforeSend: function() {
  115. art.dialog({
  116. id: 'loading',
  117. lock: true,
  118. title: '文件上传中'
  119. });
  120. },
  121. done: function(e, data) {
  122. art.dialog.list['loading'].close();
  123. var result = data.result;
  124. if (result.code == 'error') {
  125. art.dialog({
  126. content: result.msg,
  127. lock: true,
  128. ok: function() {}
  129. });
  130. }
  131. if (result.code == 'success') {
  132. art.dialog({
  133. content: result.msg,
  134. lock: true,
  135. ok: function() {
  136. location.reload();
  137. }
  138. });
  139. }
  140. },
  141. fail: function(e,c) {
  142. art.dialog.list['loading'].close();
  143. art.dialog({
  144. content: '<p>'+c.jqXHR.status+'=>'+c.jqXHR.statusText+'</p>',
  145. lock: true,
  146. ok: function() {}
  147. });
  148. }
  149. });
  150. });
  151. })
  152. </script>
  153. <script type="text/javascript">
  154. $(function(){
  155. $('.upload_score').on('click', function() {
  156. $('#form-upload').remove();
  157. $('body').prepend('<form enctype="multipart/form-data" id="form-upload" style="display: none;"><input osctype="btn_upload_file" type="file" name="score_file" multiple="multiple" /></form>');
  158. $('#form-upload input[name=\'score_file\']').trigger('click');
  159. $('[osctype="btn_upload_file"]').fileupload({
  160. dataType: 'json',
  161. url: "{{url('admin/custom_score/import_execl')}}",
  162. singleFileUploads: false,
  163. beforeSend: function() {
  164. art.dialog({
  165. id: 'loading',
  166. lock: true,
  167. title: '文件上传中'
  168. });
  169. },
  170. done: function(e, data) {
  171. art.dialog.list['loading'].close();
  172. var result = data.result;
  173. if (result.code == 'error') {
  174. art.dialog({
  175. content: result.msg,
  176. lock: true,
  177. ok: function() {}
  178. });
  179. }
  180. if (result.code == 'success') {
  181. art.dialog({
  182. content: result.msg,
  183. lock: true,
  184. ok: function() {
  185. location.reload();
  186. }
  187. });
  188. }
  189. },
  190. fail: function(e,c) {
  191. art.dialog.list['loading'].close();
  192. art.dialog({
  193. content: '<p>'+c.jqXHR.status+'=>'+c.jqXHR.statusText+'</p>',
  194. lock: true,
  195. ok: function() {}
  196. });
  197. }
  198. });
  199. });
  200. })
  201. </script>
  202. @endsection