orderrefund.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../orderrefund/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  7. {label: '订单Id', name: 'orderId', index: 'order_id', width: 80},
  8. {label: '用户Id', name: 'userId', index: 'user_id', width: 80},
  9. {label: '商户退款单号', name: 'outRefundNo', index: 'out_refund_no', width: 80},
  10. {label: '微信退款单号', name: 'refundId', index: 'refund_id', width: 80},
  11. {label: '退款类型', name: 'refundType', index: 'refund_type', width: 80},
  12. {label: '退款时间', name: 'refundTime', index: 'refund_time', width: 80},
  13. {label: '退款金额', name: 'refundMoney', index: 'refund_money', width: 80},
  14. {label: '退款状态', name: 'refundStatus', index: 'refund_status', width: 80},
  15. {label: '退款原因', name: 'refundReason', index: 'refund_reason', width: 80},
  16. {label: '退款入账账户', name: 'refundRecvAccout', index: 'refund_recv_accout', width: 80},
  17. {label: '审核人', name: 'approver', index: 'approver', width: 80},
  18. {label: '审核时间', name: 'approvalTime', index: 'approval_time', width: 80},
  19. {label: '审核备注', name: 'approvalRemark', index: 'approval_remark', width: 80},
  20. {
  21. label: '操作', width: 210, align: 'center', sortable: false,
  22. formatter: function (value, col, row) {
  23. let htmlStr = '';
  24. if (hasPermission('order:refund')) {
  25. if (row.refundStatus == 1) {
  26. htmlStr = '<button class="btn btn-outline btn-danger" onclick="vm.refundUpdate(' + row.orderId + ')"><i class="fa fa-times-circle-o"></i>&nbsp;确认退款</button>&nbsp;';
  27. }
  28. }
  29. htmlStr += '<button class="btn btn-outline btn-info" onclick="vm.lookDetail(' + row.id + ')"><i class="fa fa-info-circle"></i>详情</button>';
  30. return htmlStr;
  31. }
  32. }],
  33. viewrecords: true,
  34. height: 385,
  35. rowNum: 10,
  36. rowList: [10, 30, 50],
  37. rownumbers: true,
  38. rownumWidth: 25,
  39. autowidth: true,
  40. multiselect: true,
  41. pager: "#jqGridPager",
  42. jsonReader: {
  43. root: "page.list",
  44. page: "page.currPage",
  45. total: "page.totalPage",
  46. records: "page.totalCount"
  47. },
  48. prmNames: {
  49. page: "page",
  50. rows: "limit",
  51. order: "order"
  52. },
  53. gridComplete: function () {
  54. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  55. }
  56. });
  57. });
  58. let vm = new Vue({
  59. el: '#rrapp',
  60. data: {
  61. showList: true,
  62. title: null,
  63. orderRefund: {},
  64. ruleValidate: {
  65. name: [
  66. {required: true, message: '名称不能为空', trigger: 'blur'}
  67. ]
  68. },
  69. q: {
  70. name: ''
  71. }
  72. },
  73. methods: {
  74. query: function () {
  75. vm.reload();
  76. },
  77. add: function () {
  78. vm.showList = false;
  79. vm.title = "新增";
  80. vm.orderRefund = {};
  81. },
  82. update: function (event) {
  83. let id = getSelectedRow();
  84. if (id == null) {
  85. return;
  86. }
  87. vm.showList = false;
  88. vm.title = "修改";
  89. vm.getInfo(id)
  90. },
  91. saveOrUpdate: function (event) {
  92. let url = vm.orderRefund.id == null ? "../orderrefund/save" : "../orderrefund/update";
  93. $.ajax({
  94. type: "POST",
  95. url: url,
  96. contentType: "application/json",
  97. data: JSON.stringify(vm.orderRefund),
  98. success: function (r) {
  99. if (r.code === 0) {
  100. alert('操作成功', function (index) {
  101. vm.reload();
  102. });
  103. } else {
  104. alert(r.msg);
  105. }
  106. }
  107. });
  108. },
  109. del: function (event) {
  110. let ids = getSelectedRows();
  111. if (ids == null){
  112. return;
  113. }
  114. confirm('确定要删除选中的记录?', function () {
  115. $.ajax({
  116. type: "POST",
  117. url: "../orderrefund/delete",
  118. contentType: "application/json",
  119. data: JSON.stringify(ids),
  120. success: function (r) {
  121. if (r.code == 0) {
  122. alert('操作成功', function (index) {
  123. $("#jqGrid").trigger("reloadGrid");
  124. });
  125. } else {
  126. alert(r.msg);
  127. }
  128. }
  129. });
  130. });
  131. },
  132. getInfo: function(id){
  133. $.get("../orderrefund/info/"+id, function (r) {
  134. vm.orderRefund = r.orderRefund;
  135. });
  136. },
  137. reloadSearch: function() {
  138. vm.q = {
  139. name: ''
  140. }
  141. vm.reload();
  142. },
  143. reload: function (event) {
  144. vm.showList = true;
  145. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  146. $("#jqGrid").jqGrid('setGridParam', {
  147. postData: {'name': vm.q.name},
  148. page: page
  149. }).trigger("reloadGrid");
  150. vm.handleReset('formValidate');
  151. },
  152. handleSubmit: function (name) {
  153. handleSubmitValidate(this, name, function () {
  154. vm.saveOrUpdate()
  155. });
  156. },
  157. handleReset: function (name) {
  158. handleResetForm(this, name);
  159. },
  160. refundUpdate: function (rowId) {
  161. let params = {};
  162. params.orderId = rowId;
  163. $.ajax({
  164. type: "POST",
  165. url: '../order/cancel',
  166. data: params,
  167. success: function (r) {
  168. if (r.code === 0) {
  169. alert('取消成功', function (index) {
  170. vm.reload();
  171. });
  172. } else {
  173. alert(r.msg);
  174. }
  175. }
  176. });
  177. }
  178. }
  179. });