basic_area.js 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. var BasicAreaObject = {
  2. tableId: 0,
  3. first: true,
  4. AreaInfo: {},
  5. RelationTable: null,
  6. RowData: null,
  7. EquipmentID: new Array(),
  8. zTreeObj: null,
  9. VoltageLevel: {},
  10. StationType: {},
  11. Init: function() {
  12. layui.use(['layer', 'form'], function() {});
  13. $("#tree_area").height($(".main-body").height() - 90);
  14. $.getJSON(Global.AccessUrl + "/api/area/tree", {
  15. "type": 1
  16. }, function(result) {
  17. if (result["code"] == 0) {
  18. BasicAreaObject.RelationTable = result["data"];
  19. }
  20. });
  21. $.getJSON(Global.AccessUrl + "/api/getGlobalCode", {
  22. "pcode": "station_type"
  23. }, function(r) {
  24. BasicAreaObject.StationType = r.data;
  25. $("#text_station_type").html(template('select_option_tpl', {
  26. data: [{
  27. "code": "",
  28. "name": "全部"
  29. }].concat(r.data)
  30. }));
  31. layui.form.render("select");
  32. });
  33. $.getJSON(Global.AccessUrl + "/api/getGlobalCode", {
  34. "pcode": "voltage_level"
  35. }, function(r) {
  36. BasicAreaObject.VoltageLevel = r.data;
  37. $("#text_voltage_level").html(template('select_option_tpl', {
  38. data: [{
  39. "code": "",
  40. "name": "全部"
  41. }].concat(r.data)
  42. }));
  43. layui.form.render("select");
  44. });
  45. BasicAreaObject.LoadTree("");
  46. },
  47. LoadTree: function(id) {
  48. Global.Ztree.Init($("#tree_area #tree"), {
  49. url: Global.AccessUrl + "/api/area/children/list",
  50. idKey: "id",
  51. pidKey: "pid",
  52. nameKey: "title",
  53. callback: {
  54. onClick: function(event, treeId, treeNode) {
  55. if (treeNode.typename != "") {
  56. $("#search_div input").val("");
  57. BasicAreaObject.AreaInfo = treeNode;
  58. $("#area_data_list").removeClass("hidden");
  59. $("#text_type").val(treeNode.type);
  60. var typename = treeNode.typename;
  61. var typecode = treeNode.type;
  62. var info = BasicAreaObject.GetRelationInfo(false, treeNode.type);
  63. typecode = info["code"];
  64. $("#opt_caption>span").html(typename + "管理").attr("title", typecode);
  65. BasicAreaObject.SearchArea();
  66. }
  67. }
  68. }
  69. });
  70. },
  71. ShowDialog: function(event, id) {
  72. Global.AccessUrl
  73. BasicAreaObject.tableId = id;
  74. var caption = null,
  75. url = "/static/module/childmodule/add_area.html";
  76. var areaSize = ['40%', '65%'];
  77. var type = BasicAreaObject.AreaInfo["type"];
  78. if (type == null) {
  79. type = BasicAreaObject.RowData.type_name;
  80. } else {
  81. var info = BasicAreaObject.GetRelationInfo(false, type);
  82. BasicAreaObject.AreaInfo["areay_type"] = info["code"];
  83. type = info["title"];
  84. }
  85. if (id == 0) {
  86. caption = "添加(" + type + ")信息";
  87. } else {
  88. caption = "编辑(" + type + ")信息";
  89. }
  90. layui.use(['layer', 'form'], function() {
  91. layui.layer.open({
  92. type: 2,
  93. resize: false,
  94. scrollbar: false,
  95. title: caption,
  96. area: areaSize,
  97. content: url
  98. });
  99. });
  100. },
  101. GetRelationInfo: function(root, code) {
  102. var result = {
  103. "code": "",
  104. "title": ""
  105. }
  106. var data = BasicAreaObject.RelationTable;
  107. if (data != null && data.length > 0) {
  108. for (var i = 0; i < data.length; i++) {
  109. if (root) {
  110. if (data[i]["code"] == code) {
  111. result["code"] = data[i]["code"];
  112. result["title"] = data[i]["title"];
  113. return result;
  114. }
  115. } else if (data[i]["parentcode"] == code) {
  116. result["code"] = data[i]["code"];
  117. result["title"] = data[i]["title"];
  118. return result;
  119. }
  120. }
  121. }
  122. },
  123. FastSearch: function(id, name) {
  124. if (name == null) {
  125. name = $.trim($("#text_name").val());
  126. }
  127. var parameter = {
  128. "name": name,
  129. "area_kind": $("#text_station_type").val(),
  130. "area_level": $("#text_voltage_level").val()
  131. };
  132. layui.table.reload('search_div', {
  133. page: {
  134. pageIndex: 1,
  135. },
  136. where: parameter
  137. });
  138. },
  139. ResetSearch: function() {
  140. $("#text_name,#text_station_type,#text_voltage_level").val('');
  141. this.FastSearch();
  142. },
  143. SearchArea: function() {
  144. var columns = [
  145. [{
  146. field: "area_name",
  147. title: '名称',
  148. sort: true
  149. }, {
  150. field: "type_name",
  151. title: '组织类型'
  152. }, {
  153. field: "area_level",
  154. title: '电压等级',
  155. templet: function(data) {
  156. var txt = "未知";
  157. if (data.area_level == null || data.area_level == "" || data.area_level == 0) return txt;
  158. for (var i = 0; i < BasicAreaObject.VoltageLevel.length; i++) {
  159. var tmp = BasicAreaObject.VoltageLevel[i]["id"];
  160. if (tmp == data.area_level) return BasicAreaObject.VoltageLevel[i]["name"];
  161. }
  162. return txt;
  163. }
  164. }, {
  165. field: "area_kind",
  166. title: '变电站类型',
  167. templet: function(data) {
  168. var txt = "未知";
  169. if (data.area_kind == null || data.area_kind == "" || data.area_kind == 0) return txt;
  170. for (var i = 0; i < BasicAreaObject.StationType.length; i++) {
  171. var tmp = BasicAreaObject.StationType[i]["id"];
  172. if (tmp == data.area_kind) return BasicAreaObject.StationType[i]["name"];
  173. }
  174. return txt;
  175. }
  176. }, {
  177. field: "ct",
  178. title: '创建时间',
  179. align: "center",
  180. sort: true
  181. }, {
  182. fixed: 'right',
  183. title: "操作",
  184. width: 150,
  185. align: 'center',
  186. toolbar: '#row_operator'
  187. }]
  188. ];
  189. var parameter = {
  190. elem: "#table_area_list",
  191. url: Global.AccessUrl + "/api/basic_area/list?pid=" + (BasicAreaObject.AreaInfo.id || '0'),
  192. id: "search_div",
  193. cols: columns,
  194. height: $(".main-body").height() - $("#opt_caption").height() - $(".layui-elem-quote:first").height() - $("#search_div").height() - 50
  195. };
  196. Tools.BindTable(parameter);
  197. },
  198. SaveArea: function(parameter) {
  199. $.post(Global.AccessUrl + "/api/basic_area/save", parameter, function(result) {
  200. if (result["code"] == 0) {
  201. parent.layer.closeAll();
  202. BasicAreaObject.FastSearch(BasicAreaObject.AreaInfo["id"], "");
  203. //BasicAreaObject.LoadTree(BasicAreaObject.AreaInfo["id"]);
  204. //更新树节点
  205. var nodes = Global.Ztree.zTreeObj.getSelectedNodes();
  206. if (nodes.length > 0) {
  207. if (nodes[0].id != parameter.id) {
  208. var tNode = Global.Ztree.zTreeObj.getNodeByParam("id", parameter.id, null);
  209. if (tNode != null && tNode.title != parameter.area_name) {
  210. //修改记录
  211. tNode.title = parameter.area_name;
  212. Global.Ztree.zTreeObj.updateNode(tNode, true);
  213. }
  214. } else {
  215. if (!nodes[0].isParent) {
  216. //没有子节点的节点处理
  217. nodes[0].isParent = true;
  218. Global.Ztree.zTreeObj.updateNode(nodes[0], true);
  219. }
  220. Global.Ztree.zTreeObj.reAsyncChildNodes(nodes[0], "refresh");
  221. }
  222. }
  223. if (parameter["floor"]) {
  224. parameter = {
  225. "equid": parameter["equid"],
  226. "areaid": result["data"]
  227. };
  228. $.post(Global.AccessUrl + "/api/qui/setarea", parameter, function(result) {});
  229. }
  230. } else {
  231. layer.tips(result["msg"], {
  232. tips: [3, "#f47920"]
  233. });
  234. }
  235. });
  236. },
  237. DeleteArea: function(id, isall) {
  238. $.post(Global.AccessUrl + "/api/basic_area/del", {
  239. "id": id,
  240. "isall": (isall == null ? "" : isall)
  241. }, function(returnData) {
  242. if (returnData["code"] == 0) {
  243. //同步删除树节点
  244. var tNode = Global.Ztree.zTreeObj.getNodeByParam("id", id, null);
  245. if (tNode != null) {
  246. Global.Ztree.zTreeObj.removeNode(tNode, true);
  247. }
  248. parent.layer.closeAll();
  249. } else {
  250. layer.msg(returnData["msg"]);
  251. return;
  252. }
  253. parent.BasicAreaObject.SearchArea();
  254. });
  255. }
  256. }