var BasicAreaObject = { tableId: 0, first: true, AreaInfo: {}, RelationTable: null, RowData: null, EquipmentID: new Array(), zTreeObj: null, VoltageLevel: {}, StationType: {}, Init: function() { layui.use(['layer', 'form'], function() {}); $("#tree_area").height($(".main-body").height() - 90); $.getJSON(Global.AccessUrl + "/api/area/tree", { "type": 1 }, function(result) { if (result["code"] == 0) { BasicAreaObject.RelationTable = result["data"]; } }); $.getJSON(Global.AccessUrl + "/api/getGlobalCode", { "pcode": "station_type" }, function(r) { BasicAreaObject.StationType = r.data; $("#text_station_type").html(template('select_option_tpl', { data: [{ "code": "", "name": "全部" }].concat(r.data) })); layui.form.render("select"); }); $.getJSON(Global.AccessUrl + "/api/getGlobalCode", { "pcode": "voltage_level" }, function(r) { BasicAreaObject.VoltageLevel = r.data; $("#text_voltage_level").html(template('select_option_tpl', { data: [{ "code": "", "name": "全部" }].concat(r.data) })); layui.form.render("select"); }); BasicAreaObject.LoadTree(""); }, LoadTree: function(id) { Global.Ztree.Init($("#tree_area #tree"), { url: Global.AccessUrl + "/api/area/children/list", idKey: "id", pidKey: "pid", nameKey: "title", callback: { onClick: function(event, treeId, treeNode) { if (treeNode.typename != "") { $("#search_div input").val(""); BasicAreaObject.AreaInfo = treeNode; $("#area_data_list").removeClass("hidden"); $("#text_type").val(treeNode.type); var typename = treeNode.typename; var typecode = treeNode.type; var info = BasicAreaObject.GetRelationInfo(false, treeNode.type); typecode = info["code"]; $("#opt_caption>span").html(typename + "管理").attr("title", typecode); BasicAreaObject.SearchArea(); } } } }); }, ShowDialog: function(event, id) { Global.AccessUrl BasicAreaObject.tableId = id; var caption = null, url = "/static/module/childmodule/add_area.html"; var areaSize = ['40%', '65%']; var type = BasicAreaObject.AreaInfo["type"]; if (type == null) { type = BasicAreaObject.RowData.type_name; } else { var info = BasicAreaObject.GetRelationInfo(false, type); BasicAreaObject.AreaInfo["areay_type"] = info["code"]; type = info["title"]; } if (id == 0) { caption = "添加(" + type + ")信息"; } else { caption = "编辑(" + type + ")信息"; } layui.use(['layer', 'form'], function() { layui.layer.open({ type: 2, resize: false, scrollbar: false, title: caption, area: areaSize, content: url }); }); }, GetRelationInfo: function(root, code) { var result = { "code": "", "title": "" } var data = BasicAreaObject.RelationTable; if (data != null && data.length > 0) { for (var i = 0; i < data.length; i++) { if (root) { if (data[i]["code"] == code) { result["code"] = data[i]["code"]; result["title"] = data[i]["title"]; return result; } } else if (data[i]["parentcode"] == code) { result["code"] = data[i]["code"]; result["title"] = data[i]["title"]; return result; } } } }, FastSearch: function(id, name) { if (name == null) { name = $.trim($("#text_name").val()); } var parameter = { "name": name, "area_kind": $("#text_station_type").val(), "area_level": $("#text_voltage_level").val() }; layui.table.reload('search_div', { page: { pageIndex: 1, }, where: parameter }); }, ResetSearch: function() { $("#text_name,#text_station_type,#text_voltage_level").val(''); this.FastSearch(); }, SearchArea: function() { var columns = [ [{ field: "area_name", title: '名称', sort: true }, { field: "type_name", title: '组织类型' }, { field: "area_level", title: '电压等级', templet: function(data) { var txt = "未知"; if (data.area_level == null || data.area_level == "" || data.area_level == 0) return txt; for (var i = 0; i < BasicAreaObject.VoltageLevel.length; i++) { var tmp = BasicAreaObject.VoltageLevel[i]["id"]; if (tmp == data.area_level) return BasicAreaObject.VoltageLevel[i]["name"]; } return txt; } }, { field: "area_kind", title: '变电站类型', templet: function(data) { var txt = "未知"; if (data.area_kind == null || data.area_kind == "" || data.area_kind == 0) return txt; for (var i = 0; i < BasicAreaObject.StationType.length; i++) { var tmp = BasicAreaObject.StationType[i]["id"]; if (tmp == data.area_kind) return BasicAreaObject.StationType[i]["name"]; } return txt; } }, { field: "ct", title: '创建时间', align: "center", sort: true }, { fixed: 'right', title: "操作", width: 150, align: 'center', toolbar: '#row_operator' }] ]; var parameter = { elem: "#table_area_list", url: Global.AccessUrl + "/api/basic_area/list?pid=" + (BasicAreaObject.AreaInfo.id || '0'), id: "search_div", cols: columns, height: $(".main-body").height() - $("#opt_caption").height() - $(".layui-elem-quote:first").height() - $("#search_div").height() - 50 }; Tools.BindTable(parameter); }, SaveArea: function(parameter) { $.post(Global.AccessUrl + "/api/basic_area/save", parameter, function(result) { if (result["code"] == 0) { parent.layer.closeAll(); BasicAreaObject.FastSearch(BasicAreaObject.AreaInfo["id"], ""); //BasicAreaObject.LoadTree(BasicAreaObject.AreaInfo["id"]); //更新树节点 var nodes = Global.Ztree.zTreeObj.getSelectedNodes(); if (nodes.length > 0) { if (nodes[0].id != parameter.id) { var tNode = Global.Ztree.zTreeObj.getNodeByParam("id", parameter.id, null); if (tNode != null && tNode.title != parameter.area_name) { //修改记录 tNode.title = parameter.area_name; Global.Ztree.zTreeObj.updateNode(tNode, true); } } else { if (!nodes[0].isParent) { //没有子节点的节点处理 nodes[0].isParent = true; Global.Ztree.zTreeObj.updateNode(nodes[0], true); } Global.Ztree.zTreeObj.reAsyncChildNodes(nodes[0], "refresh"); } } if (parameter["floor"]) { parameter = { "equid": parameter["equid"], "areaid": result["data"] }; $.post(Global.AccessUrl + "/api/qui/setarea", parameter, function(result) {}); } } else { layer.tips(result["msg"], { tips: [3, "#f47920"] }); } }); }, DeleteArea: function(id, isall) { $.post(Global.AccessUrl + "/api/basic_area/del", { "id": id, "isall": (isall == null ? "" : isall) }, function(returnData) { if (returnData["code"] == 0) { //同步删除树节点 var tNode = Global.Ztree.zTreeObj.getNodeByParam("id", id, null); if (tNode != null) { Global.Ztree.zTreeObj.removeNode(tNode, true); } parent.layer.closeAll(); } else { layer.msg(returnData["msg"]); return; } parent.BasicAreaObject.SearchArea(); }); } }