Index.cshtml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. @{
  2. ViewBag.Title = "角色管理";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. $(function () {
  7. InitialPage();
  8. GetGrid();
  9. });
  10. //初始化页面
  11. function InitialPage() {
  12. //resize重设(表格、树形)宽高
  13. $(window).resize(function (e) {
  14. window.setTimeout(function () {
  15. $('#gridTable').setGridWidth(($('.gridPanel').width()));
  16. $("#gridTable").setGridHeight($(window).height() - 136.5);
  17. }, 200);
  18. e.stopPropagation();
  19. });
  20. }
  21. //加载表格
  22. function GetGrid() {
  23. var selectedRowIndex = 0;
  24. var $gridTable = $('#gridTable');
  25. $gridTable.jqGrid({
  26. url: "",
  27. datatype: "json",
  28. height: $(window).height() - 136.5,
  29. autowidth: true,
  30. colModel: [
  31. { label: '主键', name: 'RoleId', hidden: true },
  32. { label: '角色编号', name: 'EnCode', index: 'EnCode', width: 100, align: 'left' },
  33. { label: '角色名称', name: 'FullName', index: 'FullName', width: 200, align: 'left' },
  34. {
  35. label: '所在公司', name: 'OrganizeId', index: 'OrganizeId', width: 250, align: 'left',
  36. formatter: function (cellvalue, options, rowObject) {
  37. return top.clientorganizeData[cellvalue] == null ? "" : top.clientorganizeData[cellvalue].FullName;
  38. }
  39. },
  40. {
  41. label: '创建时间', name: 'CreateDate', index: 'CreateDate', width: 130, align: 'center',
  42. formatter: "date", formatoptions: { srcformat: 'Y-m-d H:i', newformat: 'Y-m-d H:i' }
  43. },
  44. {
  45. label: "公共", name: "IsPublic", index: "IsPublic", width: 50, align: "center",
  46. formatter: function (cellvalue, options, rowObject) {
  47. return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
  48. }
  49. },
  50. {
  51. label: "有效", name: "EnabledMark", index: "EnabledMark", width: 50, align: "center",
  52. formatter: function (cellvalue, options, rowObject) {
  53. return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
  54. }
  55. },
  56. { label: "角色描述", name: "Description", index: "Description", width: 200, align: "left" }
  57. ],
  58. viewrecords: true,
  59. rowNum: 30,
  60. rowList: [30, 50, 100],
  61. pager: "#gridPager",
  62. sortname: 'CreateDate',
  63. sortorder: 'desc',
  64. rownumbers: true,
  65. shrinkToFit: false,
  66. gridview: true,
  67. onSelectRow: function () {
  68. selectedRowIndex = $("#" + this.id).getGridParam('selrow');
  69. },
  70. gridComplete: function () {
  71. $("#" + this.id).setSelection(selectedRowIndex, false);
  72. }
  73. });
  74. $gridTable.authorizeColModel();
  75. //查询条件
  76. $("#queryCondition .dropdown-menu li").click(function () {
  77. var text = $(this).find('a').html();
  78. var value = $(this).find('a').attr('data-value');
  79. $("#queryCondition .dropdown-text").html(text).attr('data-value', value)
  80. });
  81. //查询事件
  82. $("#btn_Search").click(function () {
  83. var queryJson = {
  84. condition: $("#queryCondition").find('.dropdown-text').attr('data-value'),
  85. keyword: $("#txt_Keyword").val()
  86. }
  87. $gridTable.jqGrid('setGridParam', {
  88. postData: { queryJson: JSON.stringify(queryJson) },
  89. page: 1
  90. }).trigger('reloadGrid');
  91. });
  92. //查询回车
  93. $('#txt_Keyword').bind('keypress', function (event) {
  94. if (event.keyCode == "13") {
  95. $('#btn_Search').trigger("click");
  96. }
  97. });
  98. }
  99. //新增
  100. function btn_add() {
  101. dialogOpen({
  102. id: "Form",
  103. title: '添加角色',
  104. url: '/BaseManage/Role/Form',
  105. width: "500px",
  106. height: "360px",
  107. callBack: function (iframeId) {
  108. top.frames[iframeId].AcceptClick();
  109. }
  110. });
  111. };
  112. //编辑
  113. function btn_edit() {
  114. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  115. if (checkedRow(keyValue)) {
  116. dialogOpen({
  117. id: "Form",
  118. title: '修改角色',
  119. url: '/BaseManage/Role/Form?keyValue=' + keyValue,
  120. width: "500px",
  121. height: "360px",
  122. callBack: function (iframeId) {
  123. top.frames[iframeId].AcceptClick();
  124. }
  125. });
  126. }
  127. }
  128. //删除
  129. function btn_delete() {
  130. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  131. if (keyValue) {
  132. $.RemoveForm({
  133. url: "../../BaseManage/Role/RemoveForm",
  134. param: { keyValue: keyValue },
  135. success: function (data) {
  136. $("#gridTable").trigger("reloadGrid");
  137. }
  138. })
  139. } else {
  140. dialogMsg('请选择需要删除的角色!', 0);
  141. }
  142. }
  143. //角色成员
  144. function btn_member() {
  145. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  146. var RoleName = $("#gridTable").jqGridRowValue("FullName");
  147. if (checkedRow(keyValue)) {
  148. dialogOpen({
  149. id: "AllotMember",
  150. title: '角色成员 - ' + RoleName,
  151. url: '/AuthorizeManage/PermissionRole/AllotMember?roleId=' + keyValue,
  152. width: "800px",
  153. height: "520px",
  154. callBack: function (iframeId) {
  155. top.frames[iframeId].AcceptClick();
  156. }
  157. });
  158. }
  159. }
  160. //角色授权
  161. function btn_authorize() {
  162. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  163. var RoleName = $("#gridTable").jqGridRowValue("FullName");
  164. if (checkedRow(keyValue)) {
  165. dialogOpen({
  166. id: "AllotAuthorize",
  167. title: '角色授权 - ' + RoleName,
  168. url: '/AuthorizeManage/PermissionRole/AllotAuthorize?roleId=' + keyValue,
  169. width: "700px",
  170. height: "690px",
  171. btn: null
  172. });
  173. }
  174. }
  175. //IP过滤
  176. function btn_ipfilter() {
  177. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  178. var FullName = $("#gridTable").jqGridRowValue("FullName");
  179. if (checkedRow(keyValue)) {
  180. dialogOpen({
  181. id: "FilterIP",
  182. title: 'TCP/IP 地址访问限制 - ' + FullName,
  183. url: '/AuthorizeManage/FilterIP/Index?objectId=' + keyValue + '&objectType=Role',
  184. width: "600px",
  185. height: "400px",
  186. btn: null
  187. });
  188. }
  189. }
  190. //时段过滤
  191. function btn_timefilter() {
  192. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  193. var FullName = $("#gridTable").jqGridRowValue("FullName");
  194. if (checkedRow(keyValue)) {
  195. dialogOpen({
  196. id: "FilterTime",
  197. title: '时段访问过滤 - ' + FullName,
  198. url: '/AuthorizeManage/FilterTime/Index?objectId=' + keyValue + '&objectType=Role',
  199. width: "640px",
  200. height: "480px",
  201. callBack: function (iframeId) {
  202. top.frames[iframeId].AcceptClick();
  203. }
  204. });
  205. }
  206. }
  207. </script>
  208. <div class="titlePanel">
  209. <div class="title-search">
  210. <table>
  211. <tr>
  212. <td>
  213. <div id="queryCondition" class="btn-group">
  214. <a class="btn btn-default dropdown-text" data-toggle="dropdown">选择条件</a>
  215. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  216. <ul class="dropdown-menu">
  217. <li><a data-value="EnCode">角色编号</a></li>
  218. <li><a data-value="FullName">角色名称</a></li>
  219. </ul>
  220. </div>
  221. </td>
  222. <td style="padding-left: 2px;">
  223. <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" />
  224. </td>
  225. <td style="padding-left: 5px;">
  226. <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i>&nbsp;查询</a>
  227. </td>
  228. </tr>
  229. </table>
  230. </div>
  231. <div class="toolbar">
  232. <div class="btn-group">
  233. <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  234. <a id="lr-add" class="btn btn-default" onclick="btn_add()"><i class="fa fa-plus"></i>&nbsp;新增</a>
  235. <a id="lr-edit" class="btn btn-default" onclick="btn_edit()"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
  236. <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
  237. </div>
  238. <div class="btn-group">
  239. <a id="lr-member" class="btn btn-default" onclick="btn_member()"><i class="fa fa fa-group"></i>&nbsp;角色成员</a>
  240. <a id="lr-authorize" class="btn btn-default" onclick="btn_authorize()"><i class="fa fa-gavel"></i>&nbsp;角色授权</a>
  241. </div>
  242. <div class="btn-group">
  243. <a id="lr-appfilter" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  244. <i class="fa fa-filter"></i>&nbsp;访问过滤<span class="caret"></span>
  245. </a>
  246. <ul class="dropdown-menu pull-right">
  247. <li id="lr-ipfilter"><a onclick="btn_ipfilter()"><i></i>&nbsp;IP过滤</a></li>
  248. <li id="lr-timefilter"><a onclick="btn_timefilter()"><i></i>&nbsp;时段过滤</a></li>
  249. </ul>
  250. </div>
  251. <script>$('.toolbar').authorizeButton()</script>
  252. </div>
  253. </div>
  254. <div class="gridPanel">
  255. <table id="gridTable"></table>
  256. <div id="gridPager"></div>
  257. </div>