<template>
  <div>
    <div style="margin:2px 2px 2px 2px;">
      <el-input  placeholder="输入关键字进行过滤" v-model="filterText" size="small" />
    </div>
    <div :style="'overflow: scroll;height:' +(window.pageHeight < 600 ? 410 : window.pageHeight - 190) + 'px;'">
      <el-tree :data="dataTransOpts.tableM.menu_info" :props="customerOrg.treeprops" 
        node-key="id" :filter-node-method="filterNode"
        :default-expanded-keys="customerOrg.defaultExpandedKeys" 
        @node-click="treeclick" highlight-current ref="customerOrgTree"/>
    </div>
  </div>
</template>
<script>
import { mapState, mapMutations } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { tcdate } from "../../utlis/proFunc";


export default {
  components: {},
  data() {
    return {
      filterText:''
    };
  },
  //<el-tree :data="$store.state.customerOrg.customerOrgTree" :props="$store.state.customerOrg.treeprops" @node-click="treeclick"></el-tree>
  computed: {
    ...mapState(["window", "dataTransOpts", "customerOrg" ]),
  },

  //创建组件后
  created() {    
  },

  //挂载组件完成
  mounted() {
    //获取体检单位列表树信息
    this.getMenuInfoTree();
  },

  methods: {
    ...mapMutations(["setData"]),

    //获取体检单位列表树信息
    getMenuInfoTree() {  
      getapi("/api/app/menuinfo/getmenuinfotreelist").then((res) => {
        if(res.code != -1){
          this.dataTransOpts.tableM.menu_info = res.data
          tcdate(this.dataTransOpts.tableM.menu_info);
        }
      });
    },

    //点击树节点
    treeclick(data) {
      this.dataTransOpts.tableS.menu_info.id = data.id;
      setTimeout(() => {
        this.dataTransOpts.refresh.menu_info.S++
      }, 20);      
    },

    //树过滤
    filterNode(value, data) {
      //console.log(value,data)
      if (!value) return true;
      return data['displayName'].indexOf(value) !== -1 || data['simpleCode'].indexOf(value.toUpperCase()) !== -1;
    }
  },

  watch: {
    "customerOrg.treeCurrentNodekey"(newVal,oldVal){
      //console.log('watch:customerOrg.treeCurrentNodekey',newVal,oldVal)
      if(newVal && newVal != oldVal){
        this.$nextTick(() => {
          this.$refs['customerOrgTree'].setCurrentKey(newVal);
        })
      }
    }, 

    "filterText"(newVal,oldVal){ //过滤菜单
      this.$refs['customerOrgTree'].filter(newVal);
    }
  },
 
};
</script>
<style scoped>
@import "../../assets/css/global.css";
@import "../../assets/css/global_tree.css";
</style>
