menuManage.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419
  1. var menuInfoList = undefined;
  2. var menuInfoList = undefined;
  3. var menuInfo = undefined;
  4. $(function(){
  5. $('.office-box-list').height(250).jScrollPane({"autoReinitialise": true,"overflow":true});
  6. $('.office-btns').on('click',function(){
  7. //设置对话框中的值
  8. $("#txtMenuID").val("");
  9. $("#txtMenuUUID").val("");
  10. $("#txtMenuID").removeAttr('readOnly');
  11. $("#txtFatherMenuID").val("");
  12. $("#txtMenuName").val("");
  13. $("#txtMenuUrl").val("");
  14. $("#txtMenuSort").val("");
  15. $("#txtMenuKey").val("");
  16. //加载菜单选项
  17. var contents=$('.office-box').get(0);
  18. var artBox=art.dialog({
  19. lock: true,
  20. artIcon:'add',
  21. opacity:0.4,
  22. width: 550,
  23. padding:'0px 0px',
  24. title:'新增菜单',
  25. content: contents,
  26. ok: function () {
  27. var menuID = $("#txtMenuID").val();
  28. var pMenuID = $("#txtFatherMenuID").val();
  29. var menuName = $("#txtMenuName").val();
  30. var menuUrl = $("#txtMenuUrl").val();
  31. var menuSort = $("#txtMenuSort").val();
  32. var menuKey = $("#txtMenuKey").val();
  33. if(!menuID){
  34. Commonjs.alert('菜单ID不能为空');
  35. document.getElementById("txtMenuID").focus();
  36. return false;
  37. }
  38. if(!pMenuID){
  39. Commonjs.alert('父菜单ID不能为空');
  40. document.getElementById("txtFatherMenuID").focus();
  41. return false;
  42. }
  43. if(!menuName){
  44. Commonjs.alert('菜单名称不能为空');
  45. document.getElementById("txtMenuName").focus();
  46. return false;
  47. }
  48. if(!menuKey){
  49. Commonjs.alert('菜单名称不能为空');
  50. document.getElementById("txtMenuKey").focus();
  51. return false;
  52. }
  53. //保存菜单
  54. var menuID = saveOrUpdateMenu(menuID,pMenuID,menuName,menuUrl,menuSort,menuKey,null);
  55. loadTb(1);
  56. },
  57. cancel: true
  58. });
  59. return false;
  60. })
  61. loadTb(1);
  62. })
  63. function loadTb(index){
  64. var Service = {};
  65. $('#pagenumber').val(index);
  66. var pageIndex = index-1;
  67. var pageSize = 10;
  68. var page = {};
  69. Service.HosId = Commonjs.hospitalId;
  70. page.PIndex = pageIndex;
  71. page.PSize = pageSize;
  72. var code = 2005;
  73. var param = {};
  74. var params = Commonjs.getParams(code,Service,page);//获取参数
  75. param.Api = "QueryAllMenuByPage";
  76. param.Params = Commonjs.jsonToString(params);
  77. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  78. if(d.RespCode=10000){
  79. if(d.Page.PCount!=undefined){
  80. if(d.Page.PCount!=0){
  81. $("#totalcount").val(d.Page.PCount);
  82. }else{
  83. if(d.Page.PIndex==0)$("#totalcount").val(0);
  84. }
  85. }else{
  86. $("#totalcount").val(0);
  87. }
  88. Page($("#totalcount").val(),d.Page.PSize,'pager');
  89. menuInfoList = d.Data;
  90. var str = "<tr><th>菜单ID</th><th>菜单名称</th><th>链接地址</th><th>父菜单ID</th><th>排序</th><th class=\"w160p last\">操作</th></tr>";
  91. if(!menuInfoList.length){
  92. str += "<tr>";
  93. str +="<td>"+menuInfoList.MenuId+"</td>";
  94. str +="<td>"+menuInfoList.MenuName+"</td>";
  95. str +="<td>"+menuInfoList.Value+"</td>";
  96. str +="<td>"+menuInfoList.PMenuId+"</td>";
  97. str +="<td>"+menuInfoList.Sort+"</td>";
  98. str +="<td><ul class=\"i-btn-list\"><li><a href=\"javascript:updateMenuInfo('"+menuInfoList.MenuUUID+"');\" class=\"i-btn\"><i class=\"i-edit\"></i>编辑</a></li><li><a href=\"javascript:deleteMenu('"+menuInfoList.MenuUUID+"');\" class=\"i-btn\"><i class=\"i-del\"></i>删除</a></li></ul></td>";
  99. str +="</tr>";
  100. }else{
  101. for(var i=0;i<menuInfoList.length;i++){
  102. var obj = menuInfoList[i];
  103. str += "<tr>";
  104. str +="<td>"+obj.MenuId+"</td>";
  105. str +="<td>"+obj.MenuName+"</td>";
  106. str +="<td>"+obj.Value+"</td>";
  107. str +="<td>"+obj.PMenuId+"</td>";
  108. str +="<td>"+obj.Sort+"</td>";
  109. str +="<td><ul class=\"i-btn-list\"><li><a href=\"javascript:updateMenuInfo('"+obj.MenuUUID+"');\" class=\"i-btn\"><i class=\"i-edit\"></i>编辑</a></li><li><a href=\"javascript:deleteMenu('"+obj.MenuUUID+"');\" class=\"i-btn\"><i class=\"i-del\"></i>删除</a></li></ul></td>";
  110. str +="</tr>";
  111. }
  112. }
  113. $("#tb").html(str);
  114. }else{
  115. //异常提示
  116. Page(0,pageSize,'pager');
  117. Commonjs.alert(d.RespMessage);
  118. }
  119. }
  120. function updateMenuInfo(menuUUID){
  121. var d = undefined;
  122. if(!menuInfoList.length){
  123. d = menuInfoList;
  124. }else{
  125. for(var i=0;i<menuInfoList.length;i++){
  126. var obj = menuInfoList[i];
  127. var mId = obj.MenuUUID;
  128. if(mId==menuUUID){
  129. d = obj;
  130. break;
  131. }
  132. }
  133. }
  134. //设置对话框中的值
  135. $("#txtMenuID").val(d.MenuId);
  136. $("#txtMenuID").attr('readOnly','true');
  137. $("#txtFatherMenuID").val(d.PMenuId);
  138. $("#txtMenuName").val(d.MenuName);
  139. $("#txtMenuKey").val(d.Key);
  140. $("#txtMenuUrl").val(d.Value);
  141. $("#txtMenuSort").val(d.Sort);
  142. $("#txtMenuUUID").val(d.MenuUUID);
  143. var contents=$('.office-box').get(0);
  144. var artBox=art.dialog({
  145. lock: true,
  146. artIcon:'add',
  147. opacity:0.4,
  148. width: 600,
  149. padding:'0px 0px',
  150. title:'修改菜单',
  151. content: contents,
  152. ok: function () {
  153. var menuID = $("#txtMenuID").val();
  154. var pMenuID = $("#txtFatherMenuID").val();
  155. var menuName = $("#txtMenuName").val();
  156. var menuUrl = $("#txtMenuUrl").val();
  157. var menuSort = $("#txtMenuSort").val();
  158. var menuKey = $("#txtMenuKey").val();
  159. var menuUUID = $("#txtMenuUUID").val();
  160. if(!menuID){
  161. Commonjs.alert('菜单ID不能为空');
  162. document.getElementById("txtMenuID").focus();
  163. return false;
  164. }
  165. if(!pMenuID){
  166. Commonjs.alert('父菜单ID不能为空');
  167. document.getElementById("txtFatherMenuID").focus();
  168. return false;
  169. }
  170. if(!menuName){
  171. Commonjs.alert('菜单名称不能为空');
  172. document.getElementById("txtMenuName").focus();
  173. return false;
  174. }
  175. if(!menuKey){
  176. Commonjs.alert('菜单名称不能为空');
  177. document.getElementById("txtMenuKey").focus();
  178. return false;
  179. }
  180. //保存菜单
  181. var menuID = saveOrUpdateMenu(menuID,pMenuID,menuName,menuUrl,menuSort,menuKey,menuUUID);
  182. loadTb(1);
  183. },
  184. cancel: true
  185. });
  186. $('.select-office-box').hide();
  187. }
  188. function saveOrUpdateMenu(menuID,pMenuID,menuName,menuUrl,menuSort,menuKey,menuUUID){
  189. var Service = {};
  190. var page = {};
  191. var code = 2005;
  192. Service.MenuID = menuID;
  193. Service.PMenuID = pMenuID;
  194. Service.MenuName = menuName;
  195. Service.MenuUrl = menuUrl.replace(new RegExp(/(&)/g),'&amp;');
  196. Service.MenuSort= menuSort;
  197. Service.MenuKey= menuKey;
  198. if( menuUUID!= null && menuUUID!=undefined ){
  199. Service.MenuUUID = menuUUID;
  200. }
  201. Service.HosId = Commonjs.hospitalId;
  202. var param = {};
  203. var params = Commonjs.getParams(code,Service);//获取参数
  204. param.Api = "SaveOrUpdateMenu";
  205. param.Params = Commonjs.jsonToString(params);
  206. //调用API
  207. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  208. if(d.RespCode!=10000){
  209. //异常提示
  210. Commonjs.alert(d.RespMessage);
  211. }
  212. return d.MenuId;
  213. }
  214. function queryAllMenu(){
  215. var Service = {};
  216. var page = {};
  217. var code = 2005;
  218. var param = {};
  219. Service.HosId = Commonjs.hospitalId;
  220. var params = Commonjs.getParams(code,Service);//获取参数
  221. param.Api = "QueryAllMenu";
  222. param.Params = Commonjs.jsonToString(params);
  223. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  224. if(d.RespCode==10000){
  225. menuInfoList = d.Data;
  226. }
  227. }
  228. function getMenuTbHtml(){
  229. queryAllMenu();
  230. var str = "";
  231. if(!menuInfoList.length){
  232. str +="<tr>";
  233. str +="<td class=\"w\">"+menuInfoList.MenuName+"</td>";
  234. str +="<td>";
  235. str +="<input type=\"checkbox\" value=\"1\" name=\""+menuInfoList.Key+"\" /><label for=\"action\" >编辑</label>";
  236. //str +="<input type=\"checkbox\" value=\"2\" name=\""+menuInfoList.Key+"\" /><label for=\"action\" >查看</label>";
  237. str +="</td>"
  238. str +="</tr>";
  239. }else{
  240. for(var i=0;i<menuInfoList.length;i++){
  241. var obj = menuInfoList[i];
  242. str +="<tr>";
  243. str +="<td class=\"w\">"+obj.MenuName+"</td>";
  244. str +="<td>";
  245. str +="<input type=\"checkbox\" value=\"1\" name=\""+obj.Key+"\"/><label for=\"action\" class=\"\">编辑</label>";
  246. //str +="<input type=\"checkbox\" value=\"2\" name=\""+obj.Key+"\"/><label for=\"action\" class=\"\">查看</label>";
  247. str +="</td>"
  248. str +="</tr>";
  249. }
  250. }
  251. return str;
  252. }
  253. function saveRoleMenu(menuId,roleId,state){
  254. if(state<=0) return;
  255. var Service = {};
  256. var page = {};
  257. var code = 2005;
  258. Service.MenuId = menuId;
  259. Service.RoleId = roleId;
  260. Service.State = state;
  261. var param = {};
  262. var params = Commonjs.getParams(code,Service);//获取参数
  263. param.Api = "SaveRoleMenu";
  264. param.Params = Commonjs.jsonToString(params);
  265. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  266. if(d.RespCode!=10000){
  267. //异常提示
  268. Commonjs.alert(d.RespMessage);
  269. }
  270. }
  271. function getMenuIdByKey(key){
  272. if(!menuInfoList.length){
  273. if(key==menuInfoList.Key){
  274. return menuInfoList.MenuId;
  275. }
  276. }else{
  277. for(var i=0;i<menuInfoList.length;i++){
  278. var obj = menuInfoList[i];
  279. if(key==obj.Key){
  280. return obj.MenuId;
  281. }
  282. }
  283. }
  284. }
  285. function queryMenuByRoleId(roleId){
  286. var Service = {};
  287. var page = {};
  288. var code = 2005;
  289. Service.RoleId = roleId;
  290. var param = {};
  291. var params = Commonjs.getParams(code,Service);//获取参数
  292. param.Api = "QueryMenuByRoleId";
  293. param.Params = Commonjs.jsonToString(params);
  294. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  295. if(d.RespCode!=10000){
  296. //异常提示
  297. Commonjs.alert(d.RespMessage);
  298. }
  299. menuInfo = d.Data;
  300. }
  301. function selectMenu(key,state){
  302. var menuList = $("input[name='"+key+"']");
  303. for(var i=0 ;i<menuList.length;i++){
  304. var menu = menuList[i];
  305. if(state==(i+1) || state==3){
  306. menu.checked=true;
  307. }
  308. }
  309. }
  310. function deleteRoleMenuByRoleId(roleId){
  311. var Service = {};
  312. var page = {};
  313. var code = 2005;
  314. Service.RoleId = roleId;
  315. var param = {};
  316. var params = Commonjs.getParams(code,Service);//获取参数
  317. param.Api = "DeleteRoleMenuByRoleId";
  318. param.Params = Commonjs.jsonToString(params);
  319. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  320. if(d.RespCode!=10000){
  321. //异常提示
  322. Commonjs.alert(d.RespMessage);
  323. }
  324. }
  325. //删除菜单
  326. function deleteMenu(menuUUID,menuId){
  327. //todo: 是否有必要判断删除的菜单是否与职务有关联
  328. art.dialog({
  329. lock: true,
  330. width: '300px',
  331. height: '100px',
  332. title:'删除确认',
  333. content: '您确定要删除?',
  334. ok : function() {
  335. var Service = {};
  336. var page = {};
  337. var code = 2005;
  338. //Service.MenuId = menuId;
  339. Service.MenuUUID = menuUUID;
  340. var param = {};
  341. var params = Commonjs.getParams(code,Service);//获取参数
  342. param.Api = "DeleteMenu";
  343. param.Params = Commonjs.jsonToString(params);
  344. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  345. if(d.RespCode!=10000){
  346. //异常提示
  347. Commonjs.alert(d.RespMessage);
  348. }
  349. Commonjs.alert("删除成功!","add");
  350. loadTb(1);
  351. },
  352. cancel : true
  353. });
  354. }
  355. function checkHasUserByRole(roleId){
  356. if(roleId==null||roleId=="") return false;
  357. var Service = {};
  358. var page = {};
  359. var code = 2005;
  360. Service.RoleId = roleId;
  361. var param = {};
  362. var params = Commonjs.getParams(code,Service);//获取参数
  363. param.Api = "CheckHasUserByRole";
  364. param.Params = Commonjs.jsonToString(params);
  365. var d = Commonjs.ajax('../account_callAccountApi.do',param,false);
  366. if(d.RespCode==10000){
  367. if(d.Data>0){
  368. Commonjs.alert('该职务下已有用户,不能删除!');
  369. return false;
  370. }else if(d.Data==0){
  371. return true;
  372. }else{
  373. return false;
  374. }
  375. }else{
  376. //异常提示
  377. Commonjs.alert(d.RespMessage);
  378. return false;
  379. }
  380. }
  381. //分页
  382. function Page(totalcounts, pagecount,pager) {
  383. $("#"+pager).pager( {
  384. totalcounts : totalcounts,
  385. pagesize : 10,
  386. pagenumber : $("#pagenumber").val(),
  387. pagecount : parseInt(totalcounts/pagecount)+(totalcounts%pagecount >0?1:0),
  388. buttonClickCallback : function(al) {
  389. $("#pagenumber").val(al);
  390. loadTb(al);
  391. }
  392. });
  393. }
  394. function myPrint(msg){
  395. art.dialog({
  396. lock : true,
  397. artIcon : 'error',
  398. opacity : 0.4,
  399. width : 250,
  400. title : '提示',
  401. time : 3,
  402. content : msg,
  403. ok : function() {
  404. }
  405. });
  406. }