withdraw_list.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  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. let agent_uid = GetQueryString('agent_uid') ?? null;
  11. let type = GetQueryString('type') ?? null;
  12. let order = GetQueryString('order') ?? null;
  13. let status = GetQueryString('status') ?? null;
  14. let beginTime = GetQueryString('start_date') ?? null;
  15. let endTime = GetQueryString('end_date') ?? null;
  16. $('.agent_uid').val(agent_uid);
  17. $('.type_' + type).attr('selected', 'selected');
  18. $('.status_' + status).attr('selected', 'selected');
  19. $('.order_' + order).attr('selected', 'selected');
  20. laydate.render({
  21. elem: '#start_date'
  22. });
  23. laydate.render({
  24. elem: '#end_date'
  25. });
  26. admin.getConfig();
  27. //搜索条件
  28. form.on('submit(withdraw-search)', function (data) {
  29. if (data.field.start_date !== '' || data.field.end_date !== '') {
  30. if (!data.field.start_date || !data.field.end_date) {
  31. layer.msg('请核对开始时间与结束时间!');
  32. return false;
  33. }
  34. let beginTime = new Date(data.field.start_date);
  35. let endTime = new Date(data.field.end_date);
  36. if (beginTime > endTime) {
  37. layer.msg('开始时间不能大于结束时间!');
  38. return false;
  39. }
  40. }
  41. // return false;
  42. });
  43. let cols = [
  44. [
  45. {
  46. title: '代理UID',
  47. field: 'agent_uid',
  48. align: 'center'
  49. },
  50. {
  51. title: '提现方式',
  52. field: 'type_name',
  53. align: 'center'
  54. },
  55. {
  56. title: '卡号',
  57. field: 'bank_account',
  58. align: 'center',
  59. templet: function (d) {
  60. switch (d.type) {
  61. case 1:
  62. return d.bank_account;
  63. case 2:
  64. return d.ustd_account;
  65. case 3:
  66. return d.alipay_account;
  67. }
  68. }
  69. },
  70. {
  71. title: '开户行',
  72. field: 'bank_mark',
  73. align: 'center',
  74. templet: function (d) {
  75. switch (d.type) {
  76. case 1:
  77. return d.bank_mark;
  78. case 2:
  79. return d.ustd_network;
  80. case 3:
  81. return '';
  82. }
  83. }
  84. },
  85. {
  86. title: '姓名',
  87. field: 'bank_card',
  88. align: 'center',
  89. templet: function (d) {
  90. switch (d.type) {
  91. case 1:
  92. return d.bank_card;
  93. case 2:
  94. return '';
  95. case 3:
  96. return d.alipay_username;
  97. }
  98. }
  99. },
  100. {
  101. title: '提现金额',
  102. align: 'center',
  103. field: 'amount'
  104. },
  105. {
  106. title: '提现后金额',
  107. align: 'note',
  108. field: 'after_amount'
  109. },
  110. {
  111. title: '分成比例',
  112. align: 'center',
  113. field: 'commission_ratio'
  114. },
  115. {
  116. title: '打款金额',
  117. align: 'center',
  118. field: 'note',
  119. templet: function (d) {
  120. return '<span style="color:#ff0000;font-weight: 900;font-size: 18px !important;">' + d.pay_amount + '</span>';
  121. }
  122. },
  123. {
  124. title: '提现时间',
  125. field: 'created_at',
  126. align: 'center'
  127. },
  128. {
  129. title: '处理时间',
  130. field: 'paid_at',
  131. align: 'center'
  132. },
  133. {
  134. title: '处理状态',
  135. field: 'status',
  136. align: 'center',
  137. templet: function (d) {
  138. switch (d.status) {
  139. case 1:
  140. return '<span style="color:#ff0000;font-weight: 900">拒绝</span>';
  141. case 2:
  142. return '<span style="color:#ff8a00;font-weight: 900">申请中</span>';
  143. case 3:
  144. return '<span style="color:#7bff00;font-weight: 900">已打款</span>';
  145. default:
  146. return '<span style="color:#0072ff;font-weight: 900">其他错误</span>';
  147. }
  148. }
  149. },
  150. {
  151. title: '操作',
  152. align: 'center',
  153. width: '250',
  154. templet: function (d) {
  155. if (d.status === 2) {
  156. return '<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="verify">确认打款</button>\n' +
  157. '<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="reject">拒绝打款</button>';
  158. } else {
  159. return '无需操作';
  160. }
  161. }
  162. }
  163. ]
  164. ];
  165. if (beginTime) {
  166. beginTime = beginTime.replace('+', ' ');
  167. }
  168. if (endTime) {
  169. endTime = endTime.replace('+', ' ');
  170. }
  171. $('#start_date').val(beginTime);
  172. $('#end_date').val(endTime);
  173. form.render();
  174. let search = httpRequestPostData({
  175. start_date: beginTime,
  176. end_date: endTime,
  177. status: status,
  178. type: type,
  179. order: order,
  180. });
  181. table.render({
  182. elem: '#withdraw-table',
  183. method: 'POST',
  184. request: {
  185. pageName: 'page',
  186. limitName: 'page_size'
  187. },
  188. async: false,
  189. headers: {
  190. "AUTH-TOKEN": localStorage.getItem('XSRF-TOKEN') ?? ''
  191. },
  192. contentType: 'application/json',
  193. where: search,
  194. url: getMyApiUrl('/finance/withdraw/lists'),
  195. limit: 20,
  196. limits: [20, 30, 40, 50, 80, 100],
  197. parseData: function (res) {
  198. // $('.layui-table-tool .layui-table-tool-temp').text('');
  199. return httpRequestPagesParseData(res);
  200. },
  201. response: {
  202. "statusCode": 200,
  203. },
  204. done: function (data, page, total) {
  205. var intCode = parseInt(data.code);
  206. if (intCode === 403) {
  207. cbRespnseRedirectLogin(data);
  208. } else if (intCode === 401) {
  209. // 仅仅是过期了,这里可以有其他逻辑补偿.
  210. // 暂时跳到登陆页面
  211. cbRespnse401(data);
  212. }
  213. onloadRender();
  214. },
  215. error: function (obj, message) {
  216. cbRespnseReloadPage(obj, message);
  217. },
  218. page: true,
  219. cols: cols,
  220. skin: 'line',
  221. toolbar: '#withdraw-toolbar',
  222. });
  223. table.on('tool(withdraw-table)', function (obj) {
  224. if (obj.event === 'verify') {
  225. window.verify(obj);
  226. } else if (obj.event === 'reject') {
  227. window.reject(obj);
  228. }
  229. });
  230. $('#reset').click(function (){
  231. window.location.href = './withdraw_list.html';
  232. });
  233. // 确认打款
  234. window.verify = function (obg) {
  235. let msg = layer.confirm('请再三确认,否则无法更改!', {icon: 3, title: "确认打款!"}, function () {
  236. let ret = mhttp.ajax({
  237. url: '/finance/withdraw/apply',
  238. data: {
  239. order_uid: obg.data.uid,
  240. status: 3,
  241. }
  242. });
  243. ret.then((data) => {
  244. layer.close(msg);
  245. if (data.code === 200) {
  246. layer.msg(data.message, {icon: 1, time: 1000}, function () {
  247. // 成功刷父页面
  248. // window.parent.location.reload();
  249. // 成功关闭父窗口
  250. let index = parent.layer.getFrameIndex(window.name);
  251. parent.layer.close(index);
  252. table.reload('withdraw-table');
  253. });
  254. } else {
  255. layer.msg(data.message, {icon: 2, time: 1000});
  256. }
  257. });
  258. return false;
  259. });
  260. }
  261. // 拒绝打款
  262. window.reject = function (obg) {
  263. let msg = layer.confirm('请再三确认,否则无法更改!', {icon: 2, title: "拒绝打款!"}, function () {
  264. let ret = mhttp.ajax({
  265. url: '/finance/withdraw/apply',
  266. data: {
  267. order_uid: obg.data.uid,
  268. status: 1,
  269. }
  270. });
  271. ret.then((data) => {
  272. layer.close(msg);
  273. if (data.code === 200) {
  274. layer.msg(data.message, {icon: 1, time: 1000}, function () {
  275. // 成功刷父页面
  276. // window.parent.location.reload();
  277. // 成功关闭父窗口
  278. let index = parent.layer.getFrameIndex(window.name);
  279. parent.layer.close(index);
  280. table.reload('withdraw-table');
  281. });
  282. } else {
  283. layer.msg(data.message, {icon: 2, time: 1000});
  284. }
  285. });
  286. return false;
  287. });
  288. }
  289. })