region.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. $(function () {
  2. $("#jqGrid").Grid({
  3. url: '../sys/region/list',
  4. rownumWidth:60,
  5. colModel: [
  6. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  7. {label: '上级区域', name: 'parentName', index: 'parent_id', width: 180},
  8. {label: '区域', name: 'name', index: 'name', width: 80},
  9. {
  10. label: '类型', name: 'type', index: 'type', width: 80,
  11. formatter: function (value) {
  12. if (value === '0' || value === 0) {
  13. return '国家';
  14. }
  15. if (value == '1') {
  16. return '省份';
  17. }
  18. if (value == '2') {
  19. return '地市';
  20. }
  21. if (value == '3') {
  22. return '区县';
  23. }
  24. if (value == '4') {
  25. return '街道';
  26. }
  27. }
  28. }]
  29. });
  30. });
  31. var vm = new Vue({
  32. el: '#rrapp',
  33. data: {
  34. showList: true,
  35. title: null,
  36. region: {type: '1'},
  37. ruleValidate: {
  38. name: [
  39. {required: true, message: '区域名称不能为空', trigger: 'blur'}
  40. ]
  41. },
  42. q: {
  43. parentName: '',
  44. name: '',
  45. type: ''
  46. },
  47. regionList: []
  48. },
  49. methods: {
  50. query: function () {
  51. vm.reload();
  52. },
  53. add: function () {
  54. vm.showList = false;
  55. vm.title = "新增";
  56. vm.region = {type: '1'};
  57. vm.changeType(1);
  58. },
  59. update: function (event) {
  60. var id = getSelectedRow("#jqGrid");
  61. if (id == null) {
  62. return;
  63. }
  64. vm.showList = false;
  65. vm.title = "修改";
  66. vm.getInfo(id)
  67. },
  68. saveOrUpdate: function (event) {
  69. var url = vm.region.id == null ? "../sys/region/save" : "../sys/region/update";
  70. Ajax.request({
  71. type: 'POST',
  72. url: url,
  73. params: JSON.stringify(vm.region),
  74. contentType: "application/json",
  75. successCallback: function () {
  76. alert('操作成功', function (index) {
  77. vm.reload();
  78. });
  79. }
  80. });
  81. },
  82. del: function (event) {
  83. var ids = getSelectedRows("#jqGrid");
  84. if (ids == null) {
  85. return;
  86. }
  87. confirm('确定要删除选中的记录?', function () {
  88. Ajax.request({
  89. url: "../sys/region/delete",
  90. params: JSON.stringify(ids),
  91. contentType: "application/json",
  92. type: 'POST',
  93. successCallback: function () {
  94. alert('操作成功', function (index) {
  95. vm.reload();
  96. });
  97. }
  98. });
  99. });
  100. },
  101. getInfo: function (id) {
  102. Ajax.request({
  103. url: "../sys/region/info/" + id,
  104. async: true,
  105. successCallback: function (r) {
  106. vm.region = r.region;
  107. vm.changeType(vm.region.type);
  108. }
  109. });
  110. },
  111. changeType: function (type) {
  112. Ajax.request({
  113. url: "../sys/region/getAreaByType?type=" + type,
  114. async: true,
  115. successCallback: function (r) {
  116. vm.regionList = r.list;
  117. }
  118. });
  119. },
  120. reload: function (event) {
  121. vm.showList = true;
  122. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  123. $("#jqGrid").jqGrid('setGridParam', {
  124. postData: {
  125. 'name': vm.q.name,
  126. 'parentName': vm.q.parentName,
  127. 'type': vm.q.type
  128. },
  129. page: page
  130. }).trigger("reloadGrid");
  131. vm.handleReset('formValidate');
  132. },
  133. handleSubmit: function (name) {
  134. handleSubmitValidate(this, name, function () {
  135. vm.saveOrUpdate()
  136. });
  137. },
  138. handleReset: function (name) {
  139. handleResetForm(this, name);
  140. }
  141. }
  142. });