Interactivetree.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <div class="office-tree">
  3. <tree
  4. v-if="zTreeNodes"
  5. :height="height"
  6. :nodes="zTreeNodes"
  7. :parent="parent"
  8. :triggerNodeId="triggerNodeId"
  9. :layerid="layerid"
  10. @click="triggerNodeClick(triggerNodeId)"
  11. :checkEnable="checkEnable"
  12. ref="tree"></tree>
  13. </div>
  14. </template>
  15. <script>
  16. import { getMeneData } from '@/api/operation/gei/dataMenu'
  17. import Tree from '@/components/Tree'
  18. export default {
  19. components: {
  20. Tree
  21. },
  22. data () {
  23. return {
  24. parent: this.tparent,
  25. zTreeNodes: null,
  26. }
  27. },
  28. props: ["params", "nodes", "height", "level", "parentId", "tparent", "triggerNodeId", "layerid","checkEnable"],
  29. mounted () {
  30. this.parent = this.tparent || this.$parent;
  31. var level = this.level;
  32. getMeneData().then(result => {
  33. console.log(result)
  34. let zTreeNodes =[]
  35. for(let k=0;k<20;k++){
  36. zTreeNodes.push(result.data[k])
  37. }
  38. for(var i =0 ;i<20;i++) {
  39. zTreeNodes[i].pid = zTreeNodes[i].levelIndex;
  40. zTreeNodes[i].name = zTreeNodes[i].indexName;
  41. zTreeNodes[i].open = true;
  42. }
  43. this.zTreeNodes = zTreeNodes;
  44. console.log(this.zTreeNodes)
  45. this.$nextTick(() => {
  46. this.$emit('initTreeDataAfter');
  47. });
  48. });
  49. },
  50. methods: {
  51. getTree: function() {
  52. return this.$refs.tree;
  53. },
  54. triggerNodeClick: function (id) {
  55. console.log(id);
  56. var tree = this.getTree();
  57. tree.triggerNodeClick(id);
  58. },
  59. getFilePath(nodeId){
  60. let ztree = this.getTree().zTree;
  61. var treeNode = ztree.getNodeByParam("id", nodeId);
  62. if (treeNode == null) return "";
  63. var name = treeNode.name;
  64. var pNode = treeNode.getParentNode();
  65. if (pNode != null) {
  66. name = this.getFilePath(pNode.id) + " / " + name;
  67. name = this.getFilePath(pNode.id) + " / " + name;
  68. }
  69. return name;
  70. },
  71. }
  72. }
  73. </script>
  74. <style scoped>
  75. </style>