1
0

list.js.vm 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../${pathName}/list',
  4. datatype: "json",
  5. colModel: [
  6. #foreach($column in $columns)
  7. #if($column.columnName == $pk.columnName)
  8. {label: '${column.attrname}', name: '${column.attrname}', index: '${column.columnName}', key: true, hidden: true},
  9. #else
  10. {label: '${column.comments}', name: '${column.attrname}', index: '${column.columnName}', width: 80}#if($velocityCount != $columns.size()),
  11. #end#end#end
  12. ],
  13. viewrecords: true,
  14. height: 550,
  15. rowNum: 10,
  16. rowList: [10, 30, 50],
  17. rownumbers: true,
  18. rownumWidth: 25,
  19. autowidth: true,
  20. multiselect: true,
  21. pager: "#jqGridPager",
  22. jsonReader: {
  23. root: "page.list",
  24. page: "page.currPage",
  25. total: "page.totalPage",
  26. records: "page.totalCount"
  27. },
  28. prmNames: {
  29. page: "page",
  30. rows: "limit",
  31. order: "order"
  32. },
  33. gridComplete: function () {
  34. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  35. }
  36. });
  37. });
  38. let vm = new Vue({
  39. el: '#rrapp',
  40. data: {
  41. showList: true,
  42. title: null,
  43. ${classname}: {},
  44. ruleValidate: {
  45. name: [
  46. {required: true, message: '名称不能为空', trigger: 'blur'}
  47. ]
  48. },
  49. q: {
  50. name: ''
  51. }
  52. },
  53. methods: {
  54. query: function () {
  55. vm.reload();
  56. },
  57. add: function () {
  58. vm.showList = false;
  59. vm.title = "新增";
  60. vm.${classname} = {};
  61. },
  62. update: function (event) {
  63. let $pk.attrname = getSelectedRow();
  64. if ($pk.attrname == null) {
  65. return;
  66. }
  67. vm.showList = false;
  68. vm.title = "修改";
  69. vm.getInfo(${pk.attrname})
  70. },
  71. saveOrUpdate: function (event) {
  72. let url = vm.${classname}.${pk.attrname} == null ? "../${pathName}/save" : "../${pathName}/update";
  73. $.ajax({
  74. type: "POST",
  75. url: url,
  76. contentType: "application/json",
  77. data: JSON.stringify(vm.${classname}),
  78. success: function (r) {
  79. if (r.code === 0) {
  80. alert('操作成功', function (index) {
  81. vm.reload();
  82. });
  83. } else {
  84. alert(r.msg);
  85. }
  86. }
  87. });
  88. },
  89. del: function (event) {
  90. let ${pk.attrname}s = getSelectedRows();
  91. if (${pk.attrname}s == null){
  92. return;
  93. }
  94. confirm('确定要删除选中的记录?', function () {
  95. $.ajax({
  96. type: "POST",
  97. url: "../${pathName}/delete",
  98. contentType: "application/json",
  99. data: JSON.stringify(${pk.attrname}s),
  100. success: function (r) {
  101. if (r.code == 0) {
  102. alert('操作成功', function (index) {
  103. $("#jqGrid").trigger("reloadGrid");
  104. });
  105. } else {
  106. alert(r.msg);
  107. }
  108. }
  109. });
  110. });
  111. },
  112. getInfo: function(${pk.attrname}){
  113. $.get("../${pathName}/info/"+${pk.attrname}, function (r) {
  114. vm.${classname} = r.${classname};
  115. });
  116. },
  117. reloadSearch: function() {
  118. vm.q = {
  119. name: ''
  120. }
  121. vm.reload();
  122. },
  123. reload: function (event) {
  124. vm.showList = true;
  125. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  126. $("#jqGrid").jqGrid('setGridParam', {
  127. postData: {'name': vm.q.name},
  128. page: page
  129. }).trigger("reloadGrid");
  130. vm.handleReset('formValidate');
  131. },
  132. handleSubmit: function (name) {
  133. handleSubmitValidate(this, name, function () {
  134. vm.saveOrUpdate()
  135. });
  136. },
  137. handleReset: function (name) {
  138. handleResetForm(this, name);
  139. }
  140. }
  141. });