From 8e29fdae3e7dde32579495be389e5110785b95aa Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 06 Nov 2024 14:52:54 +0800
Subject: [PATCH] 企业详情

---
 src/views/companyInfo/components/box/publicContent.vue    |   26 +
 src/views/sub/index.vue                                   |    8 
 src/views/survey/components/box/dataContent.vue           |    8 
 src/views/survey/components/box/fireSource.vue            |   14 
 src/views/companyInfo/components/box/unitContent.vue      |   25 +
 src/views/companyInfo/components/box/fireContent.vue      |   25 +
 src/views/companyInfo/components/leftContainer.vue        |   48 ++
 src/views/companyInfo/components/box/fireTrend.vue        |  160 ++++++++
 src/views/companyInfo/components/centerContainer.vue      |  112 ++++++
 src/views/companyInfo/index.vue                           |   36 ++
 src/views/companyInfo/components/box/occurStatistics.vue  |  160 ++++++++
 src/views/companyInfo/components/mainMenu.vue             |   98 +++++
 src/views/survey/components/box/unitContent.vue           |    8 
 src/router/index.js                                       |    8 
 src/views/survey/components/box/fireContent.vue           |    8 
 src/views/companyInfo/components/rightContainer.vue       |  105 +++++
 src/views/companyInfo/components/box/dataContent.vue      |   25 +
 src/views/layout/index.vue                                |   10 
 src/views/survey/components/box/fireTrend.vue             |   24 
 src/views/companyInfo/components/box/fireSource.vue       |  135 +++++++
 src/views/layout/components/scomponents/layersControl.vue |    6 
 21 files changed, 1,006 insertions(+), 43 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 470182b..a7660ae 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -77,14 +77,14 @@
         path: 'sub',
         name: 'sub',
         component: () => import('@/views/sub/index.vue'),
-        redirect: '/layout/sub/a',
+        redirect: '/layout/sub/companyInfo',
         children: [
           {
-            path: 'a',
+            path: 'companyInfo',
             meta: {
               title: 'a示例'
             },
-            component: () => import('@/views/a/index.vue')
+            component: () => import('@/views/companyInfo/index.vue')
           },
         ]
       }
@@ -100,4 +100,4 @@
   routes
 })
 
-export default router
\ No newline at end of file
+export default router
diff --git a/src/views/companyInfo/components/box/dataContent.vue b/src/views/companyInfo/components/box/dataContent.vue
new file mode 100644
index 0000000..7152a88
--- /dev/null
+++ b/src/views/companyInfo/components/box/dataContent.vue
@@ -0,0 +1,25 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from './publicContent.vue'
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div>
+
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/box/fireContent.vue b/src/views/companyInfo/components/box/fireContent.vue
new file mode 100644
index 0000000..7152a88
--- /dev/null
+++ b/src/views/companyInfo/components/box/fireContent.vue
@@ -0,0 +1,25 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from './publicContent.vue'
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div>
+
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/box/fireSource.vue b/src/views/companyInfo/components/box/fireSource.vue
new file mode 100644
index 0000000..b125428
--- /dev/null
+++ b/src/views/companyInfo/components/box/fireSource.vue
@@ -0,0 +1,135 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from './publicContent.vue'
+import { getAssetsFile } from 'utils/utils'
+let data = reactive({
+    companyInfo: {}
+})
+
+let companyInfoList = ref([
+    {
+        id: 1,
+        name: 'address',
+        title: '单位所在地',
+        content: '',
+    },
+    {
+        id: 2,
+        name: 'lng',
+        title: '中心经度',
+        content: '',
+
+    },
+    {
+        id: 3,
+        name: 'lat',
+        title: '中心纬度',
+        content: '',
+    },
+    {
+        id: 4,
+        name: 'name',
+        title: '行业体制',
+        content: '',
+    },
+    {
+        id: 5,
+        name: 'personInCha',
+        title: '负责人',
+        content: '',
+    }
+])
+
+
+onMounted(() => {
+    data.companyInfo = JSON.parse(localStorage.getItem('companyInfo'))
+    console.log(data.companyInfo)
+    companyInfoList.value.forEach(item => {
+        data.companyInfo[item.name] && (item.content = data.companyInfo[item.name])
+
+    });
+})
+
+
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div class="data-content">
+
+                <div class="content-firmIntro">
+                    <!-- <div>{{ data.companyInfo.firmIntro }}</div> -->
+                    {{ data.companyInfo.firmIntro }}
+                </div>
+
+                <div class="company-info">
+                    <div class="company-info-item" v-for="item in companyInfoList" :key="item.id">
+                        <el-row>
+                            <el-col :span="8">
+                                <div class="company-info-title">{{ item.title }}</div>
+                            </el-col>
+                            <el-col :span="16">
+                                <div class="company-info-content">{{ item.content }}</div>
+                            </el-col>
+                        </el-row>
+                    </div>
+                </div>
+
+                <div class="company-info-image">
+                    <!-- <img :src="data.companyInfo.image_urls" alt=""> -->
+                    {{ "图片" }}
+                </div>
+
+
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped>
+.data-content {
+    color: #fff;
+}
+
+.content-firmIntro {
+    height: 200px;
+    overflow-x: hidden;
+}
+
+.company-info {
+    margin-top: 10px;
+    border-top: #dfdcdc 2px solid;
+    // background-color: pink;
+}
+
+.company-info-item {
+    margin-top: 20px;
+}
+
+.company-info-title {
+    font-weight: bold;
+}
+
+.company-info-content {
+    font-size: 14px;
+
+}
+
+.company-info-image {
+    margin-top: 20px;
+    width: 100%;
+    height: 200px;
+    background-color: pink;
+    text-align: center;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/box/fireTrend.vue b/src/views/companyInfo/components/box/fireTrend.vue
new file mode 100644
index 0000000..2db4635
--- /dev/null
+++ b/src/views/companyInfo/components/box/fireTrend.vue
@@ -0,0 +1,160 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from "./publicContent.vue";
+import { getList } from "@/api/emergencySupplies/emergencySupplies";
+import { reactive } from "vue";
+
+const loading = ref(false);
+
+const tableData = ref([]);
+const pages = {
+    page: 1,
+    pageSize: 13,
+    total: 0,
+};
+
+let data = reactive({
+    companyInfo: {}
+})
+
+onMounted(() => {
+    data.companyInfo = JSON.parse(localStorage.getItem('companyInfo'))
+    getLists();
+});
+// 表格样式
+const tableCellStyle = ({ row, column }) => {
+    return { background: "#152851", color: "#fff" };
+};
+// 表格表头样式
+const headerCellStyle = ({ }) => {
+    return {
+        background: "#152851",
+        color: "#fff",
+    };
+};
+// 搜索条件
+const formInline = reactive({
+    name: "",
+    ownership: ''
+});
+
+// 提交查询
+const onSubmit = () => {
+    pages.page = 1
+    pages.pageSize = 13
+    pages.total = 0
+    console.log("submit!");
+    getLists(formInline);
+};
+
+// 分页树改变
+const handleSizeChange = (val) => {
+    pages.pageSize = val;
+    getLists(formInline);
+}
+// 分页改变
+const handleCurrentChange = (val) => {
+    pages.page = val;
+    getLists(formInline);
+}
+// 重置条件
+const clearBtn = () => {
+    formInline.name = ''
+    formInline.ownership = ''
+    pages.page = 1
+    pages.pageSize = 13
+    pages.total = 0
+    getLists(formInline);
+}
+
+// 查询分页数据
+function getLists(param = {}) {
+    param.current = pages.page;
+    param.size = pages.pageSize;
+    param.id = data.companyInfo.id
+    loading.value = true;
+    getList(param)
+        .then((res) => {
+            const data = res.data.data;
+            data.records.forEach((element) => {
+                if (element.ownership == 1) {
+                    element.ownership = "园区";
+                } else {
+                    element.ownership = "企业";
+                }
+            });
+            tableData.value = data.records;
+            pages.total = data.total;
+            loading.value = false;
+        })
+        .catch((err) => {
+            loading.value = false;
+            console.log(err);
+        });
+}
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div>
+                <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                    <el-form-item label="名称">
+                        <el-input v-model="formInline.name" placeholder="请输入名称" clearable style="width: 120px" />
+                    </el-form-item>
+                    <!-- <el-form-item label="归属">
+                        <el-select v-model="formInline.ownership" placeholder="请选择" clearable style="width: 120px">
+                            <el-option label="园区" value="1" />
+                            <el-option label="企业" value="2" />
+                        </el-select>
+                    </el-form-item> -->
+                    <el-form-item>
+                        <el-button type="primary" @click="onSubmit">查询</el-button>
+                        <el-button type="" @click="clearBtn">重置</el-button>
+                    </el-form-item>
+                </el-form>
+                <el-table :data="tableData" style="width: 100%" :header-cell-style="headerCellStyle"
+                    :cell-style="tableCellStyle" v-loading="loading">
+                    <el-table-column fixed prop="name" label="名称" />
+                    <el-table-column prop="numUnit" label="数量" width="100" />
+                    <!-- <el-table-column prop="firmName" label="单位名称" /> -->
+                    <el-table-column prop="ownership" label="归属" width="100" />
+                </el-table>
+                <div class="el-page">
+                    <el-pagination background layout="prev, pager, next" :page-size="pages.pageSize" :total="pages.total"
+                        @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+                </div>
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped>
+.el-form-item__label {
+    color: #fff !important;
+}
+
+/* 当表格没有数据时,修改表格的背景颜色 */
+.el-table--empty .el-table__body {
+    background-color: #19284e !important;
+    /* 你想要的背景颜色 */
+}
+
+.el-page {
+    margin-top: 10px;
+    width: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    // margin-bottom:10px;
+}
+</style>
diff --git a/src/views/companyInfo/components/box/occurStatistics.vue b/src/views/companyInfo/components/box/occurStatistics.vue
new file mode 100644
index 0000000..b29e53a
--- /dev/null
+++ b/src/views/companyInfo/components/box/occurStatistics.vue
@@ -0,0 +1,160 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from "./publicContent.vue";
+import { getList } from "@/api/rescueTeam/rescueTeam";
+import { reactive } from "vue";
+
+const loading = ref(false);
+
+const tableData = ref([]);
+const pages = {
+    page: 1,
+    pageSize: 13,
+    total: 0,
+};
+
+let data = reactive({
+    companyInfo: {}
+})
+
+onMounted(() => {
+    data.companyInfo = JSON.parse(localStorage.getItem('companyInfo'))
+    getLists();
+});
+// 表格样式
+const tableCellStyle = ({ row, column }) => {
+    return { background: "#152851", color: "#fff" };
+};
+// 表格表头样式
+const headerCellStyle = ({ }) => {
+    return {
+        background: "#152851",
+        color: "#fff",
+    };
+};
+// 搜索条件
+const formInline = reactive({
+    perInCha: "",
+    type: ''
+});
+
+// 提交查询
+const onSubmit = () => {
+    pages.page = 1
+    pages.pageSize = 13
+    pages.total = 0
+    console.log("submit!");
+    getLists(formInline);
+};
+
+// 分页树改变
+const handleSizeChange = (val) => {
+    pages.pageSize = val;
+    getLists(formInline);
+}
+// 分页改变
+const handleCurrentChange = (val) => {
+    pages.page = val;
+    getLists(formInline);
+}
+// 重置条件
+const clearBtn = () => {
+    formInline.perInCha = ''
+    formInline.type = ''
+    pages.page = 1
+    pages.pageSize = 13
+    pages.total = 0
+    getLists(formInline);
+}
+
+// 查询分页数据
+function getLists(param = {}) {
+    param.current = pages.page;
+    param.size = pages.pageSize;
+    param.firmId = data.companyInfo.id
+    loading.value = true;
+    getList(param)
+        .then((res) => {
+            const data = res.data.data;
+            data.records.forEach((element) => {
+                if (element.type == 1) {
+                    element.ownership = "园区";
+                } else {
+                    element.ownership = "企业";
+                }
+            });
+            tableData.value = data.records;
+            pages.total = data.total;
+            loading.value = false;
+        })
+        .catch((err) => {
+            loading.value = false;
+            console.log(err);
+        });
+}
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div>
+                <el-form :inline="true" :model="formInline" class="demo-form-inline">
+                    <el-form-item label="姓名">
+                        <el-input v-model="formInline.perInCha" placeholder="请输入姓名" clearable style="width: 120px" />
+                    </el-form-item>
+                    <!-- <el-form-item label="归属">
+                        <el-select v-model="formInline.type" placeholder="请选择" clearable style="width: 120px">
+                            <el-option label="园区" value="1" />
+                            <el-option label="企业" value="2" />
+                        </el-select>
+                    </el-form-item> -->
+                    <el-form-item>
+                        <el-button type="primary" @click="onSubmit">查询</el-button>
+                        <el-button type="" @click="clearBtn">重置</el-button>
+                    </el-form-item>
+                </el-form>
+                <el-table :data="tableData" style="width: 100%" :header-cell-style="headerCellStyle"
+                    :cell-style="tableCellStyle" v-loading="loading">
+                    <el-table-column fixed prop="perInCha" label="责任人姓名" />
+                    <el-table-column prop="perInChaPho" label="联系电话" />
+                    <!-- <el-table-column prop="firmName" label="单位名称" /> -->
+                    <el-table-column prop="ownership" label="归属" width="100" />
+                </el-table>
+                <div class="el-page">
+                    <el-pagination background layout="prev, pager, next" :page-size="pages.pageSize" :total="pages.total"
+                        @size-change="handleSizeChange" @current-change="handleCurrentChange" />
+                </div>
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped>
+.el-form-item__label {
+    color: #fff !important;
+}
+
+/* 当表格没有数据时,修改表格的背景颜色 */
+.el-table--empty .el-table__body {
+    background-color: #19284e !important;
+    /* 你想要的背景颜色 */
+}
+
+.el-page {
+    margin-top: 10px;
+    width: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    // margin-bottom:10px;
+}
+</style>
diff --git a/src/views/companyInfo/components/box/publicContent.vue b/src/views/companyInfo/components/box/publicContent.vue
new file mode 100644
index 0000000..2ff1476
--- /dev/null
+++ b/src/views/companyInfo/components/box/publicContent.vue
@@ -0,0 +1,26 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-25 18:33:46
+ * @FilePath: \bigScreen\src\views\statistics\components\box\publicContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+
+</script>
+
+<template>
+  <div class="content">
+    <slot name="content"></slot>
+  </div>
+</template>
+
+<style lang="scss" scoped>
+.content {
+  padding: 20px 0;
+  height: calc(100% - 32px);
+}
+</style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/box/unitContent.vue b/src/views/companyInfo/components/box/unitContent.vue
new file mode 100644
index 0000000..7152a88
--- /dev/null
+++ b/src/views/companyInfo/components/box/unitContent.vue
@@ -0,0 +1,25 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-13 14:54:26
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2023-03-13 15:00:55
+ * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import publicContent from './publicContent.vue'
+</script>
+
+<template>
+    <public-content>
+        <template #content>
+            <div>
+
+            </div>
+        </template>
+    </public-content>
+</template>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/centerContainer.vue b/src/views/companyInfo/components/centerContainer.vue
new file mode 100644
index 0000000..bb43c08
--- /dev/null
+++ b/src/views/companyInfo/components/centerContainer.vue
@@ -0,0 +1,112 @@
+<script setup>
+
+import { useRouter, useRoute } from 'vue-router'
+let router = useRouter()
+import { useRouterStore } from 'store/router'
+const store = useRouterStore()
+
+
+
+let data = reactive({
+    companyInfo: {}
+})
+
+let buttonIndex = defineProps({
+    buttonIndex: Number
+})
+
+onMounted(() => {
+    data.companyInfo = JSON.parse(localStorage.getItem('companyInfo'))
+})
+// 父级方法
+const emit = defineEmits(['childEvent']);
+// 回调父级方法
+const handleClick = (index) => {
+    console.log(index)
+    emit('childEvent', index)
+}
+// 返回首页
+const goHome = () => {
+    store.setLoadSub(false)
+    router.push('/layout')
+}
+
+</script>
+    
+<template>
+    <div class="center-container">
+        <div class="center-container-title">
+            <el-row>
+                <el-col :span="7">
+                    <div class="center-name">{{ data.companyInfo.name }}</div>
+                </el-col>
+                <el-col :span="10">
+                    <div class="button-group">
+                        <button @click="handleClick(1)">基本信息</button>
+                        <button @click="handleClick(2)">应急物质</button>
+                        <button @click="handleClick(3)">救援队伍</button>
+                    </div>
+                </el-col>
+                <el-col :span="7">
+                    <div class="center-info">
+                        <button @click="goHome()">返回首页</button>
+                    </div>
+                </el-col>
+            </el-row>
+        </div>
+    </div>
+</template>
+    
+<style lang="scss" scoped >
+.center-container {
+    margin: -35px auto;
+    color: #fff;
+    pointer-events: auto;
+}
+
+.center-container-title {}
+
+.center-name {
+    font-size: 30px;
+    margin: 10px 0;
+    font-family: "华文行楷";
+}
+
+.button-group {
+    display: flex;
+    justify-content: space-around;
+    align-items: center;
+    margin: -6px 0;
+    cursor: pointer;
+
+}
+
+.button-group button {
+    width: 120px;
+    height: 40px;
+    border: none;
+    border-radius: 20px;
+    background-color: transparent;
+    color: #fff;
+    font-size: 25px;
+}
+
+.center-info {
+    text-align: right;
+}
+
+.center-info button {
+    width: 120px;
+    height: 40px;
+    border: none;
+    border-radius: 20px;
+    color: #fff;
+    background-color: transparent;
+    font-size: 20px;
+    background-image: url(/images/mode-tab.png);
+}
+
+button:hover {
+    background-color: #3c5e8f;
+}
+</style>
diff --git a/src/views/companyInfo/components/leftContainer.vue b/src/views/companyInfo/components/leftContainer.vue
new file mode 100644
index 0000000..eb16e22
--- /dev/null
+++ b/src/views/companyInfo/components/leftContainer.vue
@@ -0,0 +1,48 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-10 15:27:59
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-25 18:43:23
+ * @FilePath: \bigScreen\src\views\statistics\components\leftContainer.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import dataContent from './box/dataContent.vue'
+import unitContent from './box/unitContent.vue'
+import fireContent from './box/fireContent.vue'
+</script>
+
+<template>
+  <div class="left-container">
+    <!-- <div class="data box">
+      <title-box>
+        <template #titleName>
+          数据概览
+        </template>
+      </title-box>
+      <data-content></data-content>
+    </div> -->
+
+    <!-- <div class="unit box">
+      <title-box>
+        <template #titleName>
+          入住单位统计
+        </template>
+      </title-box>
+      <unit-content></unit-content>
+    </div> -->
+
+    <!-- <div class="fire box">
+      <title-box>
+        <template #titleName>
+          实时火警事件
+        </template>
+      </title-box>
+      <fire-content></fire-content>
+    </div> -->
+  </div>
+</template>
+
+<style lang="scss" scoped></style>
\ No newline at end of file
diff --git a/src/views/companyInfo/components/mainMenu.vue b/src/views/companyInfo/components/mainMenu.vue
new file mode 100644
index 0000000..564c33d
--- /dev/null
+++ b/src/views/companyInfo/components/mainMenu.vue
@@ -0,0 +1,98 @@
+<template>
+  <div class="page-mode">
+    <div @mouseenter="item.childrenFlag = true" :class="{ active: currentUrl.indexOf(item.path) != -1 }"
+      @mouseleave="item.childrenFlag = false" @click="goToPath(item)" v-for="(item, index) in menuList" :key="index">
+      {{ item.menuName }}
+    </div>
+  </div>
+</template>
+
+<script setup>
+import { ref, reactive, watch } from 'vue'
+import { useRouter, useRoute } from 'vue-router'
+import { Search } from '@element-plus/icons-vue'
+import { getTime } from '@/utils/getTime.js'
+let router = useRouter()
+let currentUrl = ref('statistics')
+
+const menuList = ref(
+  [
+    {
+      menuName: '雨水1管网',
+      path: '/layout/ys'
+    },
+    {
+      menuName: '污水2管网',
+      path: '/layout/ws'
+    },
+    {
+      menuName: '三级防控',
+      path: '/layout/sj'
+    }
+  ]
+)
+
+const goToPath = (params) => {
+  if (params.children && params.children.length > 0) return
+
+  if (params.path) {
+    if (router.currentRoute.value.path == params.path) return
+    // router.push(params.path)
+  } else {
+    params.childrenFlag = !params.childrenFlag
+  }
+}
+
+watch(
+  () => router.currentRoute.value,
+  (newValue, oldValue) => {
+    currentUrl.value = newValue.path
+  },
+  { immediate: true }
+)
+
+const userName = ref('管理员')
+</script>
+
+<style lang="scss" scoped>
+.page-mode {
+  position: absolute;
+  top: auto;
+  bottom: 55px;
+  left: 50%;
+  z-index: 99;
+  transform: translateX(-50%);
+  display: flex;
+  pointer-events: auto;
+
+  &>div {
+    background-image: url(/images/mode-tab.png);
+    background-size: cover;
+    width: 150px;
+    height: 50px;
+    font-size: 16px;
+    text-align: center;
+    font-weight: bold;
+    color: #BFD3E5;
+    line-height: 32px;
+    padding-top: 12px;
+    margin-right: -20px;
+    font-style: italic;
+    cursor: pointer;
+    box-sizing: border-box;
+
+    &:last-child {
+      margin-right: 0px;
+    }
+
+    &.active {
+      color: #F6FCFF;
+      background-image: url(/images/mode-tab-ac.png);
+    }
+
+    &:hover {
+      background-image: url(/images/mode-tab-ac.png);
+    }
+  }
+}
+</style>
diff --git a/src/views/companyInfo/components/rightContainer.vue b/src/views/companyInfo/components/rightContainer.vue
new file mode 100644
index 0000000..ececb7f
--- /dev/null
+++ b/src/views/companyInfo/components/rightContainer.vue
@@ -0,0 +1,105 @@
+<!--
+ * @Author: shuishen 1109946754@qq.com
+ * @Date: 2023-03-10 15:27:59
+ * @LastEditors: shuishen 1109946754@qq.com
+ * @LastEditTime: 2024-10-26 14:49:05
+ * @FilePath: \bigScreen\src\views\survey\components\rightContainer.vue
+ * @Description: 
+ * 
+ * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
+-->
+<script setup>
+import fireSource from './box/fireSource.vue'
+import fireTrend from './box/fireTrend.vue'
+import occurStatistics from './box/occurStatistics.vue'
+import publicContent from './box/publicContent.vue'
+
+
+let state = defineProps({
+  buttonIndex: {
+    type: Number,
+    default: 1
+  }
+})
+
+onMounted(() => {
+  // console.log("*************************", state.buttonIndex)
+})
+
+// watch(() => state.buttonIndex, (newValue, oldValue) => {
+//   console.log("**************111***********", newValue)
+// })
+
+
+</script>
+
+<template>
+  <div class="right-container">
+
+    <div class="fire-source box" v-if="state.buttonIndex == 1">
+      <title-box>
+        <template #titleName>
+          企业信息
+        </template>
+      </title-box>
+      <fire-source></fire-source>
+    </div>
+
+    <div class="occur-statistics box" v-if="state.buttonIndex == 2">
+      <title-box>
+        <template #titleName>
+          应急物质
+        </template>
+      </title-box>
+      <fire-trend></fire-trend>
+    </div>
+
+    <div class="fire-trend box" v-if="state.buttonIndex == 3">
+      <title-box>
+        <template #titleName>
+          救援队伍
+        </template>
+      </title-box>
+      <occur-statistics></occur-statistics>
+    </div>
+  </div>
+</template>
+
+<style lang="scss" scoped>
+.right-container {
+  display: flex;
+  flex-direction: column;
+  padding: 20px;
+  position: absolute;
+  top: 0;
+  right: 0;
+  width: 440px;
+  height: 100%;
+  pointer-events: auto;
+
+  .box {
+    margin-top: 20px;
+
+    .header {
+      height: 32px;
+      background: url(/img/bg/sub-title.png) no-repeat;
+    }
+  }
+
+  .fire-source {
+    flex: 3;
+  }
+
+  .occur-statistics {
+    flex: 3;
+  }
+
+  .fire-trend {
+    flex: 4;
+  }
+
+  .box:first-child {
+    margin-top: 0;
+  }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/companyInfo/index.vue b/src/views/companyInfo/index.vue
new file mode 100644
index 0000000..082acb1
--- /dev/null
+++ b/src/views/companyInfo/index.vue
@@ -0,0 +1,36 @@
+<script setup>
+import leftContainer from './components/leftContainer.vue'
+import rightContainer from './components/rightContainer.vue'
+import centerContainer from './components/centerContainer.vue' // 修改这里
+import mainMenuVue from './components/mainMenu.vue';
+
+let buttonIndex = ref(1);
+
+onMounted(() => {
+    // localStorage.setItem('buttonIndex', buttonIndex.value);
+})
+
+const handleChildEvent = (data) => {
+    console.log('子组件触发的事件,传递的数据:', data);
+    buttonIndex.value = data;
+    // localStorage.setItem('buttonIndex', data);
+
+};
+</script>
+
+<template>
+    <div class="container page-container">
+        <!-- <left-container></left-container> -->
+        <centerContainer :button-index="buttonIndex" @childEvent="handleChildEvent"></centerContainer> <!-- 修改这里 -->
+        <right-container :button-index="buttonIndex"></right-container>
+        <main-menu-vue></main-menu-vue>
+    </div>
+</template>
+
+<style lang="scss" scoped>
+.container {
+    position: absolute;
+    width: 100%;
+    height: 100%;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/layout/components/scomponents/layersControl.vue b/src/views/layout/components/scomponents/layersControl.vue
index 0826c86..03da5ab 100644
--- a/src/views/layout/components/scomponents/layersControl.vue
+++ b/src/views/layout/components/scomponents/layersControl.vue
@@ -301,9 +301,9 @@
 }
 
 onMounted(() => {
-  handleCheckChange(data.filter(i => i.id == '1'), {
-    checkedKeys: ['1']
-  })
+  // handleCheckChange(data.filter(i => i.id == '1'), {
+  //   checkedKeys: ['1']
+  // })
 })
 </script>
 
diff --git a/src/views/layout/index.vue b/src/views/layout/index.vue
index cf36868..fb8ecac 100644
--- a/src/views/layout/index.vue
+++ b/src/views/layout/index.vue
@@ -4,9 +4,9 @@
  * @LastEditors: shuishen 1109946754@qq.com
  * @LastEditTime: 2024-11-06 11:05:46
  * @FilePath: \bigScreen\src\views\layout\index.vue
- * @Description: 
- * 
- * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved. 
+ * @Description:
+ *
+ * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved.
 -->
 <template>
   <div class="wrapper">
@@ -61,7 +61,7 @@
 const showContent = ref(false)
 const showSubLayout = ref(false)
 
-// 监听createB的变化  
+// 监听createB的变化
 watch(
   [
     () => store.loadMap,
@@ -75,7 +75,7 @@
     console.log(newLoadSub, 5555)
     showSubLayout.value = newLoadSub
   },
-  { immediate: true } // 设置immediate为true以便在组件挂载时立即检查createB的值  
+  { immediate: true } // 设置immediate为true以便在组件挂载时立即检查createB的值
 )
 
 const signOut = () => {
diff --git a/src/views/sub/index.vue b/src/views/sub/index.vue
index 47f29a8..c13403e 100644
--- a/src/views/sub/index.vue
+++ b/src/views/sub/index.vue
@@ -11,16 +11,16 @@
 <template>
   <div>
     <div class="main-header">
-      <div class="title">ssssssss</div>
+      <!-- <div class="title">ssssssss</div> -->
     </div>
 
     <div class="main-container">
       <router-view ref="target-name"></router-view>
     </div>
 
-    <div class="out">
+    <!-- <div class="out">
       <el-button @click="goHome">退回</el-button>
-    </div>
+    </div> -->
   </div>
 </template>
 
@@ -40,7 +40,7 @@
 $bg-blue: rgba(24, 33, 92, 0.9);
 
 .out {
-  position:fixed;
+  position: fixed;
   top: 50%;
   left: 50%;
   pointer-events: all;
diff --git a/src/views/survey/components/box/dataContent.vue b/src/views/survey/components/box/dataContent.vue
index b23ff73..5fef396 100644
--- a/src/views/survey/components/box/dataContent.vue
+++ b/src/views/survey/components/box/dataContent.vue
@@ -4,9 +4,9 @@
  * @LastEditors: shuishen 1109946754@qq.com
  * @LastEditTime: 2024-11-05 17:12:37
  * @FilePath: \bigScreen\src\views\survey\components\box\dataContent.vue
- * @Description: 
- * 
- * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+ * @Description:
+ *
+ * Copyright (c) 2024 by shuishen, All Rights Reserved.
 -->
 <script setup>
 // import { ref, reactive, onMounted, nextTick, inject } from 'vue'
@@ -124,4 +124,4 @@
   </div>
 </template>
 
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>
diff --git a/src/views/survey/components/box/fireContent.vue b/src/views/survey/components/box/fireContent.vue
index 6afa14d..4a3d506 100644
--- a/src/views/survey/components/box/fireContent.vue
+++ b/src/views/survey/components/box/fireContent.vue
@@ -4,9 +4,9 @@
  * @LastEditors: shuishen 1109946754@qq.com
  * @LastEditTime: 2024-11-05 17:42:44
  * @FilePath: \bigScreen\src\views\survey\components\box\fireContent.vue
- * @Description: 
- * 
- * Copyright (c) 2024 by shuishen, All Rights Reserved. 
+ * @Description:
+ *
+ * Copyright (c) 2024 by shuishen, All Rights Reserved.
 -->
 <script setup>
 import { useEchartsResize } from 'hooks/useEchartsResize'
@@ -167,4 +167,4 @@
   </div>
 </template>
 
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>
diff --git a/src/views/survey/components/box/fireSource.vue b/src/views/survey/components/box/fireSource.vue
index c189a31..fc0cb66 100644
--- a/src/views/survey/components/box/fireSource.vue
+++ b/src/views/survey/components/box/fireSource.vue
@@ -1,12 +1,13 @@
 <script setup>
-import { useRouter, useRoute } from 'vue-router'
-let router = useRouter()
+
 import { inject, Text } from 'vue'
 const { VITE_APP_BASE } = import.meta.env
 import { getDetail } from '@/api/indParkInfo'
 
 import { getAssetsFile } from 'utils/utils'
 import { useRouterStore } from 'store/router'
+import { useRouter, useRoute } from 'vue-router'
+let router = useRouter()
 const store = useRouterStore()
 
 let state = reactive({
@@ -69,7 +70,7 @@
 
 })
 // 获取详情
-function getData () {
+function getData() {
   getDetail().then(res => {
     state.parkInfo = res.data.data
     parkInfoList.forEach(item => {
@@ -84,10 +85,7 @@
   })
 }
 
-const goSubLayout = () => {
-  store.setLoadSub(true)
-  router.push('/layout/sub')
-}
+
 </script>
 
 <template>
@@ -118,7 +116,7 @@
       </div>
     </div>
 
-    <el-button @click="goSubLayout">跳转a</el-button>
+    <!-- <el-button @click="goSubLayout">跳转a</el-button> -->
   </div>
 </template>
 
diff --git a/src/views/survey/components/box/fireTrend.vue b/src/views/survey/components/box/fireTrend.vue
index 0b1dacb..49cdd48 100644
--- a/src/views/survey/components/box/fireTrend.vue
+++ b/src/views/survey/components/box/fireTrend.vue
@@ -4,12 +4,16 @@
  * @LastEditors: shuishen 1109946754@qq.com
  * @LastEditTime: 2024-11-05 20:39:31
  * @FilePath: \bigScreen\src\views\survey\components\box\fireTrend.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 { getPage } from '@/api/indParkInfo'
+import { useRouterStore } from 'store/router'
+import { useRouter, useRoute } from 'vue-router'
+let router = useRouter()
+const store = useRouterStore()
 
 let parkQy = ref([])
 
@@ -20,7 +24,7 @@
 })
 
 
-function getPages () {
+function getPages() {
   getPage().then(res => {
     parkQy.value = res.data.data.records
     console.log(res)
@@ -29,13 +33,19 @@
   })
 }
 
-function search () {
+function search() {
   getPage({ name: searchQuery.value }).then(res => {
     parkQy.value = res.data.data.records
     console.log(res)
   }).catch(err => {
     console.log(err)
   })
+}
+
+const goSubLayout = (item) => {
+  localStorage.setItem('companyInfo', JSON.stringify(item))
+  store.setLoadSub(true)
+  router.push('/layout/sub')
 }
 
 </script>
@@ -53,7 +63,7 @@
     <div class="data-content-list">
       <div class="data-content-item" v-for="item in parkQy" :key="item.id">
         <div> {{ item.name }}</div>
-        <el-button size="small" type="primary" color="rgba(23,82,240, 0.7)">进入企业</el-button>
+        <el-button @click="goSubLayout(item)" size="small" type="primary" color="rgba(23,82,240, 0.7)">进入企业</el-button>
       </div>
     </div>
   </div>
@@ -112,4 +122,4 @@
     margin-top: 0;
   }
 }
-</style>
\ No newline at end of file
+</style>
diff --git a/src/views/survey/components/box/unitContent.vue b/src/views/survey/components/box/unitContent.vue
index 7e68486..88b5b7b 100644
--- a/src/views/survey/components/box/unitContent.vue
+++ b/src/views/survey/components/box/unitContent.vue
@@ -4,9 +4,9 @@
  * @LastEditors: shuishen 1109946754@qq.com
  * @LastEditTime: 2024-11-05 17:15:55
  * @FilePath: \bigScreen\src\views\survey\components\box\unitContent.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 { useEchartsResize } from 'hooks/useEchartsResize'
@@ -104,4 +104,4 @@
   </div>
 </template>
 
-<style lang="scss" scoped></style>
\ No newline at end of file
+<style lang="scss" scoped></style>

--
Gitblit v1.9.3