直接上代码:
<el-tree
:data="treeData"
show-checkbox
node-key="id"
:default-expand-all="true"
:check-on-click-node="false"
@check="setCarToList"
:props="defaultProps"
class="filter-tree"
:filter-node-method="this.select==='1'?filterNode:filterNode1"
ref="tree"
>
<span slot-scope="{ node, data }">
<span>
<template v-if="data.flag === 'car'">
<template v-if="data.carInfo.zhuangtai === '在线'">
<img src="@/assets/images/shouye/zaixian.png" alt="车辆图标" style="width:15px;height:15px;">
</template>
<template v-if="data.carInfo.zhuangtai === '离线'">
<img src="@/assets/images/shouye/lixian.png" alt="车辆图标" style="width:15px;height:15px;">
</template>
</template>
<template v-if="data.flag === 'dept'">
<img src="@/assets/images/shouye/dept.png" alt="单位图标" style="width:15px;height:15px;">
</template>
</span>
<span style="font-size:14px">{{ node.label }}</span>
<template v-if="data.flag === 'dept'">
<span style="font-size:14px"> [{{ data.online }}/{{ data.total }}]</span>
</template>
<template v-if="data.flag === 'car'">
<span style="font-size:14px"> ({{ data.sheng }} {{ data.carInfo.zhuangtai }})</span>
</template>
</span>
</el-tree>
实现效果如下:
数据定义:
treeData: [
{
id: 1,
label: "一级单位1",
flag:"dept",
total:10,//总数
online:1,//在线数
children: [
{
id: 4,
label: "二级单位1-1" ,
flag:"dept",
total:10,//总数
online:1,//在线数
children: [
{
id: 9,
label: "三级单位1-1-1" ,
flag:"dept",
total:10,//总数
online:1,//在线数
children: [
{
id: 12,
label: "甘A34567",
flag:"car",
sheng:"甘肃省",
shi:"",
qu:"",
carInfo: {
startOff: true,
cheliangid:64,
cheliangmingcheng: "甘A34567",
shishisudu: "10km/h",
fuwuqishijian: "2021-08-05 09:10",
shebeishijian: "2021-08-05 09:10",
shebeibianma: "bfdddd",
liuliangkahao: "1245682248",
suoshukehu: "三级单位1-1-1",
dianhuozhuangtai: "主电开",
zonglicheng: "2000",
dangrilicheng: "20",
chezhuName: "张继科",
chezhuPhone: "12345698451",
anzhuangshijian: "2020-10-26",
dangritangshu: "1",
jingdu: "119.479321",
weidu: "39.938574",
shebeiIMIS: "wewwwwwww",
beizhu: "wu",
youliang1: "110",
youliang2: "256",
zongyouliang: "366",
jiluyisudu: "10km/h",
jiashiyuanName: "温顿瑟夫",
jiashiyuanPhone: "123456789645",
huichuanshijian: "",
guoqishijian: "",
wendu: "10",
shidu: "23",
baojing: "超速",
zhuangtai: "在线",
weizhi: "甘肃省兰州市城关区雁南街道雁滩路甘肃人防大厦西45米",
},
},
{
id: 14,
label: "甘B45343",
flag:"car",
sheng:"甘肃省",
shi:"",
qu:"",
carInfo: {
startOff: true,
cheliangid:65,
cheliangmingcheng: "甘B45343",
shishisudu: "10km/h",
fuwuqishijian: "2021-08-05 09:10",
shebeishijian: "2021-08-05 09:10",
shebeibianma: "bfdddd",
liuliangkahao: "1245682248",
suoshukehu: "三级单位1-1-1",
dianhuozhuangtai: "主电开",
zonglicheng: "2000",
dangrilicheng: "20",
chezhuName: "张继科",
chezhuPhone: "12345698451",
anzhuangshijian: "2020-10-26",
dangritangshu: "1",
jingdu: "115.795795",
weidu: "40.000893",
shebeiIMIS: "wewwwwwww",
beizhu: "wu",
youliang1: "110",
youliang2: "256",
zongyouliang: "366",
jiluyisudu: "10km/h",
jiashiyuanName: "温顿瑟夫",
jiashiyuanPhone: "123456789645",
huichuanshijian: "",
guoqishijian: "",
wendu: "10",
shidu: "23",
baojing: "疲劳驾驶",
zhuangtai: "在线",
weizhi: "甘肃省兰州市城关区雁南街道雁滩路甘肃人防大厦西45米",
},
},
],
},
{
id: 10,
label: "甘C34567",
flag:"car",
sheng:"甘肃省",
shi:"",
qu:"",
carInfo: {
startOff: true,
cheliangid:66,
cheliangmingcheng: "甘C34567",
shishisudu: "10km/h",
fuwuqishijian: "2021-08-05 09:10",
shebeishijian: "2021-08-05 09:10",
shebeibianma: "bfdddd",
liuliangkahao: "1245682248",
suoshukehu: "二级单位1-1",
dianhuozhuangtai: "主电开",
zonglicheng: "2000",
dangrilicheng: "20",
chezhuName: "张继科",
chezhuPhone: "12345698451",
anzhuangshijian: "2020-10-26",
dangritangshu: "1",
jingdu: "115.862836",
weidu: "39.726753",
shebeiIMIS: "wewwwwwww",
beizhu: "wu",
youliang1: "110",
youliang2: "256",
zongyouliang: "366",
jiluyisudu: "10km/h",
jiashiyuanName: "温顿瑟夫",
jiashiyuanPhone: "123456789645",
huichuanshijian: "",
guoqishijian: "",
wendu: "10",
shidu: "23",
baojing: "其他",
zhuangtai: "在线",
weizhi: "甘肃省兰州市城关区雁南街道雁滩路甘肃人防大厦西45米",
},
},
],
},
],
},
{
id: 2,
label: "一级单位2",
children: [
{
id: 5,
label: "二级单位2-1",
flag:"dept",
total:10,//总数
online:1,//在线数
},
{
id: 6,
label: "甘D45343",
flag:"car",
sheng:"甘肃省",
shi:"",
qu:"",
carInfo: {
startOff: true,
cheliangid:67,
cheliangmingcheng: "甘D45343",
shishisudu: "10km/h",
fuwuqishijian: "2021-08-05 09:10",
shebeishijian: "2021-08-05 09:10",
shebeibianma: "bfdddd",
liuliangkahao: "1245682248",
suoshukehu: "二级单位2-1",
dianhuozhuangtai: "主电开",
zonglicheng: "2000",
dangrilicheng: "20",
chezhuName: "张继科",
chezhuPhone: "12345698451",
anzhuangshijian: "2020-10-26",
dangritangshu: "1",
jingdu: "117.150433",
weidu: "40.215925",
shebeiIMIS: "wewwwwwww",
beizhu: "wu",
youliang1: "110",
youliang2: "256",
zongyouliang: "366",
jiluyisudu: "10km/h",
jiashiyuanName: "温顿瑟夫",
jiashiyuanPhone: "123456789645",
huichuanshijian: "",
guoqishijian: "",
wendu: "10",
shidu: "23",
baojing: "超速",
zhuangtai: "离线",
weizhi: "甘肃省兰州市城关区雁南街道雁滩路甘肃人防大厦西45米",
},
},
],
},
{
id: 11,
label: "一级单位3",
flag:"dept",
total:10,//总数
online:1,//在线数
children: [
{
id: 7,
label: "二级单位3-1",
flag:"dept",
total:10,//总数
online:1,//在线数
},
{
id: 8,
label: "二级单位3-2",
flag:"dept",
total:10,//总数
online:1,//在线数
},
],
},
],