From cdd15e01892f92f333285f9e44a22f4a14aa43f2 Mon Sep 17 00:00:00 2001 From: Lufaneng Date: Sat, 7 Jun 2025 14:24:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=A8=A1=E5=BC=8F=E5=88=9D?= =?UTF-8?q?=E6=AD=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components.d.ts | 4 +- src/views/AutomaticMode/index.vue | 169 ++++++++++++++++++++++++------ 2 files changed, 141 insertions(+), 32 deletions(-) diff --git a/src/components.d.ts b/src/components.d.ts index 49c6c64..97d773e 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -19,10 +19,12 @@ declare module 'vue' { ElPagination: typeof import('element-plus/es')['ElPagination'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSlider: typeof import('element-plus/es')['ElSlider'] - ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElTimePicker: typeof import('element-plus/es')['ElTimePicker'] Pagination: typeof import('./components/Pagination/index.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] } + export interface ComponentCustomProperties { + vLoading: typeof import('element-plus/es')['ElLoadingDirective'] + } } diff --git a/src/views/AutomaticMode/index.vue b/src/views/AutomaticMode/index.vue index e3f522b..55ab447 100644 --- a/src/views/AutomaticMode/index.vue +++ b/src/views/AutomaticMode/index.vue @@ -16,22 +16,16 @@ -
+
-
- 模式1 -
-
- 模式2 -
-
- 模式3 +
+ 模式{{ item + 1 }}
-
-
+
+
{{ item.substring(0, 1) }}{{ item.substring(1, 2) }}{{ item.substring(2, 3) }}{{ item.substring(3) }}
通道
@@ -40,16 +34,16 @@
{{ ele }}
-
-
0
+
{{ tasks[index].turnOn ? '通' : '断' }}
+
{{ tasks[index].pwm }}
定时时间
-
18:00:00
+
{{ tasks[index].execTime ? dayjs(tasks[index].execTime).format('HH:mm:ss') : '' }}
- +
@@ -68,14 +62,14 @@ 控制模式
- 自动模式1 + 自动模式{{ currentMode + 1 }}
远程重启 - 刷新 - 新增 - 删除 + 刷新 +
@@ -145,13 +139,13 @@
- 模式{{ item }} + 模式{{ item }}
@@ -175,20 +169,23 @@
-
通道回路 全选
-
通道回路
+
通道回路 + +
+
- +
-
一键调光
+ +
调光通道
@@ -215,6 +212,7 @@ import { ref, onMounted, onUnmounted, watch } from 'vue' import { useRouter } from 'vue-router' import RPC from '@/utils/rpc' import dayjs from 'dayjs' +const commit_uid = localStorage.getItem('central_control_comm_uid') const switchValue = ref(true) const selectBoxValue = ref([]) @@ -222,6 +220,118 @@ const lightFrom = ref({}) const timeValue = ref('') const modeName = ref('') +const currentTaskName = ref('开始任务') +const currentTask = ref({}) + +const openSettingDialog = (item, index) => { + currentTaskName.value = item + currentTask.value = tasks.value[index] + if (currentTask.value.turnOn) { + selectBoxValue.value = ['通道回路'] + } else { + selectBoxValue.value = [] + } + settingDialogVisible.value = true +} + +const confirmSetting = () => { + const params = { + "comm_uid": commit_uid, + "mode": deviceMode.value, + "execTime": dayjs(currentTask.value.execTime).format('YYYY-MM-DD HH:mm:ss'), + "turnOn": selectBoxValue.value.length > 0, + "pwm": currentTask.value.pwm + } + const middleParams = { + "comm_uid": commit_uid, + "mode": deviceMode.value, + "controlTaskList": [ + { + "execTime": dayjs(currentTask.value.execTime).format('YYYY-MM-DD HH:mm:ss'), + "turnOn": selectBoxValue.value.length > 0, + "pwm": currentTask.value.pwm + } + ] + } + if (currentTaskName.value === '开始任务') { + RPC.post('/m9z/setStartTask2', params).then(res => { + settingDialogVisible.value = false + ElMessage.success('修改成功') + getTask() + }) + } + if (currentTaskName.value === '结束任务') { + RPC.post('/m9z/setStopTask2', params).then(res => { + settingDialogVisible.value = false + ElMessage.success('修改成功') + getTask() + }) + } + if (currentTaskName.value === '中间任务') { + RPC.post('/m9z/setMiddleTask2', middleParams).then(res => { + settingDialogVisible.value = false + ElMessage.success('修改成功') + getTask() + }) + } +} + + +const startTask = ref({}) +const stopTask = ref({}) +const middleTask = ref({}) +const startTaskLoading = ref(false) +const stopTaskLoading = ref(false) +const middleTaskLoading = ref(false) + +const tasks = computed(() => [startTask.value, stopTask.value, middleTask.value]) + +const deviceMode = ref(0) +const currentMode = ref(0) +RPC.post('/m9z/getDeviceMode', { comm_uid: commit_uid }).then(res => { + currentMode.value = res +}) + +const changeMode = () => { + modeActive.value = currentMode.value + modeDialogVisible.value = true +} + +const confirmMode = () => { + RPC.post('/m9z/setDeviceMode', { comm_uid: commit_uid, mode: modeActive.value }).then(res => { + currentMode.value = modeActive.value + ElMessage.success('操作成功') + modeDialogVisible.value = false + }) +} + +const changeViewMode = index => { + deviceMode.value = index + getTask() +} + +const getTask = () => { + startTaskLoading.value = true + stopTaskLoading.value = true + middleTaskLoading.value = true + RPC.post('/m9z/getStartTask2', { comm_uid: commit_uid, mode: deviceMode.value }).then(res => { + startTask.value = res + }).finally(() => { + startTaskLoading.value = false + }) + RPC.post('/m9z/getStopTask2', { comm_uid: commit_uid, mode: deviceMode.value }).then(res => { + stopTask.value = res + }).finally(() => { + stopTaskLoading.value = false + }) + RPC.post('/m9z/getMiddleTask2', { comm_uid: commit_uid, mode: deviceMode.value }).then(res => { + middleTask.value = res.controlTaskList[0] + }).finally(() => { + middleTaskLoading.value = false + }) +} +getTask() + const selectAll = () => { if (selectBoxValue.value.length !== 10) { selectBoxValue.value = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map(item => '通道回路' + item) @@ -230,8 +340,6 @@ const selectAll = () => { } } -const commit_uid = localStorage.getItem('central_control_comm_uid') - const router = useRouter() const currentTime = ref('') const systemRuntime = ref('38分钟') @@ -514,7 +622,6 @@ const delMode = () => { flex-direction: column; justify-content: center; align-items: center; - margin-bottom: 15px; background-color: #212329; width: 30px; height: 100%;