define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'toastr' ,Fast.api.fixurl('/assets/addons/csmadmin/js/common/csmutils.js') ,Fast.api.fixurl('/assets/js/backend/auth/admin.js')], function ($, undefined, Backend, Table, Form, Toastr,csmutils,admin) { //var hasinittable = false; var Controller = { admindepart:function(){ var that = this; //加载书 require(['jstree'], function () { $('#channeltree').on("changed.jstree", function (e, data) { console.log(e); console.log('============',data); if(data.selected!=null && data.selected.length>0){ var departids = data.selected.join(",");//+","+data.node.parents.join(",") departids = departids.replace(',#',''); console.log(departids); if(data.node==null) return; $("#csmadmindeparttitle").text(data.node.text+"(#"+data.node.id+")"); $("input[name=csmadmindepartid]").val(data.node.id); $("input[name=csmadmindepartname]").val(data.node.text); $("input[name=csmadmindepartids]").val(departids); }else{ $("#csmadmindeparttitle").text(''); $("input[name=csmadmindepartid]").val(''); $("input[name=csmadmindepartname]").val(''); $("input[name=csmadmindepartids]").val(''); } //1.3.0 修复组织和人员管理页面新增组织后,创建人员没有所属组织的问题 if(data.selected.length>0){ $(".toolbar").css("display","block"); that._loadUser(); } return false; }); $('#channeltree').jstree({ "themes": { "stripes": true }, "checkbox": { "keep_selected_style": true, }, 'plugins': [ ], "core": { "multiple": false, 'check_callback': true, //"data": Config.treedata "data":{ 'url' : Fast.api.fixurl('csmadmin/csmadmindepart/getdeparttreeAjax'), } } }); }); //调用原生的amdin.js admin.index(); //增加移除部门按钮 that._rendertable(); //管理员刷新按钮 $(".btn-refresh").click(function(){ console.log('.btn-refresh'); that._loadUser(); }); //选择已有用户加入部门 $(".btn-selectuser").click(function(){ var that3 = this; if(that._assertselecteddepart()===false){ Layer.msg('请先选择组织'); return; } Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/selectuser"), "选择用户", { callback: function(data){ console.log(data); that._loadUser(); } }); }); //部门管理 $(".btn-newdepart").click(function(){ console.log('.btn-newdepart'); var that3 = this; var departid = that._assertselecteddepart(); if(departid==null||departid=='0'){ departid = 0; } Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/insertdepart?csmadmin_depart_id="+departid), "新增组织", { callback: function(data){ console.log(data); that._refreshtree(); } }); }); $(".btn-editdepart").click(function(){ console.log('.btn-editdepart'); var that3 = this; if(that._assertselecteddepart()===false){ Layer.msg('请先选择组织'); return; } var departid = that._assertselecteddepart(); Fast.api.open(Fast.api.fixurl("csmadmin/csmadmindepart/updatedepart?csmadmin_depart_id="+departid), "修改组织", { callback: function(data){ console.log(data); that._refreshtree(); } }); }); $(".btn-deldepart").click(function(){ console.log('.btn-deldepart'); if(that._assertselecteddepart()===false){ Layer.msg('请先选择组织'); return; } var departid = that._assertselecteddepart(); Fast.api.ajax({ url: Fast.api.fixurl("csmadmin/csmadmindepart/deldepartajax"), type: "get", data:{csmadmin_depart_id:departid}, }, function (data, ret) { that._refreshtree(); return true; }); }); $(".btn-queryalluser").click(function(){ console.log('.btn-queryalluser'); $("input[name=csmadmindepartids]").val(''); $("input[name=csmadmindepartid]").val(''); $("input[name=csmadmindepartname]").val(''); that._loadUser(); }); }, _loadUser:function(){ var departids = $("input[name=csmadmindepartids]").val(); Fast.api.ajax({ url: Fast.api.fixurl("csmadmin/csmadmindepart/getUsersByDepartsAjax"), type: "get", data:{departids:departids}, }, function (data, ret) { $("input[name=id]").val(data.userids); $("input[name=id-operate]").val('in'); var table = $("#table"); table.bootstrapTable('refresh', {}); return false; }, function (data, ret) { return false; }); }, _rendertable:function(){ //隐藏原有的角色授权清单显示 var that = this; var table = $("#table"); table.bootstrapTable('hideColumn', 'groups_text'); var BootstrapTable = $.fn.bootstrapTable.Constructor, _initTable = BootstrapTable.prototype.initTable, _initBody = BootstrapTable.prototype.initBody; BootstrapTable.prototype.initBody = function() { var that2 = this; _initBody.apply(this, Array.prototype.slice.apply(arguments)); $("#table tbody tr").each(function(i){ var that2obj = $(this); var tdcount = that2obj.find("td").length; var firsttd = that2obj.find("td").eq(1); var lasttd = that2obj.find("td").eq(tdcount-1); var iid = firsttd.text(); var departid = that._assertselecteddepart(); if(tdcount>1&&departid!=null&&departid!=''){ lasttd.prepend('从本组织中移除 '); } }); $(".btn-removeuser").click(function(){ var that3 = this; Layer.confirm("您是否要执行此操作?", function () { var csmadmin_depart_id = that._assertselecteddepart(); var faadmin_id = $(that3).attr("data-id"); if(csmadmin_depart_id==null||csmadmin_depart_id==''){ Layer.msg('请先选择组织'); return; } Fast.api.ajax({ url: Fast.api.fixurl("csmadmin/csmadmindepart/removeUserFromDepartAjax"), type: "post", data:{csmadmin_depart_id:csmadmin_depart_id,faadmin_id:faadmin_id}, }, function (data, ret) { that._loadUser(); Layer.closeAll(); return true; }); }); }); } }, _refreshtree:function(){ require(['jstree'], function () { $('#channeltree').jstree(true).refresh(); }); }, _assertselecteddepart:function(){ var departid = $("#csmadmindepartid", window.top.document).val(); if(departid==null||departid==''){ departid = $("#csmadmindepartid", window.parent.document).val(); } if(departid==null||departid==''){ departid = $("#csmadmindepartid").val(); } if(departid==null||departid==''){ //Layer.msg('请先选择组织'); return false; } return departid; }, selectuser:function(){ var that = this; if(that._assertselecteddepart()===false){ Layer.msg('请先选择组织'); return; } var departid = that._assertselecteddepart(); $("#csmadmin_depart_id").val(departid); Form.api.bindevent($("form[role=form]"), function (data,ret) { Fast.api.close(); }); }, insertdepart:function(){ var that = this; var departid = that._assertselecteddepart(); $("#parent_id").val(departid); Form.api.bindevent($("form[role=form]"), function (data,ret) { Fast.api.close(); }); }, updatedepart:function(){ var that = this; if(that._assertselecteddepart()===false){ Layer.msg('请先选择组织'); return; } Form.api.bindevent($("form[role=form]"), function (data,ret) { Fast.api.close(); }); }, } return Controller; });