Procházet zdrojové kódy

Merge branch 'dev' of maoming/yjdp-web into master

迭代一
zhangyihao před 1 rokem
rodič
revize
108360595e

+ 2 - 1
src/api/duty/eventing.ts

@@ -3,6 +3,7 @@ import request from '@/utils/request';
 // 获取事件列表
 export function getEvent(params) {
   return request({
+    url: '/api/event_management/event/list',
     url: '/api/event_management/event/list',
     method: 'get',
     params: params
@@ -78,4 +79,4 @@ export function uploadEventCasualties(data) {
     method: 'post',
     data: data
   });
-}
+}

+ 9 - 4
src/types/components.d.ts

@@ -19,10 +19,11 @@ declare module 'vue' {
     ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
-    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']
     ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
+    ElDialog: typeof import('element-plus/es')['ElDialog']
     ElDivider: typeof import('element-plus/es')['ElDivider']
     ElDrawer: typeof import('element-plus/es')['ElDrawer']
     ElDropdown: typeof import('element-plus/es')['ElDropdown']
@@ -32,22 +33,26 @@ declare module 'vue' {
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
     ElIcon: typeof import('element-plus/es')['ElIcon']
     ElInput: typeof import('element-plus/es')['ElInput']
+    ElLink: typeof import('element-plus/es')['ElLink']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
     ElOption: typeof import('element-plus/es')['ElOption']
     ElPagination: typeof import('element-plus/es')['ElPagination']
+    ElRow: typeof import('element-plus/es')['ElRow']
     ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
     ElSelect: typeof import('element-plus/es')['ElSelect']
     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']
     ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
+    ElTag: typeof import('element-plus/es')['ElTag']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTooltip: typeof import('element-plus/es')['ElTooltip']
+    ElUpload: typeof import('element-plus/es')['ElUpload']
     FileUpload: typeof import('./../components/FileUpload/index.vue')['default']
     FooterSection: typeof import('./../components/FooterSection/index.vue')['default']
     Hamburger: typeof import('./../components/Hamburger/index.vue')['default']
@@ -60,6 +65,7 @@ declare module 'vue' {
     ImagePreview: typeof import('./../components/ImagePreview/index.vue')['default']
     ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
     Index2: typeof import('./../components/Dialog/index2.vue')['default']
+    Index3: typeof import('./../components/Dialog/index3.vue')['default']
     LangSelect: typeof import('./../components/LangSelect/index.vue')['default']
     Map: typeof import('./../components/Map/index.vue')['default']
     MapLogical: typeof import('./../components/Map/MapLogical.vue')['default']
@@ -82,7 +88,6 @@ declare module 'vue' {
     TreeSelect: typeof import('./../components/TreeSelect/index.vue')['default']
     UserSelect: typeof import('./../components/UserSelect/index.vue')['default']
     YMap: typeof import('./../components/Map/YMap.vue')['default']
-    YMapold: typeof import('./../components/Map/YMapold.vue')['default']
     YztMap: typeof import('./../components/Map/YztMap/index.vue')['default']
   }
   export interface ComponentCustomProperties {

+ 46 - 33
src/views/emergencyCommandMap/LeftSection.vue

@@ -5,9 +5,9 @@
         <div class="event-box">
           <div style="padding-top: 15px">
             <div class="label-box">
-              <div class="gradient-text">{{ eventData.name }}</div>
+              <div class="gradient-text">{{ eventData.event_title }}</div>
             </div>
-            <div class="time-text">{{ eventData.time }}</div>
+            <div class="time-text">{{ eventData.report_time }}</div>
             <div class="address-box">
               <i class="address-icon"></i>
               <div class="address-text">{{ eventData.address }}</div>
@@ -16,16 +16,22 @@
           <div style="margin-left: 95px">
             <div class="flex">
               <div class="status-box warning-status">
-                <div class="text">{{ eventData.grade }}</div>
+                <div class="text">
+                  <dict-tag :options="mm_event_level" :value="eventData.event_level" />
+                </div>
               </div>
               <div class="status-box danger-status">
-                <div class="text">{{ eventData.type }}</div>
+                <div class="text">
+                  <dict-tag :options="mm_event_type" :value="eventData.event_type" />
+                </div>
               </div>
               <div class="status-box">
-                <div class="text">{{ eventData.status }}</div>
+                <div class="text">
+                  <dict-tag :options="mm_event_state" :value="eventData.event_status" />
+                </div>
               </div>
             </div>
-            <div class="unit-box">报送单位:{{ eventData.unit }}</div>
+            <div class="unit-box">报送单位:{{ eventData.event_source }}</div>
           </div>
         </div>
         <div class="line"></div>
@@ -112,9 +118,10 @@
 </template>
 
 <script lang="ts" setup>
-const duration = ref(0);
+import { getEventDetail} from '@/api/duty/eventing';
+// const duration = ref(0);
 const formattedDuration = ref('');
-
+const route = useRoute();
 const router = useRouter();
 const updateDuration = () => {
   duration.value += 1;
@@ -124,23 +131,28 @@ const updateDuration = () => {
   const seconds = duration.value % 60;
   formattedDuration.value = `持续时长:${days}天${hours}小时${minutes}分${seconds}秒`;
 };
-
+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')
+);
+let eventId = ref('');
 // 事件信息
 const eventData = ref({
-  name: '',
-  type: '',
-  grade: '',
+  event_title: '',
+  event_type: '',
+  event_level: '',
   address: '',
-  status: '',
-  unit: '',
-  time: '',
-  duration: {
-    day: '',
-    hour: '',
-    minute: '',
-    second: ''
-  }
+  event_status: '',
+  event_source: '',
+  report_time: '',
 });
+const fetchEventDetail = () => {
+  console.log('fetchEventDetail');
+  getEventDetail({ event_id: eventId.value }).then((res) => {
+    eventData.value = res.data;
+  });
+};
+
 // 综合值守
 const comprehensiveDutyState = ref({
   time1: '',
@@ -162,18 +174,18 @@ const endProcess = () => {
 const initData = () => {
   // 事件信息
   eventData.value = {
-    name: '茂名市茂南区应急指挥事件',
-    type: '自然灾害',
-    grade: '一级',
-    address: '广东省茂名市茂南区',
-    status: '进行中',
-    unit: '110',
-    time: '2024/7/1 09:00:00',
+    event_title: '',
+    type: '',
+    grade: '',
+    address: '',
+    status: '',
+    unit: '',
+    time: '',
     duration: {
-      day: '1',
-      hour: '12',
-      minute: '14',
-      second: '32'
+      day: '',
+      hour: '',
+      minute: '',
+      second: ''
     }
   };
   // 综合值守
@@ -230,10 +242,11 @@ const initData = () => {
     }
   ];
 };
-
 onMounted(() => {
   initData();
   setInterval(updateDuration, 800);
+  eventId.value = route.query.event_id as string;
+  fetchEventDetail();
 });
 </script>
 

+ 5 - 5
src/views/routineCommandMap/LeftSection.vue

@@ -57,7 +57,7 @@
             </td>
             <td class="td">
               <div class="flex">
-                <div @click="enterCommand">进入指挥</div>
+                <div @click="enterCommand(item)">进入指挥</div>
               </div>
             </td>
           </tr>
@@ -165,13 +165,13 @@ const showMoreEventManageList = () => {
   eventManageState.showListDialog = true;
 };
 // 进入应急态界面
-const enterCommand = (row) => {
-  if (row) {
+const enterCommand = (item) => {
+  if (item) {
     // 查看事件详情逻辑
-    console.log('进入指挥', row);
+    console.log('进入指挥', item);
     router.push({
       path: '/emergencyCommandMap',
-      query: { event_id: row.event_id }
+      query: { event_id: item.event_id }
     });
   }
 };