cart.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. $(function () {
  2. let userId = getQueryString("userId");
  3. let url = '../cart/list';
  4. if (userId) {
  5. url += '?userId=' + userId;
  6. }
  7. $("#jqGrid").jqGrid({
  8. url: url,
  9. datatype: "json",
  10. colModel: [
  11. {label: 'id', name: 'id', index: 'id', key: true, hidden: true},
  12. {label: '会员名', name: 'userName', index: 'user_name', width: 180},
  13. // {label: 'sessionId', name: 'sessionId', index: 'session_id', width: 80 },
  14. {label: '商品', name: 'goodsName', index: 'goods_name', width: 400},
  15. {label: '商品序列号', name: 'goodsSn', index: 'goods_sn', width: 120},
  16. // {label: '产品Id', name: 'productId', index: 'product_id', width: 80 },
  17. {label: '规格名称', name: 'goodsName', index: 'goods_name', width: 400},
  18. {label: '市场价', name: 'marketPrice', index: 'market_price', align:'right',width: 100},
  19. {label: '零售价格', name: 'retailPrice', index: 'retail_price',align:'right', width: 100},
  20. {label: '数量', name: 'number', index: 'number',align:'right', width: 100},
  21. {label: '规格属性', name: 'goodsSpecificationNameValue', index: 'goods_specification_name_value', width: 120}
  22. // {label: 'product表对应的goods_specifition_ids', name: 'goodsSpecificationIds', index: 'goods_specification_ids', width: 80 },
  23. // {label: '', name: 'checked', index: 'checked', width: 80 },
  24. // {label: '商品图片', name: 'listPicUrl', index: 'list_pic_url', width: 80 }
  25. ],
  26. viewrecords: true,
  27. height: 550,
  28. rowNum: 10,
  29. rowList: [10, 30, 50],
  30. rownumbers: true,
  31. rownumWidth: 25,
  32. autowidth: true,
  33. shrinkToFit: false,
  34. autoScroll: true, //开启水平滚动条
  35. width: 1500,
  36. multiselect: true,
  37. pager: "#jqGridPager",
  38. jsonReader: {
  39. root: "page.list",
  40. page: "page.currPage",
  41. total: "page.totalPage",
  42. records: "page.totalCount"
  43. },
  44. prmNames: {
  45. page: "page",
  46. rows: "limit",
  47. order: "order"
  48. },
  49. beforeSelectRow: function(rowid, e){
  50. jQuery("#jqGrid").jqGrid('resetSelection');
  51. return(true);
  52. },
  53. gridComplete: function () {
  54. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "scroll"});
  55. }
  56. });
  57. var myGrid = $("#jqGrid");
  58. $("#cb_"+myGrid[0].id).hide();
  59. });
  60. var vm = new Vue({
  61. el: '#rrapp',
  62. data: {
  63. showList: true,
  64. title: null,
  65. cart: {},
  66. q: {
  67. userName: ''
  68. }
  69. },
  70. methods: {
  71. query: function () {
  72. vm.reload();
  73. },
  74. add: function () {
  75. vm.showList = false;
  76. vm.title = "新增";
  77. vm.cart = {};
  78. },
  79. update: function (event) {
  80. var id = getSelectedRow();
  81. if (id == null) {
  82. return;
  83. }
  84. vm.showList = false;
  85. vm.title = "修改";
  86. vm.getInfo(id)
  87. },
  88. saveOrUpdate: function (event) {
  89. var url = vm.cart.id == null ? "../cart/save" : "../cart/update";
  90. $.ajax({
  91. type: "POST",
  92. url: url,
  93. contentType: "application/json",
  94. data: JSON.stringify(vm.cart),
  95. success: function (r) {
  96. if (r.code === 0) {
  97. alert('操作成功', function (index) {
  98. vm.reload();
  99. });
  100. } else {
  101. alert(r.msg);
  102. }
  103. }
  104. });
  105. },
  106. del: function (event) {
  107. var ids = getSelectedRows();
  108. if (ids == null) {
  109. return;
  110. }
  111. confirm('确定要删除选中的记录?', function () {
  112. $.ajax({
  113. type: "POST",
  114. url: "../cart/delete",
  115. contentType: "application/json",
  116. data: JSON.stringify(ids),
  117. success: function (r) {
  118. if (r.code == 0) {
  119. alert('操作成功', function (index) {
  120. $("#jqGrid").trigger("reloadGrid");
  121. });
  122. } else {
  123. alert(r.msg);
  124. }
  125. }
  126. });
  127. });
  128. },
  129. getInfo: function (id) {
  130. $.get("../cart/info/" + id, function (r) {
  131. vm.cart = r.cart;
  132. });
  133. },
  134. reload: function (event) {
  135. vm.showList = true;
  136. var page = $("#jqGrid").jqGrid('getGridParam', 'page');
  137. $("#jqGrid").jqGrid('setGridParam', {
  138. postData: {'userName': vm.q.userName},
  139. page: page
  140. }).trigger("reloadGrid");
  141. }
  142. }
  143. });