<template><!-- 左侧第二个 --><div class="left-second-more"><div class="layer-list-wrapper1"><el-collapse v-model="activeNames" @change="handleChange"><el-collapse-item v-for="(item,index) in leftSelectMoreArr" :key="index+1" :name="item.nameNumber"><template slot="title"><div class="left-title"><div class="left-icon" v-if="item.textName">{{ item.textName }}</div><div class="left-name">{{item.name}}({{item.numData}}个)</div></div><i class="iconfont" :class="judgeActive('1')!=-1? 'icon-bofang-copy-copy':'icon-bofang'"></i></template><el-checkbox-group v-model="checkList" @change="handleCheckedCitiesChange"><el-checkbox v-for="(itemVal,indexVal) in item.stationArr" :key="indexVal+1" :label="itemVal.stationLabel">{{ itemVal.stationName }}<span :class="itemVal.stationType==1?'check-handwork':'check-auto'">{{itemVal.stationType==1?'手工':"自动"}}</span></el-checkbox></el-checkbox-group></el-collapse-item></el-collapse></div></div>
</template><script>
export default {components: {},props: {leftSelectMoreArr: {type: Array,default: () => [],},},data() {return {checkList: [],activeNames: [],differentData: [],isFlag: false,stationType: "",numberVal1: 0,numberVal2: 0,numberVal3: 0,};},created() {if (this.leftSelectMoreArr.length > 0) {this.activeNames = [this.leftSelectMoreArr[0].nameNumber];if (this.leftSelectMoreArr[0].stationArr.length > 0) {this.leftSelectMoreArr[0].stationArr.forEach((ele) => {this.checkList.push(ele.stationLabel);});this.stationType = this.leftSelectMoreArr[0].nameNumber;}}this.$emit("getTreeVal", this.checkList, this.stationType);},watch: {checkList(newVal, oldVal) {this.differentData = this.getDifferentData(newVal, oldVal);let length1 = newVal.length;let length2 = oldVal.length;if (length1 > length2) {this.isFlag = true; } else {this.isFlag = false; }},stationType(newVal, oldVal) {},},mounted() {},methods: {handleChange(val) {},handleCheckedCitiesChange(val) {this.$emit("getTreeVal", this.checkList, this.stationType);},judgeActive(data) {return this.activeNames.indexOf(data);},getDifferentData(arr1, arr2) {return arr1.concat(arr2).filter(function (v, i, arr) {return arr.indexOf(v) === arr.lastIndexOf(v);});},removeDuplicates(array) {return [...new Set(array)];},removeCommonElements(arr1, arr2) {return arr1.filter((item) => !arr2.some((otherItem) => otherItem === item));},},
};
</script><style lang="scss">
.left-second-more {.layer-list-wrapper1 {height: calc(100% - 22px);width: 100%;border-radius: 4px;background-color: #fff;margin-top: 10px;display: flex;flex-direction: column;.el-collapse {width: 100%;border: 0;color: #4b4b4b;.el-collapse-item {margin-bottom: 12px;}.el-collapse-item__header {width: 100%;height: 60px;background: #f8f9ff;border-bottom: none;justify-content: space-between;align-items: center;border-radius: 4px;padding: 0 16px;.el-collapse-item__arrow {display: none;}.left-title {display: flex;align-items: center;.left-icon {width: 26px;height: 26px;line-height: 26px;text-align: center;border-radius: 500000px;background: #e1e6f0;color: #303133;font-size: 14px;margin-right: 12px;}.left-name {color: #303133;font-weight: 700;}}.iconfont {font-size: 10px;}}.el-collapse-item__header:hover {background: #3886ff;border-radius: 4px;.left-title {.left-icon {border-radius: 4px;background: #fff;color: #0064ff;}.left-name {color: #fff;font-weight: 700;}}.iconfont {color: #fff;}}.is-active {background: #3886ff !important;border-radius: 4px;.left-title {.left-icon {border-radius: 4px;background: #fff;color: #0064ff;}.left-name {color: #fff;font-weight: 700;}}.iconfont {color: #fff;transform: rotate(90deg);}}.el-collapse-item__content {padding: 2px 16px;border-left: 1px solid #e1e6f0;border-right: 1px solid #e1e6f0;border-bottom: 1px solid #e1e6f0;border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;margin-bottom: 12px;}.el-collapse-item:last-child {.el-collapse-item__wrap {border: 0;.el-collapse-item__content {margin-bottom: 0px;}}}}.el-collapse::-webkit-scrollbar {width: 0px;height: 0;}.el-checkbox-group {.el-checkbox {width: 100%;display: flex;justify-content: space-between;align-items: center;margin: 16px 0;.el-checkbox__input {height: 14px;}.el-checkbox__input.is-checked + .el-checkbox__label {color: #3886ff;}.el-checkbox__label {width: 100%;display: flex;align-items: center;padding: 0;color: #606266;line-height: 14px;margin-left: 12px;img {width: 20px;margin-right: 8px;}.check-handwork {width: 44px;height: 24px;line-height: 24px;text-align: center;display: block;margin-left: auto;border-radius: 4px;background: #3886ff1a;border: 1px solid #3886ff;color: #3886ff;}.check-auto {width: 44px;height: 24px;line-height: 24px;text-align: center;display: block;margin-left: auto;border-radius: 4px;background: #70c4221a;border: 1px solid #70c422;color: #70c422;}}}.el-checkbox:hover{.el-checkbox__input{.el-checkbox__inner{border-color: #3886ff;}}.el-checkbox__label{color: #3886ff;}}.el-checkbox:last-child {.el-checkbox__label {margin-bottom: 0px;}}}}
}.layer-list-wrapper1::-webkit-scrollbar {display: none;
}
.el-checkbox {line-height: 27px;
}
</style>
<leftSelectMore v-if="leftSelectMoreFlag" :leftSelectMoreArr="leftSelectMoreArr" @getTreeVal='getSingleVal'></leftSelectMore>import leftSelectMore from "@/components/leftSelect/leftSelectMore.vue";components: { leftSelectMore },
data() {return {leftSelectMoreArr: [{name: "省控断面",numData: "1",nameNumber: 1,stationArr: [{stationName: "桥1",stationLabel: 1,stationType: 1, },{stationName: "桥2",stationLabel: 2,stationType: 2, },],},{name: "市控断面",numData: "1",nameNumber: 2,stationArr: [{stationName: "桥3",stationLabel: 3,stationType: 1, },{stationName: "桥4",stationLabel: 4,stationType: 2, },],},],leftSelectMoreFlag: true,}
},
methods: {getSingleVal(val, stationType) {console.log("选中的")}
}