mallpaymentorderdata.js 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../mallpaymentorderdata/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: '编号', name: 'payOrderId', index: 'pay_order_id', key: true, hidden: true},
  7. {label: '商品名称', name: 'merchantName', index: 'merchant_name', width: 80},
  8. {label: '商户订单号', name: 'outTradeNo', index: 'out_trade_no', width: 80},
  9. {label: '微信订单/支付宝交易号', name: 'transactionOrder', index: 'transaction_order', width: 80},
  10. {label: '订单/收入金额', name: 'payMoney', index: 'pay_money', width: 80},
  11. {label: '退款/支出金额', name: 'refundMoney', index: 'refund_money', width: 80},
  12. {label: '支付方式', name: 'payFlag', index: 'pay_flag', width: 80},
  13. {label: '交易/入账时间', name: 'timeStr', index: 'time_str', width: 80},
  14. {label: '添加人', name: 'createrSn', index: 'creater_sn', width: 80},
  15. {label: '上传时间', name: 'createTime', index: 'create_time', width: 80, formatter: function (value) {
  16. return transDate(value,'yyyy-MM-dd hh:mm:ss');
  17. }},
  18. {
  19. label: '操作', width: 180, sortable: false,align: 'center',
  20. formatter: function (value, col, row) {
  21. let htmlStr = '';
  22. if (row.payFlag == 'weixin') {
  23. htmlStr='<button class="btn btn-outline btn-info" onclick="vm.lookDetailwx(' + row.payOrderId + ')"><i class="fa fa-info-circle"></i>详情</button>&nbsp;';
  24. }else {
  25. htmlStr='<button class="btn btn-outline btn-info" onclick="vm.lookDetailali(' + row.payOrderId + ')"><i class="fa fa-info-circle"></i>详情</button>&nbsp;';
  26. }
  27. return htmlStr;
  28. }
  29. }
  30. ],
  31. viewrecords: true,
  32. height: 550,
  33. rowNum: 10,
  34. rowList: [10, 30, 50],
  35. rownumbers: true,
  36. rownumWidth: 25,
  37. autowidth: true,
  38. multiselect: true,
  39. pager: "#jqGridPager",
  40. jsonReader: {
  41. root: "page.list",
  42. page: "page.currPage",
  43. total: "page.totalPage",
  44. records: "page.totalCount"
  45. },
  46. prmNames: {
  47. page: "page",
  48. rows: "limit",
  49. order: "order"
  50. },
  51. gridComplete: function () {
  52. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  53. }
  54. });
  55. });
  56. let vm = new Vue({
  57. el: '#rrapp',
  58. data: {
  59. showList: true,
  60. title: null,
  61. payFlag:'',
  62. showDiv:'',
  63. mallpaymentorderdata: {},
  64. machineCodeTypes:[],
  65. ruleValidate: {
  66. name: [
  67. {required: true, message: '名称不能为空', trigger: 'blur'}
  68. ]
  69. },
  70. q: {
  71. payFlag: '',
  72. startTime:'',
  73. endTime:'',
  74. },
  75. flag : true,
  76. },
  77. methods: {
  78. query: function () {
  79. vm.reload();
  80. },
  81. add: function () {
  82. vm.showList = false;
  83. vm.title = "新增";
  84. vm.mallpaymentorderdata = {};
  85. },
  86. update: function (event) {
  87. let payOrderId = getSelectedRow();
  88. if (payOrderId == null) {
  89. return;
  90. }
  91. vm.showList = false;
  92. vm.title = "修改";
  93. vm.getInfo(payOrderId)
  94. },
  95. saveOrUpdate: function (event) {
  96. let url = vm.mallpaymentorderdata.payOrderId == null ? "../mallpaymentorderdata/save" : "../mallpaymentorderdata/update";
  97. $.ajax({
  98. type: "POST",
  99. url: url,
  100. contentType: "application/json",
  101. data: JSON.stringify(vm.mallpaymentorderdata),
  102. success: function (r) {
  103. if (r.code === 0) {
  104. alert('操作成功', function (index) {
  105. vm.reload();
  106. });
  107. } else {
  108. alert(r.msg);
  109. }
  110. }
  111. });
  112. },
  113. del: function (event) {
  114. let payOrderIds = getSelectedRows();
  115. if (payOrderIds == null){
  116. return;
  117. }
  118. confirm('确定要删除选中的记录?', function () {
  119. $.ajax({
  120. type: "POST",
  121. url: "../mallpaymentorderdata/delete",
  122. contentType: "application/json",
  123. data: JSON.stringify(payOrderIds),
  124. success: function (r) {
  125. if (r.code == 0) {
  126. alert('操作成功', function (index) {
  127. $("#jqGrid").trigger("reloadGrid");
  128. });
  129. } else {
  130. alert(r.msg);
  131. }
  132. }
  133. });
  134. });
  135. },
  136. getInfo: function(payOrderId){
  137. $.get("../mallpaymentorderdata/info/"+payOrderId, function (r) {
  138. vm.mallpaymentorderdata = r.mallPaymentOrderData;
  139. });
  140. },
  141. lookDetailwx: function (rowId) { //第三步:定义编辑操作
  142. vm.showDiv = 2;
  143. vm.title = "账单详情";
  144. vm.showList =false;
  145. vm.getInfo(rowId);
  146. },
  147. lookDetailali: function (rowId) { //第三步:定义编辑操作
  148. vm.showDiv = 1;
  149. vm.title = "账单详情";
  150. vm.showList =false;
  151. vm.getInfo(rowId);
  152. },
  153. reloadSearch: function() {
  154. vm.q = {
  155. name: '',
  156. payFlag: '',
  157. startTime:'',
  158. endTime:'',
  159. }
  160. vm.reload();
  161. },
  162. reload: function (event) {
  163. vm.showList = true;
  164. vm.showDiv='';
  165. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  166. $("#jqGrid").jqGrid('setGridParam', {
  167. postData: {'name': vm.q.name,
  168. 'payFlag': vm.q.payFlag,
  169. 'startTime': vm.q.startTime,
  170. 'endTime': vm.q.endTime,},
  171. page: page
  172. }).trigger("reloadGrid");
  173. vm.handleReset('formValidate');
  174. },
  175. handleSubmit: function (name) {
  176. handleSubmitValidate(this, name, function () {
  177. vm.saveOrUpdate()
  178. });
  179. },
  180. handleReset: function (name) {
  181. handleResetForm(this, name);
  182. },
  183. uploadExcelSuccess: function () {
  184. alert('上传成功', function (index) {
  185. $("#jqGrid").trigger("reloadGrid");
  186. });
  187. setTimeout(exportMsg, 100);
  188. },
  189. uploadExcelError: function () {
  190. alert('上传出现异常');
  191. setTimeout(exportMsg, 100);
  192. },
  193. uploadExcelProgress:function(event, file, fileList){
  194. console.log("上传中")
  195. console.log(event)
  196. console.log(file)
  197. console.log(fileList)
  198. console.log("上传中")
  199. exportMsg = this.$Message.loading({
  200. content: 'Loading...',
  201. duration: 0
  202. });
  203. // setTimeout(msg, 3000);
  204. },
  205. uploadExcelSuccess: function (data) {
  206. if(data.code==0){
  207. alert('导入成功', function (index) {
  208. vm.reload();
  209. });
  210. }else{
  211. if(data.msg == '导入成功!'){
  212. alert(data.msg);
  213. vm.reload();
  214. }else {
  215. alert(data.msg);
  216. }
  217. }
  218. },
  219. uploadExcelError: function (data) {
  220. console.log(data);
  221. alert('上传出现异常,请重试!');
  222. setTimeout(exportMsg, 100);
  223. },
  224. uploadExcelFormatError: function (file) {
  225. this.$Notice.warning({
  226. title: '文件格式不正确',
  227. desc: '文件 ' + file.name + ' 格式不正确,请上传 xls 或 xlsx 格式的文件。'
  228. });
  229. setTimeout(exportMsg, 100);
  230. },
  231. upload: function (){
  232. $('#salesDataFormDiv').modal('show');
  233. },
  234. uploadFormSubmit: function () {
  235. if(!vm.q.payFlag){
  236. alert("请选择支付类型");
  237. return ;
  238. }
  239. let fileName = $('#file').val();
  240. if(!fileName){
  241. alert("选择上传文件");
  242. return ;
  243. }
  244. if(fileName.lastIndexOf(".xlsx") == -1 && fileName.lastIndexOf(".xls") == -1){
  245. fileName = fileName.substring(fileName.lastIndexOf("\\")+1);
  246. alert("文件 " + fileName + " 格式不正确,请上传 xls 或 xlsx 格式的文件。");
  247. return ;
  248. }
  249. let formData = new FormData();
  250. formData.append("file", document.getElementById("file").files[0]);
  251. formData.append("payFlag", vm.q.payFlag);
  252. // 显示loading提示
  253. dialogLoading(true);
  254. var stamp = document.getElementById("btn-smubit");
  255. stamp = true;
  256. $.ajax({
  257. async: false,
  258. type: "POST",
  259. url: "../mallpaymentorderdata/upload",
  260. data: formData,
  261. mimeType: "multipart/form-data",
  262. contentType: false,
  263. processData: false,
  264. success: function (data) {
  265. dialogLoading(false);
  266. if(data.code==0){
  267. $('#cancel').click();
  268. alert(data.msg, function (index) {
  269. $("#jqGrid").trigger("reloadGrid");
  270. });
  271. stamp = false;
  272. }else{
  273. alert(data.msg);
  274. stamp = false;
  275. }
  276. }
  277. });
  278. },
  279. exportDataFormat : function () {
  280. if (vm.flag){
  281. vm.flag = false;
  282. var params = {};
  283. params.payFlag=vm.q.payFlag;
  284. params.startTime=vm.q.startTime;
  285. params.endTime=vm.q.endTime;
  286. if(!params.payFlag){
  287. alert("请选择支付类型");
  288. return ;
  289. }
  290. if(!params.startTime || !params.endTime){
  291. alert("请选择创建订单时间");
  292. return ;
  293. }
  294. let startDateTime = Date.parse(new Date(params.startTime));
  295. let endDateTime = Date.parse(new Date(params.endTime));
  296. if(startDateTime > endDateTime){
  297. alert("创建订单开始时间不能大于创建订单结束时间");
  298. return ;
  299. }
  300. let day = Math.abs(parseInt((endDateTime - startDateTime)/1000/3600/24));
  301. if(day > 30 || Object.is(day,NaN)){
  302. alert("导出时间不能相差大于30天");
  303. return ;
  304. }
  305. const msg = this.$Message.loading({
  306. content: 'Loading...',
  307. duration: 0
  308. });
  309. confirm('确认导出账单吗?', function () {
  310. setTimeout(msg, 1000);
  311. exportFile('#rrapp', '../mallpaymentorderdata/exportDataFormat', params);
  312. alert('操作成功,正在导出,请勿重复点击!', function (index) {
  313. $("#jqGrid").trigger("reloadGrid");
  314. });
  315. });
  316. vm.flag = true
  317. }else {
  318. alert("点击的太快了,请慢一点!");
  319. vm.flag = true
  320. return ;
  321. }
  322. },
  323. },
  324. mounted() {
  325. $.get("../sys/macro/queryMacrosByValue?value=payFlag", function (r) {
  326. vm.machineCodeTypes = r.list;
  327. });
  328. },
  329. });