118 lines
3.0 KiB
Vue
118 lines
3.0 KiB
Vue
|
<template>
|
|||
|
<div class="el-tree">
|
|||
|
<div v-for="(item, index) in list" :key="index">
|
|||
|
<div class="title">
|
|||
|
<span
|
|||
|
class="arrow" @click="showAction(index)"
|
|||
|
v-if="!showSearch && item.child && item.child.length > 0"
|
|||
|
></span>
|
|||
|
<span
|
|||
|
class="arrow2" @click="showAction(index)"
|
|||
|
v-if="showSearch && item.child && item.child.length > 0"
|
|||
|
></span>
|
|||
|
|
|||
|
<div class="contentbox">
|
|||
|
<p>{{ $t("my.UserNameXm") }}:{{ item.nickName }}</p>
|
|||
|
<p>{{ $t("my.UserNumber") }}:{{ item.userName }}</p>
|
|||
|
<p>{{ $t("wode.Directpushnumber") }}:{{ item.totalNum }}</p>
|
|||
|
<p>{{ $t("wode.Directpushnumber") }}:{{ item.totalNum }}</p>
|
|||
|
<p>
|
|||
|
{{ $t("wode.Directpushnewperformance") }}:{{ item.registerPv }}
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
{{ $t("wode.Cumulativenumberofteammembers") }}:{{
|
|||
|
item.teamTotalNum
|
|||
|
}}
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
{{ $t("wode.Newperformanceoftheteam") }}:{{
|
|||
|
item.totalTeamDayAddPv
|
|||
|
}}
|
|||
|
</p>
|
|||
|
<p>
|
|||
|
{{ $t("wode.TeamCumulativePerformance") }}:{{
|
|||
|
item.totalRegisterPv
|
|||
|
}}
|
|||
|
</p>
|
|||
|
<p>{{ $t("my.PaymentTime") }}:{{ item.payTime }}</p>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<div class="children">
|
|||
|
<el-tree v-if="item.isShow && item.child" :data="item.child" />
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</template>
|
|||
|
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
name: "el-tree",
|
|||
|
props: {
|
|||
|
data: Array,
|
|||
|
},
|
|||
|
data() {
|
|||
|
const newData = JSON.parse(JSON.stringify(this.data));
|
|||
|
newData.forEach((item) => {
|
|||
|
item.isShow = false;
|
|||
|
});
|
|||
|
return {
|
|||
|
list: newData,
|
|||
|
showSearch: false,
|
|||
|
};
|
|||
|
},
|
|||
|
methods: {
|
|||
|
showAction(index) {
|
|||
|
if (this.list[index].child && this.list[index].child.length > 0) {
|
|||
|
this.list[index].isShow = !this.list[index].isShow;
|
|||
|
this.showSearch = !this.showSearch;
|
|||
|
}
|
|||
|
},
|
|||
|
},
|
|||
|
};
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
.title {
|
|||
|
font-size: 12px;
|
|||
|
font-weight: normal;
|
|||
|
display: flex;
|
|||
|
align-items: center;
|
|||
|
}
|
|||
|
.arrow {
|
|||
|
width: 0;
|
|||
|
height: 0;
|
|||
|
border: 11px solid transparent;
|
|||
|
border-left: 11px solid #999999;
|
|||
|
display: block;
|
|||
|
margin-right: 20px;
|
|||
|
}
|
|||
|
.arrow2 {
|
|||
|
width: 0;
|
|||
|
height: 0;
|
|||
|
border: 11px solid transparent;
|
|||
|
border-top: 11px solid #1890FF;
|
|||
|
display: block;
|
|||
|
margin-right: 20px;
|
|||
|
}
|
|||
|
/* .text {
|
|||
|
display: block;
|
|||
|
} */
|
|||
|
.children {
|
|||
|
width: 1450px;
|
|||
|
padding: 0 20px;
|
|||
|
margin-left: 40px;
|
|||
|
}
|
|||
|
.contentbox {
|
|||
|
width: 1450px;
|
|||
|
padding: 18px;
|
|||
|
font-size: 18px;
|
|||
|
border-radius: 8px;
|
|||
|
margin-top: 10px;
|
|||
|
display: flex;
|
|||
|
margin-bottom: 10px;
|
|||
|
box-shadow: 0px 0px 12px rgba(24, 144, 255, 0.3);
|
|||
|
p {
|
|||
|
margin-left: 5px;
|
|||
|
}
|
|||
|
}
|
|||
|
</style>
|
|||
|
|