diff --git a/das/src/main/java/com/das/modules/auth/controller/SysMenusController.java b/das/src/main/java/com/das/modules/auth/controller/SysMenusController.java index 45b33017..4119a42f 100644 --- a/das/src/main/java/com/das/modules/auth/controller/SysMenusController.java +++ b/das/src/main/java/com/das/modules/auth/controller/SysMenusController.java @@ -55,9 +55,6 @@ public class SysMenusController { if(!hasPermission){ return R.fail("没有系统管理权限"); } - if (StringUtils.isAllEnglishLetters(sysMenuDto.getMenuName())){ - return R.fail("菜单名称,必须为英文"); - } sysMenuService.updateMenu(sysMenuDto); return R.success(); } diff --git a/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java b/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java index ba161a15..a9dd9816 100644 --- a/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java +++ b/das/src/main/java/com/das/modules/equipment/controller/SysEnumController.java @@ -62,6 +62,23 @@ public class SysEnumController { } + /** 更新枚举值 */ + @PostMapping("/updateEnumValues") + public R updateEnumValues(@RequestBody SysEnumValuesDto sysEnumValuesDto) { + //判断是否有权限 + boolean hasPermission = StpUtil.hasPermission(SysAuthorityIds.SYS_AUTHORITY_ID_DEVICE_MGR.toString()); + if(!hasPermission){ + return R.fail("没有设备管理权限"); + } + if (sysEnumValuesDto.getEnumTypeId() ==null && StringUtils.isBlank(sysEnumValuesDto.getValue()) + || sysEnumValuesDto.getOrderNumber() == null || sysEnumValuesDto.getIsActive() ==null || + sysEnumValuesDto.getId() ==null) { + throw new ServiceException("参数缺失"); + } + SysEnumValuesVo sysEnumValuesVo = sysEnumService.updateEnumValues(sysEnumValuesDto); + return R.success(sysEnumValuesVo); + } + /** * 查询枚举类型列表 * diff --git a/das/src/main/java/com/das/modules/equipment/mapper/SysEnumTypesMapper.java b/das/src/main/java/com/das/modules/equipment/mapper/SysEnumTypesMapper.java index 1bbc8308..b1706778 100644 --- a/das/src/main/java/com/das/modules/equipment/mapper/SysEnumTypesMapper.java +++ b/das/src/main/java/com/das/modules/equipment/mapper/SysEnumTypesMapper.java @@ -1,9 +1,13 @@ package com.das.modules.equipment.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.das.modules.equipment.domain.dto.SysEnumTypesDto; import com.das.modules.equipment.entity.SysEnumTypes; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; @Mapper public interface SysEnumTypesMapper extends BaseMapper { + + Long queryEnumTypesByName(@Param("sysDto") SysEnumTypesDto sysDto); } diff --git a/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java b/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java index 596cc9c9..ce4f13e1 100644 --- a/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java +++ b/das/src/main/java/com/das/modules/equipment/service/SysEnumService.java @@ -14,6 +14,8 @@ public interface SysEnumService { SysEnumValuesVo addEnumValues(SysEnumValuesDto sysEnumValuesDto); + SysEnumValuesVo updateEnumValues(SysEnumValuesDto sysEnumValuesDto); + List queryEnumTypesList(); PageDataInfo queryEnumValuesList(SysEnumValuesDto sysEnumValuesDto); diff --git a/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java b/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java index 1d2c7abe..12e9b263 100644 --- a/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java +++ b/das/src/main/java/com/das/modules/equipment/service/impl/SysEnumServiceImpl.java @@ -1,8 +1,10 @@ package com.das.modules.equipment.service.impl; import cn.dev33.satoken.stp.StpUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.das.common.config.SessionUtil; +import com.das.common.exceptions.ServiceException; import com.das.common.utils.BeanCopyUtils; import com.das.common.utils.PageDataInfo; import com.das.common.utils.PageQuery; @@ -35,13 +37,18 @@ public class SysEnumServiceImpl implements SysEnumService { /** 新增枚举类型 */ @Override public SysEnumTypesVo addEnumTypes(SysEnumTypesDto sysEnumTypesDto) { + //判断枚举类型,是否重复 + Long count = sysEnumTypesMapper.queryEnumTypesByName(sysEnumTypesDto); + if (count >0){ + throw new ServiceException("枚举类型,不可重复!"); + } SysEnumTypes sysEnumTypes = new SysEnumTypes(); BeanCopyUtils.copy(sysEnumTypesDto, sysEnumTypes); SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); - sysEnumTypes.setCreatedTime(new Date()); - sysEnumTypes.setUpdatedTime(new Date()); sysEnumTypes.setCreatedBy(sysUserVo.getAccount()); sysEnumTypes.setUpdatedBy(sysUserVo.getAccount()); + sysEnumTypes.setCreatedTime(new Date()); + sysEnumTypes.setUpdatedTime(new Date()); sysEnumTypes.setRevision(1); sysEnumTypesMapper.insert(sysEnumTypes); SysEnumTypesVo sysEnumTypesVo = new SysEnumTypesVo(); @@ -54,11 +61,18 @@ public class SysEnumServiceImpl implements SysEnumService { public SysEnumValuesVo addEnumValues(SysEnumValuesDto sysEnumValuesDto) { SysEnumValues sysEnumValues = new SysEnumValues(); BeanCopyUtils.copy(sysEnumValuesDto,sysEnumValues); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("enum_type_id",sysEnumValuesDto.getEnumTypeId()); + queryWrapper.eq("description",sysEnumValuesDto.getDescription()); + Long count = sysEnumValuesMapper.selectCount(queryWrapper); + if (count >0){ + throw new ServiceException("枚举值描述,不可重复!"); + } SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); - sysEnumValues.setCreatedTime(new Date()); - sysEnumValues.setUpdatedTime(new Date()); sysEnumValues.setCreatedBy(sysUserVo.getAccount()); sysEnumValues.setUpdatedBy(sysUserVo.getAccount()); + sysEnumValues.setCreatedTime(new Date()); + sysEnumValues.setUpdatedTime(new Date()); sysEnumValues.setRevision(1); sysEnumValuesMapper.insert(sysEnumValues); SysEnumValuesVo sysEnumValuesVo = new SysEnumValuesVo(); @@ -66,6 +80,26 @@ public class SysEnumServiceImpl implements SysEnumService { return sysEnumValuesVo; } + @Override + public SysEnumValuesVo updateEnumValues(SysEnumValuesDto sysEnumValuesDto) { + SysEnumValues sysEnumValues = new SysEnumValues(); + BeanCopyUtils.copy(sysEnumValuesDto,sysEnumValues); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("enum_type_id",sysEnumValuesDto.getEnumTypeId()); + queryWrapper.eq("description",sysEnumValuesDto.getDescription()); + Long count = sysEnumValuesMapper.selectCount(queryWrapper); + if (count >0){ + throw new ServiceException("枚举值描述,不可重复!"); + } + SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); + sysEnumValues.setUpdatedBy(sysUserVo.getAccount()); + sysEnumValues.setUpdatedTime(new Date()); + sysEnumValuesMapper.updateById(sysEnumValues); + SysEnumValuesVo sysEnumValuesVo = new SysEnumValuesVo(); + BeanCopyUtils.copy(sysEnumValues, sysEnumValuesVo); + return sysEnumValuesVo; + } + /** * 查询枚举类型列表 * @return diff --git a/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java b/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java index c9be0752..159eb70a 100644 --- a/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java +++ b/das/src/main/java/com/das/modules/equipment/service/impl/SysEquipmentServiceImpl.java @@ -60,6 +60,8 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { @Override public SysEquipmentVo creatSysEquipment(SysEquipmentDto sysEquipmentDto) { + //去除空格 + sysEquipmentDto.setCode(sysEquipmentDto.getCode().replaceAll(" ", "")); SysEquipment sysEquipment = new SysEquipment(); BeanCopyUtils.copy(sysEquipmentDto, sysEquipment); @@ -81,6 +83,8 @@ public class SysEquipmentServiceImpl implements SysEquipmentService { @Override public SysEquipmentVo updateSysEquipment(SysEquipmentDto sysEquipmentDto) { + //去除空格 + sysEquipmentDto.setCode(sysEquipmentDto.getCode().replaceAll(" ", "")); SysEquipment sysEquipment = new SysEquipment(); BeanCopyUtils.copy(sysEquipmentDto, sysEquipment); SysUserVo sysUserVo = (SysUserVo) StpUtil.getTokenSession().get(SessionUtil.SESSION_USER_KEY); diff --git a/das/src/main/resources/mapper/SysEnumTypesMapper.xml b/das/src/main/resources/mapper/SysEnumTypesMapper.xml new file mode 100644 index 00000000..c73e9a36 --- /dev/null +++ b/das/src/main/resources/mapper/SysEnumTypesMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/das/src/main/resources/mapper/SysEnumValuesMapper.xml b/das/src/main/resources/mapper/SysEnumValuesMapper.xml index 39c00d79..3fdb084f 100644 --- a/das/src/main/resources/mapper/SysEnumValuesMapper.xml +++ b/das/src/main/resources/mapper/SysEnumValuesMapper.xml @@ -22,6 +22,7 @@ and e.is_active =#{sysEnumValuesDto.isActive} + order by e.order_number asc diff --git a/ui/dasadmin/src/api/backend/control/request.ts b/ui/dasadmin/src/api/backend/control/request.ts new file mode 100644 index 00000000..fc9f1e37 --- /dev/null +++ b/ui/dasadmin/src/api/backend/control/request.ts @@ -0,0 +1,9 @@ +import createAxios from '/@/utils/axios' + +export const sendValueReq = (data: any) => { + return createAxios({ + url: '/api/node/link/deviceControl', + method: 'post', + data: data, + }) +} \ No newline at end of file diff --git a/ui/dasadmin/src/router/static.ts b/ui/dasadmin/src/router/static.ts index f42588e8..fd3377cc 100644 --- a/ui/dasadmin/src/router/static.ts +++ b/ui/dasadmin/src/router/static.ts @@ -70,6 +70,11 @@ const staticRoutes: Array = [ name: 'univer', component: () => import('/@/views/backend/node/univer.vue'), }, + { + path: adminBaseRoutePath +'/airBlower', + name: 'airBlower', + component: () => import('/@/views/backend/equipment/airBlower/index.vue'), + } ] const staticFiles: Record> = import.meta.glob('./static/*.ts', { eager: true }) diff --git a/ui/dasadmin/src/views/backend/auth/model/index.vue b/ui/dasadmin/src/views/backend/auth/model/index.vue index bb831216..282a9ede 100644 --- a/ui/dasadmin/src/views/backend/auth/model/index.vue +++ b/ui/dasadmin/src/views/backend/auth/model/index.vue @@ -960,7 +960,7 @@ const downLoadModel = () => { } const currentPage = ref(1) -const currentPageSize = ref(10) +const currentPageSize = ref(20) const pageTotal = ref(0) const pagePagination = ref([10, 20, 30]) const getcurrentPage = () => { diff --git a/ui/dasadmin/src/views/backend/auth/org/index.vue b/ui/dasadmin/src/views/backend/auth/org/index.vue index b4f947bb..6548119b 100644 --- a/ui/dasadmin/src/views/backend/auth/org/index.vue +++ b/ui/dasadmin/src/views/backend/auth/org/index.vue @@ -379,9 +379,9 @@ const getInstitutionList = (data: getDataType = { name: null }) => { }) } -const pagePagination = [5, 10, 20, 30] +const pagePagination = [ 10, 20, 30] const currentPage = ref(1) -const currentPageSize = ref(pagePagination[0]) +const currentPageSize = ref(pagePagination[1]) const pageTotal = ref(0) const originData = ref() const tableData = computed(() => { diff --git a/ui/dasadmin/src/views/backend/auth/role/index.vue b/ui/dasadmin/src/views/backend/auth/role/index.vue index c9442f74..9c71a9ce 100644 --- a/ui/dasadmin/src/views/backend/auth/role/index.vue +++ b/ui/dasadmin/src/views/backend/auth/role/index.vue @@ -203,9 +203,9 @@ const tableData = computed(() => { return originData.value?.slice(start, end) }) -const pagePagination = [5, 10, 20, 30] +const pagePagination = [10, 20, 30] const currentPage = ref(1) -const currentPageSize = ref(pagePagination[0]) +const currentPageSize = ref(pagePagination[1]) const pageTotal = ref(0) const originData = ref[]>() const addClick = () => { diff --git a/ui/dasadmin/src/views/backend/auth/user/index.vue b/ui/dasadmin/src/views/backend/auth/user/index.vue index c26c7d44..4e0e44cf 100644 --- a/ui/dasadmin/src/views/backend/auth/user/index.vue +++ b/ui/dasadmin/src/views/backend/auth/user/index.vue @@ -546,9 +546,9 @@ const selectUpdataName = (data: string) => { formUserUpData.profilePicture = data } // 分页 -const pagePagination = [5, 10, 20, 30] +const pagePagination = [ 10, 20, 30] const currentPage = ref(1) -const currentPageSize = ref(pagePagination[0]) +const currentPageSize = ref(pagePagination[1]) const handleSizeChange = (val: number) => { formQuery.pageSize = val RyUserQuery(formQuery) diff --git a/ui/dasadmin/src/views/backend/equipment/equipmentManagement/control.vue b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/control.vue new file mode 100644 index 00000000..3e10f662 --- /dev/null +++ b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/control.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/ui/dasadmin/src/views/backend/equipment/equipmentManagement/index.vue b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/index.vue index cba1ed83..48a12bcc 100644 --- a/ui/dasadmin/src/views/backend/equipment/equipmentManagement/index.vue +++ b/ui/dasadmin/src/views/backend/equipment/equipmentManagement/index.vue @@ -49,6 +49,8 @@ + +
+ +
+
@@ -437,9 +444,9 @@ import { equipDetailsOrg, } from '/@/api/backend' import { ElTable, ElMessage, ElMessageBox } from 'element-plus' -import type Node from 'element-plus/es/components/tree/src/model/node' import { useAdminInfo } from '/@/stores/adminInfo' import { encrypt_aes, generateRandomNumber } from '/@/utils/crypto' +import ControlPage from './control.vue' const adminInfo = useAdminInfo() interface Tree { @@ -615,9 +622,9 @@ const deviceTypeQuery = () => { } // 分页 -const pagePagination = [5, 10, 20, 30] +const pagePagination = [10, 20, 30] const currentPage = ref(1) -const currentPageSize = ref(pagePagination[0]) +const currentPageSize = ref(pagePagination[1]) const handleSizeChange = (val: number) => { formQuery.pageSize = val deviceQuery(formQuery) @@ -939,6 +946,21 @@ const Export = () => { document.body.removeChild(a) }) } + +const showControlPage = ref(false) +const contorlData = reactive({ + deviceId: '', + iotModelId: '', +}) +const openControl = (data: any) => { + contorlData.deviceId = data.row.id + contorlData.iotModelId = data.row.iotModelId + if(contorlData.iotModelId){ + showControlPage.value = true + }else{ + ElMessage.warning('该设备没有绑定物模型!') + } +}