From 985befd1aacce206d49925399aba85a51c50ea6e Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期二, 28 十一月 2023 17:20:03 +0800
Subject: [PATCH] feat: 下发后重连plc
---
src/views/dashboard/components/DashboardTitle.vue | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/src/views/dashboard/components/DashboardTitle.vue b/src/views/dashboard/components/DashboardTitle.vue
index 49d3323..cde7f28 100644
--- a/src/views/dashboard/components/DashboardTitle.vue
+++ b/src/views/dashboard/components/DashboardTitle.vue
@@ -7,7 +7,7 @@
<el-text truncated class="device-name">{{ currentDeviceName }}</el-text>
</template>
</el-popover>
- <el-icon size="32" color="#0db7f5" style="margin-left: 20px; cursor: pointer" @click="openDevicesModal">
+ <el-icon size="32" color="#0db7f5" style="margin-left: 4px; cursor: pointer" @click="openDevicesModal">
<IconSlider></IconSlider>
</el-icon>
</div>
@@ -26,13 +26,31 @@
<IconCloudOff></IconCloudOff>
</el-icon>
</div>
+
+ <div class="reporting-record">
+ <el-icon
+ size="26"
+ :color="taskStore.activeTask ? '#0db7f5' : '#c0c0c0'"
+ :style="{ 'margin-right': '10px', cursor: taskStore.activeTask ? 'pointer' : 'not-allowed' }"
+ @click="openReportingRecord"
+ >
+ <IconRecords></IconRecords>
+ </el-icon>
+ </div>
+
+ <div class="params-config" @click="openConfigModal">
+ <el-icon size="28"><Setting /></el-icon>
+ </div>
</div>
</div>
<DeviceCheckList v-model="showDevicesModal" @should-reload="emits('shouldReload')"></DeviceCheckList>
<TroubleTrackerModal v-model="showProblemsModal" :problems="problemList"></TroubleTrackerModal>
+ <DeliverParamsConfigModal v-model="showConfigModal"></DeliverParamsConfigModal>
+ <ReportingRecordModal v-model="showReportingRecordModal"></ReportingRecordModal>
</template>
<script setup lang="ts">
import AlertLightIcon from '@/components/icons/AlertLightIcon.vue'
+import IconRecords from '~icons/vaadin/records'
import { computed, onUnmounted, ref } from 'vue'
import { useDevicesStore } from '@/stores/devices'
import TroubleTrackerModal from '@/views/dashboard/components/TroubleTrackerModal.vue'
@@ -43,6 +61,10 @@
import { useRequest } from 'vue-hooks-plus'
import { apiGetProblemList } from '@/api'
import { PROBLEMS_POLLING_DURATION } from '@/common/constants'
+import { Setting } from '@element-plus/icons-vue'
+import DeliverParamsConfigModal from '@/views/dashboard/components/DeliverParamsConfigModal.vue'
+import ReportingRecordModal from '@/views/dashboard/components/ReportingRecordModal.vue'
+import { useTasksStore } from '@/stores/tasks'
const emits = defineEmits<{
shouldReload: []
@@ -98,6 +120,14 @@
return cloudConnection ? cloudConnection?.CheckResult : true
})
+// 閰嶇疆涓嬪彂鍙傛暟寮圭獥
+const showConfigModal = ref(false)
+function openConfigModal() {
+ showConfigModal.value = true
+}
+function closeConfigModal() {
+ showConfigModal.value = false
+}
/**
* 杞闂璇婃柇
*/
@@ -114,6 +144,18 @@
onUnmounted(() => {
cancelProblemsPolling()
})
+
+const taskStore = useTasksStore()
+
+// 鏄惁鏄剧ず鎶ュ伐璁板綍
+const showReportingRecordModal = ref(false)
+function openReportingRecord() {
+ if (!taskStore.activeTask) {
+ ElMessage.error('璇峰厛閫夋嫨浠诲姟')
+ return
+ }
+ showReportingRecordModal.value = true
+}
</script>
<style scoped lang="scss">
@@ -139,8 +181,14 @@
cursor: pointer;
}
.device-name {
- max-width: 340px;
+ max-width: 220px;
font-size: 40px;
color: #fff;
}
+.cloud-connection-status {
+ margin-right: 10px;
+}
+.params-config {
+ cursor: pointer;
+}
</style>
--
Gitblit v1.8.0