| | |
| | | const resData = reactive({ |
| | | data: [] |
| | | }) |
| | | |
| | | const gawList = ref([ |
| | | { |
| | | label: '给水管网', |
| | | value: "3-3-1", |
| | | select: false |
| | | }, |
| | | { |
| | | label: '燃气管网', |
| | | value: "3-3-3", |
| | | select: false |
| | | }, |
| | | { |
| | | label: '污水管网', |
| | | value: "3-3-2", |
| | | select: true |
| | | }, |
| | | { |
| | | label: '雨水管网', |
| | | value: "3-3-4", |
| | | select: true |
| | | }, |
| | | ]) |
| | | const curSelect = ref('') |
| | | |
| | | // 获取下拉字典 |
| | |
| | | } |
| | | |
| | | const tabClick = (item) => { |
| | | if (curSelect.value) EventBus.emit('restHandleDelChange', `3-${curSelect.value}`) |
| | | console.log('tabClick', item) |
| | | if (curSelect.value) { |
| | | if (curSelect.value == '3') { |
| | | EventBus.emit('restHandleDelChange', `3-3-1`) |
| | | EventBus.emit('restHandleDelChange', `3-3-2`) |
| | | EventBus.emit('restHandleDelChange', `3-3-3`) |
| | | EventBus.emit('restHandleDelChange', `3-3-4`) |
| | | } else { |
| | | EventBus.emit('restHandleDelChange', `3-${curSelect.value}`) |
| | | } |
| | | } |
| | | curSelect.value = item.value |
| | | EventBus.emit('restHandleCheckChange', `3-${item.value}`) |
| | | if (item.value == '3') { |
| | | EventBus.emit('restHandleCheckChange', `3-3-2`) |
| | | EventBus.emit('restHandleCheckChange', `3-3-4`) |
| | | } else { |
| | | EventBus.emit('restHandleCheckChange', `3-${item.value}`) |
| | | } |
| | | EventBus.emit('spaceTabChange', item.value) |
| | | EventBus.emit('flyToyqfw', 'flyToyqfw') |
| | | } |
| | | |
| | | const tabClickGW = (item) => { |
| | | if (item.select) { |
| | | EventBus.emit('restHandleDelChange', item.value) |
| | | item.select = false |
| | | } else { |
| | | EventBus.emit('restHandleCheckChange', item.value) |
| | | item.select = true |
| | | } |
| | | } |
| | | |
| | | const showOn = computed(() => (item) => { |
| | | if (curSelect.value == item.value) { |
| | | return true |
| | | } |
| | | |
| | | return false |
| | | }) |
| | | |
| | |
| | | |
| | | onUnmounted(() => { |
| | | if (curSelect.value) EventBus.emit('restHandleDelChange', `3-${curSelect.value}`) |
| | | EventBus.emit('restHandleDelChange', `3-3-1`) |
| | | EventBus.emit('restHandleDelChange', `3-3-2`) |
| | | EventBus.emit('restHandleDelChange', `3-3-3`) |
| | | EventBus.emit('restHandleDelChange', `3-3-4`) |
| | | }) |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="left-container cur-container"> |
| | | <div class="tablist h100"> |
| | | <div class="cursor-p" :class="{ on: showOn(item) }" v-for="item, index in resData.data" :key="index" |
| | | @click="tabClick(item)"> |
| | | <div class="label-box"> |
| | | {{ item.label }} |
| | | <div> |
| | | <div class="left-container cur-container"> |
| | | <div class="tablist h100"> |
| | | <div class="cursor-p" :class="{ on: showOn(item) }" v-for="item, index in resData.data" :key="index" |
| | | @click="tabClick(item)"> |
| | | <div class="label-box"> |
| | | {{ item.label }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="curSelect == '3'"> |
| | | <div class="left-container cur-container-title"> |
| | | <div class="tablist h100"> |
| | | <div class="cursor-p" :class="{ on: item.select }" v-for="item, index in gawList" :key="index" |
| | | @click="tabClickGW(item)"> |
| | | <div class="label-box"> |
| | | {{ item.label }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .cur-container-title { |
| | | background: transparent; |
| | | pointer-events: none; |
| | | margin-left: 120px; |
| | | margin-top: 60px; |
| | | font-size: 12px; |
| | | |
| | | .tablist { |
| | | pointer-events: all; |
| | | |
| | | &>div { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-top: 16px; |
| | | padding: 10px; |
| | | width: 54px; |
| | | height: 54px; |
| | | |
| | | border-radius: 50%; |
| | | box-shadow: inset 0 0 40px #409eff; |
| | | color: #fff; |
| | | box-sizing: content-box; |
| | | |
| | | &.on { |
| | | position: relative; |
| | | // color: #75b1ff; |
| | | box-shadow: inset 0 0 100px #2a8ef1; |
| | | } |
| | | |
| | | .label-box { |
| | | line-height: 14px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |