staff.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefined, Backend, Form, Table) {
  2. var Controller = {
  3. index : function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend : {
  7. index_url : 'qingdong/department/staff/index',
  8. add_url : 'qingdong/department/staff/add',
  9. edit_url : 'qingdong/department/staff/edit',
  10. del_url : 'qingdong/department/staff/del',
  11. table : 'staff'
  12. }
  13. });
  14. var table = $("#table");
  15. // 初始化表格
  16. table.bootstrapTable({
  17. url : $.fn.bootstrapTable.defaults.extend.index_url,
  18. sortName : 'id',
  19. fixedColumns : true,
  20. fixedRightNumber:1,
  21. columns : [
  22. [
  23. {checkbox : true},
  24. {field : 'name', title : __('姓名')},
  25. {field : 'img', title : __('头像'), events : Table.api.events.image, formatter : Table.api.formatter.image, operate : false},
  26. {field : 'num', title : __('员工编号')},
  27. {field : 'email', title : __('邮箱')},
  28. {field : 'mobile', title : __('手机号码')},
  29. {field : 'sex', title : __('性别'),operate:false, formatter : Table.api.formatter.status, searchList : {0 : __('未知'),1 : __('男'), 2 : __('女')}},
  30. {field : 'post', title : __('岗位'),operate:false},
  31. {field : 'staffrole.name', title : __('角色'), operate : false},
  32. {field : 'role', title : __('角色'), visible: false, searchList : $.getJSON("qingdong/department/staff/getstaffrole")},
  33. {field : 'parent_name', title : __('直属上级'),operate:false},
  34. {field : 'admin.username', title : __('绑定后台账号'),operate:false},
  35. {field : 'status', title : __('状态'), formatter : Table.api.formatter.status, searchList : {0 : __('审核中'), 1 : __('正常'),2:'禁用'}},
  36. {field : 'createtime', title : __('创建时间'), formatter : Table.api.formatter.datetime, operate : 'RANGE', addclass : 'datetimerange', sortable : true},
  37. {
  38. field : 'operate',
  39. title : __('Operate'),
  40. table : table,
  41. events : Table.api.events.operate,
  42. formatter : Table.api.formatter.operate,
  43. buttons : [
  44. {
  45. name: '禁用',
  46. text: __('禁用'),
  47. classname: 'btn-xs btn-ajax',
  48. url: 'qingdong/department/staff/update_status/status/2',
  49. refresh: true,
  50. confirm: '确认要禁用当前员工吗',
  51. hidden:function (row) {
  52. if(row.status == 1){
  53. return false;
  54. }
  55. return true;
  56. }
  57. },
  58. {
  59. name: '启用',
  60. text: __('启用'),
  61. classname: 'btn-xs btn-ajax',
  62. url: 'qingdong/department/staff/update_status/status/1',
  63. refresh: true,
  64. confirm: '确认要启用当前员工吗',
  65. hidden:function (row) {
  66. if(row.status == 1){
  67. return true;
  68. }
  69. return false;
  70. }
  71. },
  72. ]
  73. }
  74. ]
  75. ],
  76. search : false,
  77. //启用普通表单搜索
  78. commonSearch : true,
  79. searchFormVisible : false,
  80. onLoadSuccess:function(){
  81. // 这里就是数据渲染结束后的回调函数
  82. $('.btn-editone').html('编辑');
  83. $('.fa-pencil').remove();
  84. $('.btn-delone').html('删除');
  85. $('.fa-trash').remove();
  86. $('.btn-editone').removeClass('btn-success')
  87. $('.btn-editone').removeClass('btn')
  88. $('.btn-delone').removeClass('btn')
  89. $('.btn-delone').removeClass('btn-danger')
  90. }
  91. });
  92. // 为表格绑定事件
  93. Table.api.bindevent(table);
  94. },
  95. add : function () {
  96. Controller.api.bindevent();
  97. },
  98. edit : function () {
  99. Controller.api.bindevent();
  100. },
  101. staff_examine : function () {
  102. // 初始化表格参数配置
  103. Table.api.init({
  104. extend : {
  105. index_url : 'qingdong/department/staff/staff_examine',
  106. table : 'staff_examine'
  107. }
  108. });
  109. var table = $("#table");
  110. // 初始化表格
  111. table.bootstrapTable({
  112. url : $.fn.bootstrapTable.defaults.extend.index_url,
  113. sortName : 'id',
  114. columns : [
  115. [
  116. {checkbox : true},
  117. {field : 'nickname', title : __('昵称'), operate : false},
  118. {field : 'name', title : __('姓名')},
  119. {field : 'img', title : __('头像'), events : Table.api.events.image, formatter : Table.api.formatter.image, operate : false},
  120. {field : 'num', title : __('员工编号'), operate : false},
  121. {field : 'email', title : __('邮箱'), operate : false},
  122. {field : 'mobile', title : __('手机号码'), operate : false},
  123. {field : 'sex', title : __('性别'), formatter : Table.api.formatter.status, searchList : {0 : __('未知'),1 : __('男'), 2 : __('女')}},
  124. {field : 'post', title : __('岗位'), operate : false},
  125. {field : 'createtime', title : __('创建时间'), formatter : Table.api.formatter.datetime, operate : 'RANGE', addclass : 'datetimerange', sortable : true},
  126. {
  127. field : 'operate',
  128. title : __('Operate'),
  129. table : table,
  130. events : Table.api.events.operate,
  131. formatter : Table.api.formatter.operate,
  132. buttons : [
  133. {
  134. name : '审核通过',
  135. text : __('审核通过'),
  136. classname : 'btn btn-info btn-xs btn-detail btn-dialog',
  137. url : 'qingdong/department/staff/examine',
  138. refresh : true
  139. },
  140. {
  141. name : '审核拒绝',
  142. text : __('审核拒绝'),
  143. classname : 'btn btn-xs btn-danger btn-ajax',
  144. confirm: '确认审核拒绝',
  145. url : 'qingdong/department/staff/del',
  146. refresh : true
  147. }
  148. ]
  149. }
  150. ]
  151. ],
  152. search : false,
  153. //启用普通表单搜索
  154. commonSearch : false,
  155. searchFormVisible : false,
  156. });
  157. // 为表格绑定事件
  158. Table.api.bindevent(table);
  159. },
  160. examine : function () {
  161. Controller.api.bindevent();
  162. },
  163. api : {
  164. bindevent : function () {
  165. $(document).on('change','[name="row[role]"]',function (data) {
  166. if($('[name="row[role]"]').val() == 2){
  167. $('#rules').show();
  168. }else{
  169. $('#rules').hide();
  170. }
  171. });
  172. $('[name="row[role]"]').trigger('change');
  173. Form.api.bindevent($("form[role=form]"));
  174. },
  175. formatter : {},
  176. }
  177. };
  178. return Controller;
  179. });