Index.cshtml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  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: "../../BaseManage/User/GetPageListJson",
  27. datatype: "json",
  28. height: $(window).height() - 136.5,
  29. autowidth: true,
  30. colModel: [
  31. { label: '主键', name: 'UserId', hidden: true },
  32. { label: '账户', name: 'Account', index: 'Account', width: 100, align: 'left' },
  33. { label: '姓名', name: 'RealName', index: 'RealName', width: 100, align: 'left' },
  34. {
  35. label: '性别', name: 'Gender', index: 'Gender', width: 45, align: 'center',
  36. formatter: function (cellvalue, options, rowObject) {
  37. return cellvalue == 1 ? "男" : "女";
  38. }
  39. },
  40. { label: '手机', name: 'Mobile', index: 'Mobile', width: 100, align: 'center' },
  41. {
  42. label: '公司', name: 'OrganizeId', index: 'OrganizeId', width: 200, align: 'left',
  43. formatter: function (cellvalue, options, rowObject) {
  44. return top.clientorganizeData[cellvalue] == null ? "" : top.clientorganizeData[cellvalue].FullName;
  45. }
  46. },
  47. {
  48. label: '部门', name: 'DepartmentId', index: 'DepartmentId', width: 100, align: 'left',
  49. formatter: function (cellvalue, options, rowObject) {
  50. return top.clientdepartmentData[cellvalue] == null ? "" : top.clientdepartmentData[cellvalue].FullName;
  51. }
  52. },
  53. { label: '岗位', name: 'DutyName', index: 'DutyName', width: 100, align: 'left' },
  54. { label: '职位', name: 'PostName', index: 'PostName', width: 100, align: 'left' },
  55. {
  56. label: '角色', name: 'RoleId', index: 'RoleId', width: 100, align: 'left',
  57. formatter: function (cellvalue, options, rowObject) {
  58. return top.clientroleData[cellvalue] == null ? "" : top.clientroleData[cellvalue].FullName;
  59. }
  60. },
  61. { label: '主管', name: 'Manager', index: 'Manager', width: 100, align: 'left' },
  62. {
  63. label: "状态", name: "EnabledMark", index: "EnabledMark", width: 50, align: "center",
  64. formatter: function (cellvalue, options, rowObject) {
  65. if (cellvalue == 1) {
  66. return '<span onclick=\"btn_disabled(\'' + rowObject.UserId + '\')\" class=\"label label-success\" style=\"cursor: pointer;\">正常</span>';
  67. } else if (cellvalue == 0) {
  68. return '<span onclick=\"btn_enabled(\'' + rowObject.UserId + '\')\" class=\"label label-default\" style=\"cursor: pointer;\">禁用</span>';
  69. }
  70. }
  71. },
  72. { label: "备注", name: "Description", index: "Description", width: 200, align: "left" }
  73. ],
  74. viewrecords: true,
  75. rowNum: 30,
  76. rowList: [30, 50, 100],
  77. pager: "#gridPager",
  78. sortname: 'OrganizeId asc,CreateDate desc',
  79. rownumbers: true,
  80. shrinkToFit: false,
  81. gridview: true,
  82. onSelectRow: function () {
  83. selectedRowIndex = $("#" + this.id).getGridParam('selrow');
  84. },
  85. gridComplete: function () {
  86. $("#" + this.id).setSelection(selectedRowIndex, false);
  87. }
  88. });
  89. $gridTable.authorizeColModel();
  90. //查询条件
  91. $("#queryCondition .dropdown-menu li").click(function () {
  92. var text = $(this).find('a').html();
  93. var value = $(this).find('a').attr('data-value');
  94. $("#queryCondition .dropdown-text").html(text).attr('data-value', value)
  95. });
  96. //查询事件
  97. $("#btn_Search").click(function () {
  98. var queryJson = {
  99. condition: $("#queryCondition").find('.dropdown-text').attr('data-value'),
  100. keyword: $("#txt_Keyword").val()
  101. }
  102. $gridTable.jqGrid('setGridParam', {
  103. postData: { queryJson: JSON.stringify(queryJson) }, page: 1
  104. }).trigger('reloadGrid');
  105. });
  106. //查询回车
  107. $('#txt_Keyword').bind('keypress', function (event) {
  108. if (event.keyCode == "13") {
  109. $('#btn_Search').trigger("click");
  110. }
  111. });
  112. }
  113. //新增
  114. function btn_add() {
  115. dialogOpen({
  116. id: "Form",
  117. title: '添加用户',
  118. url: '/BaseManage/User/Form',
  119. width: "750px",
  120. height: "550px",
  121. callBack: function (iframeId) {
  122. top.frames[iframeId].AcceptClick();
  123. }
  124. });
  125. };
  126. //编辑
  127. function btn_edit() {
  128. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  129. if (checkedRow(keyValue)) {
  130. dialogOpen({
  131. id: "Form",
  132. title: '修改用户',
  133. url: '/BaseManage/User/Form?keyValue=' + keyValue,
  134. width: "750px",
  135. height: "550px",
  136. callBack: function (iframeId) {
  137. top.frames[iframeId].AcceptClick();
  138. }
  139. });
  140. }
  141. }
  142. //删除
  143. function btn_delete() {
  144. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  145. if (keyValue) {
  146. $.RemoveForm({
  147. url: "../../BaseManage/User/RemoveForm",
  148. param: { keyValue: keyValue },
  149. success: function (data) {
  150. $("#gridTable").trigger("reloadGrid");
  151. }
  152. })
  153. } else {
  154. dialogMsg('请选择需要删除的用户!', 0);
  155. }
  156. }
  157. //重置密码
  158. function btn_revisepassword() {
  159. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  160. var Account = $("#gridTable").jqGridRowValue("Account");
  161. var RealName = $("#gridTable").jqGridRowValue("RealName");
  162. if (checkedRow(keyValue)) {
  163. dialogOpen({
  164. id: "RevisePassword",
  165. title: '重置密码',
  166. url: '/BaseManage/User/RevisePassword?keyValue=' + keyValue + "&Account=" + escape(Account) + '&RealName=' + escape(RealName),
  167. width: "500px",
  168. height: "260px",
  169. callBack: function (iframeId) {
  170. top.frames[iframeId].AcceptClick();
  171. }
  172. });
  173. }
  174. }
  175. //导出
  176. function btn_export() {
  177. location.href = "../../BaseManage/User/ExportUserList";
  178. }
  179. //禁用
  180. function btn_disabled(keyValue) {
  181. if (keyValue == undefined) {
  182. keyValue = $("#gridTable").jqGridRowValue("UserId");
  183. }
  184. if (checkedRow(keyValue)) {
  185. $.ConfirmAjax({
  186. msg: "注:您确定要【禁用】账户?",
  187. url: "../../BaseManage/User/DisabledAccount",
  188. param: { keyValue: keyValue },
  189. success: function (data) {
  190. $("#gridTable").trigger("reloadGrid");
  191. }
  192. })
  193. }
  194. }
  195. //启用
  196. function btn_enabled(keyValue) {
  197. if (keyValue == undefined) {
  198. keyValue = $("#gridTable").jqGridRowValue("UserId");
  199. }
  200. if (checkedRow(keyValue)) {
  201. $.ConfirmAjax({
  202. msg: "注:您确定要【启用】账户?",
  203. url: "../../BaseManage/User/EnabledAccount",
  204. param: { keyValue: keyValue },
  205. success: function (data) {
  206. $("#gridTable").trigger("reloadGrid");
  207. }
  208. })
  209. }
  210. }
  211. //用户授权
  212. function btn_authorize() {
  213. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  214. var RealName = $("#gridTable").jqGridRowValue("RealName");
  215. if (checkedRow(keyValue)) {
  216. dialogOpen({
  217. id: "AllotAuthorize",
  218. title: '用户授权 - ' + RealName,
  219. url: '/AuthorizeManage/PermissionUser/AllotAuthorize?userId=' + keyValue,
  220. width: "700px",
  221. height: "690px",
  222. btn: null
  223. });
  224. }
  225. }
  226. //IP过滤
  227. function btn_ipfilter() {
  228. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  229. var FullName = $("#gridTable").jqGridRowValue("RealName");
  230. if (checkedRow(keyValue)) {
  231. dialogOpen({
  232. id: "FilterIP",
  233. title: 'TCP/IP 地址访问限制 - ' + FullName,
  234. url: '/AuthorizeManage/FilterIP/Index?objectId=' + keyValue + '&objectType=Uesr',
  235. width: "600px",
  236. height: "400px",
  237. btn: null
  238. });
  239. }
  240. }
  241. //时段过滤
  242. function btn_timefilter() {
  243. var keyValue = $("#gridTable").jqGridRowValue("UserId");
  244. var FullName = $("#gridTable").jqGridRowValue("RealName");
  245. if (checkedRow(keyValue)) {
  246. dialogOpen({
  247. id: "FilterTime",
  248. title: '时段访问过滤 - ' + FullName,
  249. url: '/AuthorizeManage/FilterTime/Index?objectId=' + keyValue + '&objectType=Uesr',
  250. width: "640px",
  251. height: "480px",
  252. callBack: function (iframeId) {
  253. top.frames[iframeId].AcceptClick();
  254. }
  255. });
  256. }
  257. }
  258. </script>
  259. <div class="titlePanel">
  260. <div class="title-search">
  261. <table>
  262. <tr>
  263. <td>
  264. <div id="queryCondition" class="btn-group">
  265. <a class="btn btn-default dropdown-text" data-toggle="dropdown">选择条件</a>
  266. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  267. <ul class="dropdown-menu">
  268. <li><a data-value="Account">账户</a></li>
  269. <li><a data-value="RealName">姓名</a></li>
  270. <li><a data-value="Mobile">手机</a></li>
  271. </ul>
  272. </div>
  273. </td>
  274. <td style="padding-left: 2px;">
  275. <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" />
  276. </td>
  277. <td style="padding-left: 5px;">
  278. <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i>&nbsp;查询</a>
  279. </td>
  280. </tr>
  281. </table>
  282. </div>
  283. <div class="toolbar">
  284. <div class="btn-group">
  285. <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  286. <a id="lr-add" class="btn btn-default" onclick="btn_add()"><i class="fa fa-plus"></i>&nbsp;新增</a>
  287. <a id="lr-edit" class="btn btn-default" onclick="btn_edit()"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
  288. <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
  289. <a id="lr-revisepassword" class="btn btn-default" onclick="btn_revisepassword()"><i class="fa fa-key"></i>&nbsp;重置密码</a>
  290. <a id="lr-more" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  291. <i class="fa fa-reorder"></i>&nbsp;更多<span class="caret"></span>
  292. </a>
  293. <ul class="dropdown-menu pull-right">
  294. <li id="lr-export"><a onclick="btn_export()"><i></i>&nbsp;导出Excel</a></li>
  295. <li id="lr-disabled"><a onclick="btn_disabled()"><i></i>&nbsp;禁用账户</a></li>
  296. <li id="lr-enabled"><a onclick="btn_enabled()"><i></i>&nbsp;启用账户</a></li>
  297. </ul>
  298. </div>
  299. <div class="btn-group">
  300. <a id="lr-authorize" class="btn btn-default" onclick="btn_authorize()"><i class="fa fa-gavel"></i>&nbsp;用户权限</a>
  301. <a id="lr-appfilter" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
  302. <i class="fa fa-filter"></i>&nbsp;访问过滤<span class="caret"></span>
  303. </a>
  304. <ul class="dropdown-menu pull-right">
  305. <li id="lr-ipfilter"><a onclick="btn_ipfilter()"><i></i>&nbsp;IP过滤</a></li>
  306. <li id="lr-timefilter"><a onclick="btn_timefilter()"><i></i>&nbsp;时段过滤</a></li>
  307. </ul>
  308. </div>
  309. <script>$('.toolbar').authorizeButton()</script>
  310. </div>
  311. </div>
  312. <div class="gridPanel">
  313. <table id="gridTable"></table>
  314. <div id="gridPager"></div>
  315. </div>