Kaynağa Gözat

1、增加多功能卡定时配置禁用功能
2、增加设备管理点击设备名称显示设备详情弹窗

lihao16 5 ay önce
ebeveyn
işleme
70f47c50e4

+ 10 - 0
smsb-modules/smsb-device/src/main/java/com/inspur/device/controller/SmsbDevicePowerScheduleController.java

@@ -75,6 +75,16 @@ public class SmsbDevicePowerScheduleController extends BaseController {
         return R.ok(smsbDevicePowerScheduleService.queryById(id));
     }
 
+    /**
+     * 禁用定时任务
+     *
+     * @param id 主键
+     */
+    @GetMapping("/stop/{id}")
+    public R<Void> stop(@NotNull(message = "主键不能为空") @PathVariable Long id) {
+        return smsbDevicePowerScheduleService.stopById(id);
+    }
+
     /**
      * 新增多功能卡电源定时开关
      */

+ 7 - 0
smsb-modules/smsb-device/src/main/java/com/inspur/device/service/ISmsbDevicePowerScheduleService.java

@@ -82,4 +82,11 @@ public interface ISmsbDevicePowerScheduleService {
      * @return
      */
     JSONObject createDeviceScheduleCron(SmsbDeviceVo smsbDeviceVo);
+
+    /**
+     * 停用定时任务
+     * @param id
+     * @return
+     */
+    R<Void> stopById(Long id);
 }

+ 9 - 0
smsb-modules/smsb-device/src/main/java/com/inspur/device/service/impl/SmsbDevicePowerScheduleServiceImpl.java

@@ -49,6 +49,15 @@ public class SmsbDevicePowerScheduleServiceImpl implements ISmsbDevicePowerSched
         return baseMapper.selectVoById(id);
     }
 
+    @Override
+    public R<Void> stopById(Long id) {
+        SmsbDevicePowerSchedule schedule = new SmsbDevicePowerSchedule();
+        schedule.setId(id);
+        schedule.setStatus(0L);
+        baseMapper.updateById(schedule);
+        return R.ok();
+    }
+
     /**
      * 分页查询多功能卡电源定时开关列表
      *

+ 1 - 0
smsb-modules/smsb-device/src/main/java/com/inspur/device/service/impl/SmsbDeviceServiceImpl.java

@@ -304,6 +304,7 @@ public class SmsbDeviceServiceImpl implements ISmsbDeviceService {
             BeanUtils.copyProperties(cacheRunInfo, result);
         }
         result.setDeviceBase(deviceVo);
+        result.setDeviceId(deviceId);
         return result;
     }
 

+ 7 - 0
smsb-plus-ui/src/api/smsb/device/device_power_schedule.ts

@@ -68,3 +68,10 @@ export const delDevicePowerSchedule = (id: string | number | Array<string | numb
     method: 'delete'
   });
 };
+
+export const stopDevicePowerSchedule = (id: string | number) => {
+  return request({
+    url: '/smsb/device/powerSchedule/stop/' + id,
+    method: 'get'
+  });
+};

+ 31 - 7
smsb-plus-ui/src/views/smsb/device/index.vue

@@ -85,7 +85,14 @@
       <div class="table-content">
         <el-table v-loading="loading" :data="deviceList" @selection-change="handleSelectionChange">
           <el-table-column type="selection" width="55" align="center" />
+          <el-table-column label="设备名称" align="left" prop="name" width="300" :show-overflow-tooltip="true" >
+            <template #default="scope">
+              <div @click="handleInfo(scope.row)" class="two-line" style="text-decoration: underline;color: #1890FF;">{{ scope.row.name }}</div>
+            </template>
+          </el-table-column>
+<!--
           <el-table-column label="设备名称" align="left" prop="name" width="300" :show-overflow-tooltip="true" />
+-->
           <el-table-column label="设备型号" align="left" prop="deviceModel" width="120" :show-overflow-tooltip="true" />
           <el-table-column label="设备SN" align="left" prop="serialNumber" width="150" :show-overflow-tooltip="true" />
           <el-table-column label="设备MAC" align="left" prop="mac" width="150" />
@@ -349,6 +356,9 @@
                 <el-tooltip content="修改" placement="top">
                   <el-button link type="primary" icon="Edit" @click="handleUpdateSchedule(scope.row)"></el-button>
                 </el-tooltip>
+                <el-tooltip content="禁用" placement="top">
+                  <el-button link type="primary" icon="CircleClose" @click="handleStopSchedule(scope.row)"></el-button>
+                </el-tooltip>
                 <el-tooltip content="删除" placement="top">
                   <el-button link type="primary" icon="Delete" @click="handleDeleteSchedule(scope.row)"></el-button>
                 </el-tooltip>
@@ -455,13 +465,13 @@ import {
   powerSet,
   reboot,
   restartApp,
+  scheduleSet,
   shutdown,
   standby,
   startStream,
   stopStream,
   updateDevice,
-  volumeSet,
-  scheduleSet
+  volumeSet
 } from '@/api/smsb/device/device';
 import {DeviceForm, DeviceMultiCardVo, DeviceQuery, DeviceStatisticsVo, DeviceVO} from '@/api/smsb/device/device_type';
 import {DeviceManufacturerVO} from '@/api/smsb/device/deviceManufacturer_type';
@@ -476,9 +486,12 @@ import {storeToRefs} from 'pinia';
 import useScreenshotStore from '@/store/modules/screenshot';
 import {DevicePowerScheduleForm, DevicePowerScheduleVO} from "@/api/smsb/device/device_power_schedule_type";
 import {
-  addDevicePowerSchedule, delDevicePowerSchedule,
+  addDevicePowerSchedule,
+  delDevicePowerSchedule,
   getDevicePowerSchedule,
-  listPowerScheduleByDevice, updateDevicePowerSchedule
+  listPowerScheduleByDevice,
+  stopDevicePowerSchedule,
+  updateDevicePowerSchedule
 } from "@/api/smsb/device/device_power_schedule";
 
 const screenshotStore = storeToRefs(useScreenshotStore());
@@ -725,6 +738,13 @@ const handleUpdateSchedule = async (row?: DevicePowerScheduleVO) => {
   powerDialog.visible = true;
   powerDialog.title = "定时设置";
 }
+const handleStopSchedule = async (row?: DevicePowerScheduleVO) => {
+  const id = row?.id
+  await proxy?.$modal.confirm('是否确认禁用当前定时配置?').finally(() => loading.value = false);
+  await stopDevicePowerSchedule(id);
+  proxy?.$modal.msgSuccess("删除成功");
+  await getPowerScheduleList();
+}
 const handleDeleteSchedule = async (row?: DevicePowerScheduleVO) => {
   const _ids = row?.id
   await proxy?.$modal.confirm('是否确认删除定时配置ID为"' + _ids + '"的数据项?').finally(() => loading.value = false);
@@ -983,13 +1003,17 @@ const getAlarmList = async () => {
   alarmTotal.value = res.total;
 };
 
-const handleClickTab = (tab: TabsPaneContext, event: Event) => {
+const handleClickTab = async (tab: TabsPaneContext, event: Event) => {
   console.log(tab, event);
   if (tab.props.name === 'alarm') {
-    getAlarmList();
+    await getAlarmList();
   }
   if (tab.props.name === 'power') {
-    getPowerScheduleList();
+    await getPowerScheduleList();
+  }
+  if (tab.props.name === 'control') {
+    const multiCardRsp = await getDeviceMultiCardList(deviceId.value);
+    deviceMultiCardList.value = multiCardRsp.data;
   }
 };