|
@@ -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>
|