Employee.cshtml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. @using ShwasherSys.Authorization.Permissions
  2. @using ShwasherSys.BasicInfo
  3. @using ShwasherSys.Models.Layout
  4. @using ShwasherSys.Views.Shared.New.Modals
  5. @using ShwasherSys.Views.Shared.New.Table
  6. @{
  7. ViewBag.Title = "人员信息维护";
  8. string activeMenu = PermissionNames.PagesCompanyEmployee; //The menu item will be active for this page.
  9. ViewBag.ActiveMenu = activeMenu;
  10. List<SelectListItem> gender = new List<SelectListItem>
  11. {
  12. new SelectListItem(){Value = @"1",Text = "男"},
  13. new SelectListItem(){Value = @"2",Text = "女"}
  14. },duty = ViewBag.Duty, depart = ViewBag.Department;
  15. var searchForm = new SearchFormViewModal(new List<SearchItem>()
  16. {
  17. new SearchItem("no","人员编号"),
  18. new SearchItem("name","人员姓名"),
  19. new SearchItem("departmentNo","部门",FiledType.S,ExpType.Equal).SetSearchItem(depart),
  20. new SearchItem("dutyNo","职务",FiledType.I,ExpType.Equal).SetSearchItem(duty),
  21. new SearchItem("userName","登陆账号"),
  22. });
  23. var table = new TableViewModel("/api/services/app/Employee/GetAll", activeMenu, searchForm)
  24. .SetFields(new List<FieldItem>()
  25. {
  26. new FieldItem("no", "人员编号"),
  27. new FieldItem("name", "人员姓名"),
  28. new FieldItem("phoneNumber", "手机号"),
  29. new FieldItem("cardId", "身份证号"),
  30. new FieldItem("gender", "性别","GenderFormatter"),
  31. new FieldItem("departmentNo", "部门","DepartmentFormatter"),
  32. new FieldItem("dutyNo", "职务","DutyFormatter"),
  33. new FieldItem("userName", "登陆账号","UserNameFormatter")
  34. });
  35. }
  36. @section css{
  37. }
  38. @Html.Partial("New/Table/_Table", table)
  39. @section modal{
  40. <!--Main Modal-->
  41. @{
  42. var modal = new ModalViewModel("人员", new ModalBodyViewModel(new List<Input>()
  43. {
  44. new InputHide("id"),
  45. new Input("no", "人员编号",@class:"num4"),
  46. new Input("name", "人员姓名"),
  47. new Input("phoneNumber", "手机号").SetNotRequired(),
  48. new Input("cardId", "身份证号",@class:"isIdCardNo").SetNotRequired(),
  49. new Input("gender", "性别").SetSelectOptions(gender),
  50. new Input("departmentNo", "部门").SetNotRequired().SetSelectOptions(depart),
  51. new Input("dutyNo", "职务").SetNotRequired().SetSelectOptions(duty),
  52. new InputTextarea("description", "详情").SetNotRequired(),
  53. //new Input("userName", "登陆账号").SetNotRequired(),
  54. }));
  55. var accountModal = new ModalViewModel("绑定账号", new ModalBodyViewModel( new List<Input>()
  56. {
  57. new InputHide("id"),
  58. new Input("userName", "登陆账号",InputTypes.List),
  59. }), "Account_Modal");
  60. }
  61. @Html.Partial("New/Modals/_Modal", modal)
  62. @Html.Partial("New/Modals/_Modal", accountModal)
  63. }
  64. @section scripts
  65. {
  66. <script type="text/javascript">
  67. var $table = $('#table');
  68. $(function() {
  69. jQuery.validator.addMethod("num4",
  70. function(value, element) {
  71. var r = /^\d{4}$/;
  72. return this.optional(element) || r.test(value); //调用验证的方法
  73. },
  74. "请正确填写编码(4位数字)");
  75. LoadTable();
  76. var funs = window.funs || { none: function() { console.log("No type"); } };
  77. funs["btnCreate"] = function() { BtnCreate({ data: { id: "" } }); }
  78. funs["btnUpdate"] = function() { BtnUpdate({ disabled: "no" }); };
  79. funs["btnBind"] = function(url) {
  80. var row = $table.bootstrapTable("getSelections")[0];
  81. if (row) {
  82. $.iwbAjax4({
  83. url: abp.appUrl + 'Employee/GetAccountUser',
  84. success: function(res) {
  85. $("#Account_Modal #userName").html(res);
  86. OpenModal({
  87. modal: $("#Account_Modal"),
  88. url: url,
  89. data: row
  90. });
  91. }
  92. });
  93. }
  94. }
  95. funs["btnUnBind"] = function(url) {
  96. var row = $table.bootstrapTable("getSelections")[0];
  97. if (row) {
  98. if (row.userName) {
  99. BtnConfirm("确定解绑当前账号?", "解绑", url, row);
  100. } else {
  101. abp.message.warn("当前记录没有绑定账号。");
  102. }
  103. }
  104. };
  105. });
  106. </script>
  107. <!--格式化-->
  108. <script id="formatter-script" type="text/javascript">
  109. function DutyFormatter(v) {
  110. var name = $('#hid-du option[value="' + v + '"]').text();
  111. if (name) {
  112. return '<span class="label label-info">' + name + '</span>';
  113. }
  114. return '';
  115. }
  116. function DepartmentFormatter(v) {
  117. var name = $('#hid-de option[value="' + v + '"]').text();
  118. if (name) {
  119. return '<span class="label label-info">' + name + '</span>';
  120. }
  121. return '';
  122. }
  123. function UserNameFormatter(v) {
  124. if (v) {
  125. return '<span class="label label-info">' + v + '</span>';
  126. } else {
  127. return '<span class="label label-warning">暂无账号</span>';
  128. }
  129. }
  130. function GenderFormatter(v) {
  131. var name = $('#hid-gender option[value="' + v + '"]').text();
  132. switch (v) {
  133. case 1:
  134. return '<span class="label label-info">' + name + '</span>';
  135. case 2:
  136. return '<span class="label label-danger">' + name + '</span>';
  137. default:
  138. return '<span class="label label-info">' + name + '</span>';
  139. }
  140. }
  141. </script>
  142. }
  143. <section style="display: none">
  144. <select id="hid-type">
  145. <option value=""></option>
  146. </select>
  147. @Html.DropDownList("hid-du", duty)
  148. @Html.DropDownList("hid-de", depart)
  149. @Html.DropDownList("hid-gender", gender)
  150. </section>