mkcentermenu.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. $(function () {
  2. $("#jqGrid").jqGrid({
  3. url: '../mkcentermenu/list',
  4. datatype: "json",
  5. colModel: [
  6. {label: 'menuStoreRealId', name: 'menuStoreRealId', index: 'menuStoreRealId', key: true, hidden: true},
  7. {label: '菜单名称', name: 'menuName', index: 'menu_name', width: 80, align: 'center'},
  8. {label: '菜单描述', name: 'menuDetail', index: 'menu_detail', width: 80, align: 'center'},
  9. {label: '菜单图片链接', name: 'picUrl', index: 'pic_url', width: 80, align: 'center'},
  10. {label: '菜单跳转url', name: 'menuUrl', index: 'menu_url', width: 80, align: 'center'},
  11. {label: '所属三方商户', name: 'thirdPartyMerchName', index: 'thirdPartyMerchName', width: 80, align: 'center'},
  12. {label: '所属门店', name: 'storeName', index: 'storeName', width: 80, align: 'center'},
  13. {label: '是否有效', name: 'isValid', index: 'is_valid', width: 80, align: 'center',
  14. formatter: function (value) {
  15. if (value == '0') {
  16. return '有效';
  17. } else if (value == '1') {
  18. return '无效';
  19. }
  20. return '';
  21. }},
  22. {label: '备注', name: 'note', index: 'note', width: 60, align: 'center'},
  23. {label: '创建人编号', name: 'createrSn', index: 'creater_sn', width: 70, align: 'center'},
  24. {label: '创建时间', name: 'createTime', index: 'create_time', width: 110, align: 'center',
  25. formatter: function (value) {
  26. return transDate(value, 'yyyy-MM-dd hh:mm:ss');
  27. }},
  28. {label: '修改人编号', name: 'moderSn', index: 'moder_sn', width: 70, align: 'center'},
  29. {label: '修改时间', name: 'modTime', index: 'mod_time', width: 110, align: 'center',
  30. formatter: function (value) {
  31. return transDate(value, 'yyyy-MM-dd hh:mm:ss');
  32. }},
  33. {
  34. label: '操作', width: 160, align: 'center', sortable: false, formatter: function (value, col, row) {
  35. let htmlStr = "";
  36. htmlStr = "<button class='btn btn-outline btn-primary' " +
  37. "onclick='vm.updateMenuStoreReal(" + row.menuStoreRealId + ")'><i class='fa fa-qrcode'></i>修改门店营销菜单</button>"
  38. ;
  39. return htmlStr;
  40. }}
  41. ],
  42. viewrecords: true,
  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. //菜单树
  68. var menu_ztree;
  69. var menu_setting = {
  70. data: {
  71. simpleData: {
  72. enable: true,
  73. idKey: "centerMenuId",
  74. pIdKey: "parentId",
  75. rootPId: -1
  76. },
  77. key: {
  78. url: "nourl"
  79. }
  80. },
  81. check: {
  82. enable: true,
  83. nocheckInherit: true
  84. }
  85. };
  86. let vm = new Vue({
  87. el: '#rrapp',
  88. data: {
  89. showList: true,
  90. showViewList: false,
  91. showInfoList: true,
  92. title: null,
  93. mkCenterMenu: {},
  94. mkCenterMenuStoreReal:{},
  95. ruleValidate: {
  96. name: [
  97. {required: true, message: '名称不能为空', trigger: 'blur'}
  98. ]
  99. },
  100. q: {
  101. menuName: ''
  102. },
  103. thirdMerchantBizList: [],
  104. storeList:[]
  105. },
  106. methods: {
  107. query: function () {
  108. vm.reload();
  109. },
  110. add: function () {
  111. vm.showList = false;
  112. vm.showViewList = true;
  113. vm.showInfoList = true;
  114. vm.title = "新增";
  115. vm.mkCenterMenu = {isValid: 0};
  116. },
  117. update: function (event) {
  118. let id = getSelectedRow();
  119. if (id == null) {
  120. return;
  121. }
  122. vm.showList = false;
  123. vm.showViewList = true;
  124. vm.showInfoList = true;
  125. vm.title = "修改";
  126. vm.getThirdMerchantBizList();
  127. vm.getInfo(id)
  128. },
  129. saveOrUpdate: function (event) {
  130. let url = vm.mkCenterMenu.id == null ? "../mkcentermenu/save" : "../mkcentermenu/update";
  131. $.ajax({
  132. type: "POST",
  133. url: url,
  134. contentType: "application/json",
  135. data: JSON.stringify(vm.mkCenterMenu),
  136. success: function (r) {
  137. if (r.code === 0) {
  138. alert('操作成功', function (index) {
  139. vm.reload();
  140. });
  141. } else {
  142. alert(r.msg);
  143. }
  144. }
  145. });
  146. },
  147. addMenuStoreReal: function () {
  148. vm.showList = true;
  149. vm.showViewList = true;
  150. vm.showInfoList = false;
  151. vm.title = "新增门店营销菜单";
  152. vm.mkCenterMenuStoreReal = {isValid: 0,storeId:'',thirdMerchSn:''};
  153. vm.thirdMerchantBizList = [];
  154. vm.storeList = [];
  155. vm.getStoreList();
  156. vm.getThirdMerchantBizList();
  157. vm.getMenuTree(null);
  158. },
  159. updateMenuStoreReal: function (menuStoreRealId) {
  160. if (menuStoreRealId == null) {
  161. return;
  162. }
  163. vm.showList = true;
  164. vm.showViewList = true;
  165. vm.showInfoList = false;
  166. vm.title = "修改门店营销菜单";
  167. vm.getStoreList();
  168. vm.getThirdMerchantBizList();
  169. vm.getMenuTree(menuStoreRealId);
  170. },
  171. getCenterMenuStoreReal: function (id) {
  172. $.get("../mkcentermenustorereal/info/"+id, function (r) {
  173. vm.mkCenterMenuStoreReal = r.mkCenterMenuStoreReal;
  174. //勾选角色所拥有的菜单
  175. var menuIds = r.mkCenterMenuStoreReal.centerMenuIdList;
  176. if(menuIds.length > 0){
  177. for (var i = 0; i < menuIds.length; i++) {
  178. var node = menu_ztree.getNodeByParam("centerMenuId", menuIds[i]);
  179. menu_ztree.checkNode(node, true, false);
  180. }
  181. }
  182. });
  183. },
  184. saveOrUpdateMenuStoreReal: function (event) {
  185. //获取选择的菜单
  186. var nodes = menu_ztree.getCheckedNodes(true);
  187. var menuIdList = new Array();
  188. for (var i = 0; i < nodes.length; i++) {
  189. menuIdList.push(nodes[i].centerMenuId);
  190. }
  191. vm.mkCenterMenuStoreReal.centerMenuIdList = menuIdList;
  192. let url = vm.mkCenterMenuStoreReal.id == null ? "../mkcentermenustorereal/save" : "../mkcentermenustorereal/save";
  193. $.ajax({
  194. type: "POST",
  195. url: url,
  196. contentType: "application/json",
  197. data: JSON.stringify(vm.mkCenterMenuStoreReal),
  198. success: function (r) {
  199. if (r.code === 0) {
  200. alert('操作成功', function (index) {
  201. vm.reload();
  202. });
  203. } else {
  204. alert(r.msg);
  205. }
  206. }
  207. });
  208. },
  209. handleSubmitMenuStoreReal: function (name) {
  210. handleSubmitValidate(this, name, function () {
  211. vm.saveOrUpdateMenuStoreReal()
  212. });
  213. },
  214. handleResetMenuStoreReal: function (name) {
  215. handleResetForm(this, name);
  216. },
  217. getMenuTree: function (menuStoreRealId) {
  218. //加载菜单树
  219. $.get("../mkcentermenu/perms", function (r) {
  220. menu_ztree = $.fn.zTree.init($("#menuTree"), menu_setting, r.list);
  221. //展开所有节点
  222. menu_ztree.expandAll(true);
  223. if (menuStoreRealId != null) {
  224. vm.getCenterMenuStoreReal(menuStoreRealId);
  225. }
  226. });
  227. },
  228. del: function (event) {
  229. let ids = getSelectedRows();
  230. if (ids == null){
  231. return;
  232. }
  233. confirm('确定要删除选中的记录?', function () {
  234. $.ajax({
  235. type: "POST",
  236. url: "../mkcentermenu/delete",
  237. contentType: "application/json",
  238. data: JSON.stringify(ids),
  239. success: function (r) {
  240. if (r.code == 0) {
  241. alert('操作成功', function (index) {
  242. $("#jqGrid").trigger("reloadGrid");
  243. });
  244. } else {
  245. alert(r.msg);
  246. }
  247. }
  248. });
  249. });
  250. },
  251. delMenuStoreReal: function (event) {
  252. let ids = getSelectedRows();
  253. if (ids == null){
  254. return;
  255. }
  256. confirm('确定要删除选中的记录?', function () {
  257. $.ajax({
  258. type: "POST",
  259. url: "../mkcentermenustorereal/delete",
  260. contentType: "application/json",
  261. data: JSON.stringify(ids),
  262. success: function (r) {
  263. if (r.code == 0) {
  264. alert('操作成功', function (index) {
  265. $("#jqGrid").trigger("reloadGrid");
  266. });
  267. } else {
  268. alert(r.msg);
  269. }
  270. }
  271. });
  272. });
  273. },
  274. getThirdMerchantBizList: function() {
  275. $.get("../thirdmerchantbiz/queryAll", function (r) {
  276. vm.thirdMerchantBizList = r.list;
  277. });
  278. },
  279. getStoreList: function(thirdMerchSn){
  280. $.get("../store/queryAll?thirdMerchSn=" + thirdMerchSn, function (r) {
  281. vm.storeList = r.list;
  282. });
  283. },
  284. changeStore: function (thirdMerchSn) {
  285. vm.getStoreList(thirdMerchSn);
  286. },
  287. getInfo: function(id){
  288. $.get("../mkcentermenu/info/"+id, function (r) {
  289. vm.mkCenterMenu = r.mkCenterMenu;
  290. });
  291. },
  292. reloadSearch: function() {
  293. vm.q = {
  294. menuName: ''
  295. }
  296. vm.reload();
  297. },
  298. reload: function (event) {
  299. vm.showList = true;
  300. vm.showViewList = false;
  301. vm.showInfoList = true;
  302. let page = $("#jqGrid").jqGrid('getGridParam', 'page');
  303. $("#jqGrid").jqGrid('setGridParam', {
  304. postData: {'menuName': vm.q.menuName},
  305. page: page
  306. }).trigger("reloadGrid");
  307. vm.handleReset('formValidate');
  308. },
  309. handleSubmit: function (name) {
  310. handleSubmitValidate(this, name, function () {
  311. vm.saveOrUpdate()
  312. });
  313. },
  314. handleReset: function (name) {
  315. handleResetForm(this, name);
  316. }
  317. }
  318. });