浏览代码

临时事件修改,修复交通视频选择器问题

Hwf 4 月之前
父节点
当前提交
8a74a49262

+ 2 - 1
src/api/globalMap/forestDefenseVideo.ts

@@ -5,7 +5,8 @@ export const getPtzInfo = (params) => {
   return request({
     url: '/api/videoResource/hkvideo/get_ptz_info',
     method: 'get',
-    params: params
+    params: params,
+    hideMsg: true
   });
 };
 

+ 24 - 0
src/assets/styles/element-ui.scss

@@ -317,6 +317,30 @@
   }
 }
 
+.custom-select-popper3 {
+  .el-scrollbar {
+    background-color: rgba(5, 18, 53, 0.85) !important;
+    border: 4px solid #2C81FF !important;
+    border-radius: 0;
+    box-shadow:inset  0 0 40px rgba(26, 144, 255, 0.5) !important;
+    .el-select-dropdown__item {
+      color: #b1cae0;
+      font-size: 38px;
+      height: 80px;
+      line-height: 80px;
+    }
+    .el-select-dropdown__item.is-selected, .el-select-dropdown__item.is-hovering {
+      color: #7af0e9;
+      background-color: #1c335f;
+      font-weight: normal;
+    }
+  }
+
+  .custom-tabs {
+    width: 100%;
+  }
+}
+
 .custom-input {
   position: relative;
   .el-input__icon {

+ 10 - 10
src/components/HKVideo/index2.vue

@@ -133,17 +133,17 @@ const play_now = async (check?: boolean) => {
   errBKVisible.value = false;
   isPlaying.value = true;
   // 视频监控数据
-  getVideoById(props.dot_data.video_code).then((res) => {
-    if (res.data.status === 0) {
-      errBKVisible.value = true;
-      isPlaying.value = false;
-    } else {
-      getVideoUrlById(props.dot_data.video_code).then((res) => {
-        wsUrl.value = res.data;
-        videoPlayer.value.play(wsUrl.value);
-      });
-    }
+  // getVideoById(props.dot_data.video_code).then((res) => {
+  //   if (res.data.status === 0) {
+  //     errBKVisible.value = true;
+  //     isPlaying.value = false;
+  //   } else {
+  getVideoUrlById(props.dot_data.video_code).then((res) => {
+    wsUrl.value = res.data;
+    videoPlayer.value.play(wsUrl.value);
   });
+  //   }
+  // });
 };
 // 停止播放
 const stop_now = async () => {

+ 14 - 7
src/utils/request.ts

@@ -30,13 +30,14 @@ const service = axios.create({
   baseURL: import.meta.env.VITE_APP_BASE_API,
   timeout: 50000
 });
-
+let hideMsg = false;
 // 请求拦截器
 service.interceptors.request.use(
   (config: InternalAxiosRequestConfig) => {
     // 对应国际化资源文件后缀
     config.headers['Content-Language'] = getLanguage();
 
+    hideMsg = !!config.hideMsg;
     const isToken = config.headers?.isToken === false;
     // 是否需要防止数据重复提交
     // const isRepeatSubmit = config.headers?.repeatSubmit === false;
@@ -143,14 +144,20 @@ service.interceptors.response.use(
       }
       return Promise.reject('无效的会话,或者会话已过期,请重新登录。');
     } else if (code === HttpStatus.SERVER_ERROR) {
-      showErrorMsg(msg);
-      return Promise.reject(new Error(msg));
+      if (!hideMsg) {
+        showErrorMsg(msg);
+        return Promise.reject(new Error(msg));
+      }
     } else if (code === HttpStatus.WARN) {
-      showWarningMsg(msg);
-      return Promise.reject(new Error(msg));
+      if (!hideMsg) {
+        showWarningMsg(msg);
+        return Promise.reject(new Error(msg));
+      }
     } else if (code !== HttpStatus.SUCCESS) {
-      showErrorMsg(msg);
-      return Promise.reject('error');
+      if (!hideMsg) {
+        showErrorMsg(msg);
+        return Promise.reject('error');
+      }
     } else {
       return Promise.resolve(res.data);
     }

+ 3 - 4
src/views/globalMap/RightMenu/tranBureauVideo.vue

@@ -18,7 +18,6 @@
               <el-select
                 v-model="queryParams.area"
                 placeholder="所有区县"
-                size="large"
                 class="custom-select2"
                 popper-class="custom-select-popper2"
                 :teleported="false"
@@ -30,13 +29,12 @@
             </div>
           </div>
           <div class="td">
-            <div style="width: 240px">
+            <div style="width: 250px">
               <el-select
                 v-model="queryParams.video_type"
                 placeholder="类型"
-                size="large"
                 class="custom-select2"
-                popper-class="custom-select-popper2"
+                popper-class="custom-select-popper3"
                 :teleported="false"
                 @change="initData2"
               >
@@ -256,4 +254,5 @@ initData();
     }
   }
 }
+
 </style>

+ 41 - 19
src/views/routineCommandMap/PositionMap.vue

@@ -1,7 +1,28 @@
 <template>
   <Dialog type="sm" title="请选择事发地点" customShow @close="handleClose" @confirm="submit">
-    <el-form ref="queryFormRef" :model="form" :rules="rules">
+    <el-form ref="queryFormRef" :model="form">
       <div class="form">
+        <div class="line">
+          <div class="form-item" style="margin-right: 20px">
+            <div class="text">灾害事件</div>
+            <el-input v-model="form.event_title" class="custom-input" placeholder="请输入" />
+          </div>
+        </div>
+        <div class="line">
+          <div class="form-item" style="margin-right: 20px">
+            <div class="text">灾害级别</div>
+            <el-select
+              v-model="form.event_level"
+              placeholder="请选择"
+              class="custom-select"
+              popper-class="custom-select-popper"
+              :teleported="false"
+              clearable
+            >
+              <el-option v-for="item in mm_event_level" :key="item.value" :label="item.label" :value="item.value" />
+            </el-select>
+          </div>
+        </div>
         <div class="line">
           <div class="form-item" style="margin-right: 20px">
             <div class="text">详细地址</div>
@@ -51,7 +72,7 @@
             <el-input v-model="form.longitude" class="custom-input" placeholder="请输入" />
           </div>
           <div class="form-item" style="margin-left: 80px">
-            <div class="text">详细地址</div>
+            <div class="text">纬度</div>
             <el-input v-model="form.latitude" class="custom-input" placeholder="请输入" />
           </div>
         </div>
@@ -78,6 +99,7 @@
 import AMapLoader from '@amap/amap-jsapi-loader';
 import { useRouter } from 'vue-router';
 import { addEvent } from '@/api/emergencyCommandMap/JointDuty';
+import { showErrorMsg } from '@/utils/notification';
 
 const props = defineProps({
   visible: {
@@ -88,6 +110,8 @@ const props = defineProps({
   },
   flag: Boolean
 });
+const proxy = getCurrentInstance()?.proxy;
+const { mm_event_level } = toRefs(proxy?.useDict( 'mm_event_level'));
 const router = useRouter();
 const emits = defineEmits(['update:visible']);
 const containerScale = inject('containerScale');
@@ -97,11 +121,6 @@ let amap = {};
 let marker = null; //地图上的点标记
 let contextMenu = null;
 let lnglatPosition = ref([]); //选中的新坐标
-let rules = reactive({
-  address: [{ required: true, message: '详细地址不能为空', trigger: 'blur' }],
-  longitude: [{ required: true, message: '经度不能为空', trigger: 'blur' }],
-  latitude: [{ required: true, message: '纬度不能为空', trigger: 'blur' }]
-});
 let pageNum = ref(1);
 let pageSize = ref(10);
 let total = ref(0);
@@ -321,19 +340,22 @@ function handleResize() {
   map.resize();
 }
 function submit() {
-  queryFormRef.value.validate((valid) => {
-    if (valid) {
-      console.log('提交数据', form);
-      addEvent(form).then((res) => {
-        router.push({
-          path: props.flag ? '/emergencyCommandMap' : '/emergencyCommandMap2',
-          query: {
-            event_id: res.data
-          }
-        });
+  if (!form.address) {
+    showErrorMsg('详细地址不能为空');
+  } else if (!form.longitude) {
+    showErrorMsg('经度不能为空');
+  } else if (!form.latitude) {
+    showErrorMsg('纬度不能为空');
+  } else {
+    addEvent(form).then((res) => {
+      router.push({
+        path: props.flag ? '/emergencyCommandMap' : '/emergencyCommandMap2',
+        query: {
+          event_id: res.data
+        }
       });
-    }
-  });
+    });
+  }
 }
 </script>