<template>
  <div id="app">
    <!-- <input type="text" v-model="searchValue" @input="onChange"> -->
    <tree :data="data" showLine :defaultSelectedKeys="defaultSelectedKeys" @onSelect="onSelect"></tree>
  </div>
</template>

<script>
import tree from './components/tree/tree.vue'
// import { generateData } from './util'

// const x = 3
// const y = 2
// const z = 1
// const gData = []

// const generateData = (_level, _preKey, _tns) => {
//   const preKey = _preKey || '0'
//   const tns = _tns || gData

//   const children = []
//   for (let i = 0; i < x; i++) {
//     const key = `${preKey}-${i}`
//     tns.push({ title: key, key })
//     if (i < y) {
//       children.push(key)
//     }
//   }
//   if (_level < 0) {
//     return tns
//   }
//   const level = _level - 1
//   children.forEach((key, index) => {
//     tns[index].children = []
//     return generateData(level, key, tns[index].children)
//   })
// }
// generateData(z)

// const dataList = []
// const generateList = (data) => {
//   for (let i = 0; i < data.length; i++) {
//     const node = data[i]
//     const key = node.key
//     dataList.push({ key, title: key })
//     if (node.children) {
//       generateList(node.children, node.key)
//     }
//   }
// }
// generateList(gData)

// const getParentKey = (key, tree) => {
//   let parentKey
//   for (let i = 0; i < tree.length; i++) {
//     const node = tree[i]
//     if (node.children) {
//       if (node.children.some(item => item.key === key)) {
//         parentKey = node.key
//       } else if (getParentKey(key, node.children)) {
//         parentKey = getParentKey(key, node.children)
//       }
//     }
//   }
//   return parentKey
// }

export default {
  name: 'app',
  components: {
    tree
  },
  data () {
    return {
      searchValue: '',
      // data: gData,
      data: [{ 'disabled': true, 'address': '测试', 'children': [{ 'address': '深圳', 'children': [{ 'address': '深圳', 'children': [{ 'address': '深圳', 'children': [], 'createTime': 1502232067000, 'depth': 4, 'email': '1232@qq.com', 'id': '895233471892754434', 'level': '10', 'title': '开发部', 'key': '000100010001', 'parentId': '00010001', 'principal': null, 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }, { 'address': '深圳', 'children': [], 'createTime': 1502287363000, 'depth': 4, 'email': '123@wq.com', 'id': '895465401267589121', 'level': '10', 'title': '测试1', 'key': '000100010002', 'parentId': '00010001', 'principal': 'sjj', 'principalName': '津', 'remarks': null, 'status': 1, 'telphone': null, 'users': null }, { 'address': '深圳市小安时代', 'children': [], 'createTime': 1502633708000, 'depth': 4, 'email': '12345@qq.com', 'id': '896918078430171137', 'level': '10', 'title': '审计部', 'key': '000100010003', 'parentId': '00010001', 'principal': 'yyzz', 'principalName': '杨延昭', 'remarks': '测试', 'status': 1, 'telphone': '74185296374', 'users': null }, { 'address': '深圳市小安时代', 'children': [], 'createTime': 1502633807000, 'depth': 4, 'email': '123@qq.com', 'id': '896918492147929090', 'level': '11', 'title': '出纳部', 'key': '000100010004', 'parentId': '00010001', 'principal': '345595274328858624', 'principalName': null, 'remarks': '测试', 'status': 1, 'telphone': '36985214789', 'users': null }], 'createTime': 1502231954000, 'depth': 3, 'email': '123@qq.com', 'id': '895232995931525121', 'level': '10', 'title': '财务部', 'key': '00010001', 'parentId': '0001', 'principal': null, 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }, { 'address': '深圳', 'children': [{ 'address': '深圳', 'children': [], 'createTime': 1502232092000, 'depth': 4, 'email': '1232qq.com', 'id': '895233575475286017', 'level': '10', 'title': '开发部', 'key': '000100020001', 'parentId': '00010002', 'principal': null, 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }, { 'address': '深圳', 'children': [], 'createTime': 1502232180000, 'depth': 4, 'email': '1232qq.com', 'id': '895233946302091265', 'level': '10', 'title': '研发部', 'key': '000100020002', 'parentId': '00010002', 'principal': null, 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }], 'createTime': 1502231981000, 'depth': 3, 'email': '123@qq.com', 'id': '895233113242013697', 'level': '10', 'title': '科技运营中心', 'key': '00010002', 'parentId': '0001', 'principal': null, 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }], 'createTime': 1502231812000, 'depth': 2, 'email': '123@qq.com', 'id': '895232403511250946', 'level': '10', 'title': '小安时代', 'key': '0001', 'parentId': '001', 'principal': '{}', 'principalName': null, 'remarks': '{}', 'status': 1, 'telphone': '{}', 'users': null }, { 'address': '地址', 'children': [], 'createTime': 1502289812000, 'depth': 2, 'email': '1234598798@qq.com', 'id': '895475670534393858', 'level': '11', 'title': '财务部', 'key': '001001', 'parentId': '001', 'principal': 'sjj', 'principalName': '津', 'remarks': '测试', 'status': 1, 'telphone': '174185296', 'users': null }], 'createTime': 1502263669000, 'depth': 1, 'email': '1224@qq.com', 'id': '895184826288627714', 'level': '11', 'title': '呵呵时代', 'key': '001', 'parentId': '1', 'principal': 'yyzz', 'principalName': '杨延昭', 'remarks': '备注', 'status': 1, 'telphone': '78945612345', 'users': null }, { 'address': '深圳', 'children': [{ 'address': '深圳', 'children': [{ 'address': '深圳', 'children': [], 'createTime': 1502314643000, 'depth': 3, 'email': '741@qq.com', 'id': '895579820026884098', 'level': '11', 'title': '客服部', 'key': '002001001', 'parentId': '002001', 'principal': null, 'principalName': null, 'remarks': '1223', 'status': 1, 'telphone': '78965412374', 'users': null }], 'createTime': 1502314520000, 'depth': 2, 'email': '465655@qq.com', 'id': '895579306929287170', 'level': '10', 'title': '运营中心', 'key': '002001', 'parentId': '002', 'principal': null, 'principalName': null, 'remarks': '测试机构编码规则', 'status': 1, 'telphone': '74185296314', 'users': null }, { 'address': null, 'children': [{ 'address': null, 'children': [], 'createTime': 1503894488000, 'depth': 3, 'email': null, 'id': '902024978392715266', 'level': '10', 'title': '开发部', 'key': '002002001', 'parentId': '002002', 'principal': '345599791134724096', 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }], 'createTime': 1503323481000, 'depth': 2, 'email': null, 'id': '899811194569003009', 'level': '10', 'title': '科技运营中心', 'key': '002002', 'parentId': '002', 'principal': '882078191977861120', 'principalName': null, 'remarks': null, 'status': 1, 'telphone': null, 'users': null }], 'createTime': 1502293371000, 'depth': 1, 'email': '12345678@qq.com', 'id': '895490642341576706', 'level': '10', 'title': '小安时代', 'key': '002', 'parentId': '1', 'principal': 'sjj', 'principalName': '津', 'remarks': '测试', 'status': 1, 'telphone': '74185296321', 'users': null }],

      defaultSelectedKeys: []
    }
  },
  methods: {
    // onChange () {
    //   const value = this.searchValue
    //   const expandedKeys = dataList.map((item) => {
    //     if (item.key.indexOf(value) > -1) {
    //       return getParentKey(item.key, gData)
    //     }
    //     return null
    //   }).filter((item, i, self) => item && self.indexOf(item) === i)
    //   this.expandedKeys = expandedKeys
    // },
    // titleRender: (h, params) => {
    //   const {node} = params
    //   const index = node.eventKey.indexOf(params._self.searchValue)
    //   const beforeStr = node.eventKey.substr(0, index)
    //   const afterStr = node.eventKey.substr(index + params._self.searchValue.length)
    //   const title = index > -1 ? (
    //     <span class={`${node.prefixCls}-title`}>
    //       {beforeStr}
    //       <span style={{ color: '#f50' }}>{params._self.searchValue}</span>
    //       {afterStr}
    //     </span>
    //   ) : <span class={`${node.prefixCls}-title`}>{node.title}</span>
    //   return title
    // },
    onSelect (selectedKeys) {
      console.log(selectedKeys)
    }
  },
  created () {

  }
}

</script>

