groupList.jsp 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395
  1. <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
  2. <jsp:include page="../../common/include.jsp" />
  3. <% String basePath = request.getScheme()+ "://" + request.getServerName() + ":" +request.getServerPort() + request.getContextPath(); %>
  4. <script type="text/javascript">
  5. /**用户组显示区*/
  6. $(function() {
  7. $('#groupDataGrid').datagrid({
  8. rownumbers:true,
  9. fit:true,
  10. pageSize:20,
  11. pageList : [ 10, 20, 30, 40, 50 ],
  12. fitColumns:false,
  13. border:false,
  14. sortOrder:'desc',
  15. pagination:true,
  16. idField:'id',
  17. url:whzl.basePath + '/groupAction_listGroup',
  18. toolbar:'#searchtool',
  19. checkOnSelect:true,
  20. selectOnCheck:true,
  21. nowrap:true,
  22. loadFilter:function(result){
  23. if(result.success){
  24. return result.obj;
  25. }else{
  26. alert(result.message);
  27. return ;
  28. }
  29. }
  30. }
  31. );
  32. });
  33. /**查询*/
  34. function searchFun(){
  35. $("#groupDataGrid").datagrid("load", {
  36. "group.name":$("#tblQuery").find("input[id='name']").val(),
  37. "group.description":$("#tblQuery").find("input[id='description']").val()
  38. });
  39. }
  40. /*清除查询条件**/
  41. function ClearQuery() {
  42. $("#tblQuery").find("input").val("");
  43. $("#tblQuery").find("select").val("-1");
  44. }
  45. /**详细*/
  46. var detailsFormatter = function(value , row , index){
  47. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/detail.png' title='查看详情' onclick=groupDetails(" + row.id + ") style='cursor:pointer' />";
  48. };
  49. /**详细页面对话框*/
  50. var groupDetails = function(id){
  51. $("#detailGroupDialog").dialog(
  52. {
  53. buttons : [
  54. {
  55. text : '确定',
  56. iconCls : 'icon-ok',
  57. handler : function(){
  58. $("#detailGroupDialog").dialog("close");
  59. }
  60. }
  61. ],
  62. onLoad : function(){
  63. $.ajax({
  64. type: "post",//使用get方法访问后台
  65. dataType: "json",//返回json格式的数据
  66. url: "groupAction_findById",//要访问的后台地址
  67. data: "group.id="+id,//要发送的数据
  68. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  69. success: function(msg){//msg为返回的数据,在这里做数据绑定
  70. $("#id_detail").text(msg.obj.id);
  71. $("#name_detail").text(msg.obj.name);
  72. $("#description_detail").text(msg.obj.description);
  73. if(msg.obj.isChSupper == '1'){
  74. $("#isChSupper_detail").text("是");
  75. }else{
  76. $("#isChSupper_detail").text("否");
  77. }
  78. }
  79. });
  80. }
  81. }
  82. );
  83. };
  84. /**详细*/
  85. var detailsMenuFormatter = function(value , row , index){
  86. return "<img src='<%=basePath%>/images/documents.png' title='查看菜单详情' onclick=groupMenuDetails(" + row.id + ") style='cursor:pointer' />";
  87. };
  88. /**详细页面对话框*/
  89. var groupMenuDetails = function(id){
  90. $("#detailGroupMenuDialog").dialog(
  91. {
  92. buttons : [
  93. {
  94. text : '确定',
  95. iconCls : 'icon-ok',
  96. handler : function(){
  97. $("#detailGroupMenuDialog").dialog("close");
  98. }
  99. }
  100. ],
  101. onLoad : function(){
  102. $.ajax({
  103. type: "post",//使用get方法访问后台
  104. dataType: "json",//返回json格式的数据
  105. url: "groupAction_findById",//要访问的后台地址
  106. data: "group.id="+id,//要发送的数据
  107. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  108. success: function(msg){//msg为返回的数据,在这里做数据绑定
  109. $('#groupTreeMenu').tree({
  110. url:whzl.basePath+'/groupAction_byGroup?group.id=' + msg.obj.id,
  111. loadFilter: function(result){
  112. if(result.success){
  113. return result.obj;
  114. }else{
  115. $.messager.alert('提示',result.message);
  116. }
  117. }
  118. });
  119. }
  120. });
  121. }
  122. }
  123. );
  124. };
  125. /**更新*/
  126. var updateFormatter = function(value , row , index){
  127. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/update.png' title='修改' onclick=updateRow(" + row.id + ") style='cursor:pointer' />";
  128. };
  129. /**更新事件*/
  130. function updateRow(id){
  131. var updateIndex = $('#groupDataGrid').datagrid('getRowIndex', id);
  132. $('#updateGroupDialog').dialog(
  133. {
  134. buttons : [
  135. {
  136. text : '提交',
  137. iconCls : 'icon-ok',
  138. handler : function(){
  139. $('#updateGroupForm').form('submit',
  140. {
  141. url : whzl.basePath+'/groupAction_updateGroup',
  142. success : function(result){
  143. var parseResult = $.parseJSON(result);
  144. if(parseResult.success){
  145. //修改完数据,更新对应行的数据
  146. $('#groupDataGrid').datagrid('updateRow',
  147. {
  148. index : updateIndex,
  149. row : parseResult.obj
  150. }
  151. );
  152. $("#updateGroupDialog").dialog("close");
  153. }else{
  154. alert(parseResult.message);
  155. }
  156. }
  157. }
  158. );
  159. }
  160. },
  161. {
  162. text : '取消',
  163. iconCls : 'icon-cancel',
  164. handler : function(){
  165. $("#updateGroupDialog").dialog("close");
  166. }
  167. }
  168. ],
  169. onLoad : function(){
  170. $.ajax({
  171. type: "post",//使用get方法访问后台
  172. dataType: "json",//返回json格式的数据
  173. url: "groupAction_findById",//要访问的后台地址
  174. data: "group.id="+id,//要发送的数据
  175. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  176. success: function(msg){//msg为返回的数据,在这里做数据绑定
  177. $("#id_update").val(msg.obj.id);
  178. $("#name_update").val(msg.obj.name);
  179. $("#description_update").val(msg.obj.description);
  180. $("input[name='group.isChSupper'][value='"+msg.obj.isChSupper+"']").attr("checked",true);
  181. }
  182. });
  183. }
  184. }
  185. );
  186. }
  187. /**更新组对应的菜单*/
  188. var updateMenuFormatter = function(value , row , index){
  189. return "<img src='<%=basePath%>/images/documents_edit.png' title='修改' onclick=updateMenu(" + row.id + ") style='cursor:pointer' />";
  190. };
  191. /**详细页面对话框*/
  192. var updateMenu = function(id){
  193. $("#updateGroupMenuDialog").dialog(
  194. {
  195. buttons : [
  196. {
  197. text : '取消',
  198. iconCls : 'icon-cancel',
  199. handler : function(){
  200. $("#updateGroupMenuDialog").dialog("close");
  201. }
  202. },
  203. {
  204. text : '确定',
  205. iconCls : 'icon-ok',
  206. handler : function(){
  207. parent.$.messager.progress({
  208. title : '提示',
  209. text : '保存中,请稍后....'
  210. });
  211. var nodes = $('#groupUpdateTreeMenu').tree('getChecked',['checked','indeterminate']);
  212. //alert(nodes);
  213. //var nodes = $('#groupUpdateTreeMenu').tree('getCheckedExt');
  214. var s = '';
  215. for(var i=0; i<nodes.length; i++){
  216. if (s != '') s += ',';
  217. s += nodes[i].id;
  218. }
  219. $.ajax({
  220. type: "post",//使用get方法访问后台
  221. dataType: "json",//返回json格式的数据
  222. url: "groupAction_updateGroupMenu",//要访问的后台地址
  223. data: "group.id="+$("#g_id").val() + "&ids="+s,//要发送的数据
  224. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  225. success: function(msg){//msg为返回的数据,在这里做数据绑定
  226. parent.$.messager.progress('close');
  227. $("#updateGroupMenuDialog").dialog("close");
  228. //$("#updateGroupMenuDialog").dialog("reload");
  229. },
  230. error: function(msg){
  231. parent.$.messager.progress('close');
  232. }
  233. });
  234. }
  235. }
  236. ],
  237. onLoad : function(){
  238. $.ajax({
  239. type: "post",//使用get方法访问后台
  240. dataType: "json",//返回json格式的数据
  241. url: "groupAction_findById",//要访问的后台地址
  242. data: "group.id="+id,//要发送的数据
  243. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  244. success: function(msg){//msg为返回的数据,在这里做数据绑定
  245. $("#g_id").val(msg.obj.id);
  246. $("#g_name").val(msg.obj.name);
  247. $("#g_des").val(msg.obj.description);
  248. $('#groupUpdateTreeMenu').tree({
  249. url:whzl.basePath+'/groupAction_byGroupForUpdate?group.id=' + msg.obj.id,
  250. loadFilter: function(result){
  251. if(result.success){
  252. return result.obj;
  253. }else{
  254. $.messager.alert('提示',result.message);
  255. }
  256. }
  257. });
  258. }
  259. });
  260. }
  261. }
  262. );
  263. };
  264. /**删除*/
  265. var delFormatter = function(value , row , index){
  266. return "<img src='<%=basePath%>/js/easyui/themes/itemicon/delete.png' title='删除' onclick=deleteRow(" + row.id + ") style='cursor:pointer' />";
  267. };
  268. /**删除功能*/
  269. function deleteRow(id){
  270. $.messager.confirm('删除提示', '确定删除这条记录吗?', function(r){
  271. if (r){
  272. $.ajax({
  273. type: "post",//使用get方法访问后台
  274. dataType: "json",//返回json格式的数据
  275. url: "groupAction_deleteGroup",//要访问的后台地址
  276. data: "group.id="+id,//要发送的数据
  277. complete :function(){$("#load").hide();},//AJAX请求完成时隐藏loading提示
  278. success: function(msg){//msg为返回的数据,在这里做数据绑定
  279. if(msg.success){
  280. $.messager.alert('提示','删除成功!');
  281. $('#groupDataGrid').datagrid('reload');
  282. }else{
  283. $.messager.alert('提示',msg.message);
  284. }
  285. }
  286. });
  287. }
  288. });
  289. }
  290. /**增加用户组*/
  291. function groupAdd(){
  292. $('#addGroupDialog').dialog(
  293. {
  294. buttons : [
  295. {
  296. text : '提交',
  297. iconCls : 'icon-ok',
  298. handler : function(){
  299. $('#addGroupForm').form('submit',
  300. {
  301. url : whzl.basePath+'/groupAction_addGroup',
  302. success : function(result){
  303. var parseResult = $.parseJSON(result);
  304. if(parseResult.success){
  305. $("#addGroupDialog").dialog("close");
  306. $('#groupDataGrid').datagrid('reload');
  307. }else{
  308. alert(parseResult.message);
  309. }
  310. }
  311. }
  312. );
  313. }
  314. },
  315. {
  316. text : '取消',
  317. iconCls : 'icon-cancel',
  318. handler : function(){
  319. $("#addGroupDialog").dialog("close");
  320. }
  321. }
  322. ]
  323. }
  324. );
  325. }
  326. </script>
  327. <div class="easyui-layout" data-options="fit:true,border:false">
  328. <div data-options="region:'center',border:false">
  329. <div id="searchtool" data-options="region:'north' , border:false">
  330. <table id="tblQuery" style="width:100%;">
  331. <tr>
  332. <td align="right"><span>组名</span></td><td style="width: 200px;"><input id="name" name="group.name" type="text"/></td>
  333. <td align="right"><span>组描述</span></td><td style="width: 200px;"><input id="description" name="group.description" type="text"/></td>
  334. <td align="left">
  335. <a href="javascript:searchFun();" class="easyui-linkbutton" data-options="iconCls:'icon-search',plain:true">查询</a>
  336. <a href="javascript:ClearQuery();" class="easyui-linkbutton" data-options="iconCls:'icon-emptied',plain:true">清空</a>
  337. <a href="javascript:groupAdd();" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">增加</a>
  338. </td>
  339. </tr>
  340. </table>
  341. </div>
  342. <table id="groupDataGrid" class="easyui-datagrid">
  343. <thead frozen="true">
  344. <tr>
  345. <th data-options="field:'id',checkbox:true,width:30">ID</th>
  346. <th data-options="field:'name',sortable:true,width:140">组名</th>
  347. </tr>
  348. </thead>
  349. <thead>
  350. <tr>
  351. <th data-options="field:'description',sortable:true,width:160">描述</th>
  352. <th data-options="field:'details',align:'center',width:100,formatter:detailsFormatter">查看详情</th>
  353. <th data-options="field:'update',align:'center',width:40,formatter:updateFormatter">修改</th>
  354. <th data-options="field:'detailMenu',align:'center',width:100,formatter:detailsMenuFormatter,width:100">查看权限</th>
  355. <th data-options="field:'updateMenu',align:'center',width:100,formatter:updateMenuFormatter,width:100">修改权限</th>
  356. <th data-options="field:'delete',align:'center',width:40,formatter:delFormatter">删除</th>
  357. </tr>
  358. </thead>
  359. </table>
  360. </div>
  361. </div>
  362. <div id="detailGroupDialog" data-options="title:'&nbsp;用户组详细信息',iconCls:'icon-details',width:500,height:250,modal:true,href:'<%=basePath %>/groupAction_toDetail'">
  363. </div>
  364. <div id="detailGroupMenuDialog" data-options="title:'&nbsp;用户组菜单详细信息',iconCls:'icon-details',width:500,height:350,modal:true,href:'<%=basePath %>/groupAction_toDetailMenu'">
  365. </div>
  366. <div id="updateGroupMenuDialog" data-options="title:'&nbsp;用户组菜单修改',iconCls:'icon-details',width:500,height:350,modal:true,href:'<%=basePath %>/groupAction_toUpdateMenu'">
  367. </div>
  368. <div id="updateGroupDialog" data-options="title:'&nbsp;修改用户组信息',iconCls:'icon-edit',width:500,height:250,modal:true,href:'<%=basePath %>/groupAction_toUpdate'">
  369. </div>
  370. <div id="addGroupDialog" data-options="title:'&nbsp;增加用户组信息',iconCls:'icon-add',width:500,height:250,modal:true,href:'<%=basePath %>/groupAction_toAdd'">
  371. </div>
  372. <script type="text/javascript">
  373. <!--
  374. parent.$.messager.progress('close');
  375. //-->
  376. </script>