Просмотр исходного кода

Merge remote-tracking branch 'origin/dev' into dev

Hwf 8 месяцев назад
Родитель
Сommit
16d8dae878

+ 37 - 0
src/api/globalMap/spatialAnalysis.ts

@@ -77,3 +77,40 @@ export const getHospitalDetails = (id: string) => {
     }
     }
   });
   });
 };
 };
+// 加油站详情
+export const getGasolinestationDetails = (id: string) => {
+  return request({
+    url: '/api/gateway/v2/get_point_info_gasoline_station',
+    method: 'post',
+    data: {
+      query: {
+        id: id
+      }
+    }
+  });
+};
+// 非煤矿山企业详情
+export const getMiningcompanyDetails = (id: string) => {
+  return request({
+    url: '/api/gateway/v2/get_point_info_mining_company',
+    method: 'post',
+    data: {
+      query: {
+        id: id
+      }
+    }
+  });
+};
+
+// 危化企业详情
+export const getChemicalcompanyDetails = (id: string) => {
+  return request({
+    url: '/api/gateway/v2/get_point_info_chemical_company',
+    method: 'post',
+    data: {
+      query: {
+        id: id
+      }
+    }
+  });
+};

BIN
src/assets/images/emergencyCommandMap/weather/rainfall.png


BIN
src/assets/images/map/switchBtn1.png


BIN
src/assets/images/timeAxis/timeBtn1.png


+ 7 - 3
src/components/Map/index.vue

@@ -29,11 +29,12 @@ import { PointType } from '@/api/globalMap/type';
 import {
 import {
   getEmergencyExpertDetails,
   getEmergencyExpertDetails,
   getEmergencyShelterTypeDetails,
   getEmergencyShelterTypeDetails,
-  getHospitalDetails,
+  getGasolinestationDetails,
+  getHospitalDetails,getMiningcompanyDetails,
   getRescueMateriaDetails,
   getRescueMateriaDetails,
   getSchoolDetails,
   getSchoolDetails,
   getWaterloggedRoadsDetails
   getWaterloggedRoadsDetails
-} from '@/api/globalMap/spatialAnalysis';
+} from "@/api/globalMap/spatialAnalysis";
 import { pointDetailTemplate } from '@/views/globalMap/data/mapData';
 import { pointDetailTemplate } from '@/views/globalMap/data/mapData';
 
 
 interface Props {
 interface Props {
@@ -132,7 +133,10 @@ const handlePointDetails = (data) => {
     '3': getEmergencyShelterTypeDetails,
     '3': getEmergencyShelterTypeDetails,
     '4': getWaterloggedRoadsDetails,
     '4': getWaterloggedRoadsDetails,
     '5': getSchoolDetails,
     '5': getSchoolDetails,
-    '6': getHospitalDetails
+    '6': getHospitalDetails,
+    '7': getGasolinestationDetails,
+    '8': getMiningcompanyDetails,
+    '9': getChemicalcompanyDetails
   };
   };
   let method = methodList[data.dataType];
   let method = methodList[data.dataType];
   if (!method) return;
   if (!method) return;

+ 109 - 75
src/views/emergencyCommandMap/LeftSection/CloseCommand.vue

@@ -2,18 +2,14 @@
   <el-dialog ref="formDialogRef" :model-value="visible" :title="props.title" width="650px" append-to-body @close="closeDialog">
   <el-dialog ref="formDialogRef" :model-value="visible" :title="props.title" width="650px" append-to-body @close="closeDialog">
     <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="80px">
     <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="80px">
       <el-form-item label="灾害事件" prop="event_title">
       <el-form-item label="灾害事件" prop="event_title">
-        <el-select v-if="!props.eventId" v-model="form.event_title" placeholder="请选择事件" clearable>
-          <el-option
-            v-for="item in events"
-            :key="item.event_id"
-            :label="item.event_title"
-            :value="item.event_title"
-            @click="selectEvent(item)"
-          ></el-option>
+        <el-select v-if="!props.flag" v-model="form.event_title" placeholder="请选择事件" clearable @change="selectEvent">
+          <el-option v-for="item in events" :key="item.event_id" :label="item.event_title" :value="item.event_title"></el-option>
         </el-select>
         </el-select>
         <span v-else>{{ form.event_title }}</span>
         <span v-else>{{ form.event_title }}</span>
       </el-form-item>
       </el-form-item>
-      <span style="color: red; display: block; margin-top: 5px">注意:本次指挥未关联事件,指挥记录将不会保留,若需要保留指挥记录,请关联事件</span>
+      <span v-if="!props.flag" style="color: red; display: block; margin-top: 5px"
+        >注意:本次指挥未关联事件,指挥记录将不会保留,若需要保留指挥记录,请关联事件</span
+      >
     </el-form>
     </el-form>
     <template #footer>
     <template #footer>
       <div class="dialog-footer">
       <div class="dialog-footer">
@@ -25,50 +21,35 @@
 </template>
 </template>
 
 
 <script lang="ts" setup>
 <script lang="ts" setup>
-import { ref, reactive, toRefs } from 'vue';
-import { editEvent, registeredEvent, closeEvent } from '@/api/duty/eventing';
+import { ref, reactive, toRefs, watch, onMounted } from 'vue';
+import { editEvent, registeredEvent, closeEvent, getEventDetail } from '@/api/duty/eventing';
 import { useRouter, useRoute } from 'vue-router';
 import { useRouter, useRoute } from 'vue-router';
 const proxy = getCurrentInstance()?.proxy;
 const proxy = getCurrentInstance()?.proxy;
-const { mm_event_title, region } = toRefs<any>(proxy?.useDict('mm_event_title', 'region'));
 const router = useRouter();
 const router = useRouter();
 const buttonLoading = ref(false);
 const buttonLoading = ref(false);
 const eventFormRef = ref();
 const eventFormRef = ref();
 const visible = ref(false);
 const visible = ref(false);
 const events = ref([]);
 const events = ref([]);
 const route = useRoute();
 const route = useRoute();
-// 从 URL 查询字符串中解析参数
 const urlParams = new URLSearchParams(route.query);
 const urlParams = new URLSearchParams(route.query);
 const address = urlParams.get('address') || '';
 const address = urlParams.get('address') || '';
 const latitude = urlParams.get('latitude') || '';
 const latitude = urlParams.get('latitude') || '';
 const longitude = urlParams.get('longitude') || '';
 const longitude = urlParams.get('longitude') || '';
+
 interface Props {
 interface Props {
   modelValue: boolean;
   modelValue: boolean;
+  flag: boolean;
   eventId: string;
   eventId: string;
   title: string;
   title: string;
 }
 }
 const props = withDefaults(defineProps<Props>(), {
 const props = withDefaults(defineProps<Props>(), {
   modelValue: false,
   modelValue: false,
+  flag: false,
   eventId: '',
   eventId: '',
   title: ''
   title: ''
 });
 });
 
 
 const emits = defineEmits(['update:modelValue']);
 const emits = defineEmits(['update:modelValue']);
-watch(
-  () => props.modelValue,
-  (newVal) => {
-    if (newVal) {
-      if (props.eventId !== '') {
-        editEvent({ event_id: props.eventId }).then((res) => {
-          form.value = res.data;
-        });
-      } else {
-        form.value = { ...initFormData };
-        eventFormRef.value?.resetFields();
-      }
-    }
-    visible.value = newVal;
-  }
-);
 
 
 // 表单初始数据
 // 表单初始数据
 const initFormData = {
 const initFormData = {
@@ -92,7 +73,81 @@ const data = reactive({
 
 
 const { form, rules } = toRefs(data);
 const { form, rules } = toRefs(data);
 
 
-// 提交表单
+// 获取事件详情
+const fetchEventDetail = async (id: string) => {
+  try {
+    const response = await getEventDetail({ event_id: id });
+    if (response && response.data) {
+      form.value = response.data;
+    }
+  } catch (error) {
+    console.error('Failed to fetch event detail:', error);
+  }
+};
+
+// 获取注册的事件列表
+const fetchEvents = async () => {
+  try {
+    const response = await registeredEvent({});
+    if (response && response.data && Array.isArray(response.data)) {
+      events.value = response.data;
+    }
+  } catch (error) {
+    console.error('Failed to fetch events:', error);
+  }
+};
+
+// 初始化事件列表
+onMounted(fetchEvents);
+
+// 监听 modelValue 变化
+watch(
+  () => props.modelValue,
+  async (newVal) => {
+    if (newVal) {
+      if (props.eventId) {
+        await fetchEventDetail(props.eventId);
+      } else {
+        form.value = { ...initFormData };
+        eventFormRef.value?.resetFields();
+      }
+    }
+    visible.value = newVal;
+  }
+);
+
+const closeDialog = () => {
+  emits('update:modelValue', false);
+  if (eventFormRef.value) {
+    eventFormRef.value.resetFields(); // 仅重置表单验证状态
+  }
+  // 不需要重置 form.value.event_id 和 form.value.event_title
+};
+const endProcess = () => {
+  // 如果 flag 为 false,则需要选择一个事件
+  if (!props.flag) {
+    if (!form.value.event_id) {
+      proxy?.$message.error('请先选择一个事件');
+      return;
+    }
+    // 提交选择的事件信息
+    submitSelectedEvent()
+      .then(() => {
+        console.log('Form submitted successfully.');
+        closeDialog();
+        router.go(-1);
+      })
+      .catch((error) => {
+        console.error('Failed to submit the form:', error);
+        proxy?.$message.error('提交表单失败,请检查您的输入');
+      });
+  } else {
+    // 如果 flag 为 true,则直接关闭对话框并返回上一页
+    closeDialog();
+    router.go(-1); // 立即返回上一级页面
+  }
+};
+
 const submitForm = async () => {
 const submitForm = async () => {
   return new Promise((resolve, reject) => {
   return new Promise((resolve, reject) => {
     eventFormRef.value?.validate(async (valid) => {
     eventFormRef.value?.validate(async (valid) => {
@@ -127,55 +182,34 @@ const submitForm = async () => {
   });
   });
 };
 };
 
 
-// 获取注册的事件列表
-const fetchEvents = async () => {
-  try {
-    const response = await registeredEvent({});
-    if (response && response.data && Array.isArray(response.data)) {
-      events.value = response.data;
+const submitSelectedEvent = async () => {
+  // 提交选择的事件信息
+  if (form.value.event_id) {
+    // 更新事件信息
+    const updateParams = {
+      event_id: form.value.event_id,
+      address: form.value.address,
+      latitude: form.value.latitude,
+      longitude: form.value.longitude
+    };
+    try {
+      await editEvent(updateParams);
+      // 提交关闭事件请求
+      await submitForm();
+    } catch (error) {
+      console.error('Failed to update or close event:', error);
+      throw error; // 抛出错误以便外层处理
     }
     }
-  } catch (error) {
-    console.error('Failed to fetch events:', error);
   }
   }
 };
 };
-// 初始化事件列表
-onMounted(fetchEvents);
 
 
-const closeDialog = () => {
-  emits('update:modelValue', false);
-  if (eventFormRef.value) {
-    eventFormRef.value.resetFields();
-  }
-  form.value.event_id = '';
-  form.value.event_title = '';
-};
-const endProcess = () => {
-  // 如果没有 eventId,则提交表单
-  if (props.eventId === '') {
-    // 使用 async/await 来等待表单提交的结果
-    submitForm()
-      .then(() => {
-        // 提交成功后的处理
-        console.log('Form submitted successfully.');
-        closeDialog();
-        // 关闭对话框后返回上一级页面
-        router.go(-1);
-      })
-      .catch((error) => {
-        // 提交失败后的处理
-        console.error('Failed to submit the form:', error);
-        proxy?.$message.error('提交表单失败,请检查您的输入');
-      });
-  } else {
-    // 如果有 eventId,则直接关闭对话框并返回上一页
-    closeDialog();
-    router.go(-1); // 立即返回上一级页面
+const selectEvent = (eventTitle) => {
+  const selectedItem = events.value.find((event) => event.event_title === eventTitle);
+  if (selectedItem) {
+    form.value.event_id = selectedItem.event_id;
+    form.value.event_title = selectedItem.event_title;
+    console.log('Selected Event ID:', form.value.event_id);
+    console.log('Selected Event Title:', form.value.event_title);
   }
   }
 };
 };
-
-const selectEvent = (item) => {
-  // 更新表单中的 event_id 和 event_title
-  form.value.event_id = item.event_id;
-  form.value.event_title = item.event_title;
-};
 </script>
 </script>

+ 76 - 118
src/views/emergencyCommandMap/LeftSection/index.vue

@@ -87,7 +87,13 @@
       </div>
       </div>
     </div>
     </div>
     <VideoMonitor />
     <VideoMonitor />
-    <CloseCommand v-model="closeCommandState.show" :title="closeCommandState.title" :event-id="eventId" @update:model-value="fetchEventDetail" />
+    <CloseCommand
+      v-model="closeCommandState.show"
+      :title="closeCommandState.title"
+      :flag="flag"
+      :event-id="eventId"
+      @update:model-value="fetchEventDetail"
+    />
   </div>
   </div>
 </template>
 </template>
 <script lang="ts" setup name="LeftSection">
 <script lang="ts" setup name="LeftSection">
@@ -95,18 +101,57 @@ import { getEventDetail, getWeather } from '@/api/duty/eventing';
 import VideoMonitor from '@/views/emergencyCommandMap/LeftSection/VideoMonitor.vue';
 import VideoMonitor from '@/views/emergencyCommandMap/LeftSection/VideoMonitor.vue';
 import { ref, onMounted, onUnmounted, computed } from 'vue';
 import { ref, onMounted, onUnmounted, computed } from 'vue';
 import CloseCommand from './CloseCommand.vue';
 import CloseCommand from './CloseCommand.vue';
+
 const route = useRoute();
 const route = useRoute();
 const router = useRouter();
 const router = useRouter();
-const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { mm_event_type, mm_event_level, mm_event_state, region } = toRefs<any>(
-  proxy?.useDict('mm_event_type', 'mm_event_level', 'mm_event_state', 'region')
-);
+
+const eventId = ref('');
+
+// 天气相关数据
 const weatherDescription = ref('');
 const weatherDescription = ref('');
 const temperature = ref('');
 const temperature = ref('');
 const humidity = ref('');
 const humidity = ref('');
 const windDirection = ref('');
 const windDirection = ref('');
 const windLevel = ref('');
 const windLevel = ref('');
 const rainfall = ref('');
 const rainfall = ref('');
+
+// 灾害事件数据
+const eventData = ref({
+  event_title: '',
+  event_type: '',
+  event_level: '',
+  address: '',
+  event_status: '',
+  event_source: '',
+  event_time: '',
+  report_time: ''
+});
+
+// 灾害信息卡片中的持续时间
+const duration = computed(() => {
+  if (isNaN(elapsedTime.value) || elapsedTime.value < 0) {
+    return { days: 0, hours: 0, minutes: 0, seconds: 0 };
+  }
+
+  const totalSeconds = Math.floor(elapsedTime.value / 1000);
+  const days = Math.floor(totalSeconds / (24 * 3600));
+  const hours = Math.floor((totalSeconds % (24 * 3600)) / 3600);
+  const minutes = Math.floor((totalSeconds % 3600) / 60);
+  const seconds = totalSeconds % 60;
+
+  return { days, hours, minutes, seconds };
+});
+
+const closeCommandState = reactive({
+  show: false,
+  title: '',
+  flag: false, // 默认为 false
+  eventId: ''
+});
+
+const elapsedTime = ref(0);
+let intervalId = null;
+
 // 获取天气数据
 // 获取天气数据
 async function fetchWeatherData() {
 async function fetchWeatherData() {
   try {
   try {
@@ -124,6 +169,7 @@ async function fetchWeatherData() {
     console.error('Failed to fetch weather data:', error);
     console.error('Failed to fetch weather data:', error);
   }
   }
 }
 }
+
 // 根据风向角度获取风向名称
 // 根据风向角度获取风向名称
 function getWindDirection(angle) {
 function getWindDirection(angle) {
   const directions = [
   const directions = [
@@ -151,112 +197,34 @@ function getWindDirection(angle) {
   const index = Math.floor(((angle + 11.25) % 360) / 22.5);
   const index = Math.floor(((angle + 11.25) % 360) / 22.5);
   return directions[index];
   return directions[index];
 }
 }
-let eventId = ref('');
-// 事件信息
-const eventData = ref({
-  event_title: '',
-  event_type: '',
-  event_level: '',
-  address: '',
-  event_status: '',
-  event_source: '',
-  event_time: '',
-  report_time: ''
-});
-const fetchEventDetail = () => {
+
+const fetchEventDetail = (id: string) => {
   console.log('fetchEventDetail');
   console.log('fetchEventDetail');
-  if (eventId.value) {
-    // 如果有eventId,则正常获取事件详情
-    getEventDetail({ event_id: eventId.value }).then((res) => {
+  if (id && id !== eventData.value.event_id) {
+    // 如果有 id,则正常获取事件详情
+    getEventDetail({ event_id: id }).then((res) => {
       eventData.value = res.data;
       eventData.value = res.data;
       // 初始化响应时间
       // 初始化响应时间
       updateTime();
       updateTime();
     });
     });
-  } else {
-    // 如果没有eventId,则从URL中获取address,并设置到eventData.address
-    eventData.value.address = route.query.address as string;
-    // 设置一个默认的事件时间,即当前时间
-    eventData.value.event_time = new Date().toISOString();
-    updateTime();
   }
   }
 };
 };
-// 综合值守
-const comprehensiveDutyState = ref({
-  time1: '',
-  time2: '',
-  classLeader: '',
-  deputyShiftPerson: '',
-  mainShiftPerson: '',
-  backupPerson: ''
-});
-//结束指挥弹窗
-const closeCommandState = reactive({
-  show: false,
-  title: ''
-});
+
 const closeCommand = () => {
 const closeCommand = () => {
   console.log('CloseCommand');
   console.log('CloseCommand');
   closeCommandState.title = '结束指挥';
   closeCommandState.title = '结束指挥';
+  closeCommandState.eventId = eventId.value;
   closeCommandState.show = true;
   closeCommandState.show = true;
 };
 };
-// 分析研判
-const analyzeJudge = ref({});
-
-const initData = () => {
-  // 事件信息
-  eventData.value = {
-    event_title: '',
-    type: '',
-    grade: '',
-    address: '',
-    status: '',
-    unit: '',
-    time: '',
-    event_time: ''
-  };
-  // 分析研判
-  analyzeJudge.value = [
-    {
-      label: '基础数据',
-      children: [
-        { icon: 'user', label: '人口', data: 200, unit: '万人' },
-        { icon: 'user', label: '人口密度', data: 23, unit: '人/km²' }
-      ]
-    },
-    {
-      label: '协同应急',
-      children: [
-        { icon: 'user', label: '专家', data: 10, unit: '个' },
-        { icon: 'user', label: '救援队伍', data: 10, unit: '支' },
-        { icon: 'user', label: '通信机构', data: 10, unit: '所' },
-        { icon: 'user', label: '医疗机构', data: 10, unit: '间' },
-        { icon: 'user', label: '救援车辆', data: 10, unit: '辆' }
-      ]
-    },
-    {
-      label: '重点场所',
-      children: [
-        { icon: 'user', label: '救助站', data: 10, unit: '个' },
-        { icon: 'user', label: '应急庇护场所', data: 10, unit: '个' },
-        { icon: 'user', label: '人防工程', data: 10, unit: '个' },
-        { icon: 'user', label: '水利工程', data: 10, unit: '个' },
-        { icon: 'user', label: '物资仓库', data: 10, unit: '个' }
-      ]
-    },
-    {
-      label: '重点防护场所',
-      children: [
-        { icon: 'user', label: '高危企业', data: 10, unit: '个' },
-        { icon: 'user', label: '加油站', data: 10, unit: '个' },
-        { icon: 'user', label: '学校', data: 10, unit: '个' },
-        { icon: 'user', label: '养老院', data: 10, unit: '个' }
-      ]
-    }
-  ];
-};
-const elapsedTime = ref(0);
-let intervalId = null;
-
+// 当关闭对话框时,不重置 eventId
+watch(closeCommandState.show, (newVal) => {
+  if (!newVal) {
+    // 对话框关闭时,保持 eventId 的状态
+    eventId.value = closeCommandState.eventId;
+    // 保持 eventData 的状态
+    fetchEventDetail(eventId.value);
+  }
+});
 const updateTime = () => {
 const updateTime = () => {
   if (eventData.value.event_time && typeof eventData.value.event_time === 'string') {
   if (eventData.value.event_time && typeof eventData.value.event_time === 'string') {
     const eventTime = new Date(eventData.value.event_time);
     const eventTime = new Date(eventData.value.event_time);
@@ -266,32 +234,22 @@ const updateTime = () => {
       console.error('Invalid date format:', eventData.value.event_time);
       console.error('Invalid date format:', eventData.value.event_time);
     }
     }
   } else {
   } else {
-    // 如果没有event_time,则重置响应时间为0
+    // 如果没有 event_time,则重置响应时间为 0
     elapsedTime.value = 0;
     elapsedTime.value = 0;
   }
   }
 };
 };
 
 
-const duration = computed(() => {
-  if (isNaN(elapsedTime.value) || elapsedTime.value < 0) {
-    return { days: 0, hours: 0, minutes: 0, seconds: 0 };
-  }
-
-  const totalSeconds = Math.floor(elapsedTime.value / 1000);
-  const days = Math.floor(totalSeconds / (24 * 3600));
-  const hours = Math.floor((totalSeconds % (24 * 3600)) / 3600);
-  const minutes = Math.floor((totalSeconds % 3600) / 60);
-  const seconds = totalSeconds % 60;
-
-  return { days, hours, minutes, seconds };
-});
 onMounted(() => {
 onMounted(() => {
-  initData();
-  // setInterval(updateDuration, 800);
-  eventId.value = route.query.event_id as string;
-  fetchEventDetail();
+  // 从 URL 参数中获取 tempEventId 或 event_id
+  const flag = !!route.query.event_id;
+  eventId.value = flag ? route.query.event_id : route.query.tempEventId;
+  closeCommandState.flag = flag; // 将 flag 赋值给 closeCommandState
+  fetchEventDetail(eventId.value);
+
   fetchWeatherData();
   fetchWeatherData();
   intervalId = setInterval(updateTime, 1000);
   intervalId = setInterval(updateTime, 1000);
 });
 });
+
 onUnmounted(() => {
 onUnmounted(() => {
   if (intervalId) {
   if (intervalId) {
     clearInterval(intervalId);
     clearInterval(intervalId);
@@ -369,7 +327,7 @@ onUnmounted(() => {
       .rainfall {
       .rainfall {
         width: 135px;
         width: 135px;
         height: 109px;
         height: 109px;
-        background: url('@/assets/images/emergencyCommandMap/weather/humidity.png') no-repeat;
+        background: url('@/assets/images/emergencyCommandMap/weather/rainfall.png') no-repeat;
       }
       }
     }
     }
   }
   }

+ 86 - 0
src/views/globalMap/data/mapData.ts

@@ -4203,6 +4203,92 @@ export const pointDetailTemplate = {
     yljglb: '医疗机构类别',
     yljglb: '医疗机构类别',
     yydj: '医院等级',
     yydj: '医院等级',
     yylx: '医院类型'
     yylx: '医院类型'
+  },
+  '7': {
+    province: '省',
+    city: '地市',
+    area: '区县',
+    company_name: '企业名称',
+    company_code: '企业编码',
+    company_type: '企业类型',
+    is_import: '是否涉及进口',
+    is_manage: '是否涉及经营',
+    registration_date: '工商注册时间',
+    registration_address: '工商注册地址',
+    credit_code: '统一社会信用代码',
+    industry_classification: '行业分类',
+    production_scale: '主要产品及生产规模',
+    emergency_contact_number: '安全值班电话',
+    emergency_response_hotline: '应急咨询服务电话',
+    qyagjgfzr_phone: '企业安管机构负责人手机号',
+    qyfgaqfzr_phone: '企业分管安全负责人手机号',
+    xkzbh: '许可证编号',
+    sfqdwxhxpjyxkz: '是否取得危险化学品经营许可证',
+    factory_address: '厂区地址',
+    number_of_employees: '职工人数',
+    deregistration_date: '注销时间',
+    scale_of_enterprise: '企业规模',
+    chemical_industry_classification: '化工行业分类',
+    safe_level: '安全标准化等级',
+    longitude: '经度',
+    latitude: '纬度',
+    formatted_address: '地址'
+  },
+  '8': {
+    company_name: '矿山企业名称',
+    province: '省',
+    city: '市',
+    area: '县',
+    production_status: '生产状态',
+    primary_mineral_types: '主要矿种',
+    mining_method: '开采方式',
+    development_method: '开拓方式',
+    scale: '矿山规模',
+    name: '姓名',
+    phone: '联系方式',
+    longitude: '经度',
+    latitude: '纬度',
+    formatted_address: '地址'
+  },
+  '9': {
+    province: '省',
+    id: 0,
+    city: '地市',
+    area: '区县',
+    company_name: '企业名称',
+    company_code: '企业编码',
+    company_type: '企业类型',
+    is_import: '是否涉及进口',
+    is_manage: '是否涉及经营',
+    registration_date: '工商注册时间',
+    registration_address: '工商注册地址',
+    credit_code: '统一社会信用代码',
+    industry_classification: '行业分类',
+    production_scale: '主要产品及生产规模',
+    chemical_park_location: '所在化工园区',
+    emergency_contact_number: '安全值班电话',
+    emergency_response_hotline: '应急咨询服务电话',
+    qyagjgfzr_phone: '企业安管机构负责人手机号',
+    qyfgaqfzr_phone: '企业分管安全负责人手机号',
+    sfqdwxhxpaqscxkz: '是否取得危险化学品安全生产许可证',
+    xkzbh: '许可证编号',
+    sfqdwxhxpjyxkz: '是否取得危险化学品经营许可证',
+    sfqdwxhxpsyxkz: '是否取得危险化学品使用许可证',
+    factory_address: '厂区地址',
+    hazard_source: '重大危险源',
+    hazardous_chemical_process: '危险化工工艺',
+    issuance_date: '发证日期',
+    certificate_expiry_date: '证书有效期',
+    company_registration_number: '企业登记证编码',
+    number_of_employees: '职工人数',
+    deregistration_date: '注销时间',
+    scale_of_enterprise: '企业规模',
+    chemical_industry_classification: '化工行业分类',
+    safe_level: '安全标准化等级',
+    priority: '重点行业',
+    longitude: '经度',
+    latitude: '纬度',
+    formatted_address: '地址'
   }
   }
 };
 };
 
 

+ 3 - 2
src/views/routineCommandMap/company-map.vue

@@ -115,7 +115,7 @@ let form = reactive({
   event_title: '',
   event_title: '',
   event_type: '',
   event_type: '',
   event_level: '',
   event_level: '',
-  event_status: '',
+  event_status: '1',
   event_time: '1977-01-01 00:00:00',
   event_time: '1977-01-01 00:00:00',
   report_time: '1977-01-01 00:00:00',
   report_time: '1977-01-01 00:00:00',
   deaths: '0',
   deaths: '0',
@@ -123,7 +123,8 @@ let form = reactive({
   missing: '0',
   missing: '0',
   event_source: '',
   event_source: '',
   event_description: '',
   event_description: '',
-  casualties: ''
+  casualties: '',
+  del_flag: '9'
 });
 });
 let open = ref(false);
 let open = ref(false);
 let geocoder = {};
 let geocoder = {};