|
@@ -35,21 +35,22 @@
|
|
|
<div class="btn-text">返回上级</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="video-card">
|
|
|
- <div class="title gradient-text">视频监控</div>
|
|
|
- <div class="card-content video-list">
|
|
|
- <div v-for="(item, index) in videoMonitorState.listData" :key="index" class="video-box" @click="showVideoDialog(item)">
|
|
|
- <div class="video-content">
|
|
|
- <div style="width: 550px; height: 300px; position: relative">
|
|
|
- <HKVideo :dot_data="item" :width="550" :height="300" />
|
|
|
- <div class="video-label">
|
|
|
- <span class="label">{{ item.name }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <!-- <div class="video-card">-->
|
|
|
+ <!-- <div class="title gradient-text">视频监控</div>-->
|
|
|
+ <!-- <div class="card-content video-list">-->
|
|
|
+ <!-- <div v-for="(item, index) in videoMonitorState.listData" :key="index" class="video-box" @click="showVideoDialog(item)">-->
|
|
|
+ <!-- <div class="video-content">-->
|
|
|
+ <!-- <div style="width: 550px; height: 300px; position: relative">-->
|
|
|
+ <!-- <HKVideo :dot_data="item" :width="550" :height="300" />-->
|
|
|
+ <!-- <div class="video-label">-->
|
|
|
+ <!-- <span class="label">{{ item.name }}</span>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <!-- </div>-->
|
|
|
+ <RightTop />
|
|
|
<JointDuty />
|
|
|
<!-- <div class="message-card">-->
|
|
|
<!-- <div class="title gradient-text">动态消息</div>-->
|
|
@@ -69,9 +70,10 @@
|
|
|
<!-- </div>-->
|
|
|
<!-- </div>-->
|
|
|
</div>
|
|
|
- <Dialog v-model="videoMonitorState.showListDialog" title="视频监控">
|
|
|
- <videoList />
|
|
|
- </Dialog>
|
|
|
+ <!-- <Dialog v-model="videoMonitorState.showListDialog" title="视频监控">-->
|
|
|
+ <!-- <videoList />-->
|
|
|
+ <!-- </Dialog>-->
|
|
|
+ <SelectPlan v-model="selectPlanState.show" :plans="selectPlanState.plans" @plan-selected="onPlanSelected" />
|
|
|
<StartPlan v-model="startPlanState.show" :title="startPlanState.title" />
|
|
|
</template>
|
|
|
|
|
@@ -79,7 +81,9 @@
|
|
|
import router from '@/router';
|
|
|
import { getEmergencyVideoCata } from '@/api/videoMonitor';
|
|
|
import JointDuty from '@/views/emergencyCommandMap/RightSection/JointDuty.vue';
|
|
|
+import RightTop from '@/views/emergencyCommandMap/RightSection/RightTop.vue';
|
|
|
import StartPlan from './StartPlan.vue';
|
|
|
+import SelectPlan from './SelectPlan.vue';
|
|
|
import CloseCommand from '@/views/emergencyCommandMap/LeftSection/CloseCommand.vue';
|
|
|
const goToHome = () => {
|
|
|
router.push({ path: '/' });
|
|
@@ -89,12 +93,47 @@ const startPlanState = reactive({
|
|
|
show: false,
|
|
|
title: ''
|
|
|
});
|
|
|
-const startPlan = () => {
|
|
|
- console.log('StartPlan');
|
|
|
- startPlanState.title = '启动预案';
|
|
|
+
|
|
|
+// 控制 selectPlan 弹窗的显示状态
|
|
|
+const selectPlanState = reactive({
|
|
|
+ show: false,
|
|
|
+ title: ''
|
|
|
+});
|
|
|
+// 处理选择预案的函数
|
|
|
+// const selectPlan = () => {
|
|
|
+// console.log('selectPlan');
|
|
|
+// selectPlanState.title = '预案任务下发';
|
|
|
+// selectPlanState.show = true;
|
|
|
+// };
|
|
|
+
|
|
|
+const startPlan = (eventId) => {
|
|
|
+ if (eventId) {
|
|
|
+ startPlanState.title = '启动预案';
|
|
|
+ startPlanState.show = true;
|
|
|
+ } else {
|
|
|
+ // 如果没有eventId,则显示选择预案的弹窗
|
|
|
+ selectPlanState.show = true;
|
|
|
+ selectPlanState.title = '预案任务下发';
|
|
|
+ // 可能需要加载预案列表
|
|
|
+ loadPlans();
|
|
|
+ }
|
|
|
+};
|
|
|
+const loadPlans = () => {
|
|
|
+ // 这里应该有一个API调用来获取所有可用的预案
|
|
|
+ // 仅作示例,下面的数组是假定的预案数据
|
|
|
+ selectPlanState.plans = [
|
|
|
+ { id: 1, name: '应急预案A' },
|
|
|
+ { id: 2, name: '应急预案B' },
|
|
|
+ { id: 3, name: '应急预案C' }
|
|
|
+ ];
|
|
|
+};
|
|
|
+const onPlanSelected = (plan) => {
|
|
|
+ selectPlanState.selectedPlan = plan;
|
|
|
+ // 当选择了一个预案后,可以关闭选择预案的弹窗并打开启动预案的弹窗
|
|
|
+ selectPlanState.show = false;
|
|
|
+ startPlanState.title = `启动预案 - ${plan.name}`;
|
|
|
startPlanState.show = true;
|
|
|
};
|
|
|
-
|
|
|
// 视频监控
|
|
|
const videoMonitorState = reactive({
|
|
|
listData: [],
|