csmadmindepart.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'toastr'
  2. ,Fast.api.fixurl('/assets/addons/csmadmin/js/common/csmutils.js')
  3. ,Fast.api.fixurl('/assets/js/backend/auth/admin.js')],
  4. function ($, undefined, Backend, Table, Form, Toastr,csmutils,admin) {
  5. //var hasinittable = false;
  6. var Controller = {
  7. admindepart:function(){
  8. var that = this;
  9. //加载书
  10. require(['jstree'], function () {
  11. $('#channeltree').on("changed.jstree", function (e, data) {
  12. console.log(e);
  13. console.log('============',data);
  14. if(data.selected!=null && data.selected.length>0){
  15. var departids = data.selected.join(",");//+","+data.node.parents.join(",")
  16. departids = departids.replace(',#','');
  17. console.log(departids);
  18. if(data.node==null) return;
  19. $("#csmadmindeparttitle").text(data.node.text+"(#"+data.node.id+")");
  20. $("input[name=csmadmindepartid]").val(data.node.id);
  21. $("input[name=csmadmindepartname]").val(data.node.text);
  22. $("input[name=csmadmindepartids]").val(departids);
  23. }else{
  24. $("#csmadmindeparttitle").text('');
  25. $("input[name=csmadmindepartid]").val('');
  26. $("input[name=csmadmindepartname]").val('');
  27. $("input[name=csmadmindepartids]").val('');
  28. }
  29. //1.3.0 修复组织和人员管理页面新增组织后,创建人员没有所属组织的问题
  30. if(data.selected.length>0){
  31. $(".toolbar").css("display","block");
  32. that._loadUser();
  33. }
  34. return false;
  35. });
  36. $('#channeltree').jstree({
  37. "themes": {
  38. "stripes": true
  39. },
  40. "checkbox": {
  41. "keep_selected_style": true,
  42. },
  43. 'plugins': [ ],
  44. "core": {
  45. "multiple": false,
  46. 'check_callback': true,
  47. //"data": Config.treedata
  48. "data":{
  49. 'url' : Fast.api.fixurl('csmadmin/csmadmindepart/getdeparttreeAjax'),
  50. }
  51. }
  52. });
  53. });
  54. //调用原生的amdin.js
  55. admin.index();
  56. //增加移除部门按钮
  57. that._rendertable();
  58. //管理员刷新按钮
  59. $(".btn-refresh").click(function(){
  60. console.log('.btn-refresh');
  61. that._loadUser();
  62. });
  63. //选择已有用户加入部门
  64. $(".btn-selectuser").click(function(){
  65. var that3 = this;
  66. if(that._assertselecteddepart()===false){
  67. Layer.msg('请先选择组织');
  68. return;
  69. }
  70. Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/selectuser"), "选择用户", {
  71. callback: function(data){
  72. console.log(data);
  73. that._loadUser();
  74. }
  75. });
  76. });
  77. //部门管理
  78. $(".btn-newdepart").click(function(){
  79. console.log('.btn-newdepart');
  80. var that3 = this;
  81. var departid = that._assertselecteddepart();
  82. if(departid==null||departid=='0'){
  83. departid = 0;
  84. }
  85. Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/insertdepart?csmadmin_depart_id="+departid), "新增组织", {
  86. callback: function(data){
  87. console.log(data);
  88. that._refreshtree();
  89. }
  90. });
  91. });
  92. $(".btn-editdepart").click(function(){
  93. console.log('.btn-editdepart');
  94. var that3 = this;
  95. if(that._assertselecteddepart()===false){
  96. Layer.msg('请先选择组织');
  97. return;
  98. }
  99. var departid = that._assertselecteddepart();
  100. Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/updatedepart?csmadmin_depart_id="+departid), "修改组织", {
  101. callback: function(data){
  102. console.log(data);
  103. that._refreshtree();
  104. }
  105. });
  106. });
  107. $(".btn-deldepart").click(function(){
  108. console.log('.btn-deldepart');
  109. if(that._assertselecteddepart()===false){
  110. Layer.msg('请先选择组织');
  111. return;
  112. }
  113. var departid = that._assertselecteddepart();
  114. Fast.api.ajax({
  115. url: Fast.api.fixurl("csmadmin/csmadmindepart/deldepartajax"),
  116. type: "get",
  117. data:{csmadmin_depart_id:departid},
  118. }, function (data, ret) {
  119. that._refreshtree();
  120. return true;
  121. });
  122. });
  123. $(".btn-queryalluser").click(function(){
  124. console.log('.btn-queryalluser');
  125. $("input[name=csmadmindepartids]").val('');
  126. $("input[name=csmadmindepartid]").val('');
  127. $("input[name=csmadmindepartname]").val('');
  128. that._loadUser();
  129. });
  130. },
  131. _loadUser:function(){
  132. var departids = $("input[name=csmadmindepartids]").val();
  133. Fast.api.ajax({
  134. url: Fast.api.fixurl("csmadmin/csmadmindepart/getUsersByDepartsAjax"),
  135. type: "get",
  136. data:{departids:departids},
  137. }, function (data, ret) {
  138. $("input[name=id]").val(data.userids);
  139. $("input[name=id-operate]").val('in');
  140. var table = $("#table");
  141. table.bootstrapTable('refresh', {});
  142. return false;
  143. }, function (data, ret) {
  144. return false;
  145. });
  146. },
  147. _rendertable:function(){
  148. //隐藏原有的角色授权清单显示
  149. var that = this;
  150. var table = $("#table");
  151. table.bootstrapTable('hideColumn', 'groups_text');
  152. var BootstrapTable = $.fn.bootstrapTable.Constructor,
  153. _initTable = BootstrapTable.prototype.initTable,
  154. _initBody = BootstrapTable.prototype.initBody;
  155. BootstrapTable.prototype.initBody = function() {
  156. var that2 = this;
  157. _initBody.apply(this, Array.prototype.slice.apply(arguments));
  158. $("#table tbody tr").each(function(i){
  159. var that2obj = $(this);
  160. var tdcount = that2obj.find("td").length;
  161. var firsttd = that2obj.find("td").eq(1);
  162. var lasttd = that2obj.find("td").eq(tdcount-1);
  163. var iid = firsttd.text();
  164. var departid = that._assertselecteddepart();
  165. if(tdcount>1&&departid!=null&&departid!=''){
  166. lasttd.prepend('<a href="javascript:;" data-id="'+iid+'" class="btn btn-xs btn-primary btn-removeuser" data-toggle="tooltip" title="编辑">从本组织中移除</a>&nbsp;');
  167. }
  168. });
  169. $(".btn-removeuser").click(function(){
  170. var that3 = this;
  171. Layer.confirm("您是否要执行此操作?", function () {
  172. var csmadmin_depart_id = that._assertselecteddepart();
  173. var faadmin_id = $(that3).attr("data-id");
  174. if(csmadmin_depart_id==null||csmadmin_depart_id==''){
  175. Layer.msg('请先选择组织');
  176. return;
  177. }
  178. Fast.api.ajax({
  179. url: Fast.api.fixurl("csmadmin/csmadmindepart/removeUserFromDepartAjax"),
  180. type: "post",
  181. data:{csmadmin_depart_id:csmadmin_depart_id,faadmin_id:faadmin_id},
  182. }, function (data, ret) {
  183. that._loadUser();
  184. Layer.closeAll();
  185. return true;
  186. });
  187. });
  188. });
  189. }
  190. },
  191. _refreshtree:function(){
  192. require(['jstree'], function () {
  193. $('#channeltree').jstree(true).refresh();
  194. });
  195. },
  196. _assertselecteddepart:function(){
  197. var departid = $("#csmadmindepartid", window.top.document).val();
  198. if(departid==null||departid==''){
  199. departid = $("#csmadmindepartid", window.parent.document).val();
  200. }
  201. if(departid==null||departid==''){
  202. departid = $("#csmadmindepartid").val();
  203. }
  204. if(departid==null||departid==''){
  205. //Layer.msg('请先选择组织');
  206. return false;
  207. }
  208. return departid;
  209. },
  210. selectuser:function(){
  211. var that = this;
  212. if(that._assertselecteddepart()===false){
  213. Layer.msg('请先选择组织');
  214. return;
  215. }
  216. var departid = that._assertselecteddepart();
  217. $("#csmadmin_depart_id").val(departid);
  218. Form.api.bindevent($("form[role=form]"), function (data,ret) {
  219. Fast.api.close();
  220. });
  221. },
  222. insertdepart:function(){
  223. var that = this;
  224. var departid = that._assertselecteddepart();
  225. $("#parent_id").val(departid);
  226. Form.api.bindevent($("form[role=form]"), function (data,ret) {
  227. Fast.api.close();
  228. });
  229. },
  230. updatedepart:function(){
  231. var that = this;
  232. if(that._assertselecteddepart()===false){
  233. Layer.msg('请先选择组织');
  234. return;
  235. }
  236. Form.api.bindevent($("form[role=form]"), function (data,ret) {
  237. Fast.api.close();
  238. });
  239. },
  240. }
  241. return Controller;
  242. });