record.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>浏览页面</title>
  6. <link rel="stylesheet" href="/app/admin/component/pear/css/pear.css" />
  7. <link rel="stylesheet" href="/app/admin/admin/css/reset.css" />
  8. </head>
  9. <body class="pear-container">
  10. <!-- 顶部查询表单 -->
  11. <div class="layui-card">
  12. <div class="layui-card-body">
  13. <form class="layui-form top-search-from">
  14. <div class="layui-form-item">
  15. <label class="layui-form-label">流水类型</label>
  16. <div class="layui-input-block">
  17. <div name="type" id="type" value="" ></div>
  18. </div>
  19. </div>
  20. <div class="layui-form-item">
  21. <label class="layui-form-label">钱包类型</label>
  22. <div class="layui-input-block">
  23. <div name="mold" id="mold" value="" ></div>
  24. </div>
  25. </div>
  26. <div class="layui-form-item">
  27. <label class="layui-form-label">创建时间</label>
  28. <div class="layui-input-block">
  29. <div class="layui-input-block" id="created_at">
  30. <input type="text" autocomplete="off" name="created_at[]" id="created_at-date-start" class="layui-input inline-block" placeholder="开始时间">
  31. -
  32. <input type="text" autocomplete="off" name="created_at[]" id="created_at-date-end" class="layui-input inline-block" placeholder="结束时间">
  33. </div>
  34. </div>
  35. </div>
  36. <input type="hidden" name="user_id" value="<?=$id?>">
  37. <div class="layui-form-item layui-inline">
  38. <label class="layui-form-label"></label>
  39. <button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="table-query">
  40. <i class="layui-icon layui-icon-search"></i>查询
  41. </button>
  42. <button type="reset" class="pear-btn pear-btn-md" lay-submit lay-filter="table-reset">
  43. <i class="layui-icon layui-icon-refresh"></i>重置
  44. </button>
  45. </div>
  46. <div class="toggle-btn">
  47. <a class="layui-hide">展开<i class="layui-icon layui-icon-down"></i></a>
  48. <a class="layui-hide">收起<i class="layui-icon layui-icon-up"></i></a>
  49. </div>
  50. </form>
  51. </div>
  52. </div>
  53. <!-- 数据表格 -->
  54. <div class="layui-card">
  55. <div class="layui-card-body">
  56. <table id="data-table" lay-filter="data-table"></table>
  57. </div>
  58. </div>
  59. <script src="/app/admin/component/layui/layui.js?v=2.8.12"></script>
  60. <script src="/app/admin/component/pear/pear.js"></script>
  61. <script src="/app/admin/admin/js/permission.js"></script>
  62. <script src="/app/admin/admin/js/common.js"></script>
  63. <script>
  64. // 相关常量
  65. const PRIMARY_KEY = "id";
  66. const SELECT_API = "/app/admin/usercark/record";
  67. // 字段 创建时间 created_at
  68. layui.use(["laydate"], function() {
  69. layui.laydate.render({
  70. elem: "#created_at",
  71. range: ["#created_at-date-start", "#created_at-date-end"],
  72. type: "datetime",
  73. });
  74. })
  75. // 表格渲染
  76. layui.use(["table", "form", "common", "popup", "util"], function() {
  77. let table = layui.table;
  78. let form = layui.form;
  79. let $ = layui.$;
  80. let common = layui.common;
  81. let util = layui.util;
  82. // 表头参数
  83. let cols = [
  84. {
  85. title: "外部流水",align: "center",
  86. field: "outTradeNo",
  87. sort: true,
  88. width: 150
  89. },{
  90. title: "内部流水",align: "center",
  91. field: "orderCode",
  92. width: 150
  93. },{
  94. title: "卡号",align: "center",
  95. field: "cardNo",
  96. width: 150
  97. },{
  98. title: "卡标识",align: "center",
  99. field: "cardId",
  100. sort: true,
  101. width: 150
  102. },{
  103. title: "客户交易金额",align: "center",
  104. field: "customerCardAmount",
  105. sort: true,
  106. width: 150
  107. },{
  108. title: "客户结算金额",align: "center",
  109. field: "customerSettlementAmount",
  110. sort: true,
  111. width: 150
  112. },{
  113. title: "商户名称",align: "center",
  114. field: "merchantName",
  115. sort: true,
  116. width: 150
  117. },{
  118. title: "商户MCC",align: "center",
  119. field: "merchantCategoryCode",
  120. sort: true,
  121. width: 150
  122. },{
  123. title: "卡币种",align: "center",
  124. field: "cardCurrencyCode",
  125. sort: true,
  126. width: 150
  127. },{
  128. title: "交易币种",align: "center",
  129. field: "originalCurrencyCode",
  130. sort: true,
  131. width: 150
  132. },{
  133. title: "结算币种",align: "center",
  134. field: "settlementCurrencyCode",
  135. sort: true,
  136. width: 150
  137. },{
  138. title: "交易类型",align: "center",
  139. field: "type",
  140. sort: true,
  141. width: 150
  142. }
  143. ,{
  144. title: "状态",align: "center",
  145. field: "status",
  146. width: 150,
  147. templet: function (d) {
  148. let field = "status";
  149. if (typeof d[field] == "undefined") return "";
  150. let items = [];
  151. layui.each((d[field] + "").split(","), function (k, v) {
  152. items.push(apiResults[field][v] || v);
  153. });
  154. return util.escape(items.join(","));
  155. }
  156. },{
  157. width: 100,
  158. title: "创建时间",align: "center",
  159. field: "create_date",
  160. }
  161. ];
  162. // 渲染表格
  163. function render()
  164. {
  165. table.render({
  166. elem: "#data-table",
  167. url: SELECT_API,
  168. page: true,
  169. cols: [cols],
  170. where:{
  171. user_id:$('input[name=user_id]').val()
  172. },
  173. skin: "line",
  174. size: "lg",
  175. toolbar: "#table-toolbar",
  176. autoSort: false,
  177. defaultToolbar: [{
  178. title: "刷新",
  179. layEvent: "refresh",
  180. icon: "layui-icon-refresh",
  181. }, "filter", "print", "exports"],
  182. done: function () {
  183. layer.photos({photos: 'div[lay-id="data-table"]', anim: 5});
  184. }
  185. });
  186. }
  187. // 获取表格中下拉或树形组件数据
  188. let apis = [];
  189. apis.push(["type", "/app/admin/stream/addselect"]);
  190. let apiResults = {};
  191. apiResults["status"] = {1: "结算中", 2: "交易失败", 3: "交易成功", 0: "预成功"};
  192. apiResults["type"] = [];
  193. let count = apis.length;
  194. layui.each(apis, function (k, item) {
  195. let [field, url] = item;
  196. $.ajax({
  197. url: url,
  198. dateType: "json",
  199. success: function (res) {
  200. if (res.code) {
  201. return layui.popup.failure(res.msg);
  202. }
  203. function travel(items) {
  204. for (let k in items) {
  205. let item = items[k];
  206. apiResults[field][item.value] = item.name;
  207. if (item.children) {
  208. travel(item.children);
  209. }
  210. }
  211. }
  212. travel(res.data);
  213. },
  214. complete: function () {
  215. if (--count === 0) {
  216. render();
  217. }
  218. }
  219. });
  220. });
  221. if (!count) {
  222. render();
  223. }
  224. // 表格顶部工具栏事件
  225. table.on("toolbar(data-table)", function(obj) {
  226. if (obj.event === "add") {
  227. add();
  228. } else if (obj.event === "refresh") {
  229. refreshTable();
  230. } else if (obj.event === "batchRemove") {
  231. batchRemove(obj);
  232. }
  233. });
  234. // 表格顶部搜索事件
  235. form.on("submit(table-query)", function(data) {
  236. table.reload("data-table", {
  237. page: {
  238. curr: 1
  239. },
  240. where: data.field
  241. })
  242. return false;
  243. });
  244. // 表格顶部搜索重置事件
  245. form.on("submit(table-reset)", function(data) {
  246. table.reload("data-table", {
  247. where: {
  248. user_id:$('input[name=user_id]').val()
  249. }
  250. })
  251. });
  252. // 表格排序事件
  253. table.on("sort(data-table)", function(obj){
  254. table.reload("data-table", {
  255. initSort: obj,
  256. scrollPos: "fixed",
  257. where: {
  258. field: obj.field,
  259. order: obj.type,
  260. user_id:$('input[name=user_id]').val()
  261. }
  262. });
  263. });
  264. // 刷新表格数据
  265. window.refreshTable = function(param) {
  266. table.reloadData("data-table", {
  267. scrollPos: "fixed"
  268. });
  269. }
  270. })
  271. </script>
  272. </body>
  273. </html>