admin.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
  2. var Controller = {
  3. index: function () {
  4. // 初始化表格参数配置
  5. Table.api.init({
  6. extend: {
  7. index_url: 'department/admin/index',
  8. add_url: 'department/admin/add',
  9. edit_url: 'department/admin/edit',
  10. del_url: 'department/admin/del',
  11. multi_url: 'department/admin/multi',
  12. }
  13. });
  14. var table = $("#table");
  15. //在表格内容渲染完成后回调的事件
  16. table.on('post-body.bs.table', function (e, json) {
  17. });
  18. var columnss=[
  19. {field: 'state', checkbox: true, },
  20. // {field: 'id', title: '编号', sortable: true,},
  21. {field: 'username', title: __('学号'), operate: "LIKE",},
  22. {field: 'nickname', title: __('姓名'), operate: "LIKE",},
  23. {field: 'status', title: __("Status"), searchList: {"normal":__('Normal'),"hidden":__('Hidden')}, formatter: Table.api.formatter.status},
  24. // {field: 'dadmin', title: __('Principal') , operate:false,
  25. // formatter: function (value, row, index) {
  26. // var str=__('No');
  27. // if (value.length == 0)
  28. // return str ;
  29. // $.each(value,function(i,v){ //arrTmp数组数据
  30. // if (v.is_principal==1){
  31. // str='<span class="text-success">'+__('Yes')+'</span>' ;
  32. // }
  33. // });
  34. // return str ;
  35. // }
  36. // },
  37. // {field: 'data_scope', title: __('数据范围') , operate:false,
  38. // formatter: function (value, row, index) {
  39. // var str=__('默认');
  40. // if (value==1){
  41. // str='<span class="text-red">'+__('全部')+'</span>' ;
  42. // }else if ( row.dadmin.length > 0){
  43. // $.each( row.dadmin,function(i,v){ //arrTmp数组数据
  44. // if (v.is_principal==1){
  45. // str='<span class="text-success">'+__('部门')+'</span>' ;
  46. // }
  47. // });
  48. // }
  49. // return str ;
  50. // }
  51. // },
  52. {
  53. field: 'department_id',
  54. title: __('Department'),
  55. visible: false,
  56. addclass: 'selectpage',
  57. extend: 'data-source="department/index/index" data-field="name"',
  58. operate: 'in',
  59. formatter: Table.api.formatter.search
  60. },
  61. {field: 'cengci_text', title: __('层次'), operate: false,
  62. formatter: function (value, row, index) {
  63. return Table.api.formatter.flag.call(this, row.cengci_text, row, index);
  64. },
  65. },
  66. {field: 'zhuanye_text', title: __('专业'), operate: false,
  67. formatter: function (value, row, index) {
  68. return Table.api.formatter.flag.call(this, row.zhuanye_text, row, index);
  69. },
  70. },
  71. {field: 'dui_text', title: __('队'), operate: false,
  72. formatter: function (value, row, index) {
  73. return Table.api.formatter.flag.call(this, row.dui_text, row, index);
  74. },
  75. },
  76. {
  77. field: 'dadmin',
  78. title: __('Department'),
  79. formatter: function (value, row, index) {
  80. if (value.length == 0)
  81. return '-' ;
  82. var department="";
  83. $.each(value,function(i,v){ //arrTmp数组数据
  84. if (v.department){
  85. department+=department?','+v.department.name:v.department.name;
  86. }
  87. });
  88. return Table.api.formatter.flag.call(this, department, row, index);
  89. }, operate:false
  90. },
  91. // {
  92. // field: 'groups',
  93. // title: __('Group'),
  94. // formatter: function (value, row, index) {
  95. // if (value.length == 0)
  96. // return '-' ;
  97. // var groups_text="";
  98. // $.each(value,function(i,v){ //arrTmp数组数据
  99. // if (v.get_group){
  100. // groups_text+=groups_text?','+v.get_group.name:v.get_group.name;
  101. // }
  102. // });
  103. // return Table.api.formatter.flag.call(this, groups_text, row, index);
  104. // }
  105. // , operate:false
  106. // },
  107. // {field: 'email', title: __('Email'), operate: "LIKE",},
  108. ];
  109. // if (Config.exits_mobile) {
  110. // //如果是选择
  111. // columnss.push({
  112. // field: 'mobile', title: __('Mobile'), operate: "LIKE",
  113. // });
  114. // }
  115. columnss.push(
  116. {field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
  117. {field: 'operate', title: __('Operate'), table: table,
  118. // events: Table.api.events.operate,
  119. formatter: Table.api.formatter.buttons,
  120. buttons: [
  121. // {
  122. // name: 'principal',
  123. // text: __('Principal'),
  124. // title: __('Principal set'),
  125. // icon: 'fa fa-street-view',
  126. // classname: 'btn btn-xs btn-danger btn-dialog',
  127. // url: 'department/admin/principal',
  128. // },
  129. {
  130. name: 'dispatch',
  131. text: '编辑',
  132. icon: 'fa fa-pencil',
  133. title: '编辑',
  134. classname: 'btn btn-success btn-xs btn-magic btn-dialog',
  135. url: 'department/admin/edit',
  136. },{
  137. name: 'dispatch',
  138. text: '删除',
  139. icon: 'fa fa-trash',
  140. title: '删除',
  141. classname: 'btn btn-danger btn-xs btn-magic btn-ajax',
  142. url: 'department/admin/del',
  143. confirm: '确定要删除吗?',
  144. success: function (data, ret) {
  145. $(".btn-refresh").trigger("click");
  146. },
  147. error: function (data, ret) {
  148. Layer.alert(ret.msg);
  149. return false;
  150. }
  151. }
  152. ],
  153. // formatter: function (value, row, index) {
  154. // return Table.api.formatter.operate.call(this, value, row, index);
  155. // }
  156. });
  157. // 初始化表格
  158. table.bootstrapTable({
  159. url: $.fn.bootstrapTable.defaults.extend.index_url,
  160. columns: [columnss],
  161. //启用固定列
  162. fixedColumns: true,
  163. //固定右侧列数
  164. fixedRightNumber: 1,
  165. search:false,
  166. searchFormVisible:true,
  167. singleSelect : true, //
  168. });
  169. // 为表格绑定事件
  170. Table.api.bindevent(table);
  171. require(['jstree'], function () {
  172. //全选和展开
  173. $(document).on("click", "#checkall", function () {
  174. $("#departmenttree").jstree($(this).prop("checked") ? "check_all" : "uncheck_all");
  175. });
  176. $(document).on("click", "#expandall", function () {
  177. $("#departmenttree").jstree($(this).prop("checked") ? "open_all" : "close_all");
  178. });
  179. $('#departmenttree').on("changed.jstree", function (e, data) {
  180. console.log(data.selected.join(","));
  181. $(".commonsearch-table input[name=department_id]").val(data.selected.join(","));
  182. console.log($(".commonsearch-table input[name=department_id]").val()+"@@@@");
  183. console.log('222222');
  184. table.bootstrapTable('refresh', {});
  185. return false;
  186. });
  187. $('#departmenttree').jstree({
  188. "themes": {
  189. "stripes": true
  190. },
  191. "checkbox": {
  192. "keep_selected_style": false,
  193. },
  194. "types": {
  195. "channel": {
  196. "icon": false,
  197. },
  198. "list": {
  199. "icon": false,
  200. },
  201. "link": {
  202. "icon": false,
  203. },
  204. "disabled": {
  205. "check_node": false,
  206. "uncheck_node": false
  207. }
  208. },
  209. 'plugins': ["types", "checkbox"],
  210. "core": {
  211. "multiple": true,
  212. 'check_callback': true,
  213. "data": Config.departmentList
  214. }
  215. });
  216. });
  217. },
  218. add: function () {
  219. Controller.api.bindevent();
  220. },
  221. principal:function(){
  222. Controller.api.bindevent();
  223. },
  224. edit: function () {
  225. Controller.api.bindevent();
  226. },
  227. api: {
  228. bindevent: function () {
  229. Form.api.bindevent($("form[role=form]"));
  230. // $(document).on("change", "#department_ids", function(){
  231. // //变更后的回调事件
  232. // var dname=$(this).find("option:selected").first().text()
  233. // var nickname=$("#nickname").val();
  234. // var a = nickname.indexOf("-");
  235. //
  236. // if (a!=-1){
  237. // nickname=nickname.substring(0, a);
  238. // }
  239. // dname = dname.replace(/\s*/g,"");
  240. // nickname+="-"+dname.replace(/&nbsp;|│|└|├\s*/ig, "");
  241. // $("#nickname").val(nickname);
  242. // });
  243. },
  244. }
  245. };
  246. return Controller;
  247. });