|
@@ -0,0 +1,100 @@
|
|
|
|
+<template>
|
|
|
|
+ <div v-if="teamData && teamData.length">
|
|
|
|
+ <span v-for="(item, index) in itemName" :key="index" style="margin-right: 10px">
|
|
|
|
+ <span>
|
|
|
|
+ <el-tooltip
|
|
|
|
+ class="item"
|
|
|
|
+ effect="dark"
|
|
|
|
+ :content="item.deptPath"
|
|
|
|
+ placement="top">
|
|
|
|
+ <span>{{ item.label }}</span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ <span>{{ !(index >= itemName.length - 1) ? ',' : '' }}</span>
|
|
|
|
+ </span>
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+// import _ from 'lodash'
|
|
|
|
+
|
|
|
|
+export default {
|
|
|
|
+ name: 'CascaderInfo',
|
|
|
|
+ props: {
|
|
|
|
+ teamData: {
|
|
|
|
+ type: [Array, String, Number],
|
|
|
|
+ required: false,
|
|
|
|
+ default: () => []
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ itemName: []
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ computed: {
|
|
|
|
+ tabsActive() {
|
|
|
|
+ return this.$store.state.monthlyReportEdit.tabsActive
|
|
|
|
+ },
|
|
|
|
+ selectEnum() {
|
|
|
|
+ return this.$store.state.monthlyReportEdit.selectEnum
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ tabsActive() {
|
|
|
|
+ this.init()
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ mounted() {
|
|
|
|
+ this.init()
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ init() {
|
|
|
|
+ // console.log(this.selectEnum);
|
|
|
|
+ // console.log(this.teamData);
|
|
|
|
+ if (this.teamData && this.teamData.length && this.selectEnum) {
|
|
|
|
+ const itemName = []
|
|
|
|
+ const onlyId = []
|
|
|
|
+ this.teamData.forEach((elm) => {
|
|
|
|
+ if (onlyId.indexOf(elm) < 0) {
|
|
|
|
+ const item = this.find(elm)
|
|
|
|
+ // console.log(item);
|
|
|
|
+ // console.log({
|
|
|
|
+ // label: item.label,
|
|
|
|
+ // deptPath: item.deptPath
|
|
|
|
+ // })
|
|
|
|
+ onlyId.push(elm)
|
|
|
|
+ itemName.push({
|
|
|
|
+ label: item.label,
|
|
|
|
+ deptPath: item.deptPath
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ // 数组去重
|
|
|
|
+ this.itemName = [...itemName]
|
|
|
|
+ this.$forceUpdate()
|
|
|
|
+ // console.log(69, this.itemName)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ find(id) {
|
|
|
|
+ let name = ''
|
|
|
|
+ const run = (arr) => {
|
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
|
+ const elm = arr[i]
|
|
|
|
+ if (`${elm.value}` === `${id}`) {
|
|
|
|
+ name = elm
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ if (elm.children) {
|
|
|
|
+ run(elm.children)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ run(this.selectEnum)
|
|
|
|
+ return name
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style scoped lang='less'></style>
|