1992a5b67a8fa23ce098faae7c2d9e3afb1eac2e.svn-base 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <template>
  2. <div class="menu_tree">
  3. <el-tree
  4. :highlight-current="true"
  5. style="height:100%;"
  6. :data="treeData"
  7. node-key="id"
  8. :expand-on-click-node="false"
  9. @node-click="treeNodeClickHandler"
  10. @node-expand="treeOpened"
  11. ref="jigou_tree"
  12. >
  13. <span class="custom-tree-node" slot-scope="{ node, data }">
  14. <span>{{ data.pnm}}</span>
  15. </span>
  16. </el-tree>
  17. </div>
  18. </template>
  19. <script>
  20. // import request from "../../utils/gw_ajax_request.js";
  21. import request from "../utils/gw_ajax_request.js";
  22. import { getDcdxList} from "../api/duChaPlan.js";
  23. export default {
  24. components: {},
  25. props: ["orgType"],
  26. data() {
  27. return {
  28. treeTypeData: [],
  29. dataN: [],
  30. treeData: [],
  31. dczInfo: {},
  32. treeParams: {
  33. guid: "",
  34. userId: "",
  35. type: "",
  36. code: ""
  37. },
  38. currentSelectTreeNodeId: "",
  39. staticJIGOUData: {
  40. "100": "水利部",
  41. "101": "长江水利委员会",
  42. "102": "黄河水利委员会",
  43. "103": "淮河水利委员会",
  44. "104": "海河水利委员会",
  45. "105": "珠江水利委员会",
  46. "106": "松辽水利委员会",
  47. "107": "太湖流域管理局",
  48. "108": "中国水利水电科学研究院",
  49. "109": "中国灌溉排水发展中心",
  50. "110": "部督查办"
  51. }
  52. };
  53. },
  54. computed: {
  55. userId: function() {
  56. return localStorage.getItem("userid")
  57. ? localStorage.getItem("userid")
  58. : "1098101939614724096";
  59. },
  60. userInAllNode: function() {
  61. //当前登录用户所在的所有组信息
  62. return JSON.parse(localStorage.getItem("allNode"))
  63. ? JSON.parse(localStorage.getItem("allNode"))
  64. : [];
  65. },
  66. guId: function() {
  67. return localStorage.getItem("guid")
  68. ? localStorage.getItem("guid")
  69. : "000";
  70. },
  71. orgName() {
  72. return localStorage.getItem("orgName")
  73. ? localStorage.getItem("orgName")
  74. : "";
  75. },
  76. userType() {
  77. return localStorage.getItem("userType")
  78. ? localStorage.getItem("userType")
  79. : "1";
  80. }
  81. },
  82. mounted() {
  83. // this.assemblyTreeData();
  84. this.getLeftTreeData();
  85. },
  86. watch: {
  87. pageType: function(n, o) {
  88. // alert(n);
  89. }
  90. },
  91. methods: {
  92. treeSubmit() {
  93. this.$emit("closeTree", 0);
  94. },
  95. //根据用户id获取左侧树
  96. //根据用户id获取左侧树
  97. getLeftTreeData() {
  98. var _self = this;
  99. request
  100. .get("/dc/organization/base/getAllNode", {
  101. params: { userId: this.userId, orgType: this.orgType }
  102. })
  103. .then(res => {
  104. let data = res.data;
  105. data.forEach(ele => {
  106. if (ele.pid == null || ele.pid == "") {
  107. ele.pid = "001";
  108. }
  109. });
  110. data = _self.getTrees(data, data[0].pid);
  111. _self.treeData = data;
  112. for (var i = 0; i < _self.treeData[0].children.length; i++) {
  113. getDcdxList(
  114. _self.treeData[0].children[i].id,
  115. 2,
  116. 100,
  117. ).then(response => {
  118. let res = response.data;
  119. });
  120. }
  121. _self.currentSelectTreeNodeId = _self.treeData[0].id;
  122. // _self.duChaType = _self.treeData[0].id.substring(2,3);
  123. });
  124. },
  125. //格式化树形数据
  126. getTrees(list, pId) {
  127. let items = {};
  128. // 获取每个节点的直属子节点,*记住是直属,不是所有子节点
  129. for (let i = 0; i < list.length; i++) {
  130. let key = list[i].parentId ? list[i].parentId : list[i].pid;
  131. if (items[key]) {
  132. items[key].push(list[i]);
  133. } else {
  134. items[key] = [];
  135. items[key].push(list[i]);
  136. }
  137. }
  138. return this.formatTree(items, pId);
  139. },
  140. /**利用递归格式化每个节点**/
  141. formatTree(items, pId) {
  142. let result = [];
  143. if (!items[pId]) {
  144. return result;
  145. }
  146. for (let t of items[pId]) {
  147. t.children = this.formatTree(items, t.id);
  148. result.push(t);
  149. }
  150. return result;
  151. },
  152. treeOpened(data, node, tree) {
  153. this.currentSelectTreeNodeName = data.name;
  154. this.currentSelectTreeNodeCode = data.code;
  155. this.currentSelectTreeNodeType = data.type;
  156. this.currentSelectTreeNodeId = data.id;
  157. if (data.type == "3") {
  158. this.plnaTreeCode = data.code;
  159. this.plnaTreeName = data.name;
  160. this.plnaTreeType = data.type;
  161. }
  162. },
  163. treeNodeClickHandler: function(data, node, tree) {
  164. this.currentSelectTreeNodeName = data.name;
  165. this.currentSelectTreeNodeCode = data.code;
  166. this.currentSelectTreeNodeType = data.type;
  167. this.currentSelectTreeNodeId = data.id;
  168. if (data.type == "3") {
  169. this.plnaTreeCode = data.code;
  170. this.plnaTreeName = data.name;
  171. this.plnaTreeType = data.type;
  172. }
  173. }
  174. }
  175. };
  176. </script>
  177. <style>
  178. .menu_tree {
  179. z-index: 20;
  180. width: 100%;
  181. border: solid 1px #eee;
  182. background-color: #fff;
  183. }
  184. </style>