1
0

mkcentermenu.js 11 KB

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