mall2RulesDetil.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. $(function () {
  2. let flag = getQueryString("flag");
  3. if(flag != null && flag == "false"){
  4. vm.isMkactivitiesShow = false;
  5. }
  6. let mkCode = getQueryString("mkCode");
  7. if(mkCode){
  8. vm.mkCode = mkCode;
  9. }
  10. let storeId = getQueryString("storeId");
  11. console.log(storeId);
  12. if(storeId){
  13. vm.storeId = storeId;
  14. }
  15. let mkaId = getQueryString("mkaId");
  16. if(mkaId){
  17. vm.mkaId = mkaId;
  18. }
  19. $("#jqGrid").jqGrid({
  20. url: '../mall2pointsrules/detilList',
  21. datatype: "json",
  22. colModel: [
  23. {label: 'Id', name: 'id', index: 'id', key: true, hidden: true},
  24. {label: 'id', name: 'id', index: 'id', width: 30, align: 'center'},
  25. {
  26. label: '积分类型', name: 'rulesType', index: 'points_rules_type', width: 80, formatter: function (value) {
  27. if (value === '0' || value === 0) {
  28. return '门店';
  29. }
  30. if (value == '1') {
  31. return '商品类别';
  32. }
  33. if (value == '2') {
  34. return '门店商品';
  35. }
  36. }
  37. },
  38. {label: '商品/门店/类别名称', name: 'pointsRulesName', index: 'points_detil_name', width: 80, align: 'center'},
  39. {label: '对应的商品门店名称', name: 'storeName', index: 'points_store_name', width: 80, align: 'center'},
  40. {label: '备注', name: 'remark', index: 'remark', width: 80, align: 'center'},],
  41. viewrecords: true,
  42. postData: {'mkaId': vm.mkaId},
  43. height: 550,
  44. rowNum: 10,
  45. rowList: [10, 30, 50],
  46. rownumbers: true,
  47. rownumWidth: 25,
  48. autowidth: true,
  49. multiselect: true,
  50. pager: "#jqGridPager",
  51. jsonReader: {
  52. root: "page.list",
  53. page: "page.currPage",
  54. total: "page.totalPage",
  55. records: "page.totalCount"
  56. },
  57. prmNames: {
  58. page: "page",
  59. rows: "limit",
  60. order: "order"
  61. },
  62. gridComplete: function () {
  63. $("#jqGrid").closest(".ui-jqgrid-bdiv").css({"overflow-x": "hidden"});
  64. }
  65. });
  66. });
  67. let vm = new Vue({
  68. el: '#rrapp',
  69. data: {
  70. showList: true,
  71. title: null,
  72. mkActivitiesHalfPrice: {},
  73. ruleValidate: {
  74. name: [
  75. {required: true, message: '名称不能为空', trigger: 'blur'}
  76. ]
  77. },
  78. q: {
  79. name: ''
  80. },
  81. isMkactivitiesShow: true,
  82. mkCode: '',
  83. uploadData:[],
  84. storeId : '',
  85. mkaId : ''
  86. },
  87. methods: {
  88. query: function () {
  89. vm.reload();
  90. },
  91. add: function () {
  92. vm.showList = false;
  93. vm.title = "新增";
  94. vm.mkActivitiesHalfPrice = {};
  95. },
  96. update: function (event) {
  97. let mafrId = getSelectedRow();
  98. if (mafrId == null) {
  99. return;
  100. }
  101. vm.showList = false;
  102. vm.title = "修改";
  103. vm.getInfo(mafrId)
  104. },
  105. saveOrUpdate: function (event) {
  106. let url = vm.mkActivitiesHalfPrice.mafrId == null ? "../mkactivitieshalfprice/save" : "../mkactivitieshalfprice/update";
  107. //添加上层的门店编号与营销方式编号
  108. vm.mkActivitiesHalfPrice.shopSn = vm.storeId;
  109. vm.mkActivitiesHalfPrice.mkaId = vm.mkaId;
  110. $.ajax({
  111. type: "POST",
  112. url: url,
  113. contentType: "application/json",
  114. data: JSON.stringify(vm.mkActivitiesHalfPrice),
  115. success: function (r) {
  116. if (r.code === 0) {
  117. alert('操作成功', function (index) {
  118. vm.reload();
  119. });
  120. } else {
  121. alert(r.msg);
  122. }
  123. }
  124. });
  125. },
  126. del: function (event) {
  127. let mafrIds = getSelectedRows();
  128. if (mafrIds == null){
  129. return;
  130. }
  131. confirm('确定要删除选中的记录?', function () {
  132. $.ajax({
  133. type: "POST",
  134. url: "../mall2pointsrules/deleteDetil/"+vm.mkaId,
  135. contentType: "application/json",
  136. data: JSON.stringify(mafrIds),
  137. success: function (r) {
  138. if (r.code == 0) {
  139. alert('操作成功', function (index) {
  140. $("#jqGrid").trigger("reloadGrid");
  141. });
  142. } else {
  143. alert(r.msg);
  144. }
  145. }
  146. });
  147. });
  148. },
  149. getInfo: function(mafrId){
  150. $.get("../mkactivitieshalfprice/info/"+mafrId, function (r) {
  151. vm.mkActivitiesHalfPrice = r.mkActivitiesHalfPrice;
  152. });
  153. },
  154. reloadSearch: function() {
  155. vm.q = {
  156. name: ''
  157. }
  158. vm.reload();
  159. },
  160. reload: function (event) {
  161. vm.showList = true;
  162. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  163. $("#jqGrid").jqGrid('setGridParam', {
  164. postData: {'name': vm.q.name},
  165. page: page
  166. }).trigger("reloadGrid");
  167. vm.handleReset('formValidate');
  168. },
  169. handleSubmit: function (name) {
  170. handleSubmitValidate(this, name, function () {
  171. vm.saveOrUpdate()
  172. });
  173. },
  174. handleReset: function (name) {
  175. handleResetForm(this, name);
  176. },
  177. //返回积分规则设置页
  178. reloadMkactivities: function () {
  179. window.location.href = "/vip/mall2pointsrules.html";
  180. },
  181. uploadExcelSuccess: function (data) {
  182. // console.log(data);
  183. if(data.code==0){
  184. alert('导入成功', function (index) {
  185. $("#jqGrid").trigger("reloadGrid");
  186. });
  187. }else{
  188. alert(data.msg);
  189. }
  190. },
  191. uploadExcelError: function () {
  192. alert('上传出现异常,请重试!');
  193. },
  194. uploadExcelFormatError: function (file) {
  195. this.$Notice.warning({
  196. title: '文件格式不正确',
  197. desc: '文件 ' + file.name + ' 格式不正确,请上传 xls 或 xlsx 格式的文件。'
  198. });
  199. },beforeUpload(){
  200. vm.uploadData = {
  201. mkaId : vm.mkaId
  202. }
  203. let promise = new Promise((resolve) => {
  204. this.$nextTick(function () {
  205. resolve(true);
  206. });
  207. });
  208. return promise; //通过返回一个promis对象解决
  209. },
  210. }
  211. });