关于树状图循环获取点位list里面的code集合

1、//获取设备点位服务

const getDataPositionTree = async () => {
	const res = await http.getDataPositionTree({})
	if (res && res.success) {
		// console.log('res值', res)
		const data = res.data
		state.treeData = data.positionList ? data.positionList : [] //点位
		state.positionData = data.deviceMap ? data.deviceMap : {} //设备
		const arr = []
		for (let i in data.deviceMap) {
			arr.push(i)
		}
		state.positionIds = arr
		state.defaultChecked = arr
		state.positionDataList = data.positionList ? data.positionList : [] //点位list
		getEquipmentList()
	} else {
		utils.message('error', res.info, 3000)
	}
}

2、从设备树中选择

const handleCheckChange = (data, checked) => {
	// console.log('拉拉选择', checked)
	const arr = []
	for (let i in checked.checkedNodes) {
		if (checked.checkedNodes[i].positionId == null) {
		} else {
			arr.push(checked.checkedNodes[i].positionId)
		}
	}
	state.positionIds = arr
	// console.log('选中的positionIds', state.positionIds)
	// console.log('点位list', state.positionDataList)
	state.checkedCode = []
	//调用方法
	treeMethod(state.positionDataList)
}

3、循环树状结构,获取code

const treeMethod = (allPositions) => {
	for (let i in allPositions) {
		console.log('arr', allPositions[i])
		for (let j in state.positionIds) {
			if (state.positionIds[j] == allPositions[i].id) {
				state.checkedCode.push(allPositions[i].code)
			}
		}
		if (allPositions[i].children) {
			treeMethod(allPositions[i].children)
		}
	}
	// console.log('获取到code', state.checkedCode)
}```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值