<template>
    <Tree ref="treRef" :width="width" :data="tree" @changePointType="changePointType" />
</template>

<script lang="ts" setup>
import { ref, nextTick } from 'vue'
import Tree from '../point.vue'
import { getLineTree } from '@/api/cs-device-boot/csLedger'
import { useConfig } from '@/stores/config'
defineOptions({
    name: 'govern/deviceTree'
})
const emit = defineEmits(['init', 'checkChange', 'pointTypeChange'])
const config = useConfig()
const tree = ref()
const treRef = ref()
const width = ref('')
const changePointType = (val: any, obj: any) => {
    emit('pointTypeChange', val, obj)
}
getLineTree().then(res => {
    let arr1: any[] = []
    let arr2: any[] = []
    //治理设备
    res.data.map((item: any) => {
        if (item.name == '治理设备') {
            item.children.forEach((item: any) => {
                item.icon = 'el-icon-HomeFilled'
                item.color = config.getColorVal('elementUiPrimary')
                item.children.forEach((item2: any) => {
                    item2.icon = 'el-icon-List'
                    item2.color = config.getColorVal('elementUiPrimary')
                    item2.children.forEach((item3: any) => {
                        item3.icon = 'el-icon-Platform'
                        item3.color =
                            item3.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
                        item3.children.forEach((item4: any) => {
                            item4.icon = 'el-icon-Platform'
                            item4.color =
                                item4.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
                            // item4.color = '#e26257 !important'
                            arr1.push(item4)
                        })
                    })
                })
            })
        } else if (item.name == '便携式设备') {
            item.children.forEach((item: any) => {
                item.icon = 'el-icon-Platform'
                item.color = config.getColorVal('elementUiPrimary')
                item.color = item.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
                item.children.forEach((item2: any) => {
                    item2.icon = 'el-icon-Platform'
                    item2.color = item2.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
                    arr2.push(item2)
                })
            })
        }
    })
    tree.value = res.data
    nextTick(() => {
        if (arr1.length) {
            //初始化选中
            treRef.value.treeRef1.setCurrentKey(arr1[0].id)
            // 注册父组件事件
            emit('init', {
                level: 2,
                ...arr1[0]
            })
        }
        // if (arr2.length) {
        //     //初始化选中
        //     treRef.value.treeRef2.setCurrentKey(arr2[0].id)
        //     // 注册父组件事件
        //     emit('init', {
        //         level: 2,
        //         ...arr2[0]
        //     })
        // }
        else {

            emit('init',arr2[0])
        }
    })
})
</script>
