diff --git a/src/views/fishery/deviceSwitch/index.vue b/src/views/fishery/deviceSwitch/index.vue
index 555a231..0409074 100644
--- a/src/views/fishery/deviceSwitch/index.vue
+++ b/src/views/fishery/deviceSwitch/index.vue
@@ -271,10 +271,15 @@
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -301,6 +317,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -309,8 +368,8 @@ import { listDeviceSwitch, getDeviceSwitch, delDeviceSwitch, addDeviceSwitch, up
import { DeviceSwitchVO, DeviceSwitchQuery, DeviceSwitchForm } from '@/api/fishery/deviceSwitch/types';
import { listDevice } from '@/api/fishery/device';
import { DeviceVO } from '@/api/fishery/device/types';
-import { listTimingCtrl } from '@/api/fishery/timingCtrl';
-import { TimingCtrlVO } from '@/api/fishery/timingCtrl/types';
+import { listTimingCtrl, getTimingCtrl, addTimingCtrl, updateTimingCtrl, delTimingCtrl } from '@/api/fishery/timingCtrl';
+import { TimingCtrlVO, TimingCtrlForm } from '@/api/fishery/timingCtrl/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { aqu_device_type, open_close, connect_voltage_type, is_linked_ctrl, loop_type } = toRefs(proxy?.useDict('aqu_device_type', 'open_close', 'connect_voltage_type', 'is_linked_ctrl', 'loop_type'));
@@ -641,6 +700,79 @@ const closeTimingCtrlDialog = () => {
timingCtrlDialogVisible.value = false;
currentSwitch.value = null;
timingCtrlList.value = [];
+ getList();
+};
+
+// 定时控制编辑对话框
+const timingCtrlEditDialog = reactive({ visible: false, title: '' });
+const timingCtrlFormRef = ref();
+const timingCtrlEditLoading = ref(false);
+const initTimingCtrlForm: TimingCtrlForm = {
+ id: undefined,
+ switchId: undefined,
+ openTime: undefined,
+ closeTime: undefined,
+ loopType: undefined,
+ isOpen: undefined,
+ remark: undefined
+};
+const timingCtrlForm = ref({ ...initTimingCtrlForm });
+const timingCtrlRules = {
+ openTime: [{ required: true, message: '开启时间不能为空', trigger: 'blur' }],
+ closeTime: [{ required: true, message: '关闭时间不能为空', trigger: 'blur' }],
+ loopType: [{ required: true, message: '循环类型不能为空', trigger: 'change' }],
+ isOpen: [{ required: true, message: '是否启用不能为空', trigger: 'change' }]
+};
+
+/** 新增定时控制 */
+const handleTimingCtrlAdd = () => {
+ timingCtrlForm.value = { ...initTimingCtrlForm, switchId: currentSwitch.value?.id };
+ timingCtrlFormRef.value?.resetFields();
+ timingCtrlEditDialog.title = '新增定时控制';
+ timingCtrlEditDialog.visible = true;
+};
+
+/** 修改定时控制 */
+const handleTimingCtrlUpdate = async (row: TimingCtrlVO) => {
+ const res = await getTimingCtrl(row.id);
+ timingCtrlForm.value = { ...res.data };
+ timingCtrlFormRef.value?.resetFields();
+ timingCtrlEditDialog.title = '修改定时控制';
+ timingCtrlEditDialog.visible = true;
+};
+
+/** 提交定时控制表单 */
+const submitTimingCtrlForm = () => {
+ timingCtrlFormRef.value?.validate(async (valid: boolean) => {
+ if (valid) {
+ timingCtrlEditLoading.value = true;
+ try {
+ if (timingCtrlForm.value.id) {
+ await updateTimingCtrl(timingCtrlForm.value);
+ } else {
+ await addTimingCtrl(timingCtrlForm.value);
+ }
+ proxy?.$modal.msgSuccess('操作成功');
+ timingCtrlEditDialog.visible = false;
+ // 刷新定时控制列表
+ if (currentSwitch.value) {
+ await getTimingCtrlList(currentSwitch.value.id);
+ }
+ } finally {
+ timingCtrlEditLoading.value = false;
+ }
+ }
+ });
+};
+
+/** 删除定时控制 */
+const handleTimingCtrlDelete = async (row: TimingCtrlVO) => {
+ await proxy?.$modal.confirm('是否确认删除该定时控制?');
+ await delTimingCtrl(row.id);
+ proxy?.$modal.msgSuccess('删除成功');
+ if (currentSwitch.value) {
+ await getTimingCtrlList(currentSwitch.value.id);
+ }
};
onMounted(() => {