2
0

waitWithdrawal.blade.php 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584
  1. @extends('base.base')
  2. @section('base')
  3. <style>
  4. /* 搜索表单移动端适配 */
  5. @media screen and (max-width: 991px) {
  6. .well.form-inline {
  7. display: flex !important;
  8. flex-direction: column !important;
  9. }
  10. .well.form-inline > div {
  11. display: flex !important;
  12. flex-wrap: wrap !important;
  13. gap: 8px 10px;
  14. align-items: center;
  15. }
  16. .well.form-inline > div > spen {
  17. display: block;
  18. width: 100%;
  19. padding-left: 0 !important;
  20. font-weight: 600;
  21. font-size: 0.85rem;
  22. margin-top: 4px;
  23. }
  24. .well.form-inline > div > .form-control,
  25. .well.form-inline > div > select.form-control {
  26. width: 100% !important;
  27. max-width: 100% !important;
  28. box-sizing: border-box;
  29. }
  30. .well.form-inline > div > input[type="datetime-local"] {
  31. width: 100% !important;
  32. max-width: 100% !important;
  33. }
  34. .well.form-inline > div > .btn,
  35. .well.form-inline > div > input[type="submit"] {
  36. flex: 1;
  37. min-width: 80px;
  38. max-width: 120px;
  39. }
  40. .well.form-inline > div > br {
  41. display: none;
  42. }
  43. }
  44. @media screen and (max-width: 576px) {
  45. .well.form-inline > div > spen {
  46. font-size: 0.8rem;
  47. }
  48. .well.form-inline > div > .form-control {
  49. font-size: 0.8rem;
  50. padding: 0.35rem 0.5rem;
  51. }
  52. }
  53. </style>
  54. <!-- 内容区域 -->
  55. <div class="main-panel">
  56. <div class="content-wrapper">
  57. <div class="page-header">
  58. <h3 class="page-title">
  59. <span class="page-title-icon bg-gradient-primary text-white mr-2">
  60. <i class="mdi mdi-settings"></i>
  61. </span>
  62. {{ __('auto.茶叶订单审核') }}
  63. </h3>
  64. <nav aria-label="breadcrumb">
  65. <ol class="breadcrumb">
  66. <li class="breadcrumb-item"><a href="#">{{ __('auto.茶叶统计') }}</a></li>
  67. <li class="breadcrumb-item active" aria-current="page">{{ __('auto.茶叶订单审核') }}</li>
  68. </ol>
  69. </nav>
  70. </div>
  71. <div class="row">
  72. <div class="col-lg-12 grid-margin stretch-card">
  73. <div class="card">
  74. <div class="card-body">
  75. <h4 class="card-title">{{ __('auto.茶叶订单审核') }}</h4>
  76. @if ($specialCs)
  77. &nbsp;&nbsp;{{ __('auto.全员可审核新订单状态:') }}{{$normalCsOpen=="open"?__('auto.开启'):__('auto.关闭')}}
  78. <button class="btn btn-gradient-dark btn-sm"
  79. onclick="switchNormalCs()">{{ __('auto.切换') }}
  80. </button>
  81. @endif
  82. <form class="well form-inline margin-top-20" method="get"
  83. action='{{$api_url}}'>
  84. <div>
  85. @csrf
  86. <spen style="padding-left: 10px">{{ __('auto.会员ID:') }}</spen>
  87. <input class="form-control" type="text" name="GameID" id="GameID"
  88. value="{{$GameID}}">
  89. <spen style="padding-left: 10px">{{ __('auto.额度查询:') }}</spen>
  90. <input class="form-control" type="text" name="withdraw_search" id="GameID"
  91. value="{{$withdraw_search}}">
  92. <spen style="padding-left: 10px">{{ __('auto.订单号查询:') }}</spen>
  93. <input class="form-control" type="text" name="orderID" id="orderID"
  94. value="{{$orderID}}">
  95. <spen style="padding-left: 10px">{{ __('auto.额度筛选:') }}</spen>
  96. <select class="form-control" name="withdraw" value="" style="color: black">
  97. <option value="">{{ __('auto.全部') }}</option>
  98. <option value="100" @if ($withdraw == 100)
  99. selected
  100. @endif>100{{ __('auto.以下(不含100)') }}
  101. </option>
  102. <option value="500" @if ($withdraw == 500)
  103. selected
  104. @endif>100-500({{ __('auto.含500)') }}
  105. </option>
  106. <option value="1000" @if ($withdraw == 1000)
  107. selected
  108. @endif>500-1000({{ __('auto.含1000)') }}
  109. </option>
  110. <option value="1001" @if ($withdraw == 1001)
  111. selected
  112. @endif>1000{{ __('auto.以上(不含') }}1000)
  113. </option>
  114. </select>
  115. <spen style="padding-left: 10px">{{ __('auto.渠道搜索:') }}</spen>
  116. <select class="form-control" name="Channel" value="" style="color: black">
  117. <option value="">{{ __('auto.请选择') }}</option>
  118. @foreach($allChannel as $key=>$val)
  119. <option value="{{$val}}"
  120. @if($val == $Channel) selected @endif>{{$val}}</option>
  121. @endforeach
  122. </select>
  123. <spen style="padding-left: 10px">{{ __('auto.当前状态筛选:') }}</spen>
  124. <select class="form-control" name="state" value="" style="color: black">
  125. <option value="100" @if ($state == 100)
  126. selected
  127. @endif>{{ __('auto.全部') }}
  128. </option>
  129. <option value="2" @if ($state == 2)
  130. selected
  131. @endif>{{ __('auto.已完成') }}
  132. </option>
  133. <option value="-1" @if ($state == -1)
  134. selected
  135. @endif>{{ __('auto.已拒绝') }}
  136. </option>
  137. <option value="1" @if ($state == 1)
  138. selected
  139. @endif>{{ __('auto.审核中') }}
  140. </option>
  141. <option value="5" @if ($state == 5)
  142. selected
  143. @endif>{{ __('auto.处理中') }}
  144. <option value="6" @if ($state == 6)
  145. selected
  146. @endif>{{ __('auto.第三方订单失败') }}
  147. </option>
  148. <option value="7" @if ($state == 7)
  149. selected
  150. @endif>{{ __('auto.三方账单清算中') }}
  151. <option value="4" @if ($state == 4)
  152. selected
  153. @endif>{{ __('auto.系统回收') }}
  154. </select><br>
  155. <spen style="padding-left: 10px">{{ __('auto.咖啡搜索:') }}</spen>
  156. <select class="form-control" name="payState" value="" style="color: black">
  157. <option value="">{{ __('auto.请选择') }}</option>
  158. <option value="1"
  159. @if(1 == $payState) selected @endif>{{ __('auto.已咖啡') }}
  160. </option>
  161. <option value="2"
  162. @if(2 == $payState) selected @endif>{{ __('auto.未咖啡') }}
  163. </select>
  164. <spen style="padding-left: 10px">{{ __('auto.申请茶叶时间选择:') }}</spen>
  165. <input type="datetime-local" step="01" name="start_time" id="start_time"
  166. class="form-control" value="{{$start_time}}" onclick="start_times()"/>
  167. <input type="datetime-local" step="01" name="end_time" id='end_time'
  168. class="form-control" value="{{$end_time}}" onclick="end_times()"/>
  169. <spen style="padding-left: 10px">{{ __('auto.订单完成时间选择:') }}</spen>
  170. <input type="datetime-local" step="01" name="final_start_time" id="final_start_time"
  171. class="form-control" value="{{$final_start_time}}"
  172. onclick="final_start_times()"/>
  173. <input type="datetime-local" step="01" name="final_end_time" id='final_end_time'
  174. class="form-control" value="{{$final_end_time}}"
  175. onclick="final_end_times()"/>
  176. <spen style="padding-left: 10px">{{ __('auto.包名搜索:') }}</spen>
  177. <select class="form-control" name="PackgeName" value="" style="color: black">
  178. <option value="">{{ __('auto.请选择') }}</option>
  179. @foreach($ChannelPackageName as $val)
  180. <option value="{{$val}}" @if ($PackgeName == $val)
  181. selected
  182. @endif>{{$val}}</option>
  183. @endforeach
  184. </select>
  185. <a href="{{$api_url}}"
  186. class="btn btn-sm btn-gradient-warning btn-icon-text">{{ __('auto.清空') }}</a>&nbsp;&nbsp;
  187. <input type="submit" class="btn btn-sm btn-gradient-dark btn-icon-text" value="{{ __('auto.搜索') }}"/>&nbsp;&nbsp;
  188. <a href="{{$api_url}}?excel=1&GameID={{$GameID}}&withdraw_search={{$withdraw_search}}&orderID={{$orderID}}&withdraw={{$withdraw}}&start_time={{$start_time}}&end_time={{$end_time}}&final_start_time={{$final_start_time}}&final_end_time={{$final_end_time}}&state={{$state}}"
  189. class="btn btn-sm btn-gradient-light btn-icon-text">{{ __('auto.导出') }}</a>
  190. </div>
  191. </form>
  192. <div class="table-responsive">
  193. <table class="table table-bordered">
  194. <thead>
  195. <tr>
  196. <th>{{ __('auto.单号') }}</th>
  197. <th>{{ __('auto.玩家') }}id</th>
  198. <th>{{ __('auto.渠道') }}</th>
  199. <th>{{ __('auto.提款方式') }}</th>
  200. <th>{{ __('auto.提款账号') }}</th>
  201. <th>IP</th>
  202. <th>
  203. <span id="create_time">{{ __('auto.提交时间') }}</span>
  204. <svg t="1611284352657" class="icon2" onclick="create_times(this,'asc')"
  205. viewBox="0 0 1024 1024" version="1.1"
  206. xmlns="http://www.w3.org/2000/svg" p-id="4118" width="14">
  207. <path
  208. d="M541.866667 285.866667l345.6 345.6c17.066667 17.066667 17.066667 42.666667 0 59.733333-8.533333 8.533333-19.2 12.8-29.866667 12.8H168.533333c-23.466667 0-42.666667-19.2-42.666666-42.666667 0-10.666667 4.266667-21.333333 12.8-29.866666l343.466666-345.6c17.066667-17.066667 42.666667-17.066667 59.733334 0z"
  209. p-id="4119" fill="#707072">
  210. </path>
  211. </svg>
  212. <svg t="1611283709864" class="icon1" onclick="create_times(this,'desc')"
  213. viewBox="0 0 1024 1024" version="1.1"
  214. xmlns="http://www.w3.org/2000/svg" p-id="3148" width="14">
  215. <path
  216. d="M482.133333 738.133333L136.533333 392.533333c-17.066667-17.066667-17.066667-42.666667 0-59.733333 8.533333-8.533333 19.2-12.8 29.866667-12.8h689.066667c23.466667 0 42.666667 19.2 42.666666 42.666667 0 10.666667-4.266667 21.333333-12.8 29.866666L541.866667 738.133333c-17.066667 17.066667-42.666667 17.066667-59.733334 0z"
  217. p-id="3149" fill="#707071">
  218. </path>
  219. </svg>
  220. </th>
  221. <th>{{ __('auto.茶叶申请额度') }}</th>
  222. <th>{{ __('auto.实际到账金额') }}</th>
  223. <th>{{ __('auto.扣除手续费用') }}</th>
  224. <th>{{ __('auto.审核状态') }}</th>
  225. <th>{{ __('auto.风险提示') }}</th>
  226. <th>{{ __('auto.风险评估') }}</th>
  227. <th>{{ __('auto.备注') }}</th>
  228. <th>{{ __('auto.审核操作') }}</th>
  229. </tr>
  230. </thead>
  231. <tbody class="search_checkbox">
  232. {{-- <h4>--}}
  233. {{-- {{ __('auto.申请金额:') }}--}}
  234. {{-- {{$applyUserCount->userCount ?? 0}} {{ __('auto.人') }} {{$applyUserCount->count ?? 0}}--}}
  235. {{-- {{ __('auto.笔') }}&nbsp;&nbsp;{{ __('auto.总计:') }}{{$applyUserCount->WithDraw ?? 0}} &nbsp;&nbsp;--}}
  236. {{-- {{ __('auto.实际到账:') }}--}}
  237. {{-- {{$overUserCount->userCount ?? 0}} {{ __('auto.人') }}&nbsp;&nbsp;--}}
  238. {{-- {{$overUserCount->count ?? 0}} {{ __('auto.笔') }}&nbsp;&nbsp;--}}
  239. {{-- {{$overUserCount->WithDraw ?? 0}}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--}}
  240. {{-- </h4>--}}
  241. @foreach($list as $k=>$item)
  242. <tr>
  243. <td>{{$item->OrderId}}</td>
  244. <td>
  245. <a href="/admin/global/id_find?UserID={{$item->UserID}}">
  246. {{$item->GameID}}
  247. </a>
  248. </td>
  249. <td>{{$item->Channel}}</td>
  250. <td>
  251. @if ($item->PixType ==1)
  252. cashapp
  253. @else
  254. Paypal
  255. @endif
  256. </td>
  257. <td>
  258. @if ($item->PixType ==1)
  259. {{$item->PixNum}}
  260. @else
  261. {{$item->EmailAddress}}
  262. @endif
  263. </td>
  264. <td>
  265. <span style="color: red">{{$item->sameIP>1?"[".$item->sameIP."]":""}}</span>
  266. </td>
  267. <td>{{date('Y-m-d H:i:s',strtotime($item->CreateDate))}}</td>
  268. <td>{{$item->actual_arrival}}</td>
  269. <td>{{$item->WithDraw}}</td>
  270. <td>{{$item->ServiceFee}}</td>
  271. <td>
  272. {!! $item->States !!}
  273. </td>
  274. <td>
  275. @if ($item->gear == '低')
  276. <span style="color: green">{{__('auto.低')}}</span>
  277. @elseif($item->gear == '普通')
  278. {{__('auto.普通')}}
  279. @elseif($item->gear == '较高')
  280. <span style="color: red">{{__('auto.较高')}}</span>
  281. @elseif($item->gear == '高')
  282. <span style="color: red">{{__('auto.高')}}</span>
  283. @endif
  284. <br>
  285. {{$item->assessment}}
  286. </td>
  287. <td>
  288. <button class="btn btn-gradient-dark btn-sm"
  289. onclick="show('{{$item->gear}}',{{$item->UserID}})">{{ __('auto.查看') }}
  290. </button>
  291. </td>
  292. <td contentEditable="true"
  293. onblur="remarks(this,{{$item->RecordID}})"
  294. style="vertical-align: top">{{$item->remarks}}</td>
  295. <td>
  296. {{-- @if (empty(hidden()) || hidden() == 'general_administrator' || hidden() == 'customer_service1' || hidden() == 'customer_service2')--}}
  297. @if ($item->State == 1)
  298. <button type="button"
  299. class="btn btn-sm btn-gradient-success btn-icon-text"
  300. onclick="update({{$item->RecordID}},'agree')">
  301. {{ __('auto.通过') }}
  302. <i class="mdi mdi-file-check btn-icon-append"></i>
  303. </button>
  304. <button type="button"
  305. class="btn btn-sm btn-gradient-dark btn-icon-text"
  306. onclick="update({{$item->RecordID}},'turn_down')">
  307. {{ __('auto.拒绝') }}
  308. <i class="mdi mdi-file-check btn-icon-append"></i>
  309. </button>
  310. <button type="button" class="btn btn-sm btn-dribbble btn-icon-text"
  311. onclick="update({{$item->RecordID}},'refuse')">
  312. {{ __('auto.清退') }}
  313. <i class="mdi mdi-file-check btn-icon-append"></i>
  314. </button>
  315. <button type="button"
  316. class="btn btn-sm btn-gradient-dark btn-icon-text"
  317. onclick="recovery({{$item->RecordID}},'recovery')">
  318. {{ __('auto.回收') }}
  319. <i class="mdi mdi-file-check btn-icon-append"></i>
  320. </button>
  321. @if ($item->locking == 1)
  322. <button type="button"
  323. class="btn btn-sm btn-facebook btn-icon-text"
  324. onclick="locking({{$item->RecordID}})">
  325. {{ __('auto.解锁') }}
  326. <i class="mdi mdi-file-check btn-icon-append"></i>
  327. </button>
  328. @else
  329. <button type="button"
  330. class="btn btn-sm btn-google btn-icon-text"
  331. onclick="locking({{$item->RecordID}})">
  332. {{ __('auto.锁定') }}
  333. <i class="mdi mdi-file-check btn-icon-append"></i>
  334. </button>
  335. @endif
  336. @endif
  337. {{-- @endif--}}
  338. </td>
  339. </tr>
  340. @endforeach
  341. </tbody>
  342. </table>
  343. </div>
  344. <div class="box-footer clearfix" id="pages">
  345. {{ __('auto.总共') }} <b>{{ $list->appends([
  346. 'list'=>$list,
  347. 'GameID'=>$GameID,
  348. 'withdraw_search'=>$withdraw_search,
  349. 'withdraw'=>$withdraw,
  350. 'state'=>$state,
  351. 'payState' => $payState,
  352. 'start_time'=>$start_time,
  353. 'end_time'=>$end_time,
  354. 'payState' => $payState,
  355. 'final_start_time' => $final_start_time,
  356. 'final_end_time' => $final_end_time,
  357. 'agent' =>$agent,
  358. 'Channel' => $Channel
  359. ])->total() }}</b> {{ __('auto.条,分为') }}<b>{{ $list->lastPage() }}</b>{{ __('auto.页') }}
  360. {!! $list->links() !!}
  361. </div>
  362. </div>
  363. </div>
  364. </div>
  365. </div>
  366. </div>
  367. </div>
  368. <script>
  369. function start_times() {
  370. getFormat('00', '00', '00');
  371. document.getElementById("start_time").value = format
  372. }
  373. function end_times() {
  374. getFormat('23', '59', '59');
  375. document.getElementById("end_time").value = format
  376. }
  377. function final_start_times() {
  378. getFormat('00', '00', '00');
  379. document.getElementById("final_start_time").value = format
  380. }
  381. function final_end_times() {
  382. getFormat('23', '59', '59');
  383. document.getElementById("final_end_time").value = format
  384. }
  385. function recovery(id) {
  386. myConfirm("{{ __('auto.是否继续') }}?", function () {
  387. myRequest("/admin/withdrawal/recovery/" + id, "post", {}, function (res) {
  388. layer.msg(res.msg)
  389. setTimeout(function () {
  390. window.location.reload();
  391. }, 2000)
  392. });
  393. });
  394. }
  395. function switchNormalCs() {
  396. let opstatus='{{$normalCsOpen=="open"?"close":"open"}}';
  397. myConfirm("{{ __('auto.是否继续') }}?", function () {
  398. myRequest("/admin/withdrawal/switchCs" , "post", {normalCsOpen:opstatus}, function (res) {
  399. layer.msg(res.msg)
  400. setTimeout(function () {
  401. window.location.reload();
  402. }, 2000)
  403. });
  404. });
  405. }
  406. function locking(id) {
  407. myConfirm("{{ __('auto.是否继续') }}?", function () {
  408. myRequest("/admin/withdrawal/locking/" + id, "post", {}, function (res) {
  409. layer.msg(res.msg)
  410. setTimeout(function () {
  411. window.location.reload();
  412. }, 2000)
  413. });
  414. });
  415. }
  416. // 提交时间排序
  417. var create_time = '{{$create_time ?? ''}}'
  418. if (create_time !== '') {
  419. document.getElementById("create_time").style.color = "blue";
  420. if (create_time == 'asc') {
  421. $(".create_time svg:eq(0)").children('path').attr('fill', 'red');
  422. } else {
  423. $(".create_time svg:eq(1)").children('path').attr('fill', 'red');
  424. }
  425. }
  426. function remarks(obj, RecordID) {
  427. remark = $(obj).html();
  428. myRequest("/admin/withdrawal/remarks/" + RecordID, "post", {remark}, function (res) {
  429. layer.msg(res.msg)
  430. setTimeout(function () {
  431. window.location.reload();
  432. }, 1500)
  433. });
  434. }
  435. // 提交时间排序
  436. function create_times(obj, val) {
  437. document.getElementById("create_time").style.color = "blue";
  438. if (val == 'asc') {
  439. $(obj).children('path').attr('fill', 'red')
  440. $(".create_time svg:eq(1)").children('path').attr('fill', '#707071');
  441. } else {
  442. $(obj).children('path').attr('fill', 'red')
  443. $(".create_time svg:eq(0)").children('path').attr('fill', '#707071');
  444. }
  445. $.ajax({
  446. type: "get",
  447. url: "{{$api_url}}",
  448. headers: {
  449. 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  450. },
  451. data: {create_time_sort: val},
  452. success: function (msg) {
  453. if (msg) {
  454. $(".main-panel").html(msg)
  455. }
  456. }
  457. })
  458. }
  459. function show(gear, UserID) {
  460. var page = layer.open({
  461. type: 2,
  462. title: '{{ __('auto.风险评估等级') }}',
  463. shadeClose: true,
  464. shade: 0.8,
  465. area: ['80%', '98%'],
  466. content: '/admin/withdrawal/risk_assessment/' + UserID + '?gear=' + gear
  467. });
  468. }
  469. function update(id, type) {
  470. if (id === 0) {
  471. var num = document.getElementsByName('checkbox');
  472. var str = '';
  473. for (var i = 0; i < num.length; i++) {
  474. if (num[i].checked) {
  475. str = str + num[i].id + ',';
  476. }
  477. }
  478. if (str == '') {
  479. alert('{{ __('auto.请选择要操作的数据') }}');
  480. return false;
  481. }
  482. id = str.substr(0, str.length - 1);
  483. }
  484. var page = layer.open({
  485. type: 2,
  486. title: '{{ __('auto.修改配置') }}',
  487. shadeClose: true,
  488. shade: 0.8,
  489. area: ['70%', '90%'],
  490. content: '/admin/withdrawal/verify?ids=' + id + '&type=' + type
  491. });
  492. }
  493. function refuse() {
  494. var page = layer.open({
  495. type: 2,
  496. title: '{{ __('auto.修改配置') }}',
  497. shadeClose: true,
  498. shade: 0.8,
  499. area: ['70%', '90%'],
  500. content: '/admin/withdrawal/verify'
  501. });
  502. }
  503. function checkbox() {
  504. var num = document.getElementsByName('checkbox');
  505. for (var i = 0; i < num.length; i++) {
  506. if (num[i].checked) {
  507. num[i].checked = false;
  508. } else {
  509. num[i].checked = true;
  510. }
  511. }
  512. }
  513. </script>
  514. @endsection