From 548dcb58164aaeb7ec8a4f3425953bcd25d83c65 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 15 Jan 2025 18:40:00 +0800
Subject: [PATCH] 应急空间位置更新
---
src/views/space/components/leftContainer.vue | 203 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 164 insertions(+), 39 deletions(-)
diff --git a/src/views/space/components/leftContainer.vue b/src/views/space/components/leftContainer.vue
index 52e9e19..8ae58ce 100644
--- a/src/views/space/components/leftContainer.vue
+++ b/src/views/space/components/leftContainer.vue
@@ -2,78 +2,162 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2023-03-10 15:27:59
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2024-11-18 16:10:10
+ * @LastEditTime: 2024-12-16 17:42:03
* @FilePath: \bigScreen\src\views\space\components\leftContainer.vue
- * @Description:
- *
- * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
+ * @Description:
+ *
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
-->
<script setup>
import EventBus from 'utils/bus'
-import { getDictionary } from "@/api/dict/dict"
import { onUnmounted, reactive } from 'vue'
const resData = reactive({
- data: []
+ data: [
+ {
+ label: '应急池',
+ value: 1,
+ },
+ {
+ label: '阀门',
+ value: 2,
+ },
+ {
+ label: '水库',
+ value: 5,
+ },
+ {
+ label: '坑塘',
+ value: 6,
+ },
+ {
+ label: '明渠',
+ value: 7,
+ },
+ {
+ label: '桥梁',
+ value: 8,
+ },
+ {
+ label: '湿地',
+ value: 9,
+ },
+ {
+ label: '洼地',
+ value: 10,
+ },
+ {
+ label: '闸坝',
+ value: 11,
+ },
+ ]
})
+
+const gawList = ref([
+ {
+ label: '污水管网',
+ value: "3-3-2",
+ select: true
+ },
+ {
+ label: '雨水管网',
+ value: "3-3-4",
+ select: false
+ },
+])
const curSelect = ref('')
-// 获取下拉字典
-const getDictData = (code) => {
- const param = {
- code: code,
- }
- getDictionary(param).then((res) => {
- resData.data = res.data.data.map(item => {
- return {
- label: item.dictValue,
- value: item.dictKey
- }
- })
-
- tabClick(resData.data[0])
- })
-}
-
const tabClick = (item) => {
- if (curSelect.value) EventBus.emit('restHandleDelChange', `3-${curSelect.value}`)
+ EventBus.emit('destroyPop', 'destroyPop')
+ if (curSelect.value) {
+ if (curSelect.value == '3') {
+ EventBus.emit('restHandleDelChange', `3-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 {
+ gawList.value.forEach(element => {
+ if (element.value == `3-3-2`) {
+ element.select = true
+ } else {
+ element.select = false
+ }
+ })
+ 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`)
+ } 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
})
-getDictData("emergency_space_type")
+onMounted(() => {
+ tabClick(resData.data[0])
+})
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="cur-container-title">
+ <div class="tablist">
+ <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>
<style lang="scss" scoped>
.left-container {
- width: 64px;
+ width: auto;
}
.cur-container {
@@ -87,15 +171,16 @@
display: flex;
align-items: center;
justify-content: center;
- margin-top: 16px;
- padding: 10px;
+ margin-top: 10px;
+ padding: 8px;
width: 64px;
- height: 64px;
+ height: 48px;
border-radius: 50%;
box-shadow: inset 0 0 40px #409eff;
color: #fff;
box-sizing: content-box;
+ font-size: 12px;
&.on {
position: relative;
@@ -104,10 +189,50 @@
}
.label-box {
- line-height: 24px;
+ padding: 8px;
+ line-height: 20px;
text-align: center;
}
}
}
}
-</style>
\ No newline at end of file
+
+.cur-container-title {
+ background: transparent;
+ pointer-events: none;
+ margin-left: 120px;
+ margin-top: 120px;
+
+ .tablist {
+ pointer-events: all;
+
+ &>div {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 10px;
+ padding: 8px;
+ width: 64px;
+ height: 48px;
+
+ color: #fff;
+ border-radius: 50%;
+ box-shadow: inset 0 0 40px #409eff;
+ box-sizing: content-box;
+ font-size: 12px;
+
+ &.on {
+ position: relative;
+ // color: #75b1ff;
+ box-shadow: inset 0 0 100px #2a8ef1;
+ }
+
+ .label-box {
+ padding: 8px;
+ line-height: 16px;
+ text-align: center;
+ }
+ }
+ }
+}
+</style>
--
Gitblit v1.9.3