Index.cshtml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. @{
  2. ViewBag.Title = "用户管理";
  3. Layout = "~/Views/Shared/_Layout.cshtml";
  4. }
  5. @using MES.Production.Service;
  6. @using Central.Control.Domain;
  7. @using MES.Production.Entity;
  8. @using Ant.Service.Common;
  9. @using Ant.Service.Common.Enums;
  10. @using CommonToolHelper;
  11. @model PageInfo
  12. <!-- table star -->
  13. <div class="row col-lg-12">
  14. <div class="wrapper wrapper-content animated fadeInUp">
  15. <div class="ibox">
  16. <div class="ibox-title">
  17. @*<h5>@{YM_School dpt = ViewBag.dpt as YM_School;
  18. if (dpt!=null){@Html.Raw("所有")}
  19. else { @dpt.Name }}用户</h5>
  20. @Html.Hidden("dptId", dpt.ID)*@
  21. <div class="ibox-tools rboor">
  22. <a class="btn btn-primary btn-xs p310" id="insert" action="Add"><i class="im-plus"></i> 创建新用户</a>
  23. <a class="btn btn-primary btn-xs p310" id="modify" action="Edit"><i class="im-pencil2"></i> 编辑</a>
  24. <a class="btn btn-primary btn-xs p310" id="delete" action="Remove"><i class="im-remove4"></i> 删除</a>
  25. <a class="btn btn-primary btn-xs p310" id="permission" action="AllocationPer"><i class="im-road"></i> 分配权限</a>
  26. <a class="btn btn-primary btn-xs p310" id="role" action="AllocationRole"><i class="im-bookmark"></i> 分配角色</a>
  27. <a class="btn btn-primary btn-xs p310" id="pass" action="PwdReset"><i class="im-wrench"></i> 初始密码</a>
  28. <a class="btn btn-primary btn-xs p310" id="userinfo" action="UserInfo"><i class="im-user"></i> 人员档案</a>
  29. <a class="btn btn-primary btn-xs p310" id="Change" action="Change"><i class="im-user"></i> 切换用户</a>
  30. </div>
  31. </div>
  32. <div class="ibox-content">
  33. <!-- search star -->
  34. @using (Ajax.BeginForm("Index", null, new AjaxOptions() { }, new { @id = "form1", @class = "form-horizontal", @method = "get" }))
  35. {
  36. @Html.Hidden("dptid", ViewData["dptid"])
  37. <div class="form-horizontal clearfix">
  38. <div class="col-lg-4 col-sm-3 pl0" style="width:38%;">
  39. <div class="form-group">
  40. <label class="control-label" style="width:20%; float:left;">角色:</label>
  41. <div class="col-lg-8 col-sm-7">
  42. <select id="postid" name="postid" class="input-sm form-control input-s-sm inline" onchange="submit()">
  43. <option value="" @(ViewData["postid"] == null ? "selected=\"selected\"" : "")>--请选择--</option>
  44. @{
  45. List<SYS_POST> postlist = ViewData["post"] as List<SYS_POST>;
  46. foreach (var item in postlist)
  47. {
  48. <option value="@item.ID" @(ViewData["postid"] != null && ViewData["postid"].ToString() == item.ID ? "selected=\"selected\"" : "")>@item.POSTNAME</option>
  49. }
  50. }
  51. </select>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="col-lg-4 col-sm-4" style="float:right;">
  56. <div class="form-group">
  57. <div class="col-lg-12 col-sm-12 input-group">
  58. @Html.TextBox("Search", null, new { @class = "input-sm form-control", @placeholder = "请输入查询关键词" })
  59. <span class="input-group-btn">
  60. <button type="button" onclick="submit()" class="btn btn-sm btn-primary"> 搜索</button>
  61. </span>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. <!-- search end -->
  67. <div id="example_wrapper" class="dataTables_wrapper form-inline dt-bootstrap no-footer">
  68. <table id="example" class="table table-striped table-bordered table-hover dataTables-example dataTable" cellspacing="0" width="100%">
  69. <thead>
  70. <tr>
  71. <th class="tn" style="width: 50px !important"><input name="checkall" id="checkall" type="checkbox" value=""></th>
  72. <th style="width: 100px !important">姓名</th>
  73. <th style="width: 100px !important">用户名</th>
  74. <th>所属学校</th>
  75. <th>角色</th>
  76. <th style="width: 80px !important">状态</th>
  77. </tr>
  78. </thead>
  79. <tbody>
  80. @{foreach (var item in Model.List)
  81. {
  82. <tr>
  83. <td class="tn"><input name="checkbox_name" type="checkbox" value="@item.ID"></td>
  84. <td style="text-align:left">
  85. <a href="javascript:modify('@item.ID')" listaction="Detail"> @item.NAME</a>
  86. </td>
  87. <td>@item.ACCOUNT</td>
  88. <td title="@item.DPTNAME">@item.DPTNAME</td>
  89. <td title="@item.ROLENAME">@item.ROLENAME</td>
  90. <td>@item.ISCANLOGIN</td>
  91. </tr>
  92. }
  93. }
  94. </tbody>
  95. </table>
  96. <!-- page -->
  97. <div class="bottom">
  98. <div class="dataTables_info" id="example_info" role="status" aria-live="polite">显示第 @Model.BeginPage 至 @Model.EndPage 项结果,共 @Model.Count 项</div>
  99. <div class="dataTables_length" id="example_length">
  100. <label>
  101. 显示
  102. <select name="example_length" onchange="submit()" aria-controls="example" class="form-control input-sm">
  103. <option value="10" @(Model.PageSize==10?"selected":"")>10</option>
  104. <option value="25" @(Model.PageSize == 25 ? "selected" : "")>25</option>
  105. <option value="50" @(Model.PageSize == 50 ? "selected" : "")>50</option>
  106. <option value="100" @(Model.PageSize == 100 ? "selected" : "")>100</option>
  107. </select> 项结果
  108. </label>
  109. </div>
  110. @CommonHtmlHelper.PaginationPager(Model.Index, Model.PageSize, Model.Count, 7, Model.Url)
  111. <div class="clear"></div>
  112. </div>
  113. <!-- page -->
  114. </div>
  115. }
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. <!-- table end -->
  121. @section scripts{
  122. <script type="text/javascript">
  123. //点击修改
  124. function modify(n) {
  125. dig.addModel('添加/编辑用户', '/Sys/User/Detail/' + n, 700, 380, function () {
  126. if (this.returnValue == 'yes') {
  127. location.reload();
  128. }
  129. });
  130. }
  131. $(function () {
  132. //添加
  133. $('#insert').click(function () {
  134. dig.addModel('添加/编辑用户', '/Sys/User/Detail?dptId=' + $('#dptId').val(), 700, 380, function () {
  135. if (this.returnValue == 'yes') {
  136. location.reload();
  137. }
  138. });
  139. });
  140. //修改
  141. $('#modify').click(function () {
  142. var vals = '';
  143. var num = 0;
  144. $('input[name="checkbox_name"]:checked').each(function () {
  145. vals = $(this).val();
  146. num++;
  147. });
  148. if (!vals) {
  149. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  150. return;
  151. }
  152. if (num > 1) {
  153. dig.alertError("提示", "对不起,每次只能修改一条记录!");
  154. return;
  155. }
  156. dig.addModel('添加/编辑用户', '/Sys/User/Detail/' + vals, 700, 380, function () {
  157. if (this.returnValue == 'yes') {
  158. location.reload();
  159. }
  160. });
  161. });
  162. //分配权限
  163. $('#permission').click(function () {
  164. var vals = '';
  165. var num = 0;
  166. $('input[name="checkbox_name"]:checked').each(function () {
  167. vals = $(this).val();
  168. num++;
  169. });
  170. if (!vals) {
  171. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  172. return;
  173. }
  174. if (num > 1) {
  175. dig.alertError("提示", "对不起,每次只能给一个摊主分配权限!");
  176. return;
  177. }
  178. dig.addModel('分配权限', '/Sys/Permission/PerAllocation/?id=' + vals + '&tp=user', 780, 500, function () {
  179. if (this.returnValue == 'yes') {
  180. location.reload();
  181. }
  182. });
  183. });
  184. //分配角色
  185. $('#role').click(function () {
  186. var vals = '';
  187. var num = 0;
  188. $('input[name="checkbox_name"]:checked').each(function () {
  189. vals = $(this).val();
  190. num++;
  191. });
  192. if (!vals) {
  193. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  194. return;
  195. }
  196. if (num > 1) {
  197. dig.alertError("提示", "对不起,每次只能给一个用户分配角色!");
  198. return;
  199. }
  200. dig.addModel('分配角色', '/Sys/Role/RoleCall/' + vals, 480, 400, function () {
  201. if (this.returnValue == 'yes') {
  202. location.reload();
  203. }
  204. });
  205. });
  206. //初始化密码
  207. $('#pass').click(function () {
  208. var vals = '';
  209. var num = 0;
  210. $('input[name="checkbox_name"]:checked').each(function () {
  211. vals = $(this).val();
  212. num++;
  213. });
  214. if (!vals) {
  215. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  216. return;
  217. }
  218. if (num > 1) {
  219. dig.alertError("提示", "对不起,每次只能给一个摊主密码初始化!");
  220. return;
  221. }
  222. var msg = "您确定要为当前选中的用户进行密码初始化操作吗?";
  223. dig.confirm('密码初始化', msg, function () {
  224. $.post('/Sys/User/ResetPwd/' + vals, '', function (result) {
  225. if (result.Status == 'y') {
  226. dig.alertSuccess('提示', '密码初始化完毕');
  227. } else {
  228. dig.alertError('提示', resul.Msg);
  229. }
  230. }, 'json');
  231. });
  232. });
  233. //人员档案
  234. $('#userinfo').click(function () {
  235. var vals = '';
  236. var num = 0;
  237. $('input[name="checkbox_name"]:checked').each(function () {
  238. vals = $(this).val();
  239. num++;
  240. });
  241. if (!vals) {
  242. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  243. return;
  244. }
  245. if (num > 1) {
  246. dig.alertError("提示", "对不起,每次只能给一个用户编辑档案!");
  247. return;
  248. }
  249. window.location.href = "/Sys/User/UserInfo/" + vals;
  250. });
  251. //切换用户
  252. $('#Change').click(function () {
  253. var vals = '';
  254. var num = 0;
  255. $('input[name="checkbox_name"]:checked').each(function () {
  256. vals = $(this).val();
  257. num++;
  258. });
  259. if (!vals) {
  260. dig.alertError("提示", "对不起,请选中您要操作的记录!");
  261. return;
  262. }
  263. if (num > 1) {
  264. dig.alertError("提示", "对不起,每次只能切换一个摊主!");
  265. return;
  266. }
  267. var msg = "您确定切换当前选中的用户吗?";
  268. dig.confirm('切换用户', msg, function () {
  269. $.post('/Sys/User/ChangeUser/' + vals, '', function (result) {
  270. if (result.Status == 'y') {
  271. window.top.location.href = "/Sys/Home/Index";
  272. } else {
  273. dig.alertError('提示', resul.Msg);
  274. }
  275. }, 'json');
  276. });
  277. });
  278. });
  279. </script>
  280. }