1
0

region.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../sys/region/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  7. {label: '上级区域', name: 'parentName', index: 'parent_id', width: 80},
  8. {label: '区域', name: 'name', index: 'name', width: 80},
  9. {
  10. label: '类型', name: 'type', index: 'type', width: 80, formatter: function (value) {
  11. if (value === '0' || value === 0) {
  12. return '国家';
  13. }
  14. if (value == '1') {
  15. return '省份';
  16. }
  17. if (value == '2') {
  18. return '地市';
  19. }
  20. if (value == '3') {
  21. return '区县';
  22. }
  23. }
  24. }
  25. // {label: '区域代理Id', name: 'agencyId', index: 'agency_id', width: 80}
  26. ],
  27. viewrecords: true,
  28. height: 550,
  29. rowNum: 10,
  30. rowList: [10, 30, 50],
  31. rownumbers: true,
  32. rownumWidth: 25,
  33. autowidth: true,
  34. multiselect: true,
  35. pager: "#jqGridPager",
  36. jsonReader: {
  37. root: "page.list",
  38. page: "page.currPage",
  39. total: "page.totalPage",
  40. records: "page.totalCount"
  41. },
  42. prmNames: {
  43. page: "page",
  44. rows: "limit",
  45. order: "order"
  46. },
  47. gridComplete: function () {
  48. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  49. }
  50. });
  51. });
  52. var vm = new Vue({
  53. el: '#rrapp',
  54. data: {
  55. showList: true,
  56. title: null,
  57. region: {type: '1'},
  58. ruleValidate: {
  59. name: [
  60. {required: true, message: '区域名称不能为空', trigger: 'blur'}
  61. ]
  62. },
  63. q: {
  64. parentName: '',
  65. name: '',
  66. type: ''
  67. },
  68. regionList: []
  69. },
  70. methods: {
  71. query: function () {
  72. vm.reload();
  73. },
  74. add: function () {
  75. vm.showList = false;
  76. vm.title = "新增";
  77. vm.region = {type: '1'};
  78. vm.changeType(1);
  79. },
  80. update: function (event) {
  81. var id = getSelectedRow();
  82. if (id == null) {
  83. return;
  84. }
  85. vm.showList = false;
  86. vm.title = "修改";
  87. vm.getInfo(id)
  88. },
  89. saveOrUpdate: function (event) {
  90. var url = vm.region.id == null ? "../sys/region/save" : "../sys/region/update";
  91. $.ajax({
  92. type: "POST",
  93. url: url,
  94. contentType: "application/json",
  95. data: JSON.stringify(vm.region),
  96. success: function (r) {
  97. if (r.code === 0) {
  98. alert('操作成功', function (index) {
  99. vm.reload();
  100. });
  101. } else {
  102. alert(r.msg);
  103. }
  104. }
  105. });
  106. },
  107. del: function (event) {
  108. var ids = getSelectedRows();
  109. if (ids == null) {
  110. return;
  111. }
  112. confirm('确定要删除选中的记录?', function () {
  113. $.ajax({
  114. type: "POST",
  115. url: "../sys/region/delete",
  116. contentType: "application/json",
  117. data: JSON.stringify(ids),
  118. success: function (r) {
  119. if (r.code == 0) {
  120. alert('操作成功', function (index) {
  121. $("#jqGrid").trigger("reloadGrid");
  122. });
  123. } else {
  124. alert(r.msg);
  125. }
  126. }
  127. });
  128. });
  129. },
  130. getInfo: function (id) {
  131. $.get("../sys/region/info/" + id, function (r) {
  132. vm.region = r.region;
  133. vm.changeType(vm.region.type);
  134. });
  135. },
  136. changeType: function (type) {
  137. $.get("../sys/region/getAreaByType?type=" + type, function (r) {
  138. vm.regionList = r.list;
  139. });
  140. },
  141. reload: function (event) {
  142. vm.showList = true;
  143. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  144. $("#jqGrid").jqGrid('setGridParam', {
  145. postData: {
  146. 'name': vm.q.name,
  147. 'parentName': vm.q.parentName,
  148. 'type': vm.q.type
  149. },
  150. page: page
  151. }).trigger("reloadGrid");
  152. vm.handleReset('formValidate');
  153. },
  154. handleSubmit: function (name) {
  155. handleSubmitValidate(this, name, function () {
  156. vm.saveOrUpdate()
  157. });
  158. },
  159. handleReset: function (name) {
  160. handleResetForm(this, name);
  161. }
  162. }
  163. });