libushang vor 7 Monaten
Ursprung
Commit
7e4df6c4c1

+ 18 - 1
src/api/event.ts

@@ -17,6 +17,15 @@ export function getEventList(params) {
     });
 }
 
+// 获取事件详情
+export function getEventDetail(params) {
+    return request({
+        url: '/api/event_management/event/detail',
+        method: 'get',
+        params: params
+    });
+}
+
 // 开始指挥事件
 export function startEvent(data) {
     return request({
@@ -50,4 +59,12 @@ export function signEvent(data) {
         method: 'post',
         data: data
     });
-} 
+}
+
+export function uploadCasualties(data) {
+    return request({
+        url: '/api/event_management/event/upload_casualties',
+        method: 'post',
+        data: data
+    });
+}

+ 22 - 2
src/router/routes.ts

@@ -15,6 +15,17 @@ const routes: Array<RouteRecordRaw> = [
     name: "YzyCallback",
     component: () => import('@/components/YzyCallback/index.vue')
   },
+  {
+    path: "/leader/index",
+    name: "LeaderIndex",
+    component: () => import('@/views/leader/index.vue')
+  },
+  {
+    path: "/mobile_control2/index",
+    name: "MobileControl2",
+    component: () => import('@/views/mobileControl2/index.vue')
+  },
+  /*
   {
     path: "/leader",
     name: "Leader",
@@ -67,7 +78,7 @@ const routes: Array<RouteRecordRaw> = [
         }
       }
     ]
-  },
+  },*/
   {
     path: "/worker",
     name: "Worker",
@@ -94,13 +105,22 @@ const routes: Array<RouteRecordRaw> = [
     ]
   },
   {
-    path: "/event",
+    path: "/event/index",
     name: "EventList",
     component: () => import("@/views/event/index.vue"),
     meta: {
       title: "事件列表"
     }
   },
+  {
+    path: "/event/detail",
+    name: "EventDetail",
+    component: () => import("@/views/event/detail.vue"),
+    meta: {
+      title: "事件详情页",
+      noCache: true
+    }
+  },
   {
     path: "/signPage",
     name: "signPage",

+ 15 - 21
src/views/event/CloseEventDialog.vue

@@ -38,33 +38,29 @@
                 :rules="[{ required: true, message: '请填写失联人数'  }]"
             />
         </van-cell-group>
-        <div style="margin: 16px;display: flex;
+        <div style="margin: 3.0vmin;display: flex;
             flex-direction: row;
             justify-content: flex-end;">
             <div style="display: flex;        flex-direction: row;  justify-content: space-between;">
-                <van-button type="primary" native-type="submit" style="margin-right:10px;">确定</van-button>
-                <van-button @click="closeDialog">取消</van-button>
+                <van-button @click="closeDialog(false)" style="margin-right:10px;">取 消</van-button>
+                <van-button type="primary" native-type="submit">确 定</van-button>
             </div>
         </div>
     </van-form>    
 </van-popup>
 
 <van-popup v-model:show="show_event_level_picker" round position="bottom">
-        <van-picker
-            :columns="opt_event_level"
-            @cancel="show_event_level_picker = false"
-            @confirm="on_event_level_confirm"
-        /></van-popup>
-
-        <div class="van-doc-block__title">开始指挥</div>
-    
-
+    <van-picker
+        :columns="opt_event_level"
+        @cancel="show_event_level_picker = false"
+        @confirm="on_event_level_confirm"
+    />
+</van-popup>
 </template>
 
 <script lang="ts" setup>
 import {getCurrentInstance, reactive, ref, toRefs, watch, defineEmits} from 'vue';
 import { closeEvent } from "@/api/event";
-import { showSuccessToast, showFailToast  } from 'vant';
 
 const proxy = getCurrentInstance()?.proxy;
 const { mm_event_level } = toRefs<any>(proxy?.useDict( 'mm_event_level' ));
@@ -136,15 +132,13 @@ const on_event_level_confirm = ({ selectedOptions }) => {
 const on_submit = () => {
     console.log('on_submit');
     closeEvent({ eventId: form.value.event_id, ...form.value }).then((res) => {
-        // showSuccessToast(res.msg);
-        closeDialog()
+        closeDialog(true)
       }).catch((err) => {
-        showFailToast(err.msg);
       });
 };
 
-const closeDialog = () => {
-  emits('update:modelValue', false);
+const closeDialog = (t) => {
+  emits('update:modelValue', t);
 };
 
 </script>
@@ -153,9 +147,9 @@ const closeDialog = () => {
 .van-doc-block__title {
     color: var(--van-doc-text-color-4);
     margin: 0px;
-    padding: 32px 16px 16px;
-    font-size: 14px;
+    padding: 3vmin;
+    font-size: 4.6vmin;
     font-weight: 600;
-    line-height: 32px
+    line-height: 6.0vmin;
 }
 </style>

+ 16 - 20
src/views/event/StartEventDialog.vue

@@ -20,33 +20,31 @@
                 @click="show_event_level_picker = true"
             />
         </van-cell-group>
-        <div style="margin: 16px;display: flex;
+        <div style="margin: 3.0vmin;display: flex;
             flex-direction: row;
             justify-content: flex-end;">
             <div style="display: flex;        flex-direction: row;  justify-content: space-between;">
-                <van-button type="primary" native-type="submit" style="margin-right:10px;">确定</van-button>
-                <van-button @click="closeDialog">取消</van-button>
+                <van-button @click="closeDialog(false)" style="margin-right:10px;">取 消</van-button>
+                <van-button type="primary" native-type="submit">确 定</van-button>
+                
             </div>
         </div>
     </van-form>    
 </van-popup>
 
 <van-popup v-model:show="show_event_level_picker" round position="bottom">
-        <van-picker
-            :columns="opt_event_level"
-            @cancel="show_event_level_picker = false"
-            @confirm="on_event_level_confirm"
-        /></van-popup>
-
-        <div class="van-doc-block__title">开始指挥</div>
-    
+    <van-picker
+        :columns="opt_event_level"
+        @cancel="show_event_level_picker = false"
+        @confirm="on_event_level_confirm"
+    />
+</van-popup>
 
 </template>
 
 <script lang="ts" setup>
 import {getCurrentInstance, reactive, ref, toRefs, watch, defineEmits} from 'vue';
 import { startEvent } from "@/api/event";
-import { showSuccessToast, showFailToast  } from 'vant';
 
 const proxy = getCurrentInstance()?.proxy;
 const { mm_event_level } = toRefs<any>(proxy?.useDict( 'mm_event_level' ));
@@ -112,15 +110,13 @@ const on_event_level_confirm = ({ selectedOptions }) => {
 const on_submit = () => {
     console.log('on_submit');
     startEvent({ eventId: form.value.event_id, ...form.value }).then((res) => {
-        // showSuccessToast(res.msg);
-        closeDialog()
+        closeDialog(true)
       }).catch((err) => {
-        showFailToast(err.msg);
       });
 };
 
-const closeDialog = () => {
-  emits('update:modelValue', false);
+const closeDialog = (t) => {
+  emits('update:modelValue', t);
 };
 
 </script>
@@ -129,9 +125,9 @@ const closeDialog = () => {
 .van-doc-block__title {
     color: var(--van-doc-text-color-4);
     margin: 0px;
-    padding: 32px 16px 16px;
-    font-size: 14px;
+    padding: 3vmin;
+    font-size: 4.6vmin;
     font-weight: 600;
-    line-height: 32px
+    line-height: 6.0vmin;
 }
 </style>

+ 102 - 0
src/views/event/UploadEventCasualtiesDialog.vue

@@ -0,0 +1,102 @@
+<template>
+    <van-popup
+        v-model:show="visible"
+    >
+    <van-form @submit="on_submit">
+        <div class="van-doc-block__title">上报伤亡情况</div>
+        <van-cell-group inset>
+            <van-field
+                v-model="form.deaths"
+                label="死亡人数"
+                placeholder="填写死亡人数"
+                :rules="[{ required: true, message: '请填写死亡人数'  }]"
+            />
+            <van-field
+                v-model="form.injuries"
+                label="受伤人数"
+                placeholder="填写受伤人数"
+                :rules="[{ required: true, message: '请填写受伤人数'  }]"
+            />
+            <van-field
+                v-model="form.missing"
+                label="失联人数"
+                placeholder="填写失联人数"
+                :rules="[{ required: true, message: '请填写失联人数'  }]"
+            />
+        </van-cell-group>
+        <div style="margin: 3.0vmin;display: flex;
+            flex-direction: row;
+            justify-content: flex-end;">
+            <div style="display: flex;        flex-direction: row;  justify-content: space-between;">
+                <van-button @click="closeDialog(false)" style="margin-right:10px;">取 消</van-button>
+                <van-button type="primary" native-type="submit">确 定</van-button>
+            </div>
+        </div>
+    </van-form>    
+</van-popup>
+</template>
+
+<script lang="ts" setup>
+import {getCurrentInstance, reactive, ref, toRefs, watch, defineEmits} from 'vue';
+import { uploadCasualties } from "@/api/event";
+
+interface Form {
+    event_id: string;
+    deaths: string;
+    injuries: string;
+    missing: string;
+}
+interface Props {
+    modelValue: boolean;
+    data: Form;
+}
+
+const form = ref<Form>({
+    event_id: '',
+    deaths: '',
+    injuries: '',
+    missing: ''
+});
+
+const props = withDefaults(defineProps<Props>(), {
+  modelValue: false
+});
+
+const emits = defineEmits(['update:modelValue']);
+watch(
+  () => props.modelValue,
+  () => {
+    if (props.modelValue) {
+      form.value = props.data;
+    }
+    visible.value = props.modelValue;
+  }
+);
+
+const visible = ref(false);
+
+const on_submit = () => {
+    console.log('on_submit');
+    uploadCasualties({ ...form.value }).then((res) => {
+        closeDialog(true)
+      }).catch((err) => {
+        closeDialog(false);
+      });
+};
+
+const closeDialog = (t) => {
+  emits('update:modelValue', t);
+};
+
+</script>
+
+<style lang="scss" scoped>
+.van-doc-block__title {
+    color: var(--van-doc-text-color-4);
+    margin: 0px;
+    padding: 3vmin;
+    font-size: 4.6vmin;
+    font-weight: 600;
+    line-height: 6.0vmin;
+}
+</style>

+ 293 - 0
src/views/event/detail.vue

@@ -0,0 +1,293 @@
+<template>
+    <div class="event_map"></div>
+    <div class="event_title">{{eventInfo.event_title||"暂无事件标题"}}</div>
+    <div class="event_prop">
+        <div class="event_type"><dict-tag :options="mm_event_type" :value="eventInfo.event_type"></dict-tag></div>
+        <div class="event_level"><dict-tag :options="mm_event_level" :value="eventInfo.event_level||'0'"></dict-tag></div>
+        <div class="event_status"><dict-tag :options="mm_event_state" :value="eventInfo.event_status"></dict-tag></div>
+    </div>
+
+    <van-tabs v-model:active="active">
+        <van-tab title="基础信息">
+            <div class="event_tab">
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事件编号:</div>
+                    <div class="event-data-item-value">{{eventInfo.event_id}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事件类型:</div>
+                    <div class="event-data-item-value"><dict-tag :options="mm_event_type" :value="eventInfo.event_type"></dict-tag></div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事件等级:</div>
+                    <div class="event-data-item-value"><dict-tag :options="mm_event_level" :value="eventInfo.event_level||'0'"></dict-tag></div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事件状态:</div>
+                    <div class="event-data-item-value"><dict-tag :options="mm_event_state" :value="eventInfo.event_status"></dict-tag></div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事发地点:</div>
+                    <div class="event-data-item-value">{{eventInfo.address}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事发时间:</div>
+                    <div class="event-data-item-value">{{eventInfo.event_time}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">上报时间:</div>
+                    <div class="event-data-item-value">{{eventInfo.report_time}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">伤亡情况:</div>
+                    <div class="event-data-item-value blue" @click="handleUploadCasualties">去上报</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">登记人:</div>
+                    <div class="event-data-item-value">{{eventInfo.reported_by}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">登记时间:</div>
+                    <div class="event-data-item-value">{{eventInfo.reported_time}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">联系方式:</div>
+                    <div class="event-data-item-value">{{eventInfo.contact}}</div>
+                </div>
+                <div class="event-data-item">
+                    <div class="event-data-item-title">事件来源:</div>
+                    <div class="event-data-item-value">{{eventInfo.event_source}}</div>
+                </div>
+            </div>
+        </van-tab>
+    <van-tab title="事件概要"><div class="event_tab">{{ eventInfo.event_description }}</div></van-tab>
+    <van-tab title="事件跟踪"><div class="event_tab">
+        <van-steps direction="vertical" :active="0">
+            <van-step v-for="(item,index) in eventTrackState.items" :key="item.id">
+                <h3>{{ item.title }}</h3>
+                <p>{{ item.description }}</p>
+            </van-step>
+        </van-steps>
+    </div></van-tab>
+        <van-tab title="匹配预案">
+            <div class="event_tab">
+                <van-empty description="未关联到对应预案" />
+                <div style="margin-top: -5.0vmin; display: flex; flex-direction: row; justify-content: center;">
+                    <van-button type="primary" size="small" @click="handleEnterEvent">手工关联</van-button>
+                </div>
+            </div>
+        </van-tab>
+    <van-tab title="总结报告">
+        <div class="event_tab">
+            <div v-if="eventInfo.plan_name||'' === ''">
+                <van-empty image="search" description="暂未上传总结报告" />
+                <div style="margin-top: -5.0vmin; display: flex; flex-direction: row; justify-content: center;">
+                    <van-button type="primary" size="small" @click="handleUploadCasualties">去上传</van-button>
+                </div>
+            </div>
+        </div>
+    </van-tab>
+    
+    </van-tabs>
+
+    <div style="padding: 3.0vmin; display: flex; flex-direction: row; justify-content: center;">
+        <div style="display: flex; flex-direction: row; justify-content: space-between;">
+            <van-button  v-if="eventInfo.event_status == '1'" type="primary" size="small" @click="handleEnterEvent">进入指挥</van-button>
+            <van-button  v-if="eventInfo.event_status == '2'" type="danger"  size="small" @click="handleCloseEvent">关闭事件</van-button>
+        </div>
+    </div>
+
+    <UploadEventCasualtiesDialog v-model="uploadCasualtiesState.show" :data="uploadCasualtiesState.form" @update:model-value="onUploadCasualtiesDialogClose"></UploadEventCasualtiesDialog>
+
+</template>
+
+<script lang="ts" setup>
+import {getCurrentInstance, reactive, ref, toRefs, onMounted} from 'vue';
+import { useRouter, useRoute } from 'vue-router'
+import { getEventDetail, closeEvent  } from "@/api/event";
+import UploadEventCasualtiesDialog from "./UploadEventCasualtiesDialog.vue";
+import { showDialog, showConfirmDialog, showToast } from 'vant';
+
+const router = useRouter()
+const route = useRoute()
+const proxy = getCurrentInstance()?.proxy;
+const { mm_event_type, mm_event_level, mm_event_state } = toRefs<any>(proxy?.useDict('mm_event_type', 'mm_event_level', 'mm_event_state'));
+
+const active = ref(0);
+const eventId = ref('');
+const data = reactive({
+    eventInfo: {
+        event_id: '',
+        event_title: '',
+        event_code: '',
+        event_type: '',
+        event_level: '',
+        event_status: '',
+        address: '',
+        event_time: '',
+        report_time: '',
+        contact: '',
+        event_source: '',
+        event_description: '',
+        reported_by: '',
+        reported_time: '',
+
+        plan_id: '',
+        plan_name: '',
+        summary_file: [],
+        // 伤亡情况
+        deaths: '',
+        injuries: '',
+        missing: '',
+    },
+    eventTrackState: {
+        active: 0,
+        items: [{
+            id: 0,
+            title: '事件登记',
+            description: ''
+        }]
+    }
+});
+const { eventInfo, eventTrackState } = toRefs(data);
+const handleEnterEvent = () => {
+    router.push("/mobile_control2/index?event_id="+eventId.value);
+};
+
+// 关闭事件
+const handleCloseEvent = () => {
+    if(eventInfo.value.plan_id === '') {
+        showDialog({message: '关闭事件前请先匹配预案'});
+        return false;
+    }
+    if(eventInfo.value.summary_file.length === 0) {
+        showDialog({message: '关闭事件前请先上传总结报告'});
+        return false;
+    }
+    showConfirmDialog({
+        title: '提示',
+        message: '关闭事件所有事项相关数据将不能再修改,是否继续?'
+    }).then(()=>{
+        closeEvent({ eventId: eventId.value }).then((res) => {
+            refreshData()
+        })
+    })
+};
+
+// 上报伤亡情况
+const uploadCasualtiesState = reactive({
+    show: false,
+    form: {
+        event_id: '',
+        deaths: '',
+        injuries: '',
+        missing: ''
+    }
+})
+
+const handleUploadCasualties = () => {
+    console.log('handleUploadCasualties');
+    uploadCasualtiesState.form.event_id = eventId.value;
+    uploadCasualtiesState.form.deaths = eventInfo.value.deaths;
+    uploadCasualtiesState.form.injuries = eventInfo.value.injuries;
+    uploadCasualtiesState.form.missing = eventInfo.value.missing;
+    uploadCasualtiesState.show = true;
+};
+
+const onUploadCasualtiesDialogClose = (t) => {
+    console.log('onUploadCasualtiesDialogClose', t)
+    uploadCasualtiesState.show = false;
+    if(t) { 
+        refreshData();
+    }
+}
+
+
+onMounted(()=>{
+    refreshData();
+})
+
+const refreshData = () => { 
+    eventId.value = route.query.event_id as string;
+    getEventDetail({event_id: eventId.value})
+        .then((res) => {
+            eventInfo.value = res.data
+            eventTrackState.value = res.data.event_status_tracks;
+        })
+}
+</script>
+
+<style lang="scss" scoped>
+.event_map {
+    width: 100vw;
+    height: 40vmin;
+    background: #ccffcc;
+}
+.event_title {
+    padding: 1.6vmin 3.2vmin;
+    font-size: 6.2vmin;
+    font-weight: 600;
+}
+
+.event_prop {
+    padding: 0 3.2vmin;
+    line-height: 4.8vmin;
+    font-size:3.6vmin;
+    display: flex;
+    flex-direction: row;
+    justify-content: start;
+    color:#999;
+    
+    .event_type {
+        padding: 0.5vmin 3.0vmin;
+        background: #efefef;
+        margin-right: 2.0vmin;
+    }
+
+    .event_level {
+        padding: 0.5vmin 3.0vmin;
+        background: #efefef;
+        margin-right: 2.0vmin;
+    }
+
+    .event_status {
+        padding: 0.5vmin 3.0vmin;
+        background: #efefef;
+
+    }
+}
+
+.event_tab {
+    padding:3.2vmin;
+    color: #000;
+
+    .event-data-item {
+        font-size:4.2vmin;
+        line-height: 8.0vmin;
+        display: flex;
+        flex-direction: row;
+        justify-content: space-between;
+
+        .event-data-item-title {
+            color: #888;
+            min-width: 5em;
+        }
+
+        .event-data-item-value {
+            color: #888;
+        }
+
+        .blue {
+            color: #1989fa;
+        }
+    }
+
+    h3 {
+        font-size:4.2vmin;
+        line-height: 8.0vmin;
+    }
+
+}
+
+
+</style>

+ 53 - 39
src/views/event/index.vue

@@ -2,7 +2,7 @@
     <van-search v-model="queryParams.search_keyword" placeholder="请输入事件标题/事件地点" @search="on_search_keyword" @cancel="on_search_cancel" />
 
     <van-dropdown-menu>
-        <van-dropdown-item title="类型" v-model="queryParams.evnt_type" :options="opt_event_type" @change="change_event_type" />
+        <van-dropdown-item title="类型" v-model="queryParams.event_type" :options="opt_event_type" @change="change_event_type" />
         <van-dropdown-item title="等级" v-model="queryParams.event_level" :options="opt_event_level" @change="change_event_level"  />
         <van-dropdown-item title="状态" v-model="queryParams.event_status" :options="opt_event_status" @change="change_event_status" />
     </van-dropdown-menu>
@@ -10,7 +10,7 @@
     <van-list
         v-model:loading="loading"
         :finished="finished"
-        finished-text="没有更多了"
+        finished-text="没有更多事件了"
         @load="onLoad">
 
         <div class="event-list-item" v-for="(item,index) in event_list" :key="item.id">
@@ -23,31 +23,33 @@
                     <van-button v-if="item.event_status == '1'" type="danger" size="small" @click="handleCloseEvent(index)">结束指挥</van-button>
                 </div>
             </div>
-            <div class="item-data">
-                <div class="item-data-label">事件类型:</div>
-                <div class="item-data-value">
-                  <dict-tag :options="mm_event_type" :value="item.event_type"></dict-tag>
+            <div  @click="handleEventDetail(index)">
+                <div class="item-data">
+                    <div class="item-data-label">事件类型:</div>
+                    <div class="item-data-value">
+                    <dict-tag :options="mm_event_type" :value="item.event_type"></dict-tag>
+                    </div>
                 </div>
-            </div>
-            <div class="item-data">
-                <div class="item-data-label">事件等级:</div>
-                <div class="item-data-value">
-                  <dict-tag :options="mm_event_level" :value="item.event_level"></dict-tag>
+                <div class="item-data">
+                    <div class="item-data-label">事件等级:</div>
+                    <div class="item-data-value">
+                    <dict-tag :options="mm_event_level" :value="item.event_level"></dict-tag>
+                    </div>
                 </div>
-            </div>
-            <div class="item-data">
-                <div class="item-data-label">事件状态:</div>
-                <div class="item-data-value">
-                  <dict-tag :options="mm_event_state" :value="item.event_status"></dict-tag>
+                <div class="item-data">
+                    <div class="item-data-label">事件状态:</div>
+                    <div class="item-data-value">
+                    <dict-tag :options="mm_event_state" :value="item.event_status"></dict-tag>
+                    </div>
+                </div>
+                <div class="item-data">
+                    <div class="item-data-label">事发时间:</div>
+                    <div class="item-data-value">{{item.event_time}}</div>
+                </div>
+                <div class="item-data">
+                    <div class="item-data-label">事发地点:</div>
+                    <div class="item-data-value">{{item.address}}</div>
                 </div>
-            </div>
-            <div class="item-data">
-                <div class="item-data-label">事发时间:</div>
-                <div class="item-data-value">{{item.event_time}}</div>
-            </div>
-            <div class="item-data">
-                <div class="item-data-label">事发地点:</div>
-                <div class="item-data-value">{{item.address}}</div>
             </div>
         </div>
     </van-list>
@@ -168,7 +170,8 @@ const startEventState=reactive({
     form: {
         event_id: '',
         event_title: '',
-        event_level: ''
+        event_level: '',
+        event_level_text: ''
     }
 });
 
@@ -177,24 +180,30 @@ const closeEventState=reactive({
     form: {
         event_id: '',
         event_title: '',
-        event_level: ''
+        event_level: '',
+        event_level_text: '',
+        deaths: '',
+        injuries: '',
+        missing: ''
     }
 });
 
-const onStartEventDialogClose = () => {
+const onStartEventDialogClose = (t) => {
     startEventState.show = false;
     console.log(startEventState.form);
-    showSuccessToast("xxx")
-    //queryParams.value.page = 0;
-    // getList();
+    if(t) {
+        queryParams.value.page = 0;
+        getList();
+    }
 };
 
-const onCloseEventDialogClose = () => {
+const onCloseEventDialogClose = (t) => {
     closeEventState.show = false;
     console.log(closeEventState.form);
-    showSuccessToast("xxx")
-    //queryParams.value.page = 0;
-    // getList();
+    if(t) {
+        queryParams.value.page = 0;
+        getList();
+    }
 };  
 
 const onConfirm = () => {
@@ -213,6 +222,10 @@ const onConfirm = () => {
         });
 };
 
+const handleEventDetail = (index) => {
+    current_item.value = event_list.value[index];
+    router.push("/event/detail?event_id="+current_item.value.event_id)
+}
 
 const handleStartEvent = (index) => {
     current_item.value = event_list.value[index];
@@ -248,17 +261,17 @@ const handleCloseEvent = (index) => {
 }
 .event-list-item {
     position: relative;
-    margin: 8px;
-    padding: 16px;
+    margin: 2.0vmin;
+    padding: 3.2vmin;
     background: #fafafa;
     .item-title {
-        line-height: 35px;
+        line-height: 9.3vmin;
         display: flex;
         flex-direction: row;
         justify-content: space-between;
 
         .item-title-text {
-            font-size: 18px;
+            font-size: 4.2vmin;
             font-weight: 600;
         }
 
@@ -270,13 +283,14 @@ const handleCloseEvent = (index) => {
     }
 
     .item-data {
-        line-height: 28px;
+        font-size:4.6vmin;
         display: flex;
         flex-direction: row;
         justify-content: start;
 
         .item-data-label {
             color: #888;
+            min-width: 5em;
         }
 
         .item-data-value {

+ 1 - 1
src/views/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <router-link to="/leader">
+    <router-link to="/leader/index">
       <img src="~@/assets/action_1.png"/>
     </router-link>
   </div>

+ 1 - 1
src/views/leader/index.vue

@@ -18,7 +18,7 @@
         <van-grid-item icon="photo-o" text="工作审批" />
         <van-grid-item icon="photo-o" text="信息接报" />
         <van-grid-item icon="photo-o" text="在线点名" />
-        <van-grid-item icon="photo-o" text="事件管理" />
+        <van-grid-item icon="photo-o" text="事件管理" to="/event/index" />
     </van-grid>
 
     <div class="app_panel">

+ 1 - 1
src/views/mobileControl/index.vue

@@ -11,7 +11,7 @@
             <div>首页</div>
         </router-link>
         <div>物资</div>
-        <router-link to="/event">
+        <router-link to="/event/index">
             <div>事件</div>
         </router-link>
         <div>协同<br/>标绘</div>

+ 1 - 1
src/views/mobileControl2/index.vue

@@ -11,7 +11,7 @@
             <div>首页</div>
         </router-link>
         <div>物资</div>
-        <router-link to="/event">
+        <router-link to="/event/index">
             <div>事件</div>
         </router-link>
         <div>协同<br/>标绘</div>