var btnjsons; var toolbar; var curkeyword; var curkeyword1; var exwhere; (function () { var tmsp_btn = function (btnjson) { this.id = btnjson.CODE; this.name = btnjson.NAME; this.pname = btnjson.PNAME; this.alias = btnjson.ALIAS; this.url = this.isEmpty(ctx) + btnjson.URL; this.div = this.isEmpty(btnjson.ICON.split('|')[0]); this.li = this.isEmpty(btnjson.ICON.split('|')[1]); this.area=this.isEmpty(btnjson.TIPS); this.isopen=this.isEmpty(btnjson.ISOPEN); }; //用于额外加载一些控件 tmsp_btn.prototype.initOther = function(){ if( typeof initZtree === 'function' ){ initZtree(); } } tmsp_btn.prototype.isEmpty = function (str) { if (str == "" || str == null || str == "null" || str == "undefined" || str == undefined) { return ""; } return str; }; tmsp_btn.prototype.open=function(tmsp_url,tmsp_id,tmsp_open){ var width=(this.area!="")?(this.area.split('*')[0]):"800"; var height=(this.area!="")?(this.area.split('*')[1]):"520"; var iframe_width=window.top.$(window).width(); var iframe_height=window.top.$(window).height(); var flag=(parseInt(width)>=iframe_width||parseInt(height)>=iframe_height)?true:false;width+="px";height+="px"; if(this.isopen=="1"||this.isEmpty(tmsp_open)=="1"){ tmsp_id="btn_"+this.id+((this.isEmpty(tmsp_id)=="")?"":("_"+tmsp_id)); window.top.addTabs({ id:tmsp_id, title:this.pname+"→"+this.name, url: tmsp_url, icon: this.li, close: true }); } else{ var index=layer.open({ type: 2, title:this.pname+"→"+this.name, area: [width,height], fix: false, //不固定 maxmin: true, content: tmsp_url }); if(flag){ layer.full(index); } } }; tmsp_btn.prototype.itemClick = function () { var ids = getGridXls().join(","); var rows = getGridXls().length; var rowData=getRowData(); var split = "/"; if (this.alias == "add") { this.open(this.url); return; } if (this.alias == "addex") { if (rows > 1) { layer_alert('只能选择一条数据作为父!', "warn"); return; } var url = this.url; this.open(url + split + ids, ids); return; } if (this.alias == "edit") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } var url = this.url; this.open(url + split + ids, ids); return; } if (this.alias == "remove" || this.alias == "del") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var _this = this; var url= _this.url; layer.confirm('是否确定删除?', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); searchGrid(); _this.initOther(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "view") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } var url = this.url; this.open(url + split + ids, ids); return; } if (this.alias == "authority") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } var _this=this; $.post(ctx + "/role/getPowerById", { id: ids }, function (data) { if (data.code === 0) { var roleName=rowData.NAME; _this.open(_this.url + "?roleId=" + ids + "&roleName=" + roleName); } else{ layer_alert('请先给上级角色分配权限!', "warn"); } }, "json"); return; } if (this.alias == "assign") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var name = rowData.NAME; var roleID = (rowData.ROLEID == "") ? "0" : rowData.ROLEID; this.open(this.url + split + ids + split + name + split + roleID); return; } if (this.alias == "agent") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } var roleID=rowData.ROLEID; if(roleID==""){ layer_alert('请先分配角色!', "warn"); return; } var Name=rowData.NAME; this.open(this.url + split + ids + split + Name,"","1"); return; } if (this.alias == "download") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } var url = rowData.ATTACHURL; window.open(url, "附件下载"); return; } if (this.alias == "reset") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var url=this.url; layer.confirm('是否将密码重置为 111111?', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "frozen") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var url=this.url; layer.confirm('是否将选中账号冻结?', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); reloadGrid(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "import") { $('#importExcel').click(); return; } //带子按钮区域 if (this.alias == "audit" || this.alias == "recycle") { var code=this.id; if (stage.all[code]==undefined) { $.post(ctx + "/cache/getChildBtn", { code: code }, function (data) { if (data.code === 0) { btnjsons = data.data; var _btn_child_stage=new btn_child_stage(); for (var i = 0; i < btnjsons.length; i++) { if (btnjsons[i].name == '') continue; var btn_child = new tmsp_btn(btnjsons[i]); _btn_child_stage.btn.register(btn_child); } stage.register(code,_btn_child_stage); stage.all[code].btn.bind(toolbar); } }, "json"); } else { stage.all[code].btn.bind(toolbar); } exwhere=this.url.replace(ctx,"");//修复未发布在tomcat根目录下带有项目路径导致不能搜索的问题 searchGrid(); return; } }; tmsp_btn.prototype.childItemClick = function () { var ids = getGridXls().join(","); var rows = getGridXls().length; var split = "/"; if (this.alias == "back") { btn_stage.bind(toolbar); reloadGrid(); return; } if (this.alias == "view") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } if (rows > 1) { layer_alert('只能选择一条数据!', "warn"); return; } this.open(this.url + split + ids); return; } if (this.alias == "ok") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var url=this.url; layer.confirm('是否审核通过?', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); searchGrid(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "refuse") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var url=this.url; layer.confirm('是否审核拒绝?', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); searchGrid(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "restore") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var _this = this; var url=this.url; layer.confirm('是否还原', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); searchGrid(); _this.initOther(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } if (this.alias == "remove") { if (rows == 0) { layer_alert('请选择一条数据!', "warn"); return; } var _this = this; var url=this.url; layer.confirm('是否删除?删除后不可恢复', { icon: 3, btn: ['确定', '取消'] //按钮 }, function () { $.post(url, { ids: ids }, function (data) { if (data.code === 0) { layer_alert(data.message, "success"); searchGrid(); _this.initOther(); } else { layer_post(data); } }, "json"); }, function () { //layer.msg('已取消'); }); return; } }; var stage = { all: {}, register: function (id,_btn_child_stage) { this.all[id] = _btn_child_stage; } }; var btn_stage = { all: {}, count: 0, register: function (btn) { this.all[btn.id] = btn; }, bind: function (toolbar) { var $toolbar = $("#" + toolbar); $toolbar.html(""); this.count = 0; for (var btn_id in this.all) { this.count++; var _this = this; var btn = _this.all[btn_id]; var _btn = " "; $toolbar.append(_btn); var $btn = $("#" + btn.id); $btn.bind("click", function () { _this.all[this.id].itemClick(); $(this).blur(); if (typeof btnCallBack === 'function') { btnCallBack(_this.all[this.id]); } }); } } }; var btn_child_stage=function(){ this.btn = { all: {}, count: 0, register: function (btn) { this.all[btn.id] = btn; }, bind: function (toolbar) { var $toolbar = $("#" + toolbar); $toolbar.html(""); this.count = 0; for (var btn_id in this.all) { this.count++; var _this = this; var btn = _this.all[btn_id]; var _btn = " "; $toolbar.append(_btn); var $btn = $("#" + btn.id); $btn.bind("click", function () { _this.all[this.id].childItemClick(); $(this).blur(); if (typeof btnCallBack === 'function') { btnCallBack(_this.all[this.id]); } }); } } }; }; window.tmsp_btn = tmsp_btn; window.stage = stage; window.btn_stage = btn_stage; window.btn_child_stage = btn_child_stage; } ()); // 根据模块code生成 每个工具条上面的 btn function initMenuBtn(obj, code) { $.post(ctx + "/cache/getBtn", { code: code }, function (data) { if (data.code === 0) { toolbar = obj; btnjsons = data.data; for (var i = 0; i < btnjsons.length; i++) { if (btnjsons[i].name == '') continue; var btn_parent = new tmsp_btn(btnjsons[i]); btn_stage.register(btn_parent); } btn_stage.bind(toolbar); } if( typeof doOther === 'function' ){ doOther(); } }, "json"); /*$.ajax({ type: "post", url: ctx + "/cache/getBtn", dataType: "json", async: false, data: {code : code}, success: function(data) { if (data.code === 0) { toolbar = obj; btnjsons = data.data; for (var i = 0; i < btnjsons.length; i++) { if (btnjsons[i].name == '') continue; var btn_parent = new tmsp_btn(btnjsons[i]); btn_stage.register(btn_parent); } btn_stage.bind(toolbar); } if( typeof doOther === 'function' ){ doOther(); } } });*/ } //keyword为额外传入的变量 function initMenuBtns(obj, code, keyword, keyword1) { $.post(ctx + "/cache/getBtn", { code: code }, function (data) { if (data.code === 0) { toolbar = obj; btnjsons = data.data; curkeyword = keyword; curkeyword1 = keyword1; for (var i = 0; i < btnjsons.length; i++) { if (btnjsons[i].name == '') continue; var btn_parent = new tmsp_btn(btnjsons[i]); btn_stage.register(btn_parent); } } if( typeof doOther === 'function' ){ doOther(); } }, "json"); }