provider.refill.balance.php 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735
  1. <?php defined('InShopNC') or exit('Access Invalid!'); ?>
  2. <style>
  3. .page .fixed-bar .item-title h3 {
  4. margin-top: 18px !important;
  5. margin-bottom: 10px !important;
  6. font-weight: 700 !important;
  7. }
  8. .tab-base li span {
  9. font-size: 12px !important;
  10. }
  11. .layui-form-select .layui-input {
  12. height: 26px;
  13. }
  14. input::placeholder {
  15. color: #333;
  16. }
  17. .row_q ul li {
  18. height: 30px;
  19. line-height: 30px;
  20. }
  21. .row_w {
  22. float: left;
  23. margin-right: 40px;
  24. }
  25. #createDate,
  26. #createItemStartDate,
  27. #createItemEndDate {
  28. height: 30px;
  29. }
  30. .createTaskDate {
  31. display: flex;
  32. align-items: center;
  33. margin-bottom: 10px;
  34. }
  35. .createTaskDate span {
  36. white-space: nowrap;
  37. margin-right: 10px;
  38. }
  39. .table {
  40. width: 100%;
  41. table-layout: fixed;
  42. display: block;
  43. max-height: calc(100vh - 220px);
  44. overflow: auto;
  45. white-space: nowrap;
  46. }
  47. .table thead tr:first-child {
  48. position: sticky;
  49. top: -1px;
  50. left: 0;
  51. background: #fff;
  52. box-shadow: 0 2px 5px rgb(0 0 0 / 10%);
  53. z-index: 10;
  54. }
  55. .table thead tr th:first-child,
  56. .table tbody tr td:first-child {
  57. position: sticky;
  58. left: 0;
  59. background: #fff;
  60. z-index: 1;
  61. width: 30px;
  62. box-shadow: 2px 0 2px rgba(0, 0, 0, 0.1);
  63. }
  64. .table tbody tr:last-child {
  65. border-bottom: 1px dotted #CBE9F3;
  66. }
  67. .table td:last-child,
  68. .table th:last-child {
  69. position: sticky;
  70. right: 0;
  71. background: #fff;
  72. box-shadow: -2px 0 2px #cbe9f3;
  73. width: 170px;
  74. height: 30px;
  75. line-height: 30px;
  76. display: inline-block;
  77. }
  78. .editStatTypeTable {
  79. display: block;
  80. /* width: 500px; */
  81. height: calc(100vh - 200px);
  82. overflow: auto;
  83. table-layout: fixed;
  84. border-spacing: 0;
  85. border-collapse: collapse;
  86. }
  87. .editStatTypeTable thead tr {
  88. position: sticky;
  89. top: -1px;
  90. left: 1px;
  91. background: #fff;
  92. box-shadow: 0 1px 5px rgb(0 0 0 / 10%);
  93. z-index: 1;
  94. }
  95. .editStatTypeTable tbody tr:hover td {
  96. background: rgb(203, 233, 243);
  97. }
  98. .editStatTypeTable th,
  99. .editStatTypeTable td {
  100. height: 26px;
  101. padding: 6px !important;
  102. border-bottom: 1px solid #CBE9F3;
  103. }
  104. .editStatTypeTable label {
  105. display: block;
  106. }
  107. .layui-form-label {
  108. width: 90px !important;
  109. }
  110. </style>
  111. <div class="page">
  112. <div class="fixed-bar">
  113. <div class="item-title">
  114. <h3>对账管理</h3>
  115. <ul class="tab-base">
  116. <li><a href="index.php?act=OrderStats&op=index&type=system"><span>平台对账记录</span></a></li>
  117. <li><a href="index.php?act=OrderStats&op=index&type=provider"><span>上游对账记录</span></a></li>
  118. <li><a href="index.php?act=OrderStats&op=index&type=merchant"><span>下游对账记录</span></a></li>
  119. <li><a href="index.php?act=OrderStats&op=refill_balance&type=system"><span>平台结余记录</span></a></li>
  120. <li><a href="JavaScript:void(0);" class="current"><span>上游结余记录</span></a></li>
  121. <li><a href="index.php?act=OrderStats&op=refill_balance&type=merchant"><span>下游结余记录</span></a></li>
  122. </ul>
  123. </div>
  124. </div>
  125. <div class="fixed-empty"></div>
  126. <form method="get" name="formSearch" id="formSearch" class="layui-form">
  127. <input type="hidden" value="OrderStats" name="act">
  128. <input type="hidden" value="refill_balance" name="op">
  129. <input type="hidden" value="provider" name="type">
  130. <input type="hidden" name="cid" value="" />
  131. <input type="hidden" name="default_no_mch" value="<?php echo $_GET['cid']; ?>" />
  132. <table class="tb-type1 noborder search">
  133. <tbody>
  134. <tr>
  135. <th><label for="query_start_time">统计时间</label></th>
  136. <td>
  137. <input class="txt date" type="text" value="<?php echo $_GET['query_start_time']; ?>" id="startTime" name="query_start_time" autocomplete="off" style="width:120px" />
  138. <label for="query_start_time">~</label>
  139. <input class="txt date" type="text" value="<?php echo $_GET['query_end_time']; ?>" id="endTime" name="query_end_time" autocomplete="off" style="width:120px" />
  140. </td>
  141. <th><label>统计日期类型</label></th>
  142. <td>
  143. <select name="order_time_type" id="order_time_type">
  144. <option value="">请选择...</option>
  145. <option value="notify_time" <?php if ($_GET['order_time_type'] == 'notify_time') {
  146. echo 'selected';
  147. } ?>>回调日期</option>
  148. <option value="order_time" <?php if ($_GET['order_time_type'] == 'order_time') {
  149. echo 'selected';
  150. } ?>>下单日期</option>
  151. </select>
  152. </td>
  153. <th><label>通道名称</label></th>
  154. <td>
  155. <div id="selest_nc"></div>
  156. </td>
  157. <td><a href="javascript:void(0);" id="ncsubmit" class="btn-search " title="<?php echo $lang['nc_query']; ?>">&nbsp;</a>
  158. <?php if ($output['mch_name'] != '') { ?>
  159. <a href="index.php?act=OrderStats&op=index" class="btns " title="<?php echo $lang['nc_cancel_search']; ?>"><span><?php echo $lang['nc_cancel_search']; ?></span></a>
  160. <?php } ?>
  161. </td>
  162. <td>
  163. <a href="javascript:void(0);" id="editStatType" class="btn">
  164. <span>对账类型设置</span>
  165. </a>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td>
  170. <a href="#" class="btn export" title="所选中记录导出">
  171. <span><i class="icon-export"></i>导出</span>
  172. </a>
  173. </td>
  174. </tr>
  175. </tbody>
  176. </table>
  177. </form>
  178. <script>
  179. var stats_list_data = <?php echo json_encode($output['stats_list']) ?>
  180. </script>
  181. <form method="post" id="merchant_name_form">
  182. <input type="hidden" name="form_submit" value="ok" />
  183. <div>
  184. <table class="table tb-type2">
  185. <thead>
  186. <tr class="thead">
  187. <th class="align-center" id="selectAll"><input type="checkbox" name="chbox" value=""></th>
  188. <th>记录ID</th>
  189. <th>父ID</th>
  190. <th>主体名称</th>
  191. <th>主体ID</th>
  192. <th class="align-center">统计开始日期</th>
  193. <th class="align-center">统计结束日期</th>
  194. <th class="align-center">成功订单数</th>
  195. <th class="align-center">成功金额</th>
  196. <th class="align-center">下游金额</th>
  197. <th class="align-center">上游金额</th>
  198. <th class="align-center">利润</th>
  199. <th class="align-center">银行转入</th>
  200. <th class="align-center">银行转出</th>
  201. <th class="align-center">返销金额</th>
  202. <th class="align-center">异常金额</th>
  203. <th class="align-center">累计结余</th>
  204. <th class="align-center">本次结余</th>
  205. <th class="align-center">更新日期</th>
  206. <th class="align-center">确认状态</th>
  207. <th class="align-center">统计日期类型</th>
  208. <th class="align-center">备注</th>
  209. <th class="align-center">操作</th>
  210. </tr>
  211. </thead>
  212. <tbody>
  213. <?php if (!empty($output['stats_list']) && is_array($output['stats_list'])) { ?>
  214. <?php foreach ($output['stats_list'] as $k => $v) { ?>
  215. <tr class="trFlex">
  216. <td class="align-center">
  217. <input type="checkbox" id="checkBoxList" name="checkbox" value="<?php echo $v['balance_id']; ?>">
  218. </td>
  219. <td><?php echo $v['balance_id']; ?></td>
  220. <td><?php echo $v['parent_id']; ?></td>
  221. <td><?php echo $v['cname']; ?></td>
  222. <td><?php echo $v['cid']; ?></td>
  223. <td class="align-center"><?php echo $v['start_stamp'] ? date('Y-m-d H:i', $v['start_stamp']) : '/'; ?></td>
  224. <td class="align-center"><?php echo $v['end_text']; ?></td>
  225. <td class="align-center"><?php echo $v['success_count']; ?></td>
  226. <td class="align-center"><?php echo $v['refill_amount']; ?></td>
  227. <td class="align-center"><?php echo $v['mch_amount']; ?></td>
  228. <td class="align-center"><?php echo $v['channel_amount']; ?></td>
  229. <td class="align-center"><?php echo $v['profit_amount']; ?></td>
  230. <td class="align-center"><?php echo $v['transfer_in']; ?></td>
  231. <td class="align-center"><?php echo $v['transfer_out']; ?></td>
  232. <td class="align-center"><?php echo $v['refund_amount']; ?></td>
  233. <td class="align-center"><?php echo $v['except_amount']; ?></td>
  234. <td class="align-center"><?php echo $v['accumulate_balance']; ?></td>
  235. <td class="align-center"><?php echo $v['balance']; ?></td>
  236. <td class="align-center"><?php echo date("Y-m-d H:i:s", $v['update_time']); ?></td>
  237. <td class="align-center">
  238. <?php if ($v['confirmed'] == 0) { ?>
  239. <span style="color: #fd9d0e">未确认</span>
  240. <?php } else { ?>
  241. <span style="color: #0bb20c">已确认</span>
  242. <?php } ?>
  243. </td>
  244. <td class="align-center"><?php echo $output['order_time_type_text'][$v['time_type']]; ?></td>
  245. <td class="align-center"><?php echo $v['remark']; ?></td>
  246. <td style="text-align: center;color:#0D93BF;">
  247. <a href="javascript:void(0);" class="handleBtn" data-index="<?php echo $k ?>" style="color:#0D93BF;">编辑</a>
  248. <span>|</span>
  249. <a style="margin:0 5px;color:#0D93BF;" href="index.php?act=orderstats&op=refill_balance_rebuild&balance_id=<?php echo $v['balance_id']; ?>" data-index="<?php echo $k ?>" class="rebuildBtn">重新生成</a>
  250. <?php if ($v['confirmed'] == 0) { ?>
  251. <span>|</span>
  252. <a style="color:#0D93BF;" href="index.php?act=orderstats&op=refill_balance_confirm&balance_id=<?php echo $v['balance_id']; ?>" data-index="<?php echo $k ?>" class="checkBtn">确认</a>
  253. <?php } ?>
  254. </td>
  255. </tr>
  256. <?php } ?>
  257. <?php } else { ?>
  258. <tr class="no_data">
  259. <td colspan="22"><?php echo $lang['nc_no_record']; ?></td>
  260. </tr>
  261. <?php } ?>
  262. </tbody>
  263. </table>
  264. <div class="pagination"><?php echo $output['show_page']; ?></div>
  265. </div>
  266. </form>
  267. </div>
  268. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/dialog/dialog.js" id="dialog_js" charset="utf-8"></script>
  269. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery-ui/jquery.ui.js"></script>
  270. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/ajaxfileupload/ajaxfileupload.js"></script>
  271. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.js"></script>
  272. <link href="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.Jcrop/jquery.Jcrop.min.css" rel="stylesheet" type="text/css" id="cssfile2" />
  273. <script type="text/javascript" src="<?php echo ADMIN_TEMPLATES_URL; ?>/js/xm-select.js"></script>
  274. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/js/jquery.edit.js" charset="utf-8"></script>
  275. <script type="text/javascript" src="<?php echo RESOURCE_SITE_URL; ?>/laydate/laydate.js"></script>
  276. <script type="text/javascript" src="<?php echo ADMIN_TEMPLATES_URL; ?>/layui/layui.js"></script>
  277. <link rel="stylesheet" type="text/css" href="<?php echo ADMIN_TEMPLATES_URL; ?>/layui/css/layui.css" />
  278. <script>
  279. $(function() {
  280. $('#create').on('click', function() {
  281. var selectEndDate = '';
  282. layui.use(['layer', 'laydate'], function() {
  283. const selectDateHTML = '<label class="createTaskDate"><span>结束日期:</span><input type="text" class="layui-input" id="createDate"></label>'
  284. layer.confirm(selectDateHTML, {
  285. title: '新建'
  286. }, function(index) {
  287. console.log('确认')
  288. layer.close(index);
  289. }, function() {
  290. console.log('取消')
  291. });
  292. laydate.render({
  293. elem: '#createDate',
  294. type: 'datetime',
  295. done: function(value) {
  296. console.log('选中的日期...', value)
  297. selectEndDate = value;
  298. }
  299. });
  300. })
  301. //
  302. })
  303. $('.item_create_btn').on('click', function() {
  304. var selectStartDate = '';
  305. var selectEndDate = '';
  306. var balance_id = $(this).attr('data-balance_id');
  307. layui.use(['layer', 'laydate'], function() {
  308. const selectDateHTML = `<label class="createTaskDate"><span>开始日期:</span><input type="text" class="layui-input" id="createItemStartDate"></label>
  309. <label class="createTaskDate"><span>结束日期:</span><input type="text" class="layui-input" id="createItemEndDate"></label>`
  310. layer.confirm(selectDateHTML, {
  311. title: '新建'
  312. }, function(index) {
  313. console.log('确认')
  314. if (!selectStartDate) {
  315. layer.msg('请选择开始日期');
  316. return;
  317. }
  318. if (!selectEndDate) {
  319. layer.msg('请选择结束日期');
  320. return;
  321. }
  322. console.log(balance_id, selectStartDate, selectEndDate)
  323. var index = layer.load();
  324. $.ajax({
  325. url: `index.php?act=orderstats&op=refill_balance_create`,
  326. data: {
  327. balance_id,
  328. selectStartDate,
  329. selectEndDate
  330. },
  331. dataType: 'json',
  332. mothod: 'get',
  333. success: function(res) {
  334. layer.close(index);
  335. console.log('success', res);
  336. if (res.code) {
  337. layer.msg(res.msg)
  338. } else {
  339. layer.alert(res.msg)
  340. }
  341. }
  342. })
  343. layer.close(index);
  344. }, function() {
  345. console.log('取消')
  346. });
  347. laydate.render({
  348. elem: '#createItemStartDate',
  349. type: 'datetime',
  350. done: function(value) {
  351. console.log('选中的开始日期...', value)
  352. selectStartDate = value;
  353. }
  354. });
  355. laydate.render({
  356. elem: '#createItemEndDate',
  357. type: 'datetime',
  358. done: function(value) {
  359. console.log('选中的结束日期...', value)
  360. selectEndDate = value;
  361. }
  362. });
  363. })
  364. })
  365. $('#ncsubmit').click(function() {
  366. let selectArr = selest_nc.getValue();
  367. let selectStr = ''
  368. for (let i = 0; i < selectArr.length; i++) {
  369. selectStr += selectArr[i].value + ','
  370. }
  371. selectStr = selectStr.substr(0, selectStr.length - 1)
  372. $('input[name="cid"]').val(selectStr);
  373. $('#formSearch').submit();
  374. $('input[name="cid"]').val('');
  375. });
  376. // 日期选择器
  377. laydate.render({
  378. elem: '#startTime',
  379. type: 'datetime'
  380. });
  381. laydate.render({
  382. elem: '#endTime',
  383. type: 'datetime'
  384. });
  385. // 表格hover时背景
  386. $('.trFlex').each(function() {
  387. $(this).hover(function() {
  388. $(this)[0].style.backgroundColor = '#cbe9f3'
  389. }, function() {
  390. $(this)[0].style.backgroundColor = '#fff'
  391. })
  392. })
  393. //多选
  394. let selest_nc
  395. let default_no_mch = $('input[name="default_no_mch"]').val().split(',');
  396. $.get('index.php?act=refill_order&op=provider_data', function(data) {
  397. data = JSON.parse(data)
  398. if (default_no_mch) {
  399. for (let index = 0; index < default_no_mch.length; index++) {
  400. for (let j = 0; j < data.length; j++) {
  401. if (default_no_mch[index] == data[j].value) {
  402. data[j].selected = true
  403. }
  404. }
  405. }
  406. }
  407. selest_nc = xmSelect.render({
  408. el: '#selest_nc',
  409. size: 'mini',
  410. filterable: true,
  411. style: {
  412. minHeight: '27px',
  413. lineHeight: '27px',
  414. marginLeft: '4px',
  415. width: '250px'
  416. },
  417. language: 'zn',
  418. data: data
  419. })
  420. })
  421. $('#selectAll').click(function() {
  422. if ($("input[name='chbox']").is(':checked')) {
  423. $("input[name='checkbox']").each(function() {
  424. this.checked = true;
  425. })
  426. } else {
  427. $("input[name='checkbox']").each(function() {
  428. this.checked = false;
  429. })
  430. }
  431. })
  432. $('.export').click(function() {
  433. layer.confirm('您确定要导出所选记录吗', {
  434. btn: ['确定', '取消'],
  435. title: '记录导出'
  436. }, function() {
  437. let arr = [];
  438. $("input:checkbox:checked").each(function(i) {
  439. arr[i] = $(this).val();
  440. })
  441. let str = arr.join(",");
  442. let strr = str.substring(0, 1);
  443. let number = Number(strr);
  444. if (isNaN(number)) {
  445. let strrr = str.substring(1, str.length);
  446. window.location.href = `index.php?act=orderstats&op=refill_balance_export&balance_ids= ${strrr ? strrr : ''}`
  447. } else if (!isNaN(number) && str !== '') {
  448. window.location.href = `index.php?act=orderstats&op=refill_balance_export&balance_ids= ${str ? str : ''}`
  449. } else {
  450. layer.msg('请还没有任何操作,请先选择');
  451. }
  452. }, function() {
  453. layer.msg('取消成功');
  454. });
  455. })
  456. $('#editStatType').click(function() {
  457. $.get('index.php?act=OrderStats&op=balance_cfg_data&type=provider', function(res) {
  458. console.log('provider_data', JSON.parse(res));
  459. if (res) {
  460. const datas = JSON.parse(res);
  461. let tableHTML = `<form id="editStatTypeForm" method="post" action="index.php?act=OrderStats&op=refill_balance_stat_cfg">
  462. <div style="width:500px;">
  463. <table class="editStatTypeTable">
  464. <input type="hidden" value="provider" name="type">
  465. <thead>
  466. <th style="width:300px;">主体名称</th>
  467. <th style="width:100px;">下单时间 <input type="checkbox" class="allCheckOrderTime" /></th>
  468. <th style="width:100px;">回调时间 <input type="checkbox" class="allCheckNotifyTime" /></th>
  469. </thead>`;
  470. datas.map((item, index) => {
  471. tableHTML += `<tr>
  472. <td style="width:300px;">${item.name}</td>
  473. <td style="width:100px;">
  474. <label>
  475. <input class="statOrderCheckbox" ${item.order_time_type.indexOf('order_time') >= 0 ? 'checked':''} type="checkbox" name="statType[${item.value}][]" value="order_time"/>
  476. </label>
  477. </td>
  478. <td style="width:100px;">
  479. <label>
  480. <input class="statNotifyCheckbox" ${item.order_time_type.indexOf('notify_time') >= 0 ? 'checked':''} type="checkbox" name="statType[${item.value}][]" value="notify_time"/>
  481. </label>
  482. </td>
  483. </tr>`
  484. })
  485. tableHTML += '</table></div></form>'
  486. layui.use('layer', function() {
  487. var layer = layui.layer;
  488. layer.open({
  489. btn: ['确定', '取消'],
  490. yes: function() {
  491. // $('#editStatTypeForm').submit();
  492. var formData = $('#editStatTypeForm').serialize();
  493. console.log('formData', formData);
  494. $.ajax({
  495. url: 'index.php?act=OrderStats&op=refill_balance_stat_cfg',
  496. type: 'post',
  497. data: formData,
  498. success: function(res) {
  499. console.log('editStatTypeForm', res);
  500. const data = JSON.parse(res);
  501. if (data.status == 'success') {
  502. layer.msg('提交成功');
  503. } else {
  504. layer.msg(data.message)
  505. }
  506. },
  507. fail: function() {
  508. layer.msg('网络连接错误');
  509. }
  510. })
  511. },
  512. btn2: function() {
  513. console.log('取消');
  514. },
  515. title: '编辑统计类型',
  516. content: tableHTML
  517. })
  518. })
  519. }
  520. })
  521. })
  522. $(document).on('click', '.allCheckNotifyTime', function() {
  523. if ($(this).is(':checked')) {
  524. $('.statNotifyCheckbox').attr('checked', true);
  525. } else {
  526. $('.statNotifyCheckbox').attr('checked', false);
  527. }
  528. })
  529. $(document).on('click', '.allCheckOrderTime', function() {
  530. if ($(this).is(':checked')) {
  531. $('.statOrderCheckbox').attr('checked', true);
  532. } else {
  533. $('.statOrderCheckbox').attr('checked', false);
  534. }
  535. })
  536. $('.handleBtn').on('click', function() {
  537. var index = $(this).attr('data-index');
  538. var data = stats_list_data[index];
  539. console.log('data', data)
  540. layui.use(['form', 'layer', 'laydate'], function() {
  541. var layer = layui.layer;
  542. var form = layui.form;
  543. const transfer_detail_data = [];
  544. Object.keys(data.transfer_detail_data).map(key => {
  545. transfer_detail_data.push(data.transfer_detail_data[key])
  546. })
  547. console.log('transfer_detail_data', transfer_detail_data)
  548. let transferDetailHTML = '';
  549. for (let i = 0; i < transfer_detail_data.length; i++) {
  550. if (i % 3 == 0) {
  551. transferDetailHTML += `<div class="layui-form-item">`
  552. }
  553. transferDetailHTML += `
  554. <div class="layui-inline">
  555. <label class="layui-form-label">${transfer_detail_data[i].name}</label>
  556. <div class="layui-input-inline">
  557. <input type="text" value="${transfer_detail_data[i].amount}" disabled style="height:38px;" required lay-verify="required" autocomplete="off" class="layui-input">
  558. </div>
  559. </div>
  560. `
  561. if (i % 3 == 2 || i == transfer_detail_data.length - 1) {
  562. transferDetailHTML += `</div> `
  563. }
  564. }
  565. layer.confirm(`
  566. <div>
  567. <form id="editStatDataForm" class="layui-form" method="post" action="index.php?act=Orderstats&op=refill_balance_edit">
  568. <input type="hidden" value="${data.balance_id}" name="balance_id">
  569. <div class="layui-form-item">
  570. <div class="layui-inline">
  571. <label class="layui-form-label">成功订单数:</label>
  572. <div class="layui-input-inline">
  573. <input type="text" value="${data.success_count}" style="height:38px;" name="success_count" required lay-verify="required" placeholder="成功订单数" autocomplete="off" class="layui-input">
  574. </div>
  575. </div>
  576. <div class="layui-inline">
  577. <label class="layui-form-label">成功金额:</label>
  578. <div class="layui-input-inline">
  579. <input type="text" value="${data.refill_amount}" style="height:38px;" name="refill_amount" required lay-verify="required" placeholder="成功金额" autocomplete="off" class="layui-input">
  580. </div>
  581. </div>
  582. <div class="layui-inline">
  583. <label class="layui-form-label">下游金额:</label>
  584. <div class="layui-input-inline">
  585. <input type="text" value="${data.mch_amount}" style="height:38px;" name="mch_amount" required lay-verify="required" placeholder="下游金额" autocomplete="off" class="layui-input">
  586. </div>
  587. </div>
  588. </div>
  589. <div class="layui-form-item">
  590. <div class="layui-inline">
  591. <label class="layui-form-label">上游金额:</label>
  592. <div class="layui-input-inline">
  593. <input type="text" value="${data.channel_amount}" style="height:38px;" name="channel_amount" required lay-verify="required" placeholder="上游金额" autocomplete="off" class="layui-input">
  594. </div>
  595. </div>
  596. <div class="layui-inline">
  597. <label class="layui-form-label">利润:</label>
  598. <div class="layui-input-inline">
  599. <input type="text" value="${data.profit_amount}" style="height:38px;" name="profit_amount" required lay-verify="required" placeholder="利润" autocomplete="off" class="layui-input">
  600. </div>
  601. </div>
  602. <div class="layui-inline">
  603. <label class="layui-form-label">银行转入:</label>
  604. <div class="layui-input-inline">
  605. <input type="text" value="${data.transfer_in}" style="height:38px;" name="transfer_in" required lay-verify="required" placeholder="银行转入" autocomplete="off" class="layui-input">
  606. </div>
  607. </div>
  608. </div>
  609. <div class="layui-form-item">
  610. <div class="layui-inline">
  611. <label class="layui-form-label">银行转出:</label>
  612. <div class="layui-input-inline">
  613. <input type="text" value="${data.transfer_out}" style="height:38px;" name="transfer_out" required lay-verify="required" placeholder="银行转出" autocomplete="off" class="layui-input">
  614. </div>
  615. </div>
  616. <div class="layui-inline">
  617. <label class="layui-form-label">返销金额:</label>
  618. <div class="layui-input-inline">
  619. <input type="text" value="${data.refund_amount}" style="height:38px;" name="refund_amount" required lay-verify="required" placeholder="返销金额" autocomplete="off" class="layui-input">
  620. </div>
  621. </div>
  622. <div class="layui-inline">
  623. <label class="layui-form-label">异常金额:</label>
  624. <div class="layui-input-inline">
  625. <input type="text" value="${data.except_amount}" style="height:38px;" name="except_amount" required lay-verify="required" placeholder="异常金额" autocomplete="off" class="layui-input">
  626. </div>
  627. </div>
  628. </div>
  629. <div class="layui-form-item">
  630. <div class="layui-inline">
  631. <label class="layui-form-label">累计结余:</label>
  632. <div class="layui-input-inline">
  633. <input type="text" value="${data.accumulate_balance}" style="height:38px;" name="accumulate_balance" required lay-verify="required" placeholder="累计结余" autocomplete="off" class="layui-input">
  634. </div>
  635. </div>
  636. <div class="layui-inline">
  637. <label class="layui-form-label">本次结余:</label>
  638. <div class="layui-input-inline">
  639. <input type="text" value="${data.balance}" style="height:38px;" name="balance" required lay-verify="required" placeholder="本次结余" autocomplete="off" class="layui-input">
  640. </div>
  641. </div>
  642. </div>
  643. <div class="layui-form-item">
  644. <div class="layui-block">
  645. <label class="layui-form-label">备注:</label>
  646. <div class="layui-input-inline">
  647. <input type="text" value="${data.remark}" style="width:525px;height:38px;" name="remark" required lay-verify="required" placeholder="备注" autocomplete="off" class="layui-input">
  648. </div>
  649. </div>
  650. </div>
  651. <div style="height:1px;border-top: 1px dotted #CBE9F3;margin-bottom:15px;"></div>
  652. ${transferDetailHTML}
  653. </form>
  654. </div>`, {
  655. area: '1200px',
  656. title: '编辑'
  657. }, function(index) {
  658. $('#editStatDataForm').submit();
  659. })
  660. form.render();
  661. })
  662. })
  663. });
  664. </script>