coupon.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../coupon/list?sendType=7',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  7. {label: '优惠券名称', name: 'name', index: 'name', width: 120},
  8. {label: '配送金额', name: 'typeMoney', index: 'type_money', width: 80},
  9. {label: '最小金额', name: 'minAmount', index: 'min_amount', width: 80},
  10. {label: '最大金额', name: 'maxAmount', index: 'max_amount', width: 80},
  11. ],
  12. viewrecords: true,
  13. height: 550,
  14. rowNum: 10,
  15. rowList: [10, 30, 50],
  16. rownumbers: true,
  17. rownumWidth: 25,
  18. autowidth: true,
  19. multiselect: true,
  20. pager: "#jqGridPager",
  21. jsonReader: {
  22. root: "page.list",
  23. page: "page.currPage",
  24. total: "page.totalPage",
  25. records: "page.totalCount"
  26. },
  27. prmNames: {
  28. page: "page",
  29. rows: "limit",
  30. order: "order"
  31. },
  32. gridComplete: function () {
  33. //隐藏grid底部滚动条
  34. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  35. }
  36. });
  37. });
  38. var vm = new Vue({
  39. el: '#rrapp',
  40. data: {
  41. showList: true,
  42. showCard: false,
  43. showGoods: false,
  44. title: null,
  45. coupon: {sendType: 7},
  46. ruleValidate: {
  47. name: [
  48. {required: true, message: '优惠券名称不能为空', trigger: 'blur'}
  49. ]
  50. },
  51. q: {
  52. name: ''
  53. },
  54. goods: [],
  55. goodss: [],
  56. user: [],
  57. users: [],
  58. selectData: {},
  59. sendSms: '',//是否发送短信
  60. startTimeOption: {},
  61. endTimeOption: {}
  62. },
  63. methods: {
  64. query: function () {
  65. vm.reload();
  66. },
  67. add: function () {
  68. vm.showList = false;
  69. vm.showCard = true;
  70. vm.showGoods = false;
  71. vm.title = "新增";
  72. vm.coupon = {sendType: 7};
  73. },
  74. update: function (event) {
  75. var id = getSelectedRow();
  76. if (id == null) {
  77. return;
  78. }
  79. vm.showList = false;
  80. vm.showCard = true;
  81. vm.showGoods = false;
  82. vm.title = "修改";
  83. vm.getInfo(id)
  84. },
  85. saveOrUpdate: function (event) {
  86. var url = vm.coupon.id == null ? "../coupon/save" : "../coupon/update";
  87. $.ajax({
  88. type: "POST",
  89. url: url,
  90. contentType: "application/json",
  91. data: JSON.stringify(vm.coupon),
  92. success: function (r) {
  93. if (r.code === 0) {
  94. alert('操作成功', function (index) {
  95. vm.reload();
  96. });
  97. } else {
  98. alert(r.msg);
  99. }
  100. }
  101. });
  102. },
  103. del: function (event) {
  104. var ids = getSelectedRows();
  105. if (ids == null) {
  106. return;
  107. }
  108. confirm('确定要删除选中的记录?', function () {
  109. $.ajax({
  110. type: "POST",
  111. url: "../coupon/delete",
  112. contentType: "application/json",
  113. data: JSON.stringify(ids),
  114. success: function (r) {
  115. if (r.code == 0) {
  116. alert('操作成功', function (index) {
  117. $("#jqGrid").trigger("reloadGrid");
  118. });
  119. } else {
  120. alert(r.msg);
  121. }
  122. }
  123. });
  124. });
  125. },
  126. getInfo: function (id) {
  127. $.get("../coupon/info/" + id, function (r) {
  128. vm.coupon = r.coupon;
  129. });
  130. },
  131. reload: function (event) {
  132. vm.showList = true;
  133. vm.showCard = false;
  134. vm.showGoods = false;
  135. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  136. $("#jqGrid").jqGrid('setGridParam', {
  137. postData: {'name': vm.q.name},
  138. page: page
  139. }).trigger("reloadGrid");
  140. vm.handleReset('formValidate');
  141. },
  142. handleSubmit: function (name) {
  143. handleSubmitValidate(this, name, function () {
  144. vm.saveOrUpdate()
  145. });
  146. },
  147. handleReset: function (name) {
  148. handleResetForm(this, name);
  149. },
  150. publish: function (id, sendType) {
  151. vm.showGoods = true;
  152. vm.goods = [];
  153. vm.user = [];
  154. vm.getGoodss();
  155. vm.getUsers();
  156. vm.selectData = {id: id, sendType: sendType};
  157. vm.sendSms = false;
  158. openWindow({
  159. title: "发放",
  160. area: ['600px', '350px'],
  161. content: jQuery("#sendDiv")
  162. })
  163. },
  164. getUsers: function () {
  165. $.get("../user/queryAll", function (r) {
  166. vm.users = r.list;
  167. });
  168. },
  169. publishSubmit: function () {
  170. var sendType = vm.selectData.sendType;
  171. if (sendType == 1 && vm.user.length == 0) {
  172. vm.$Message.error('请选择下发会员');
  173. return;
  174. }
  175. if (sendType == 3 && vm.goods.length == 0) {
  176. vm.$Message.error('请选择下发商品');
  177. return;
  178. }
  179. confirm('确定下发优惠券?', function () {
  180. $.ajax({
  181. type: "POST",
  182. dataType: 'json',
  183. url: "../coupon/publish",
  184. contentType: "application/json",
  185. data: JSON.stringify({
  186. sendType: vm.selectData.sendType,
  187. couponId: vm.selectData.id,
  188. goodsIds: vm.goods.toString(),
  189. userIds: vm.user.toString(),
  190. sendSms: vm.sendSms
  191. }),
  192. success: function (r) {
  193. if (r.code == 0) {
  194. alert('操作成功', function (index) {
  195. $("#jqGrid").trigger("reloadGrid");
  196. vm.showGoods = false;
  197. vm.showList = true;
  198. });
  199. } else {
  200. alert(r.msg);
  201. }
  202. }
  203. });
  204. });
  205. },
  206. getGoodss: function () {
  207. $.get("../goods/queryAll/", function (r) {
  208. vm.goodss = r.list;
  209. });
  210. },
  211. onStartTimeChange(startTime) {
  212. vm.endTimeOption = {
  213. disabledDate(endTime) {
  214. return endTime < new Date(startTime)
  215. }
  216. }
  217. },
  218. onEndTimeChange(endTime) {
  219. vm.startTimeOption = {
  220. disabledDate(startTime) {
  221. return startTime > new Date(endTime)
  222. }
  223. }
  224. }
  225. }
  226. });