Hwf 7 місяців тому
батько
коміт
9f1980aeb6

+ 7 - 5
src/assets/styles/element-ui.scss

@@ -269,17 +269,19 @@
       font-size: 38px;
       height: 80px;
       line-height: 80px;
+      text-align: right;
     }
     .el-select__suffix {
-      &::after {
-        content: '';
+      position: relative;
+      .el-icon {
         width: 33px;
         height: 15px;
         background: url('@/assets/images/map/rightMenu/down2.png') no-repeat;
         background-size: 100% 100%;
-      }
-      .el-icon {
-        display: none;
+        display: inline;
+        svg {
+          display: none;
+        }
       }
     }
   }

+ 1 - 1
src/components/HKVideo/video-container.vue

@@ -195,7 +195,7 @@ const props = withDefaults(defineProps<Props>(), {});
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
-      text-align: right;
+      text-align: left;
       padding-right: 5px;
     }
   }

+ 2 - 2
src/components/Map/map.scss

@@ -70,8 +70,8 @@ $vh_base: 2520;
   }
   .close {
     position: absolute;
-    top: 2px;
-    right: 20px;
+    top: 8px;
+    right: 12px;
     width: 10px;
     height: 10px;
     background: url('@/assets/images/close.png') no-repeat;

+ 8 - 0
src/types/components.d.ts

@@ -23,6 +23,7 @@ declare module 'vue' {
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
     ElCard: typeof import('element-plus/es')['ElCard']
+    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
@@ -43,12 +44,17 @@ declare module 'vue' {
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
+    ElPopover: typeof import('element-plus/es')['ElPopover']
+    ElRadio: typeof import('element-plus/es')['ElRadio']
+    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
     ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     ElSkeleton: typeof import('element-plus/es')['ElSkeleton']
     ElSkeletonItem: typeof import('element-plus/es')['ElSkeletonItem']
     ElSlider: typeof import('element-plus/es')['ElSlider']
+    ElStep: typeof import('element-plus/es')['ElStep']
+    ElSteps: typeof import('element-plus/es')['ElSteps']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
     ElTable: typeof import('element-plus/es')['ElTable']
@@ -59,6 +65,7 @@ declare module 'vue' {
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
     ElTree: typeof import('element-plus/es')['ElTree']
+    ElTreeSelect: typeof import('element-plus/es')['ElTreeSelect']
     ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     FooterSection: typeof import('./../components/FooterSection/index.vue')['default']
@@ -69,6 +76,7 @@ declare module 'vue' {
     HikvisionPlayer: typeof import('./../components/HKVideo/hikvision-player.vue')['default']
     HKVideo: typeof import('./../components/HKVideo/index.vue')['default']
     IconSelect: typeof import('./../components/IconSelect/index.vue')['default']
+    IEpUploadFilled: typeof import('~icons/ep/upload-filled')['default']
     IFrame: typeof import('./../components/iFrame/index.vue')['default']
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']

+ 14 - 12
src/views/globalMap/RightMenu/Fireproofing.vue

@@ -14,18 +14,20 @@
       <div class="custom-table">
         <div class="th">
           <div class="td">
-            <el-select
-              v-model="queryParams.area"
-              placeholder="所有区县"
-              size="large"
-              class="custom-select2"
-              popper-class="custom-select-popper2"
-              :teleported="false"
-              @change="initData"
-            >
-              <el-option label="所有区县" value="" />
-              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
-            </el-select>
+            <div style="width: 240px">
+              <el-select
+                v-model="queryParams.area"
+                placeholder="所有区县"
+                size="large"
+                class="custom-select2"
+                popper-class="custom-select-popper2"
+                :teleported="false"
+                @change="initData"
+              >
+                <el-option label="所有区县" value="" />
+                <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
+              </el-select>
+            </div>
           </div>
           <div class="td">名称</div>
         </div>

+ 14 - 12
src/views/globalMap/RightMenu/Mitigation.vue

@@ -14,18 +14,20 @@
       <div class="custom-table">
         <div class="th">
           <div class="td">
-            <el-select
-              v-model="queryParams.area"
-              placeholder="所有区县"
-              size="large"
-              class="custom-select2"
-              popper-class="custom-select-popper2"
-              :teleported="false"
-              @change="initData"
-            >
-              <el-option label="所有区县" value="" />
-              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
-            </el-select>
+            <div style="width: 240px">
+              <el-select
+                v-model="queryParams.area"
+                placeholder="所有区县"
+                size="large"
+                class="custom-select2"
+                popper-class="custom-select-popper2"
+                :teleported="false"
+                @change="initData"
+              >
+                <el-option label="所有区县" value="" />
+                <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
+              </el-select>
+            </div>
           </div>
           <div class="td">名称</div>
         </div>

+ 15 - 13
src/views/globalMap/RightMenu/PreventDrowning.vue

@@ -14,18 +14,20 @@
       <div class="custom-table">
         <div class="th">
           <div class="td">
-            <el-select
-              v-model="queryParams.area"
-              placeholder="所有区县"
-              size="large"
-              class="custom-select2"
-              popper-class="custom-select-popper2"
-              :teleported="false"
-              @change="initData"
-            >
-              <el-option label="所有区县" value="" />
-              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
-            </el-select>
+            <div style="width: 240px">
+              <el-select
+                v-model="queryParams.area"
+                placeholder="所有区县"
+                size="large"
+                class="custom-select2"
+                popper-class="custom-select-popper2"
+                :teleported="false"
+                @change="initData"
+              >
+                <el-option label="所有区县" value="" />
+                <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
+              </el-select>
+            </div>
           </div>
           <div class="td">名称</div>
         </div>
@@ -106,7 +108,7 @@ initData();
 .title {
   font-size: 60px;
   position: absolute;
-  top: 20px;
+  top: 30px;
   left: 160px;
 }
 

+ 13 - 11
src/views/globalMap/RightMenu/RainMonitor/index.vue

@@ -37,17 +37,19 @@
       <div class="table-header">
         <div class="td">序号</div>
         <div class="td">
-          <el-select
-            v-model="queryParams.area"
-            placeholder="县区"
-            size="large"
-            class="custom-select2"
-            popper-class="custom-select-popper2"
-            :teleported="false"
-          >
-            <el-option label="县区" value="" />
-            <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.value" />
-          </el-select>
+          <div style="width: 201px">
+            <el-select
+              v-model="queryParams.area"
+              placeholder="县区"
+              size="large"
+              class="custom-select2"
+              popper-class="custom-select-popper2"
+              :teleported="false"
+            >
+              <el-option label="县区" value="" />
+              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.value" />
+            </el-select>
+          </div>
         </div>
         <div class="td">
           <el-select

+ 14 - 11
src/views/globalMap/RightMenu/Reservoir.vue

@@ -14,17 +14,20 @@
       <div class="custom-table">
         <div class="th">
           <div class="td">
-            <el-select
-              v-model="queryParams.area"
-              placeholder="所有区县"
-              size="large"
-              class="custom-select2"
-              popper-class="custom-select-popper2"
-              :teleported="false"
-              @change="initData"
-            >
-              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
-            </el-select>
+            <div style="width: 240px">
+              <el-select
+                v-model="queryParams.area"
+                placeholder="所有区县"
+                size="large"
+                class="custom-select2"
+                popper-class="custom-select-popper2"
+                :teleported="false"
+                @change="initData"
+              >
+                <el-option label="所有区县" value="" />
+                <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
+              </el-select>
+            </div>
           </div>
           <div class="td">名称</div>
         </div>

+ 31 - 37
src/views/globalMap/RightMenu/ReservoirMonitor.vue

@@ -34,12 +34,15 @@
       </div>
     </div>
   </div>
-  <Dialog v-model="showDialog" title="水库监测" width="2500px" height="1200px">
+  <Dialog v-model="showDialog" type="lg" title="水库监测" hide-footer>
     <div class="flex">
       <div class="detail-container">
         <div class="flex">
-          <div style="font-size: 44px; margin-right: 10px">{{ selectRow.name }}</div>
-          <div>{{ selectRow.address }}</div>
+          <div class="info-header">
+            <div class="gradient-text info-title">{{ selectRow.name }}</div>
+            <div class="gradient-text info-title">{{ selectRow.address }}</div>
+          </div>
+
         </div>
         <div class="flex" style="justify-content: space-between">
           <div class="flex">
@@ -52,7 +55,9 @@
           </div>
         </div>
         <div>
-          <div style="font-size: 44px">水位过程图</div>
+          <div class="flex-box2">
+            <div class="title2">水位过程图</div>
+          </div>
           <Chart :option="chartOption1" style="width: 100%; height: 400px" />
         </div>
         <div class="table-wrap">
@@ -95,7 +100,6 @@
 </template>
 
 <script lang="ts" setup name="ReservoirMonitor">
-import Dialog from './Dialog.vue';
 import { option2 } from './echartOptions';
 import { getReservoirCourseLevel, getReservoirList, getReservoirWaterStatus } from '@/api/globalMap/reservoirMonitor';
 import { parseTime, validateNum } from '@/utils/ruoyi';
@@ -254,19 +258,6 @@ const getVideoList = () => {
   display: flex;
   flex-direction: column;
   height: 1009px;
-  .flex-box2 {
-    height: 54px;
-    background: url('@/assets/images/map/rightMenu/titleBox2.png') no-repeat;
-    padding-left: 65px;
-    display: flex;
-    align-items: center;
-    .title2 {
-      font-size: 44px;
-      flex-shrink: 0;
-      margin-right: 30px;
-      color: #f4f7fa;
-    }
-  }
   .video-box {
     margin-top: 30px;
     height: 900px;
@@ -274,6 +265,19 @@ const getVideoList = () => {
     flex-wrap: wrap;
   }
 }
+.flex-box2 {
+  height: 54px;
+  background: url('@/assets/images/map/rightMenu/titleBox2.png') no-repeat;
+  padding-left: 65px;
+  display: flex;
+  align-items: center;
+  .title2 {
+    font-size: 44px;
+    flex-shrink: 0;
+    margin-right: 30px;
+    color: #f4f7fa;
+  }
+}
 .flex-box {
   display: flex;
   justify-content: space-between;
@@ -403,7 +407,7 @@ const getVideoList = () => {
   background-color: #102043;
   color: #fff;
   .table-title {
-    height: 70px;
+    min-height: 70px;
     display: flex;
     align-items: center;
     border-bottom: 2px solid #465979;
@@ -428,25 +432,15 @@ const getVideoList = () => {
         width: 200px;
         text-align: center;
       }
-      // .time {
-      //   width: 120px;
-      // }
-      // .value {
-      //   width: 120px;
-      // }
-      // .value1 {
-      //   width: 120px;
-      // }
-      // .value2 {
-      //   width: 120px;
-      // }
-      // .waterunit {
-      //   width: 120px;
-      // }
     }
-    //.content-item:nth-child(2n) {
-    //  background: rgba(11, 43, 90, 0.2);
-    //}
   }
 }
+.info-header {
+  width: 100%;
+  height: 56px;
+  padding-left: 50px;
+  background: url(@/assets/images/map/rightMenu/titleBox1.png) no-repeat;
+  background-size: 322px 56px;
+  background-position: bottom left;
+}
 </style>

+ 14 - 12
src/views/globalMap/RightMenu/RoadNetworkVideo.vue

@@ -25,18 +25,20 @@
     <div class="custom-table">
       <div class="th">
         <div class="td">
-          <el-select
-            v-model="queryParams.query.area"
-            placeholder="所有区县"
-            size="large"
-            class="custom-select2"
-            popper-class="custom-select-popper2"
-            :teleported="false"
-            @change="initData"
-          >
-            <el-option label="所有区县" value="" />
-            <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
-          </el-select>
+          <div style="width: 240px">
+            <el-select
+              v-model="queryParams.area"
+              placeholder="所有区县"
+              size="large"
+              class="custom-select2"
+              popper-class="custom-select-popper2"
+              :teleported="false"
+              @change="initData"
+            >
+              <el-option label="所有区县" value="" />
+              <el-option v-for="item in district_type" :key="item.value" :label="item.label" :value="item.label" />
+            </el-select>
+          </div>
         </div>
         <div class="td">名称</div>
       </div>

+ 20 - 99
src/views/globalMap/RightMenu/UAV.vue

@@ -2,11 +2,16 @@
   <div class="menu-content">
     <div class="gradient-text title">无人机资源</div>
     <div class="flex-box">
-      <el-form-item style="width: 200px" label="行政区选择" prop="planType">
-        <el-select v-model="planForm.planType" placeholder="请选择" clearable>
-          <el-option v-for="item in plan_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
-        </el-select>
-      </el-form-item>
+      <el-select
+        v-model="planForm.planType"
+        placeholder="请选择行政区"
+        class="custom-select"
+        size="large"
+        popper-class="custom-select-popper"
+        :teleported="false"
+      >
+        <el-option v-for="item in plan_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
+      </el-select>
     </div>
     <div class="custom-table">
       <div class="th">
@@ -126,31 +131,6 @@ const plan_type = [
     }
   }
 }
-.right-box {
-  flex: 1;
-  display: flex;
-  flex-direction: column;
-  height: 1009px;
-  .flex-box2 {
-    height: 54px;
-    background: url('@/assets/images/map/rightMenu/titleBox2.png') no-repeat;
-    padding-left: 65px;
-    display: flex;
-    align-items: center;
-    .title2 {
-      font-size: 44px;
-      flex-shrink: 0;
-      margin-right: 30px;
-      color: #f4f7fa;
-    }
-  }
-  .video-box {
-    margin-top: 30px;
-    height: 900px;
-    display: flex;
-    flex-wrap: wrap;
-  }
-}
 
 .menu-content {
   width: 1579px;
@@ -170,57 +150,12 @@ const plan_type = [
 
 .flex-box {
   display: flex;
-  justify-content: space-between;
   width: 100%;
-  .data-box1,
-  .data-box2,
-  .data-box3 {
-    width: 462px;
-    height: 144px;
-    position: relative;
-    display: flex;
-    align-items: center;
-    margin-right: 20px;
-    &:last-child {
-      margin-right: 0;
-    }
-    .box-text1 {
-      color: #fff;
-      font-size: 36px;
-      padding-left: 190px;
-      min-width: 100px;
-      &::after {
-        content: '';
-        width: 1px;
-        height: 48px;
-        background: url('@/assets/images/map/rightMenu/line.png');
-        margin: 0 30px;
-      }
-    }
-    .box-text2 {
-      /* 设置字体透明 */
-      color: transparent;
-      /* 设置线性渐变,从红色渐变到蓝色 */
-      background-image: linear-gradient(to bottom, #ffffff 50%, #3075d3 100%);
-      /* 使用 -webkit-background-clip 属性将背景剪裁至文本形状 */
-      -webkit-background-clip: text;
-      /* 非Webkit内核浏览器需要使用标准前缀 */
-      background-clip: text;
-      /* 把当前元素设置为行内块,以便能够应用背景 */
-      display: inline-block;
-      font-family: 'YouSheBiaoTiHei';
-      font-size: 40px;
-    }
-  }
-
-  .data-box1 {
-    background: url('@/assets/images/map/rightMenu/dataBox1.png') no-repeat;
-  }
-  .data-box2 {
-    background: url('@/assets/images/map/rightMenu/dataBox2.png') no-repeat;
-  }
-  .data-box3 {
-    background: url('@/assets/images/map/rightMenu/dataBox3.png') no-repeat;
+  color: #fff;
+  font-size: 38px;
+  margin: 20px 0;
+  .custom-select {
+    width: 100%;
   }
 }
 
@@ -235,20 +170,22 @@ const plan_type = [
     overflow-x: hidden;
   }
   .th {
-    width: 1499px;
+    width: 100%;
     height: 151px;
     background: url('@/assets/images/map/rightMenu/th.png') no-repeat;
+    background-size: 100% 100%;
     display: flex;
   }
   .tr {
-    width: 1499px;
+    width: 100%;
     height: 139px;
     background: url('@/assets/images/map/rightMenu/td.png') no-repeat;
-    //margin-left: -23px;
+    background-size: 100% 100%;
     display: flex;
     padding-right: 20px;
     &:hover {
       background: url('@/assets/images/map/rightMenu/td_checked.png') no-repeat;
+      background-size: 100% 100%;
     }
   }
   .td {
@@ -279,20 +216,4 @@ const plan_type = [
     background-image: linear-gradient(to bottom, #ffffff 50%, #ff2f3c 100%);
   }
 }
-
-.custom-select {
-  width: 148px;
-  height: 38px;
-  line-height: 38px;
-  :deep(.el-select__wrapper) {
-    background-color: #081b41;
-    box-shadow: 0 0 0 1px #126cf7 inset;
-  }
-  :deep(.el-select__placeholder) {
-    font-size: 30px;
-    color: #eaf3fc;
-  }
-}
-
 </style>
-

+ 18 - 12
src/views/globalMap/RightMenu/WarningInfo.vue

@@ -336,14 +336,19 @@ export default defineComponent({
 }
 
 .section-title {
-  font-size: 44px;
-  color: #f4f7fa;
-  background: url('@/assets/images/map/warningInfo/bg_2level_title.png') no-repeat;
-  padding-left: 65px;
-  height: 54px;
+  width: 370px;
+  height: 35px;
+  background-image: url('@/assets/images/map/rightMenu/rainMonitor/titleBox.png');
+  background-repeat: no-repeat;
+  background-position: bottom left;
+  padding-left: 50px;
   display: flex;
-  align-items: center; /* 垂直居中内容 */
-  margin-bottom: 20px; /* 标题与图标之间的间距 */
+  align-items: center;
+  margin-bottom: 30px;
+  color: #fefefe;
+  font-size: 44px;
+  font-weight: bold;
+  padding-bottom: 25px;
 }
 
 .level-white {
@@ -404,8 +409,11 @@ export default defineComponent({
 }
 
 .alert-count-items {
+  width: 1492px;
+  height: 200px;
   background: url('@/assets/images/map/warningInfo/bg_底座.png') no-repeat;
-  background-size: cover;
+  background-size: 1492px 123px;
+  background-position: bottom center;
   gap: 0; /* 可选:添加间距 */
   padding: 20px; /* 根据需要调整内边距 */
   display: flex; /* 水平排列发布数量统计 */
@@ -416,14 +424,13 @@ export default defineComponent({
   display: flex;
   flex-direction: column;
   align-items: center;
-  width: 120px; /* 根据需要调整宽度 */
   margin: 0; /* 移除外边距 */
   padding: 0; /* 移除内边距 */
 }
 
 .count-icon {
-  width: 120px;
-  height: 120px;
+  width: 218px;
+  height: 131px;
   margin: 0; /* 移除外边距 */
   padding: 0; /* 移除内边距 */
   display: block; /* 确保图片以块级元素显示,避免因行内元素的空白字符产生间隔 */
@@ -538,7 +545,6 @@ export default defineComponent({
 
   .count-item {
     width: 100%;
-    max-width: 200px;
   }
 
   .alert-table th,

+ 2 - 2
src/views/globalMap/RightMenu/index.vue

@@ -40,8 +40,8 @@
         <OnlinePlotting v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '实时标绘'" />
         <!--雨情监测-->
         <RainMonitor v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '雨情监测'" />
-        <!--预警信-->
-        <WarningInfo v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '预警信'" @handle-menu="handleMenu" />
+        <!--预警信-->
+        <WarningInfo v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '预警信'" @handle-menu="handleMenu" />
         <!--森林防火-->
         <Fireproofing v-if="menuState.showMenu && menuState.menuData[menuState.activeIndex]?.name === '森林防火'" @handle-menu="handleMenu" />
         <!--防灾救援-->

+ 0 - 1
src/views/globalMap/index.vue

@@ -70,7 +70,6 @@ const addMarkers = (item) => {
       const data = res.data && res.data.list ? res.data?.list : [];
       markerList.value = data;
       data.forEach((item2) => {
-        debugger
         // 获取图标
         if (iconList[item2.dataType]) {
           item2.icon = iconList[item2.dataType].image;

+ 0 - 1
src/views/routineCommandMap/LeftSection/EventManage.vue

@@ -30,7 +30,6 @@
                   size="large"
                   popper-class="custom-select-popper"
                   :teleported="false"
-                  clearable
                 >
                   <el-option label="全部" value=""></el-option>
                   <el-option v-for="item in mm_event_level" :key="item.value" :label="item.label" :value="item.value"></el-option>