| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- <template>
- <div class="menu_tree">
- <el-tree
- :highlight-current="true"
- style="height:100%;"
- :data="treeData"
- node-key="id"
- :expand-on-click-node="false"
- @node-click="treeNodeClickHandler"
- @node-expand="treeOpened"
- ref="jigou_tree"
- >
- <span class="custom-tree-node" slot-scope="{ node, data }">
- <span>{{ data.pnm}}</span>
- </span>
- </el-tree>
- </div>
- </template>
- <script>
- // import request from "../../utils/gw_ajax_request.js";
- import request from "../utils/gw_ajax_request.js";
- import { getDcdxList} from "../api/duChaPlan.js";
- export default {
- components: {},
- props: ["orgType"],
- data() {
- return {
- treeTypeData: [],
- dataN: [],
- treeData: [],
- dczInfo: {},
- treeParams: {
- guid: "",
- userId: "",
- type: "",
- code: ""
- },
- currentSelectTreeNodeId: "",
- staticJIGOUData: {
- "100": "水利部",
- "101": "长江水利委员会",
- "102": "黄河水利委员会",
- "103": "淮河水利委员会",
- "104": "海河水利委员会",
- "105": "珠江水利委员会",
- "106": "松辽水利委员会",
- "107": "太湖流域管理局",
- "108": "中国水利水电科学研究院",
- "109": "中国灌溉排水发展中心",
- "110": "部督查办"
- }
- };
- },
- computed: {
- userId: function() {
- return localStorage.getItem("userid")
- ? localStorage.getItem("userid")
- : "1098101939614724096";
- },
- userInAllNode: function() {
- //当前登录用户所在的所有组信息
- return JSON.parse(localStorage.getItem("allNode"))
- ? JSON.parse(localStorage.getItem("allNode"))
- : [];
- },
- guId: function() {
- return localStorage.getItem("guid")
- ? localStorage.getItem("guid")
- : "000";
- },
- orgName() {
- return localStorage.getItem("orgName")
- ? localStorage.getItem("orgName")
- : "";
- },
- userType() {
- return localStorage.getItem("userType")
- ? localStorage.getItem("userType")
- : "1";
- }
- },
- mounted() {
- // this.assemblyTreeData();
- this.getLeftTreeData();
- },
- watch: {
- pageType: function(n, o) {
- // alert(n);
- }
- },
- methods: {
- treeSubmit() {
- this.$emit("closeTree", 0);
- },
- //根据用户id获取左侧树
- //根据用户id获取左侧树
- getLeftTreeData() {
- var _self = this;
- request
- .get("/dc/organization/base/getAllNode", {
- params: { userId: this.userId, orgType: this.orgType }
- })
- .then(res => {
- let data = res.data;
- data.forEach(ele => {
- if (ele.pid == null || ele.pid == "") {
- ele.pid = "001";
- }
- });
- data = _self.getTrees(data, data[0].pid);
- _self.treeData = data;
- for (var i = 0; i < _self.treeData[0].children.length; i++) {
- getDcdxList(
- _self.treeData[0].children[i].id,
- 2,
- 100,
- ).then(response => {
- let res = response.data;
- });
- }
- _self.currentSelectTreeNodeId = _self.treeData[0].id;
- // _self.duChaType = _self.treeData[0].id.substring(2,3);
- });
- },
- //格式化树形数据
- getTrees(list, pId) {
- let items = {};
- // 获取每个节点的直属子节点,*记住是直属,不是所有子节点
- for (let i = 0; i < list.length; i++) {
- let key = list[i].parentId ? list[i].parentId : list[i].pid;
- if (items[key]) {
- items[key].push(list[i]);
- } else {
- items[key] = [];
- items[key].push(list[i]);
- }
- }
- return this.formatTree(items, pId);
- },
- /**利用递归格式化每个节点**/
- formatTree(items, pId) {
- let result = [];
- if (!items[pId]) {
- return result;
- }
- for (let t of items[pId]) {
- t.children = this.formatTree(items, t.id);
- result.push(t);
- }
- return result;
- },
- treeOpened(data, node, tree) {
- this.currentSelectTreeNodeName = data.name;
- this.currentSelectTreeNodeCode = data.code;
- this.currentSelectTreeNodeType = data.type;
- this.currentSelectTreeNodeId = data.id;
- if (data.type == "3") {
- this.plnaTreeCode = data.code;
- this.plnaTreeName = data.name;
- this.plnaTreeType = data.type;
- }
- },
- treeNodeClickHandler: function(data, node, tree) {
- this.currentSelectTreeNodeName = data.name;
- this.currentSelectTreeNodeCode = data.code;
- this.currentSelectTreeNodeType = data.type;
- this.currentSelectTreeNodeId = data.id;
- if (data.type == "3") {
- this.plnaTreeCode = data.code;
- this.plnaTreeName = data.name;
- this.plnaTreeType = data.type;
- }
- }
- }
- };
- </script>
- <style>
- .menu_tree {
- z-index: 20;
- width: 100%;
- border: solid 1px #eee;
- background-color: #fff;
- }
- </style>
|