Browse Source

更新工作人员端事件管理

libushang 6 months ago
parent
commit
8d9e0bb32e

+ 9 - 0
src/router/routes.ts

@@ -199,6 +199,15 @@ export const constantRoutes: Array<RouteRecordRaw> = [
       noCache: true
     }
   },
+  {
+    path: "/event/add",
+    name: "EventAdd",
+    component: () => import("@/views/event/add.vue"),
+    meta: {
+      title: "事件报送",
+      noCache: true
+    }
+  },
   {
     path: "/signPage",
     name: "signPage",

+ 2 - 0
src/views/event/add.vue

@@ -0,0 +1,2 @@
+<template>
+</template>

+ 4 - 2
src/views/event/detail.vue

@@ -226,7 +226,7 @@
       </van-tabs>
     </div>
 
-    <div class="footer">
+    <div class="footer" v-if="noControl ==''">
       <div
         style="
           display: flex;
@@ -294,6 +294,7 @@ const { mm_event_type, mm_event_level, mm_event_state } = toRefs<any>(
 
 const active = ref(0);
 const eventId = ref("");
+const noControl = ref("");
 const data = reactive({
   eventInfo: {
     event_id: "",
@@ -438,6 +439,7 @@ const handleDownload2 = (file: any) => {
   download2(baseUrl + "/file/download/" + file.url, file.file_name);
 };
 onMounted(() => {
+  noControl.value = route.query.nocontrol as string || "";
   refreshData();
 });
 let hideMap = ref(false);
@@ -451,7 +453,7 @@ const refreshData = () => {
       getPlan(eventInfo.value.plan_id);
     }
     if (!eventInfo.value.longitude || !eventInfo.value.latitude) {
-      hideMap.value.vlaue = true;
+      hideMap.value = true;
     } else {
       // 初始化地图
       const lnglat = [eventInfo.value.longitude, eventInfo.value.latitude];

+ 23 - 112
src/views/worker/eventManagement/eventList.vue

@@ -4,6 +4,7 @@
     <van-search
       v-model="queryParams.search_keyword"
       class="common-search"
+      placeholder="请输入事件标题/是否地点"
       :left-icon="searchImg"
       :right-icon="closeImg"
       :clearable="false"
@@ -48,27 +49,18 @@
       >
         <div class="item-title">
           <div class="item-title-text">
-            {{ item.event_title }}
+            {{ item.event_title || "暂无标题" }}
           </div>
           <div class="item-title-control">
             <van-button
-              v-if="item.event_status == '0'"
               type="primary"
-              @click="handleStartEvent(index)"
+              @click="handleEventDetail(index)"
             >
-              开始指挥
-            </van-button>
-            <van-button
-              v-if="item.event_status == '1'"
-              type="danger"
-              size="small"
-              @click="handleCloseEvent(item)"
-            >
-              结束指挥
+              查看详情
             </van-button>
           </div>
         </div>
-        <div class="item-content" @click="handleEventDetail(index)">
+        <div class="item-content">
           <div class="item-data">
             <div class="item-left">
               <i class="icon1" />
@@ -108,34 +100,19 @@
               <i class="icon5" />
               <div class="item-data-label">事发地点:</div>
             </div>
-            <div class="item-data-value">{{ item.address }}</div>
+            <div class="item-data-value">{{ item.address || "暂无地点"}}</div>
           </div>
         </div>
       </div>
     </van-list>
-    <!--
-    <StartEventDialog
-      v-model="startEventState.show"
-      :data="startEventState.form"
-      @update:model-value="onStartEventDialogClose"
-    />
-    <CloseEventDialog
-      v-model="closeEventState.show"
-      :data="closeEventState.form"
-      @update:model-value="onCloseEventDialogClose"
-    />
-    -->
+    <div class="float-box" @click="handleEventAdd"/>
   </div>
 </template>
 
 <script lang="ts" setup>
 import { getCurrentInstance, reactive, ref, toRefs, onMounted } from "vue";
 import { useRouter } from "vue-router";
-import { showConfirmDialog, showSuccessToast } from "vant";
-// import StartEventDialog from "./StartEventDialog.vue";
-// import CloseEventDialog from "./CloseEventDialog.vue";
-
-import { closeEvent, getEventList } from "@/api/event";
+import { getEventList } from "@/api/event";
 import searchImg from "@/assets/images/search.png";
 import closeImg from "@/assets/images/close.png";
 
@@ -240,92 +217,15 @@ const getList = () => {
     });
 };
 
-const startEventState = reactive({
-  show: false,
-  form: {
-    event_id: "",
-    event_title: "",
-    event_level: "",
-    event_level_text: ""
-  }
-});
-
-const closeEventState = reactive({
-  show: false,
-  form: {
-    event_id: "",
-    event_title: "",
-    event_level: "",
-    event_level_text: "",
-    deaths: "",
-    injuries: "",
-    missing: ""
-  }
-});
-
-const onStartEventDialogClose = t => {
-  startEventState.show = false;
-  console.log(startEventState.form);
-  if (t) {
-    queryParams.value.page = 0;
-    getList();
-  }
-};
-
-const onCloseEventDialogClose = t => {
-  closeEventState.show = false;
-  console.log(closeEventState.form);
-  if (t) {
-    queryParams.value.page = 0;
-    getList();
-  }
-};
-
-const onConfirm = () => {
-  showConfirmDialog({
-    title: "提示",
-    message: "确认进入移动指挥(应急态)"
-  })
-    .then(() => {
-      localStorage.setItem("mobile_control_status", "1");
-      router.push("/leader/mobile_control");
-    })
-    .catch(() => {});
-};
-
 const handleEventDetail = index => {
   current_item.value = event_list.value[index];
-  router.push("/event/detail?event_id=" + current_item.value.event_id);
+  router.push("/event/detail?event_id=" + current_item.value.event_id+"&nocontrol=1");
 };
 
-const handleStartEvent = index => {
-  current_item.value = event_list.value[index];
-  console.log("handleStartEvent", current_item.value.event_id);
-  startEventState.form.event_id = current_item.value.event_id;
-  startEventState.form.event_title = current_item.value.event_title;
-  startEventState.form.event_level = current_item.value.event_level;
-  startEventState.show = true;
-  return false;
-};
+const handleEventAdd = () => {
+  router.push("/event/add");
+}
 
-const handleCloseEvent = item => {
-  showConfirmDialog({
-    title: "结束指挥",
-    message: "是否确定结束指挥?"
-  }).then(() => {
-    const params = {
-      eventId: item.value.event_id,
-      address: item.value.address,
-      latitude: item.value.latitude,
-      longitude: item.value.longitude
-    };
-    // 如果 flag 为 true,则直接调用 closeEvent 接口关闭事件
-    closeEvent(params).then(() => {
-      showSuccessToast("结束指挥成功");
-      router.push("/leader/index");
-    });
-  });
-};
 </script>
 
 <style lang="scss" scoped>
@@ -459,4 +359,15 @@ const handleCloseEvent = item => {
   background-size: 100% 100%;
   margin-right: 7px;
 }
+
+// 事件报送浮动按钮
+.float-box {
+  position: fixed;
+  right: 10px;
+  bottom: 70px;
+  width: 86px;
+  height: 77px;
+  background: url("@/assets/images/onlineRollCall/float.png") no-repeat;
+  background-size: 100% 100%;
+}
 </style>