recharge_list.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. layui.use(['table', 'jquery', 'madmin', 'mhttp', 'layer', 'form', 'laydate', 'common'], function () {
  2. let table = layui.table;
  3. let $ = layui.jquery;
  4. let admin = layui.madmin;
  5. let layer = layui.layer;
  6. let form = layui.form;
  7. let common = layui.common;
  8. let mhttp = layui.mhttp;
  9. var laydate = layui.laydate;
  10. laydate.render({
  11. elem: '#start_date',
  12. type: 'datetime',
  13. format: "yyyy-MM-dd HH:mm:ss"
  14. });
  15. laydate.render({
  16. elem: '#end_date',
  17. type: 'datetime',
  18. format: "yyyy-MM-dd HH:mm:ss"
  19. });
  20. admin.getConfig();
  21. let search_key = GetQueryString('search_key') ?? null;
  22. let search_val = GetQueryString('search_val') ?? null;
  23. let pay_type = GetQueryString('pay_type') ?? null;
  24. let order_status = GetQueryString('order_status') ?? null;
  25. let mom_app_uid = GetQueryString('mom_app_uid') ?? null;
  26. let beginTime = GetQueryString('start_date') ?? null;
  27. let endTime = GetQueryString('end_date') ?? null;
  28. $('.search_key_' + search_key).attr('selected', 'selected');
  29. $('.search_val').val(search_val);
  30. $('.pay_type_' + pay_type).attr('selected', 'selected');
  31. $('.order_status_' + order_status).attr('selected', 'selected');
  32. // 查询应用
  33. let appRet = mhttp.ajax({
  34. url: '/app/all'
  35. });
  36. appRet.then((data) => {
  37. if (data.code === 200) {
  38. let html = '<option value=""></option>';
  39. for (let i in data.data) {
  40. html += '<option class="mom_app_uid_' + data.data[i].uid + '" value="' + data.data[i].uid + '">' + data.data[i].name + '</option>';
  41. }
  42. $('.mom_app_uid').html(html);
  43. form.render();
  44. if (mom_app_uid) {
  45. $('.mom_app_uid_' + mom_app_uid).attr('selected', 'selected');
  46. }
  47. form.render();
  48. } else {
  49. layer.msg('应用获取失败!');
  50. }
  51. });
  52. //搜索条件
  53. form.on('submit(recharge-search)', function (data) {
  54. if (data.field.search_key !== '') {
  55. if (data.field.search_val === '') {
  56. layer.msg('条件内容为未填写!');
  57. return false;
  58. }
  59. }
  60. if (data.field.search_val !== '') {
  61. if (data.field.search_key === '') {
  62. layer.msg('请选查询条件!');
  63. return false;
  64. }
  65. }
  66. if (data.field.start_date !== '' || data.field.end_date !== '') {
  67. if (!data.field.start_date || !data.field.end_date) {
  68. layer.msg('请核对开始时间与结束时间!');
  69. return false;
  70. }
  71. let beginTime = new Date(data.field.start_date);
  72. let endTime = new Date(data.field.end_date);
  73. if (beginTime > endTime) {
  74. layer.msg('开始时间不能大于结束时间!');
  75. return false;
  76. }
  77. }
  78. });
  79. let cols = [
  80. [
  81. {
  82. title: '会员UID',
  83. field: 'user_uid',
  84. align: 'center'
  85. },
  86. {
  87. title: '昵称',
  88. field: 'user_nick',
  89. align: 'center'
  90. },
  91. {
  92. title: '所属应用',
  93. field: 'app_name',
  94. align: 'center'
  95. },
  96. {
  97. title: '所属代理',
  98. field: 'agent_uid',
  99. align: 'center'
  100. },
  101. {
  102. title: '金额',
  103. field: 'real_amount',
  104. align: 'center'
  105. },
  106. {
  107. title: '状态',
  108. align: 'center',
  109. field: 'order_status',
  110. templet: function (d) {
  111. switch (d.order_status) {
  112. case 1:
  113. return '<span style="color:#35a735;font-weight: 900">已支付</span>';
  114. case 2:
  115. return '<span style="color:#ff8a00;font-weight: 900">已取消</span>';
  116. case 3:
  117. return '<span style="color:#a77f35;font-weight: 900">待支付</span>';
  118. default:
  119. return '<span style="color:#ff2600;font-weight: 900">支付失败</span>';
  120. }
  121. }
  122. },
  123. {
  124. title: '支付方式',
  125. align: 'center',
  126. field: 'note',
  127. templet: function (d) {
  128. switch (parseInt(d.pay_type)) {
  129. case 1:
  130. return '支付宝';
  131. case 2:
  132. return '微信';
  133. case 3:
  134. return '银行卡';
  135. case 4:
  136. return '金币';
  137. case 5:
  138. return 'USDT';
  139. default:
  140. return '其他'
  141. }
  142. }
  143. },
  144. {
  145. title: '通道',
  146. align: 'center',
  147. field: 'pay_channel'
  148. },
  149. {
  150. title: '订单号',
  151. align: 'center',
  152. field: 'order_sn'
  153. },
  154. {
  155. title: '生成日期',
  156. field: 'created_at',
  157. align: 'center'
  158. },
  159. {
  160. title: '成功日期',
  161. field: 'paid_at',
  162. align: 'center'
  163. }
  164. ]
  165. ];
  166. if (beginTime) {
  167. beginTime = beginTime.replace('+', ' ');
  168. }
  169. if (endTime) {
  170. endTime = endTime.replace('+', ' ');
  171. }
  172. $('#start_date').val(beginTime);
  173. $('#end_date').val(endTime);
  174. let searchData = {
  175. pay_type: pay_type,
  176. order_status: order_status,
  177. mom_app_uid: mom_app_uid,
  178. start_date: beginTime,
  179. end_date: endTime,
  180. }
  181. if (search_key) {
  182. searchData[search_key] = search_val;
  183. }
  184. let search = httpRequestPostData(searchData);
  185. table.render({
  186. elem: '#recharge-table',
  187. method: 'POST',
  188. request: {
  189. pageName: 'page',
  190. limitName: 'page_size'
  191. },
  192. async: false,
  193. headers: {
  194. "AUTH-TOKEN": localStorage.getItem('XSRF-TOKEN') ?? ''
  195. },
  196. contentType: 'application/json',
  197. where: search,
  198. url: getMyApiUrl('/finance/recharge/lists'),
  199. limit: 20,
  200. limits: [20, 30, 40, 50, 80, 100],
  201. parseData: function (res) {
  202. $('.total_money').text(res.data.rec_total.total_money + ' 元(' + res.data.rec_total.order_int + '单)');
  203. $('.succ_money').text(res.data.rec_total.succ_money + ' 元(' + res.data.rec_total.succ_int + '单)');
  204. $('.succ_rate').text(res.data.rec_total.succ_rate + ' %');
  205. return httpRequestPagesParseData(res);
  206. },
  207. response: {
  208. "statusCode": 200,
  209. },
  210. done: function (data, page, total) {
  211. var intCode = parseInt(data.code);
  212. if (intCode === 403) {
  213. cbRespnseRedirectLogin(data);
  214. } else if (intCode === 401) {
  215. // 仅仅是过期了,这里可以有其他逻辑补偿.
  216. // 暂时跳到登陆页面
  217. cbRespnse401(data);
  218. }
  219. onloadRender();
  220. },
  221. error: function (obj, message) {
  222. cbRespnseReloadPage(obj, message);
  223. },
  224. page: true,
  225. cols: cols,
  226. skin: 'line',
  227. toolbar: '#recharge-toolbar',
  228. });
  229. $('#reset').click(function () {
  230. window.location.href = './recharge_list.html';
  231. });
  232. window.refresh = function (param) {
  233. table.reload('recharge-table');
  234. }
  235. })