merch.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../merch/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  7. {label: '商户编号', name: 'merchSn', index: 'merch_sn', align: 'center',width: 220},
  8. {label: '商户名称', name: 'merchName', index: 'merch_name', align: 'center',width: 180},
  9. {label: '商户简称', name: 'merchShortName', index: 'merch_short_name', width: 100},
  10. {label: '排序', name: 'sortOrder', index: 'sort_order', width: 100},
  11. {
  12. label: '显示',
  13. name: 'isShow',
  14. align: 'center',
  15. index: 'is_show',
  16. width: '120px',
  17. formatter: function (value) {
  18. return transIsNot(value);
  19. }
  20. },
  21. {label: '备注', name: 'remark', index: 'remark', width: 220}],
  22. viewrecords: true,
  23. height: 550,
  24. rowNum: 10,
  25. rowList: [10, 30, 50],
  26. rownumbers: true,
  27. rownumWidth: 25,
  28. autowidth: true,
  29. shrinkToFit: false,
  30. autoScroll: true, //开启水平滚动条
  31. width: 1500,
  32. multiselect: true,
  33. pager: "#jqGridPager",
  34. jsonReader: {
  35. root: "page.list",
  36. page: "page.currPage",
  37. total: "page.totalPage",
  38. records: "page.totalCount"
  39. },
  40. prmNames: {
  41. page: "page",
  42. rows: "limit",
  43. order: "order"
  44. },
  45. gridComplete: function () {
  46. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  47. }
  48. });
  49. });
  50. let vm = new Vue({
  51. el: '#rrapp',
  52. data: {
  53. showList: true,
  54. title: null,
  55. merch: {merchSn:'',merchName:'',merchShortName:'',sortOrder:'',isShow:1},
  56. ruleValidate: {
  57. merchSn: [
  58. {required: true, message: '商户编号不能为空', trigger: 'blur'},
  59. {max: 32, message: '商户编号长度不能超过32', trigger: 'blur'}
  60. ],
  61. merchName: [
  62. {required: true, message: '商户名称不能为空', trigger: 'blur'},
  63. {max: 32, message: '商户名称长度不能超过32', trigger: 'blur'}
  64. ],
  65. merchShortName: [
  66. {required: true, message: '商户简称不能为空', trigger: 'blur'},
  67. {max: 10, message: '商户简称长度不能超过10', trigger: 'blur'}
  68. ],
  69. sortOrder: [
  70. {
  71. type: 'integer', message: '排序只能输入正整数,最大不超过9999', trigger: 'blur', min: 0, max: 9999,
  72. transform(value) {
  73. return Number(value);
  74. }
  75. },
  76. {pattern: /^[1-9]\d*$/, message: '排序只能输入正整数', trigger: 'blur'}
  77. ],
  78. remark: [
  79. {max: 32, message: '备注长度不能超过32', trigger: 'blur'}
  80. ]
  81. },
  82. q: {
  83. merchName: '',
  84. merchSn: ''
  85. }
  86. },
  87. methods: {
  88. query: function () {
  89. vm.reload();
  90. },
  91. add: function () {
  92. vm.showList = false;
  93. vm.title = "新增";
  94. vm.merch = {isShow:1};
  95. },
  96. update: function (event) {
  97. let id = getSelectedRow();
  98. if (id == null) {
  99. return;
  100. }
  101. vm.showList = false;
  102. vm.title = "修改";
  103. vm.getInfo(id)
  104. },
  105. saveOrUpdate: function (event) {
  106. let url = vm.merch.id == null ? "../merch/save" : "../merch/update";
  107. $.ajax({
  108. type: "POST",
  109. url: url,
  110. contentType: "application/json",
  111. data: JSON.stringify(vm.merch),
  112. success: function (r) {
  113. if (r.code === 0) {
  114. alert('操作成功', function (index) {
  115. vm.reload();
  116. });
  117. } else {
  118. alert(r.msg);
  119. }
  120. }
  121. });
  122. },
  123. del: function (event) {
  124. let ids = getSelectedRows();
  125. if (ids == null){
  126. return;
  127. }
  128. confirm('确定要删除选中的记录?', function () {
  129. $.ajax({
  130. type: "POST",
  131. url: "../merch/delete",
  132. contentType: "application/json",
  133. data: JSON.stringify(ids),
  134. success: function (r) {
  135. if (r.code == 0) {
  136. alert('操作成功', function (index) {
  137. $("#jqGrid").trigger("reloadGrid");
  138. });
  139. } else {
  140. alert(r.msg);
  141. }
  142. }
  143. });
  144. });
  145. },
  146. getInfo: function(id){
  147. $.get("../merch/info/"+id, function (r) {
  148. vm.merch = r.merch;
  149. });
  150. },
  151. reloadSearch: function() {
  152. vm.q = {
  153. merchName: '',
  154. merchSn:''
  155. }
  156. vm.reload();
  157. },
  158. reload: function (event) {
  159. vm.showList = true;
  160. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  161. $("#jqGrid").jqGrid('setGridParam', {
  162. postData: {'merchName': vm.q.merchName,'merchSn': vm.q.merchSn},
  163. page: page
  164. }).trigger("reloadGrid");
  165. vm.handleReset('formValidate');
  166. },
  167. handleSubmit: function (name) {
  168. handleSubmitValidate(this, name, function () {
  169. vm.saveOrUpdate()
  170. });
  171. },
  172. handleReset: function (name) {
  173. handleResetForm(this, name);
  174. }
  175. }
  176. });