Index.cshtml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  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/Job/GetPageListJson",
  27. datatype: "json",
  28. height: $(window).height() - 136.5,
  29. autowidth: true,
  30. colModel: [
  31. { label: '主键', name: 'RoleId', hidden: true },
  32. { label: 'OrganizeId', name: 'OrganizeId', hidden: true },
  33. { label: '职位编号', name: 'EnCode', index: 'EnCode', width: 100, align: 'left' },
  34. { label: '职位名称', name: 'FullName', index: 'FullName', width: 200, align: 'left' },
  35. {
  36. label: '所在公司', name: 'OrganizeName', width: 250, align: 'left', sortable: false,
  37. formatter: function (cellvalue, options, rowObject) {
  38. var organizeId = top.clientdepartmentData[rowObject.OrganizeId].OrganizeId;
  39. return top.clientorganizeData[organizeId].FullName;
  40. }
  41. },
  42. {
  43. label: '所在部门', name: 'DepartmentName', width: 100, align: 'left', sortable: false,
  44. formatter: function (cellvalue, options, rowObject) {
  45. return top.clientdepartmentData[rowObject.OrganizeId].FullName;
  46. }
  47. },
  48. {
  49. label: '创建时间', name: 'CreateDate', index: 'CreateDate', width: 130, align: 'center',
  50. formatter: "date", formatoptions: { srcformat: 'Y-m-d H:i', newformat: 'Y-m-d H:i' }
  51. },
  52. {
  53. label: "有效", name: "EnabledMark", index: "EnabledMark", width: 50, align: "center",
  54. formatter: function (cellvalue, options, rowObject) {
  55. return cellvalue == 1 ? "<i class=\"fa fa-toggle-on\"></i>" : "<i class=\"fa fa-toggle-off\"></i>";
  56. }
  57. },
  58. { label: "职位描述", name: "Description", index: "Description", width: 200, align: "left" }
  59. ],
  60. viewrecords: true,
  61. rowNum: 30,
  62. rowList: [30, 50, 100],
  63. pager: "#gridPager",
  64. sortname: 'CreateDate',
  65. sortorder: 'desc',
  66. rownumbers: true,
  67. shrinkToFit: false,
  68. gridview: true,
  69. onSelectRow: function () {
  70. selectedRowIndex = $("#" + this.id).getGridParam('selrow');
  71. },
  72. gridComplete: function () {
  73. $("#" + this.id).setSelection(selectedRowIndex, false);
  74. }
  75. });
  76. $gridTable.authorizeColModel();
  77. //查询条件
  78. $("#queryCondition .dropdown-menu li").click(function () {
  79. var text = $(this).find('a').html();
  80. var value = $(this).find('a').attr('data-value');
  81. $("#queryCondition .dropdown-text").html(text).attr('data-value', value)
  82. });
  83. //查询事件
  84. $("#btn_Search").click(function () {
  85. var queryJson = {
  86. condition: $("#queryCondition").find('.dropdown-text').attr('data-value'),
  87. keyword: $("#txt_Keyword").val()
  88. }
  89. $gridTable.jqGrid('setGridParam', {
  90. postData: { queryJson: JSON.stringify(queryJson) },
  91. page: 1
  92. }).trigger('reloadGrid');
  93. });
  94. //查询回车
  95. $('#txt_Keyword').bind('keypress', function (event) {
  96. if (event.keyCode == "13") {
  97. $('#btn_Search').trigger("click");
  98. }
  99. });
  100. }
  101. //新增
  102. function btn_add() {
  103. dialogOpen({
  104. id: "Form",
  105. title: '添加职位',
  106. url: '/BaseManage/Job/Form',
  107. width: "500px",
  108. height: "360px",
  109. callBack: function (iframeId) {
  110. top.frames[iframeId].AcceptClick();
  111. }
  112. });
  113. };
  114. //编辑
  115. function btn_edit() {
  116. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  117. if (checkedRow(keyValue)) {
  118. dialogOpen({
  119. id: "Form",
  120. title: '修改职位',
  121. url: '/BaseManage/Job/Form?keyValue=' + keyValue,
  122. width: "500px",
  123. height: "360px",
  124. callBack: function (iframeId) {
  125. top.frames[iframeId].AcceptClick();
  126. }
  127. });
  128. }
  129. }
  130. //删除
  131. function btn_delete() {
  132. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  133. if (keyValue) {
  134. $.RemoveForm({
  135. url: "../../BaseManage/Job/RemoveForm",
  136. param: { keyValue: keyValue },
  137. success: function (data) {
  138. $("#gridTable").trigger("reloadGrid");
  139. }
  140. })
  141. } else {
  142. dialogMsg('请选择需要删除的职位!', 0);
  143. }
  144. }
  145. //职位成员
  146. function btn_member() {
  147. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  148. var fullName = $("#gridTable").jqGridRowValue("FullName");
  149. var organizeId = $("#gridTable").jqGridRowValue("OrganizeId");
  150. if (checkedRow(keyValue)) {
  151. dialogOpen({
  152. id: "AllotMember",
  153. title: '职位成员 - ' + fullName,
  154. url: '/AuthorizeManage/PermissionJob/AllotMember?postId=' + keyValue + "&departmentId=" + organizeId,
  155. width: "650px",
  156. height: "450px",
  157. callBack: function (iframeId) {
  158. top.frames[iframeId].AcceptClick();
  159. }
  160. });
  161. }
  162. }
  163. //职位授权
  164. function btn_authorize() {
  165. var keyValue = $("#gridTable").jqGridRowValue("RoleId");
  166. var FullName = $("#gridTable").jqGridRowValue("FullName");
  167. if (checkedRow(keyValue)) {
  168. dialogOpen({
  169. id: "AllotAuthorize",
  170. title: '职位授权 - ' + FullName,
  171. url: '/AuthorizeManage/PermissionJob/AllotAuthorize?postId=' + keyValue,
  172. width: "700px",
  173. height: "690px",
  174. btn: null
  175. });
  176. }
  177. }
  178. </script>
  179. <div class="titlePanel">
  180. <div class="title-search">
  181. <table>
  182. <tr>
  183. <td>
  184. <div id="queryCondition" class="btn-group">
  185. <a class="btn btn-default dropdown-text" data-toggle="dropdown">选择条件</a>
  186. <a class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
  187. <ul class="dropdown-menu">
  188. <li><a data-value="EnCode">职位编号</a></li>
  189. <li><a data-value="FullName">职位名称</a></li>
  190. </ul>
  191. </div>
  192. </td>
  193. <td style="padding-left: 2px;">
  194. <input id="txt_Keyword" type="text" class="form-control" placeholder="请输入要查询关键字" style="width: 200px;" />
  195. </td>
  196. <td style="padding-left: 5px;">
  197. <a id="btn_Search" class="btn btn-primary"><i class="fa fa-search"></i>&nbsp;查询</a>
  198. </td>
  199. </tr>
  200. </table>
  201. </div>
  202. <div class="toolbar">
  203. <div class="btn-group">
  204. <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  205. <a id="lr-add" class="btn btn-default" onclick="btn_add()"><i class="fa fa-plus"></i>&nbsp;新增</a>
  206. <a id="lr-edit" class="btn btn-default" onclick="btn_edit()"><i class="fa fa-pencil-square-o"></i>&nbsp;编辑</a>
  207. <a id="lr-delete" class="btn btn-default" onclick="btn_delete()"><i class="fa fa-trash-o"></i>&nbsp;删除</a>
  208. </div>
  209. <div class="btn-group">
  210. <a id="lr-member" class="btn btn-default" onclick="btn_member()"><i class="fa fa fa-group"></i>&nbsp;职位成员</a>
  211. <a id="lr-authorize" class="btn btn-default" onclick="btn_authorize()"><i class="fa fa-gavel"></i>&nbsp;职位授权</a>
  212. </div>
  213. <script>$('.toolbar').authorizeButton()</script>
  214. </div>
  215. </div>
  216. <div class="gridPanel">
  217. <table id="gridTable"></table>
  218. <div id="gridPager"></div>
  219. </div>