若依微服务1.0.9版本:

1、电子围栏、电子围栏目标代码重新生成
2、租户信息代码生成
3、hw-api-tdengine增加imports文件
4、修改Tdengine解析的问题
master
xins 2 years ago
parent 3e6d88030f
commit 631970c21c

@ -10,6 +10,13 @@ import org.springframework.stereotype.Component;
import java.util.Map;
/**
* @Description: TDengine
* @ClassName: RemoteTdEngineFallbackFactory
* @Author : xins
* @Date :2023-09-01 14:14
* @Version :1.0
*/
@Component
public class RemoteTdEngineFallbackFactory implements FallbackFactory<RemoteTdEngineService> {

@ -49,18 +49,18 @@ public class I18nConfig implements WebMvcConfigurer
return lci;
}
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:i18n/messages");
messageSource.setDefaultEncoding("utf-8");
//设置缓存时间1个小时 1*60*60*1000毫秒
//可以设置成-1表示永久缓存设置成0表示每次都从文件中读取
messageSource.setCacheMillis(1*60*60*1000);
messageSource.setFallbackToSystemLocale(true);
return messageSource;
}
// @Bean
// public MessageSource messageSource() {
// ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
// messageSource.setBasenames("classpath:i18n/messages");
// messageSource.setDefaultEncoding("utf-8");
// //设置缓存时间1个小时 1*60*60*1000毫秒
// //可以设置成-1表示永久缓存设置成0表示每次都从文件中读取
// messageSource.setCacheMillis(1*60*60*1000);
// messageSource.setFallbackToSystemLocale(true);
//
// return messageSource;
// }
@Override

@ -0,0 +1,21 @@
package com.ruoyi.common.core.constant;
/**
* @Description:
* @ClassName: HwDictConstants
* @Author : xins
* @Date :2023-09-03 12:27
* @Version :1.0
*/
public class HwDictConstants {
public static final String EFFECTIVE_TIME_FLAG_LONG = "1";//长期有效
public static final String EFFECTIVE_TIME_FLAG_RANGE = "2";//时间范围
public static final String AREA_SHAPE_FLAG_POLYGN = "1";//多边形
public static final String AREA_SHAPE_FLAG_CIRCULA = "2";//圆形
public static final String DEFAULT_FUNCTION_LONGITUDE_IDENTIFIER = "longitude";//经度标识符
public static final String DEFAULT_FUNCTION_LATITUDE_IDENTIFIER = "latitude";//纬度标识符
}

@ -25,11 +25,11 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@RestController
@RequestMapping("/effectiveFence")
@RequestMapping("/electronicFence")
public class HwElectronicFenceController extends BaseController
{
@Autowired
@ -38,7 +38,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:list")
@RequiresPermissions("business:electronicFence:list")
@GetMapping("/list")
public TableDataInfo list(HwElectronicFence hwElectronicFence)
{
@ -50,7 +50,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:export")
@RequiresPermissions("business:electronicFence:export")
@Log(title = "电子围栏", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, HwElectronicFence hwElectronicFence)
@ -63,7 +63,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:query")
@RequiresPermissions("business:electronicFence:query")
@GetMapping(value = "/{electronicFenceId}")
public AjaxResult getInfo(@PathVariable("electronicFenceId") Long electronicFenceId)
{
@ -73,7 +73,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:add")
@RequiresPermissions("business:electronicFence:add")
@Log(title = "电子围栏", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody HwElectronicFence hwElectronicFence)
@ -84,7 +84,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:edit")
@RequiresPermissions("business:electronicFence:edit")
@Log(title = "电子围栏", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody HwElectronicFence hwElectronicFence)
@ -95,7 +95,7 @@ public class HwElectronicFenceController extends BaseController
/**
*
*/
@RequiresPermissions("business:effectiveFence:remove")
@RequiresPermissions("business:electronicFence:remove")
@Log(title = "电子围栏", businessType = BusinessType.DELETE)
@DeleteMapping("/{electronicFenceIds}")
public AjaxResult remove(@PathVariable Long[] electronicFenceIds)

@ -25,8 +25,8 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@RestController
@RequestMapping("/fenceTarget")
@ -64,10 +64,10 @@ public class HwFenceTargetController extends BaseController
*
*/
@RequiresPermissions("business:fenceTarget:query")
@GetMapping(value = "/{fenceTargetId}")
public AjaxResult getInfo(@PathVariable("fenceTargetId") Long fenceTargetId)
@GetMapping(value = "/{targetId}")
public AjaxResult getInfo(@PathVariable("targetId") Long targetId)
{
return success(hwFenceTargetService.selectHwFenceTargetByFenceTargetId(fenceTargetId));
return success(hwFenceTargetService.selectHwFenceTargetByTargetId(targetId));
}
/**
@ -97,9 +97,9 @@ public class HwFenceTargetController extends BaseController
*/
@RequiresPermissions("business:fenceTarget:remove")
@Log(title = "电子围栏目标", businessType = BusinessType.DELETE)
@DeleteMapping("/{fenceTargetIds}")
public AjaxResult remove(@PathVariable Long[] fenceTargetIds)
@DeleteMapping("/{targetIds}")
public AjaxResult remove(@PathVariable Long[] targetIds)
{
return toAjax(hwFenceTargetService.deleteHwFenceTargetByFenceTargetIds(fenceTargetIds));
return toAjax(hwFenceTargetService.deleteHwFenceTargetByTargetIds(targetIds));
}
}

@ -25,8 +25,8 @@ import com.ruoyi.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@RestController
@RequestMapping("/tenant")

@ -8,8 +8,8 @@ import com.ruoyi.common.core.web.domain.BaseEntity;
/**
* hw_electronic_fence
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public class HwElectronicFence extends BaseEntity
{
@ -22,41 +22,41 @@ public class HwElectronicFence extends BaseEntity
@Excel(name = "电子围栏名称")
private String electronicFenceName;
/** 所属场景 */
@Excel(name = "所属场景")
/** 所属场景关联hw_scene表的scene_id字段 */
@Excel(name = "所属场景关联hw_scene表的scene_id字段")
private Long sceneId;
/** 规则类型 */
@Excel(name = "规则类型")
private Long fenceType;
/** 规则类型1、设备2、监控单元3、场景 */
@Excel(name = "规则类型", readConverterExp = "1=、设备2、监控单元3、场景")
private String fenceType;
/** 生效时间标识 */
@Excel(name = "生效时间标识")
private Long effectiveTimeFlag;
/** 生效时间标识1、长期有效2、时间范围 */
@Excel(name = "生效时间标识", readConverterExp = "1=、长期有效2、时间范围")
private String effectiveTimeFlag;
/** 生效时间开始时间_结束时间_状态多个用|隔开例如00:00_05:00_1|06:00_08:00_0,状态1、开启、2、关闭 */
@Excel(name = "生效时间开始时间_结束时间_状态多个用|隔开", readConverterExp = "例=如00:00_05:00_1|06:00_08:00_0")
/** 时区 */
@Excel(name = "时区")
private String timeZone;
/** 格式开始时间_结束时间_状态多个用|隔开例如00:00_05:00_1|06:00_08:00_0,状态1、开启、2、关闭 */
@Excel(name = "格式开始时间_结束时间_状态多个用|隔开", readConverterExp = "例=如00:00_05:00_1|06:00_08:00_0")
private String effectiveTime;
/** 触发状态0、关闭1、出界2、入界3、双向 */
@Excel(name = "触发状态", readConverterExp = "0=、关闭1、出界2、入界3、双向")
private Long triggerStatus;
private String triggerStatus;
/** 区域形状1、多边形2、圆形 */
@Excel(name = "区域形状", readConverterExp = "1=、多边形2、圆形")
private Long areaShapeFlag;
private String areaShapeFlag;
/** 为多边形时的区域范围保存格式经度_纬度多个以|隔开) */
@Excel(name = "为多边形时的区域范围", readConverterExp = "保=存格式经度_纬度多个以|隔开")
private String polygonAreaRange;
/** 为圆形时的中心点和半径,下划线隔开 */
@Excel(name = "为圆形时的中心点和半径,下划线隔开")
private String circleAreaRange;
/** 区域范围为多边形时保存格式经度_纬度多个以|隔开;为圆形时的中心点和半径,下划线隔开 */
@Excel(name = "区域范围为多边形时保存格式经度_纬度多个以|隔开;为圆形时的中心点和半径,下划线隔开")
private String areaRange;
/** 报警推送标识(1、是0、否 */
@Excel(name = "报警推送标识(1、是0、否")
private Long fencePushFlag;
private String fencePushFlag;
/** 报警推送内容 */
@Excel(name = "报警推送内容")
@ -97,24 +97,33 @@ public class HwElectronicFence extends BaseEntity
{
return sceneId;
}
public void setFenceType(Long fenceType)
public void setFenceType(String fenceType)
{
this.fenceType = fenceType;
}
public Long getFenceType()
public String getFenceType()
{
return fenceType;
}
public void setEffectiveTimeFlag(Long effectiveTimeFlag)
public void setEffectiveTimeFlag(String effectiveTimeFlag)
{
this.effectiveTimeFlag = effectiveTimeFlag;
}
public Long getEffectiveTimeFlag()
public String getEffectiveTimeFlag()
{
return effectiveTimeFlag;
}
public void setTimeZone(String timeZone)
{
this.timeZone = timeZone;
}
public String getTimeZone()
{
return timeZone;
}
public void setEffectiveTime(String effectiveTime)
{
this.effectiveTime = effectiveTime;
@ -124,48 +133,39 @@ public class HwElectronicFence extends BaseEntity
{
return effectiveTime;
}
public void setTriggerStatus(Long triggerStatus)
public void setTriggerStatus(String triggerStatus)
{
this.triggerStatus = triggerStatus;
}
public Long getTriggerStatus()
public String getTriggerStatus()
{
return triggerStatus;
}
public void setAreaShapeFlag(Long areaShapeFlag)
public void setAreaShapeFlag(String areaShapeFlag)
{
this.areaShapeFlag = areaShapeFlag;
}
public Long getAreaShapeFlag()
public String getAreaShapeFlag()
{
return areaShapeFlag;
}
public void setPolygonAreaRange(String polygonAreaRange)
public void setAreaRange(String areaRange)
{
this.polygonAreaRange = polygonAreaRange;
this.areaRange = areaRange;
}
public String getPolygonAreaRange()
public String getAreaRange()
{
return polygonAreaRange;
return areaRange;
}
public void setCircleAreaRange(String circleAreaRange)
{
this.circleAreaRange = circleAreaRange;
}
public String getCircleAreaRange()
{
return circleAreaRange;
}
public void setFencePushFlag(Long fencePushFlag)
public void setFencePushFlag(String fencePushFlag)
{
this.fencePushFlag = fencePushFlag;
}
public Long getFencePushFlag()
public String getFencePushFlag()
{
return fencePushFlag;
}
@ -205,11 +205,11 @@ public class HwElectronicFence extends BaseEntity
.append("sceneId", getSceneId())
.append("fenceType", getFenceType())
.append("effectiveTimeFlag", getEffectiveTimeFlag())
.append("timeZone", getTimeZone())
.append("effectiveTime", getEffectiveTime())
.append("triggerStatus", getTriggerStatus())
.append("areaShapeFlag", getAreaShapeFlag())
.append("polygonAreaRange", getPolygonAreaRange())
.append("circleAreaRange", getCircleAreaRange())
.append("areaRange", getAreaRange())
.append("fencePushFlag", getFencePushFlag())
.append("fencePushContent", getFencePushContent())
.append("fenceRecoverContent", getFenceRecoverContent())

@ -8,16 +8,13 @@ import com.ruoyi.common.core.web.domain.BaseEntity;
/**
* hw_fence_target
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public class HwFenceTarget extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 电子围栏目标ID */
private Long fenceTargetId;
/** 电子围栏ID */
@Excel(name = "电子围栏ID")
private Long electronicFenceId;
@ -26,23 +23,10 @@ public class HwFenceTarget extends BaseEntity
@Excel(name = "目标类型", readConverterExp = "1=、设备2、监控单元")
private String targetType;
/** 设备关联表hw_device字段device_id */
@Excel(name = "设备关联表hw_device字段device_id")
private Long deviceId;
/** target_type1hw_devicedevice_id
target_type2hw_monitor_unitmonitor_unit_id */
private Long targetId;
/** 所属监控单元关联表hw_monitor_unit字段monitor_unit_id */
@Excel(name = "所属监控单元关联表hw_monitor_unit字段monitor_unit_id")
private Long monitorUnitId;
public void setFenceTargetId(Long fenceTargetId)
{
this.fenceTargetId = fenceTargetId;
}
public Long getFenceTargetId()
{
return fenceTargetId;
}
public void setElectronicFenceId(Long electronicFenceId)
{
this.electronicFenceId = electronicFenceId;
@ -61,33 +45,22 @@ public class HwFenceTarget extends BaseEntity
{
return targetType;
}
public void setDeviceId(Long deviceId)
public void setTargetId(Long targetId)
{
this.deviceId = deviceId;
this.targetId = targetId;
}
public Long getDeviceId()
public Long getTargetId()
{
return deviceId;
}
public void setMonitorUnitId(Long monitorUnitId)
{
this.monitorUnitId = monitorUnitId;
}
public Long getMonitorUnitId()
{
return monitorUnitId;
return targetId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("fenceTargetId", getFenceTargetId())
.append("electronicFenceId", getElectronicFenceId())
.append("targetType", getTargetType())
.append("deviceId", getDeviceId())
.append("monitorUnitId", getMonitorUnitId())
.append("targetId", getTargetId())
.toString();
}
}

@ -8,8 +8,8 @@ import com.ruoyi.common.core.web.domain.BaseEntity;
/**
* hw_tenant
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public class HwTenant extends BaseEntity
{
@ -18,16 +18,16 @@ public class HwTenant extends BaseEntity
/** 租户ID */
private Long tenantId;
/** 租户类型 */
@Excel(name = "租户类型")
private Long tenantType;
/** 租户类型(1、企业2、个人) */
@Excel(name = "租户类型(1、企业2、个人)")
private String tenantType;
/** 租户名称 */
@Excel(name = "租户名称")
private String tenantName;
/** 行业类型 */
@Excel(name = "行业类型")
/** 行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value */
@Excel(name = "行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value")
private Long tenantIndustry;
/** 联系人姓名 */
@ -42,24 +42,24 @@ public class HwTenant extends BaseEntity
@Excel(name = "邮箱地址")
private String email;
/** 区域ID */
@Excel(name = "区域ID")
/** 区域ID管理区域hw_area */
@Excel(name = "区域ID管理区域hw_area")
private Long areaId;
/** 联系人地址 */
@Excel(name = "联系人地址")
private String contactAddress;
/** 状态 */
@Excel(name = "状态")
/** 状态1、正常 9、删除 */
@Excel(name = "状态", readConverterExp = "1=、正常,9=、删除")
private String tenantStatus;
/** 是否外部注册 */
@Excel(name = "是否外部注册")
/** 是否外部注册1、是 0、否 */
@Excel(name = "是否外部注册", readConverterExp = "1=、是,0=、否")
private String isRegister;
/** 租户等级 */
@Excel(name = "租户等级")
/** 租户等级,预留字段 */
@Excel(name = "租户等级,预留字段")
private Long tenantGrade;
/** 预留字段 */
@ -75,12 +75,12 @@ public class HwTenant extends BaseEntity
{
return tenantId;
}
public void setTenantType(Long tenantType)
public void setTenantType(String tenantType)
{
this.tenantType = tenantType;
}
public Long getTenantType()
public String getTenantType()
{
return tenantType;
}

@ -6,8 +6,8 @@ import com.ruoyi.business.domain.HwElectronicFence;
/**
* Mapper
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface HwElectronicFenceMapper
{

@ -6,18 +6,18 @@ import com.ruoyi.business.domain.HwFenceTarget;
/**
* Mapper
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface HwFenceTargetMapper
{
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
public HwFenceTarget selectHwFenceTargetByFenceTargetId(Long fenceTargetId);
public HwFenceTarget selectHwFenceTargetByTargetId(Long targetId);
/**
*
@ -46,16 +46,16 @@ public interface HwFenceTargetMapper
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
public int deleteHwFenceTargetByFenceTargetId(Long fenceTargetId);
public int deleteHwFenceTargetByTargetId(Long targetId);
/**
*
*
* @param fenceTargetIds
* @param targetIds
* @return
*/
public int deleteHwFenceTargetByFenceTargetIds(Long[] fenceTargetIds);
public int deleteHwFenceTargetByTargetIds(Long[] targetIds);
}

@ -6,8 +6,8 @@ import com.ruoyi.business.domain.HwTenant;
/**
* Mapper
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface HwTenantMapper
{

@ -6,8 +6,8 @@ import com.ruoyi.business.domain.HwElectronicFence;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface IHwElectronicFenceService
{

@ -6,18 +6,18 @@ import com.ruoyi.business.domain.HwFenceTarget;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface IHwFenceTargetService
{
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
public HwFenceTarget selectHwFenceTargetByFenceTargetId(Long fenceTargetId);
public HwFenceTarget selectHwFenceTargetByTargetId(Long targetId);
/**
*
@ -46,16 +46,16 @@ public interface IHwFenceTargetService
/**
*
*
* @param fenceTargetIds
* @param targetIds
* @return
*/
public int deleteHwFenceTargetByFenceTargetIds(Long[] fenceTargetIds);
public int deleteHwFenceTargetByTargetIds(Long[] targetIds);
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
public int deleteHwFenceTargetByFenceTargetId(Long fenceTargetId);
public int deleteHwFenceTargetByTargetId(Long targetId);
}

@ -6,8 +6,8 @@ import com.ruoyi.business.domain.HwTenant;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
public interface IHwTenantService
{

@ -11,8 +11,8 @@ import com.ruoyi.business.service.IHwElectronicFenceService;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@Service
public class HwElectronicFenceServiceImpl implements IHwElectronicFenceService

@ -10,8 +10,8 @@ import com.ruoyi.business.service.IHwFenceTargetService;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@Service
public class HwFenceTargetServiceImpl implements IHwFenceTargetService
@ -22,13 +22,13 @@ public class HwFenceTargetServiceImpl implements IHwFenceTargetService
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
@Override
public HwFenceTarget selectHwFenceTargetByFenceTargetId(Long fenceTargetId)
public HwFenceTarget selectHwFenceTargetByTargetId(Long targetId)
{
return hwFenceTargetMapper.selectHwFenceTargetByFenceTargetId(fenceTargetId);
return hwFenceTargetMapper.selectHwFenceTargetByTargetId(targetId);
}
/**
@ -70,24 +70,24 @@ public class HwFenceTargetServiceImpl implements IHwFenceTargetService
/**
*
*
* @param fenceTargetIds
* @param targetIds
* @return
*/
@Override
public int deleteHwFenceTargetByFenceTargetIds(Long[] fenceTargetIds)
public int deleteHwFenceTargetByTargetIds(Long[] targetIds)
{
return hwFenceTargetMapper.deleteHwFenceTargetByFenceTargetIds(fenceTargetIds);
return hwFenceTargetMapper.deleteHwFenceTargetByTargetIds(targetIds);
}
/**
*
*
* @param fenceTargetId
* @param targetId
* @return
*/
@Override
public int deleteHwFenceTargetByFenceTargetId(Long fenceTargetId)
public int deleteHwFenceTargetByTargetId(Long targetId)
{
return hwFenceTargetMapper.deleteHwFenceTargetByFenceTargetId(fenceTargetId);
return hwFenceTargetMapper.deleteHwFenceTargetByTargetId(targetId);
}
}

@ -11,8 +11,8 @@ import com.ruoyi.business.service.IHwTenantService;
/**
* Service
*
* @author YINQ
* @date 2023-08-31
* @author xins
* @date 2023-09-04
*/
@Service
public class HwTenantServiceImpl implements IHwTenantService

@ -10,11 +10,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="sceneId" column="scene_id" />
<result property="fenceType" column="fence_type" />
<result property="effectiveTimeFlag" column="effective_time_flag" />
<result property="timeZone" column="time_zone" />
<result property="effectiveTime" column="effective_time" />
<result property="triggerStatus" column="trigger_status" />
<result property="areaShapeFlag" column="area_shape_flag" />
<result property="polygonAreaRange" column="polygon_area_range" />
<result property="circleAreaRange" column="circle_area_range" />
<result property="areaRange" column="area_range" />
<result property="fencePushFlag" column="fence_push_flag" />
<result property="fencePushContent" column="fence_push_content" />
<result property="fenceRecoverContent" column="fence_recover_content" />
@ -27,7 +27,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectHwElectronicFenceVo">
select electronic_fence_id, electronic_fence_name, scene_id, fence_type, effective_time_flag, effective_time, trigger_status, area_shape_flag, polygon_area_range, circle_area_range, fence_push_flag, fence_push_content, fence_recover_content, remark, create_by, create_time, update_by, update_time, fence_field from hw_electronic_fence
select electronic_fence_id, electronic_fence_name, scene_id, fence_type, effective_time_flag, time_zone, effective_time, trigger_status, area_shape_flag, area_range, fence_push_flag, fence_push_content, fence_recover_content, remark, create_by, create_time, update_by, update_time, fence_field from hw_electronic_fence
</sql>
<select id="selectHwElectronicFenceList" parameterType="HwElectronicFence" resultMap="HwElectronicFenceResult">
@ -35,14 +35,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if test="electronicFenceName != null and electronicFenceName != ''"> and electronic_fence_name like concat('%', #{electronicFenceName}, '%')</if>
<if test="sceneId != null "> and scene_id = #{sceneId}</if>
<if test="fenceType != null "> and fence_type = #{fenceType}</if>
<if test="effectiveTimeFlag != null "> and effective_time_flag = #{effectiveTimeFlag}</if>
<if test="fenceType != null and fenceType != ''"> and fence_type = #{fenceType}</if>
<if test="effectiveTimeFlag != null and effectiveTimeFlag != ''"> and effective_time_flag = #{effectiveTimeFlag}</if>
<if test="timeZone != null and timeZone != ''"> and time_zone = #{timeZone}</if>
<if test="effectiveTime != null and effectiveTime != ''"> and effective_time = #{effectiveTime}</if>
<if test="triggerStatus != null "> and trigger_status = #{triggerStatus}</if>
<if test="areaShapeFlag != null "> and area_shape_flag = #{areaShapeFlag}</if>
<if test="polygonAreaRange != null and polygonAreaRange != ''"> and polygon_area_range = #{polygonAreaRange}</if>
<if test="circleAreaRange != null and circleAreaRange != ''"> and circle_area_range = #{circleAreaRange}</if>
<if test="fencePushFlag != null "> and fence_push_flag = #{fencePushFlag}</if>
<if test="triggerStatus != null and triggerStatus != ''"> and trigger_status = #{triggerStatus}</if>
<if test="areaShapeFlag != null and areaShapeFlag != ''"> and area_shape_flag = #{areaShapeFlag}</if>
<if test="areaRange != null and areaRange != ''"> and area_range = #{areaRange}</if>
<if test="fencePushFlag != null and fencePushFlag != ''"> and fence_push_flag = #{fencePushFlag}</if>
<if test="fencePushContent != null and fencePushContent != ''"> and fence_push_content = #{fencePushContent}</if>
<if test="fenceRecoverContent != null and fenceRecoverContent != ''"> and fence_recover_content = #{fenceRecoverContent}</if>
<if test="fenceField != null and fenceField != ''"> and fence_field = #{fenceField}</if>
@ -59,14 +59,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="electronicFenceName != null and electronicFenceName != ''">electronic_fence_name,</if>
<if test="sceneId != null">scene_id,</if>
<if test="fenceType != null">fence_type,</if>
<if test="effectiveTimeFlag != null">effective_time_flag,</if>
<if test="fenceType != null and fenceType != ''">fence_type,</if>
<if test="effectiveTimeFlag != null and effectiveTimeFlag != ''">effective_time_flag,</if>
<if test="timeZone != null">time_zone,</if>
<if test="effectiveTime != null and effectiveTime != ''">effective_time,</if>
<if test="triggerStatus != null">trigger_status,</if>
<if test="areaShapeFlag != null">area_shape_flag,</if>
<if test="polygonAreaRange != null">polygon_area_range,</if>
<if test="circleAreaRange != null">circle_area_range,</if>
<if test="fencePushFlag != null">fence_push_flag,</if>
<if test="triggerStatus != null and triggerStatus != ''">trigger_status,</if>
<if test="areaShapeFlag != null and areaShapeFlag != ''">area_shape_flag,</if>
<if test="areaRange != null">area_range,</if>
<if test="fencePushFlag != null and fencePushFlag != ''">fence_push_flag,</if>
<if test="fencePushContent != null">fence_push_content,</if>
<if test="fenceRecoverContent != null">fence_recover_content,</if>
<if test="remark != null">remark,</if>
@ -79,14 +79,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="electronicFenceName != null and electronicFenceName != ''">#{electronicFenceName},</if>
<if test="sceneId != null">#{sceneId},</if>
<if test="fenceType != null">#{fenceType},</if>
<if test="effectiveTimeFlag != null">#{effectiveTimeFlag},</if>
<if test="fenceType != null and fenceType != ''">#{fenceType},</if>
<if test="effectiveTimeFlag != null and effectiveTimeFlag != ''">#{effectiveTimeFlag},</if>
<if test="timeZone != null">#{timeZone},</if>
<if test="effectiveTime != null and effectiveTime != ''">#{effectiveTime},</if>
<if test="triggerStatus != null">#{triggerStatus},</if>
<if test="areaShapeFlag != null">#{areaShapeFlag},</if>
<if test="polygonAreaRange != null">#{polygonAreaRange},</if>
<if test="circleAreaRange != null">#{circleAreaRange},</if>
<if test="fencePushFlag != null">#{fencePushFlag},</if>
<if test="triggerStatus != null and triggerStatus != ''">#{triggerStatus},</if>
<if test="areaShapeFlag != null and areaShapeFlag != ''">#{areaShapeFlag},</if>
<if test="areaRange != null">#{areaRange},</if>
<if test="fencePushFlag != null and fencePushFlag != ''">#{fencePushFlag},</if>
<if test="fencePushContent != null">#{fencePushContent},</if>
<if test="fenceRecoverContent != null">#{fenceRecoverContent},</if>
<if test="remark != null">#{remark},</if>
@ -103,14 +103,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=",">
<if test="electronicFenceName != null and electronicFenceName != ''">electronic_fence_name = #{electronicFenceName},</if>
<if test="sceneId != null">scene_id = #{sceneId},</if>
<if test="fenceType != null">fence_type = #{fenceType},</if>
<if test="effectiveTimeFlag != null">effective_time_flag = #{effectiveTimeFlag},</if>
<if test="fenceType != null and fenceType != ''">fence_type = #{fenceType},</if>
<if test="effectiveTimeFlag != null and effectiveTimeFlag != ''">effective_time_flag = #{effectiveTimeFlag},</if>
<if test="timeZone != null">time_zone = #{timeZone},</if>
<if test="effectiveTime != null and effectiveTime != ''">effective_time = #{effectiveTime},</if>
<if test="triggerStatus != null">trigger_status = #{triggerStatus},</if>
<if test="areaShapeFlag != null">area_shape_flag = #{areaShapeFlag},</if>
<if test="polygonAreaRange != null">polygon_area_range = #{polygonAreaRange},</if>
<if test="circleAreaRange != null">circle_area_range = #{circleAreaRange},</if>
<if test="fencePushFlag != null">fence_push_flag = #{fencePushFlag},</if>
<if test="triggerStatus != null and triggerStatus != ''">trigger_status = #{triggerStatus},</if>
<if test="areaShapeFlag != null and areaShapeFlag != ''">area_shape_flag = #{areaShapeFlag},</if>
<if test="areaRange != null">area_range = #{areaRange},</if>
<if test="fencePushFlag != null and fencePushFlag != ''">fence_push_flag = #{fencePushFlag},</if>
<if test="fencePushContent != null">fence_push_content = #{fencePushContent},</if>
<if test="fenceRecoverContent != null">fence_recover_content = #{fenceRecoverContent},</if>
<if test="remark != null">remark = #{remark},</if>

@ -5,15 +5,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<mapper namespace="com.ruoyi.business.mapper.HwFenceTargetMapper">
<resultMap type="HwFenceTarget" id="HwFenceTargetResult">
<result property="fenceTargetId" column="fence_target_id" />
<result property="electronicFenceId" column="electronic_fence_id" />
<result property="targetType" column="target_type" />
<result property="deviceId" column="device_id" />
<result property="monitorUnitId" column="monitor_unit_id" />
<result property="targetId" column="target_id" />
</resultMap>
<sql id="selectHwFenceTargetVo">
select fence_target_id, electronic_fence_id, target_type, device_id, monitor_unit_id from hw_fence_target
select electronic_fence_id, target_type, target_id from hw_fence_target
</sql>
<select id="selectHwFenceTargetList" parameterType="HwFenceTarget" resultMap="HwFenceTargetResult">
@ -21,29 +19,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<where>
<if test="electronicFenceId != null "> and electronic_fence_id = #{electronicFenceId}</if>
<if test="targetType != null and targetType != ''"> and target_type = #{targetType}</if>
<if test="deviceId != null "> and device_id = #{deviceId}</if>
<if test="monitorUnitId != null "> and monitor_unit_id = #{monitorUnitId}</if>
</where>
</select>
<select id="selectHwFenceTargetByFenceTargetId" parameterType="Long" resultMap="HwFenceTargetResult">
<select id="selectHwFenceTargetByTargetId" parameterType="Long" resultMap="HwFenceTargetResult">
<include refid="selectHwFenceTargetVo"/>
where fence_target_id = #{fenceTargetId}
where target_id = #{targetId}
</select>
<insert id="insertHwFenceTarget" parameterType="HwFenceTarget" useGeneratedKeys="true" keyProperty="fenceTargetId">
<insert id="insertHwFenceTarget" parameterType="HwFenceTarget">
insert into hw_fence_target
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="electronicFenceId != null">electronic_fence_id,</if>
<if test="targetType != null and targetType != ''">target_type,</if>
<if test="deviceId != null">device_id,</if>
<if test="monitorUnitId != null">monitor_unit_id,</if>
<if test="targetId != null">target_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="electronicFenceId != null">#{electronicFenceId},</if>
<if test="targetType != null and targetType != ''">#{targetType},</if>
<if test="deviceId != null">#{deviceId},</if>
<if test="monitorUnitId != null">#{monitorUnitId},</if>
<if test="targetId != null">#{targetId},</if>
</trim>
</insert>
@ -52,20 +46,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=",">
<if test="electronicFenceId != null">electronic_fence_id = #{electronicFenceId},</if>
<if test="targetType != null and targetType != ''">target_type = #{targetType},</if>
<if test="deviceId != null">device_id = #{deviceId},</if>
<if test="monitorUnitId != null">monitor_unit_id = #{monitorUnitId},</if>
</trim>
where fence_target_id = #{fenceTargetId}
where target_id = #{targetId}
</update>
<delete id="deleteHwFenceTargetByFenceTargetId" parameterType="Long">
delete from hw_fence_target where fence_target_id = #{fenceTargetId}
<delete id="deleteHwFenceTargetByTargetId" parameterType="Long">
delete from hw_fence_target where target_id = #{targetId}
</delete>
<delete id="deleteHwFenceTargetByFenceTargetIds" parameterType="String">
delete from hw_fence_target where fence_target_id in
<foreach item="fenceTargetId" collection="array" open="(" separator="," close=")">
#{fenceTargetId}
<delete id="deleteHwFenceTargetByTargetIds" parameterType="String">
delete from hw_fence_target where target_id in
<foreach item="targetId" collection="array" open="(" separator="," close=")">
#{targetId}
</foreach>
</delete>
</mapper>

@ -32,7 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectHwTenantList" parameterType="HwTenant" resultMap="HwTenantResult">
<include refid="selectHwTenantVo"/>
<where>
<if test="tenantType != null "> and tenant_type = #{tenantType}</if>
<if test="tenantType != null and tenantType != ''"> and tenant_type = #{tenantType}</if>
<if test="tenantName != null and tenantName != ''"> and tenant_name like concat('%', #{tenantName}, '%')</if>
<if test="tenantIndustry != null "> and tenant_industry = #{tenantIndustry}</if>
<if test="contactName != null and contactName != ''"> and contact_name like concat('%', #{contactName}, '%')</if>
@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<insert id="insertHwTenant" parameterType="HwTenant" useGeneratedKeys="true" keyProperty="tenantId">
insert into hw_tenant
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="tenantType != null">tenant_type,</if>
<if test="tenantType != null and tenantType != ''">tenant_type,</if>
<if test="tenantName != null and tenantName != ''">tenant_name,</if>
<if test="tenantIndustry != null">tenant_industry,</if>
<if test="contactName != null and contactName != ''">contact_name,</if>
@ -74,7 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="tenantField != null">tenant_field,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="tenantType != null">#{tenantType},</if>
<if test="tenantType != null and tenantType != ''">#{tenantType},</if>
<if test="tenantName != null and tenantName != ''">#{tenantName},</if>
<if test="tenantIndustry != null">#{tenantIndustry},</if>
<if test="contactName != null and contactName != ''">#{contactName},</if>
@ -97,7 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<update id="updateHwTenant" parameterType="HwTenant">
update hw_tenant
<trim prefix="SET" suffixOverrides=",">
<if test="tenantType != null">tenant_type = #{tenantType},</if>
<if test="tenantType != null and tenantType != ''">tenant_type = #{tenantType},</if>
<if test="tenantName != null and tenantName != ''">tenant_name = #{tenantName},</if>
<if test="tenantIndustry != null">tenant_industry = #{tenantIndustry},</if>
<if test="contactName != null and contactName != ''">contact_name = #{contactName},</if>

@ -3,8 +3,9 @@ package com.hw.mqtt;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@SpringBootApplication
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
public class HwMqttBrokerApplication {
public static void main(String[] args) {

@ -9,7 +9,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
*
*
* @author ruoyi
* @author xins
*/
@EnableCustomConfig
@EnableCustomSwagger2

@ -7,105 +7,105 @@
</update>
<update id="createSuperTable">
create table if not exists #{databaseName}.#{superTableName}
(${firstFieldName} timestamp,
create table if not exists #{databaseName}.#{superTableName}
(${firstFieldName} timestamp,
<!--tdEngine不支持动态fields里的数据类型只能使用choose-->
<foreach item="item" collection="schemaFields" separator=","
index="">
<if test="item.fieldName != null and item.fieldName != ''">
${item.fieldName}
</if>
<if test="item.dataType != null and item.dataType != ''">
<choose>
<when test="item.dataType == 'timestamp'">
timestamp
</when>
<when test="item.dataType == 'tinyint'">
tinyint
</when>
<when test="item.dataType == 'smallint'">
smallint
</when>
<when test="item.dataType == 'int'">
int
</when>
<when test="item.dataType == 'bigint'">
bigint
</when>
<when test="item.dataType == 'float'">
float
</when>
<when test="item.dataType == 'double'">
double
</when>
<when test="item.dataType == 'binary'">
binary
</when>
<when test="item.dataType == 'nchar'">
nchar
</when>
<when test="item.dataType == 'bool'">
bool
</when>
<when test="item.dataType == 'json'">
json
</when>
</choose>
</if>
<foreach item="item" collection="schemaFields" separator=","
index="">
<if test="item.fieldName != null and item.fieldName != ''">
${item.fieldName}
</if>
<if test="item.dataType != null and item.dataType != ''">
<choose>
<when test="item.dataType == 'timestamp'">
timestamp
</when>
<when test="item.dataType == 'tinyint'">
tinyint
</when>
<when test="item.dataType == 'smallint'">
smallint
</when>
<when test="item.dataType == 'int'">
int
</when>
<when test="item.dataType == 'bigint'">
bigint
</when>
<when test="item.dataType == 'float'">
float
</when>
<when test="item.dataType == 'double'">
double
</when>
<when test="item.dataType == 'binary'">
binary
</when>
<when test="item.dataType == 'nchar'">
nchar
</when>
<when test="item.dataType == 'bool'">
bool
</when>
<when test="item.dataType == 'json'">
json
</when>
</choose>
</if>
<if test="item.size != null">
(#{item.size})
</if>
</foreach>
) tags
<!--tdEngine不支持动态tags里的数据类型只能使用choose-->
<foreach item="item" collection="tagsFields" separator=","
open="(" close=")" index="">
<if test="item.fieldName != null and item.fieldName != ''">
${item.fieldName}
</if>
<if test="item.dataType != null and item.dataType != ''">
<choose>
<when test="item.dataType == 'timestamp'">
timestamp
</when>
<when test="item.dataType == 'int'">
int
</when>
<when test="item.dataType == 'bigint'">
bigint
</when>
<when test="item.dataType == 'float'">
float
</when>
<when test="item.dataType == 'double'">
double
</when>
<when test="item.dataType == 'binary'">
binary
</when>
<when test="item.dataType == 'smallint'">
smallint
</when>
<when test="item.dataType == 'tinyint'">
tinyint
</when>
<when test="item.dataType == 'bool'">
bool
</when>
<when test="item.dataType == 'nchar'">
nchar
</when>
<when test="item.dataType == 'json'">
json
</when>
</choose>
</if>
<if test="item.size != null">
(#{item.size})
</if>
</foreach>
</update>
<if test="item.size != null">
(#{item.size})
</if>
</foreach>
) tags
<!--tdEngine不支持动态tags里的数据类型只能使用choose-->
<foreach item="item" collection="tagsFields" separator=","
open="(" close=")" index="">
<if test="item.fieldName != null and item.fieldName != ''">
${item.fieldName}
</if>
<if test="item.dataType != null and item.dataType != ''">
<choose>
<when test="item.dataType == 'timestamp'">
timestamp
</when>
<when test="item.dataType == 'int'">
int
</when>
<when test="item.dataType == 'bigint'">
bigint
</when>
<when test="item.dataType == 'float'">
float
</when>
<when test="item.dataType == 'double'">
double
</when>
<when test="item.dataType == 'binary'">
binary
</when>
<when test="item.dataType == 'smallint'">
smallint
</when>
<when test="item.dataType == 'tinyint'">
tinyint
</when>
<when test="item.dataType == 'bool'">
bool
</when>
<when test="item.dataType == 'nchar'">
nchar
</when>
<when test="item.dataType == 'json'">
json
</when>
</choose>
</if>
<if test="item.size != null">
(#{item.size})
</if>
</foreach>
</update>
<update id="createTable">
create table if not exists #{databaseName}.#{tableName}
@ -180,19 +180,36 @@
<!-- 需要提前建表。如果用插入记录时自动建表则会有概率出现问题:设备上报的属性值跟定义的属性值不同的情况-->
<insert id="insertTable">
insert into #{databaseName}.#{tableName}
<foreach item="item" collection="schemaFields" separator=","
open="(" close=")" index="">
${item.fieldName}
</foreach>
<!--不要换行tdengine有时候解析会有问题-->
insert into #{databaseName}.#{tableName} <foreach item="item" collection="schemaFields" separator=","
open="(" close=")" index="">${item.fieldName}</foreach> values <foreach item="item" collection="schemaFields" separator=","
open="(" close=")" index="">#{item.fieldValue}</foreach>
<!--insert into db_scene_1.t_device_2
(
ts
,
rssi
,
alias
,
value1
,
voltage
)
values
<foreach item="item" collection="schemaFields" separator=","
open="(" close=")" index="">
#{item.fieldValue}
</foreach>
(
1689816999999,-80.1,
'u_1'
,
-25.6
,
3.76
)-->
</insert>
<!--适用于设备监测页面,先根据监控单元获取设备信息,再根据设备来获取最新的数据-->
<!--适用于设备监测页面废弃可以getLatestDataByTags通过tag监控单元ID来获取最新信息,先根据监控单元获取设备信息,再根据设备来获取最新的数据-->
<select id="getLatestData" parameterType="com.ruoyi.tdengine.api.domain.TdSelectDto"
resultType="java.util.Map">
select last(*) from #{databaseName}.#{tableName}

@ -1,44 +0,0 @@
import request from '@/utils/request'
// 查询电子围栏列表
export function listEffectiveFence(query) {
return request({
url: '/business/effectiveFence/list',
method: 'get',
params: query
})
}
// 查询电子围栏详细
export function getEffectiveFence(electronicFenceId) {
return request({
url: '/business/effectiveFence/' + electronicFenceId,
method: 'get'
})
}
// 新增电子围栏
export function addEffectiveFence(data) {
return request({
url: '/business/effectiveFence',
method: 'post',
data: data
})
}
// 修改电子围栏
export function updateEffectiveFence(data) {
return request({
url: '/business/effectiveFence',
method: 'put',
data: data
})
}
// 删除电子围栏
export function delEffectiveFence(electronicFenceId) {
return request({
url: '/business/effectiveFence/' + electronicFenceId,
method: 'delete'
})
}

@ -10,9 +10,9 @@ export function listFenceTarget(query) {
}
// 查询电子围栏目标详细
export function getFenceTarget(fenceTargetId) {
export function getFenceTarget(targetId) {
return request({
url: '/business/fenceTarget/' + fenceTargetId,
url: '/business/fenceTarget/' + targetId,
method: 'get'
})
}
@ -36,9 +36,9 @@ export function updateFenceTarget(data) {
}
// 删除电子围栏目标
export function delFenceTarget(fenceTargetId) {
export function delFenceTarget(targetId) {
return request({
url: '/business/fenceTarget/' + fenceTargetId,
url: '/business/fenceTarget/' + targetId,
method: 'delete'
})
}

@ -1,408 +0,0 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="电子围栏名称" prop="electronicFenceName">
<el-input
v-model="queryParams.electronicFenceName"
placeholder="请输入电子围栏名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-input
v-model="queryParams.sceneId"
placeholder="请输入所属场景"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生效时间标识" prop="effectiveTimeFlag">
<el-input
v-model="queryParams.effectiveTimeFlag"
placeholder="请输入生效时间标识"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="生效时间开始时间_结束时间_状态多个用|隔开" prop="effectiveTime">
<el-input
v-model="queryParams.effectiveTime"
placeholder="请输入生效时间开始时间_结束时间_状态多个用|隔开"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="区域形状" prop="areaShapeFlag">
<el-input
v-model="queryParams.areaShapeFlag"
placeholder="请输入区域形状"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="为多边形时的区域范围" prop="polygonAreaRange">
<el-input
v-model="queryParams.polygonAreaRange"
placeholder="请输入为多边形时的区域范围"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="为圆形时的中心点和半径,下划线隔开" prop="circleAreaRange">
<el-input
v-model="queryParams.circleAreaRange"
placeholder="请输入为圆形时的中心点和半径,下划线隔开"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="报警推送标识(1、是0、否" prop="fencePushFlag">
<el-input
v-model="queryParams.fencePushFlag"
placeholder="请输入报警推送标识(1、是0、否"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="预留字段" prop="fenceField">
<el-input
v-model="queryParams.fenceField"
placeholder="请输入预留字段"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:effectiveFence:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:effectiveFence:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:effectiveFence:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:effectiveFence:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="effectiveFenceList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="电子围栏ID" align="center" prop="electronicFenceId" />
<el-table-column label="电子围栏名称" align="center" prop="electronicFenceName" />
<el-table-column label="所属场景" align="center" prop="sceneId" />
<el-table-column label="规则类型" align="center" prop="fenceType" />
<el-table-column label="生效时间标识" align="center" prop="effectiveTimeFlag" />
<el-table-column label="生效时间开始时间_结束时间_状态多个用|隔开" align="center" prop="effectiveTime" />
<el-table-column label="触发状态" align="center" prop="triggerStatus" />
<el-table-column label="区域形状" align="center" prop="areaShapeFlag" />
<el-table-column label="为多边形时的区域范围" align="center" prop="polygonAreaRange" />
<el-table-column label="为圆形时的中心点和半径,下划线隔开" align="center" prop="circleAreaRange" />
<el-table-column label="报警推送标识(1、是0、否" align="center" prop="fencePushFlag" />
<el-table-column label="报警推送内容" align="center" prop="fencePushContent" />
<el-table-column label="恢复正常推送内容" align="center" prop="fenceRecoverContent" />
<el-table-column label="描述" align="center" prop="remark" />
<el-table-column label="预留字段" align="center" prop="fenceField" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:effectiveFence:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:effectiveFence:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改电子围栏对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="电子围栏名称" prop="electronicFenceName">
<el-input v-model="form.electronicFenceName" placeholder="请输入电子围栏名称" />
</el-form-item>
<el-form-item label="所属场景" prop="sceneId">
<el-input v-model="form.sceneId" placeholder="请输入所属场景" />
</el-form-item>
<el-form-item label="生效时间标识" prop="effectiveTimeFlag">
<el-input v-model="form.effectiveTimeFlag" placeholder="请输入生效时间标识" />
</el-form-item>
<el-form-item label="生效时间开始时间_结束时间_状态多个用|隔开" prop="effectiveTime">
<el-input v-model="form.effectiveTime" placeholder="请输入生效时间开始时间_结束时间_状态多个用|隔开" />
</el-form-item>
<el-form-item label="区域形状" prop="areaShapeFlag">
<el-input v-model="form.areaShapeFlag" placeholder="请输入区域形状" />
</el-form-item>
<el-form-item label="为多边形时的区域范围" prop="polygonAreaRange">
<el-input v-model="form.polygonAreaRange" placeholder="请输入为多边形时的区域范围" />
</el-form-item>
<el-form-item label="为圆形时的中心点和半径,下划线隔开" prop="circleAreaRange">
<el-input v-model="form.circleAreaRange" placeholder="请输入为圆形时的中心点和半径,下划线隔开" />
</el-form-item>
<el-form-item label="报警推送标识(1、是0、否" prop="fencePushFlag">
<el-input v-model="form.fencePushFlag" placeholder="请输入报警推送标识(1、是0、否" />
</el-form-item>
<el-form-item label="报警推送内容">
<editor v-model="form.fencePushContent" :min-height="192"/>
</el-form-item>
<el-form-item label="恢复正常推送内容">
<editor v-model="form.fenceRecoverContent" :min-height="192"/>
</el-form-item>
<el-form-item label="描述" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="预留字段" prop="fenceField">
<el-input v-model="form.fenceField" placeholder="请输入预留字段" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listEffectiveFence, getEffectiveFence, delEffectiveFence, addEffectiveFence, updateEffectiveFence } from "@/api/business/effectiveFence";
export default {
name: "EffectiveFence",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
effectiveFenceList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
electronicFenceName: null,
sceneId: null,
fenceType: null,
effectiveTimeFlag: null,
effectiveTime: null,
triggerStatus: null,
areaShapeFlag: null,
polygonAreaRange: null,
circleAreaRange: null,
fencePushFlag: null,
fencePushContent: null,
fenceRecoverContent: null,
fenceField: null
},
//
form: {},
//
rules: {
electronicFenceName: [
{ required: true, message: "电子围栏名称不能为空", trigger: "blur" }
],
sceneId: [
{ required: true, message: "所属场景不能为空", trigger: "blur" }
],
fenceType: [
{ required: true, message: "规则类型不能为空", trigger: "change" }
],
effectiveTimeFlag: [
{ required: true, message: "生效时间标识不能为空", trigger: "blur" }
],
effectiveTime: [
{ required: true, message: "生效时间开始时间_结束时间_状态多个用|隔开不能为空", trigger: "blur" }
],
triggerStatus: [
{ required: true, message: "触发状态不能为空", trigger: "change" }
],
areaShapeFlag: [
{ required: true, message: "区域形状不能为空", trigger: "blur" }
],
fencePushFlag: [
{ required: true, message: "报警推送标识(1、是0、否不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询电子围栏列表 */
getList() {
this.loading = true;
listEffectiveFence(this.queryParams).then(response => {
this.effectiveFenceList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
electronicFenceId: null,
electronicFenceName: null,
sceneId: null,
fenceType: null,
effectiveTimeFlag: null,
effectiveTime: null,
triggerStatus: null,
areaShapeFlag: null,
polygonAreaRange: null,
circleAreaRange: null,
fencePushFlag: null,
fencePushContent: null,
fenceRecoverContent: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
fenceField: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.electronicFenceId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加电子围栏";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const electronicFenceId = row.electronicFenceId || this.ids
getEffectiveFence(electronicFenceId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改电子围栏";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.electronicFenceId != null) {
updateEffectiveFence(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addEffectiveFence(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const electronicFenceIds = row.electronicFenceId || this.ids;
this.$modal.confirm('是否确认删除电子围栏编号为"' + electronicFenceIds + '"的数据项?').then(function() {
return delEffectiveFence(electronicFenceIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/effectiveFence/export', {
...this.queryParams
}, `effectiveFence_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -1,282 +0,0 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="电子围栏ID" prop="electronicFenceId">
<el-input
v-model="queryParams.electronicFenceId"
placeholder="请输入电子围栏ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="设备关联表hw_device字段device_id" prop="deviceId">
<el-input
v-model="queryParams.deviceId"
placeholder="请输入设备关联表hw_device字段device_id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="所属监控单元关联表hw_monitor_unit字段monitor_unit_id" prop="monitorUnitId">
<el-input
v-model="queryParams.monitorUnitId"
placeholder="请输入所属监控单元关联表hw_monitor_unit字段monitor_unit_id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['business:fenceTarget:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['business:fenceTarget:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['business:fenceTarget:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['business:fenceTarget:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="fenceTargetList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="电子围栏目标ID" align="center" prop="fenceTargetId" />
<el-table-column label="电子围栏ID" align="center" prop="electronicFenceId" />
<el-table-column label="目标类型" align="center" prop="targetType" />
<el-table-column label="设备关联表hw_device字段device_id" align="center" prop="deviceId" />
<el-table-column label="所属监控单元关联表hw_monitor_unit字段monitor_unit_id" align="center" prop="monitorUnitId" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['business:fenceTarget:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['business:fenceTarget:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改电子围栏目标对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="电子围栏ID" prop="electronicFenceId">
<el-input v-model="form.electronicFenceId" placeholder="请输入电子围栏ID" />
</el-form-item>
<el-form-item label="设备关联表hw_device字段device_id" prop="deviceId">
<el-input v-model="form.deviceId" placeholder="请输入设备关联表hw_device字段device_id" />
</el-form-item>
<el-form-item label="所属监控单元关联表hw_monitor_unit字段monitor_unit_id" prop="monitorUnitId">
<el-input v-model="form.monitorUnitId" placeholder="请输入所属监控单元关联表hw_monitor_unit字段monitor_unit_id" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFenceTarget, getFenceTarget, delFenceTarget, addFenceTarget, updateFenceTarget } from "@/api/business/fenceTarget";
export default {
name: "FenceTarget",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
fenceTargetList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
electronicFenceId: null,
targetType: null,
deviceId: null,
monitorUnitId: null
},
//
form: {},
//
rules: {
electronicFenceId: [
{ required: true, message: "电子围栏ID不能为空", trigger: "blur" }
],
targetType: [
{ required: true, message: "目标类型不能为空", trigger: "change" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询电子围栏目标列表 */
getList() {
this.loading = true;
listFenceTarget(this.queryParams).then(response => {
this.fenceTargetList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
fenceTargetId: null,
electronicFenceId: null,
targetType: null,
deviceId: null,
monitorUnitId: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.fenceTargetId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加电子围栏目标";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const fenceTargetId = row.fenceTargetId || this.ids
getFenceTarget(fenceTargetId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改电子围栏目标";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.fenceTargetId != null) {
updateFenceTarget(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addFenceTarget(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const fenceTargetIds = row.fenceTargetId || this.ids;
this.$modal.confirm('是否确认删除电子围栏目标编号为"' + fenceTargetIds + '"的数据项?').then(function() {
return delFenceTarget(fenceTargetIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('business/fenceTarget/export', {
...this.queryParams
}, `fenceTarget_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -1,16 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="租户类型" prop="tenantType">
<el-select v-model="queryParams.tenantType" placeholder="请选择租户类型" clearable>
<el-option
v-for="dict in dict.type.hw_tenant_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="租户名称" prop="tenantName">
<el-input
v-model="queryParams.tenantName"
@ -19,15 +9,13 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="行业类型" prop="tenantIndustry">
<el-select v-model="queryParams.tenantIndustry" placeholder="请选择行业类型" clearable>
<el-option
v-for="dict in dict.type.hw_tenant_industry"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-form-item label="行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value" prop="tenantIndustry">
<el-input
v-model="queryParams.tenantIndustry"
placeholder="请输入行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系人姓名" prop="contactName">
<el-input
@ -53,14 +41,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="区域ID" prop="areaId">-->
<!-- <el-input-->
<!-- v-model="queryParams.areaId"-->
<!-- placeholder="请输入区域ID"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="区域ID管理区域hw_area" prop="areaId">
<el-input
v-model="queryParams.areaId"
placeholder="请输入区域ID管理区域hw_area"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="联系人地址" prop="contactAddress">
<el-input
v-model="queryParams.contactAddress"
@ -69,28 +57,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="状态" prop="tenantStatus">-->
<!-- <el-input-->
<!-- v-model="queryParams.tenantStatus"-->
<!-- placeholder="请输入状态"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="是否外部注册" prop="isRegister">
<el-select v-model="queryParams.isRegister" placeholder="请选择是否外部注册" clearable>
<el-option
v-for="dict in dict.type.hw_tenant_register_flag"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-input
v-model="queryParams.isRegister"
placeholder="请输入是否外部注册"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="租户等级" prop="tenantGrade">
<el-form-item label="租户等级,预留字段" prop="tenantGrade">
<el-input
v-model="queryParams.tenantGrade"
placeholder="请输入租户等级"
placeholder="请输入租户等级,预留字段"
clearable
@keyup.enter.native="handleQuery"
/>
@ -158,30 +136,18 @@
<el-table v-loading="loading" :data="tenantList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="租户ID" align="center" prop="tenantId" />
<el-table-column label="租户类型" align="center" prop="tenantType">
<template slot-scope="scope">
<dict-tag :options="dict.type.hw_tenant_type" :value="scope.row.tenantType"/>
</template>
</el-table-column>
<el-table-column label="租户类型,(1、企业2、个人)" align="center" prop="tenantType" />
<el-table-column label="租户名称" align="center" prop="tenantName" />
<el-table-column label="行业类型" align="center" prop="tenantIndustry">
<template slot-scope="scope">
<dict-tag :options="dict.type.hw_tenant_industry" :value="scope.row.tenantIndustry"/>
</template>
</el-table-column>
<el-table-column label="行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value" align="center" prop="tenantIndustry" />
<el-table-column label="联系人姓名" align="center" prop="contactName" />
<el-table-column label="联系人电话" align="center" prop="contactPhone" />
<el-table-column label="邮箱地址" align="center" prop="email" />
<el-table-column label="区域ID" align="center" prop="areaId" />
<el-table-column label="区域ID管理区域hw_area" align="center" prop="areaId" />
<el-table-column label="联系人地址" align="center" prop="contactAddress" />
<el-table-column label="描述" align="center" prop="remark" />
<!-- <el-table-column label="状态" align="center" prop="tenantStatus" />-->
<el-table-column label="是否外部注册" align="center" prop="isRegister">
<template slot-scope="scope">
<dict-tag :options="dict.type.hw_tenant_register_flag" :value="scope.row.isRegister"/>
</template>
</el-table-column>
<el-table-column label="租户等级" align="center" prop="tenantGrade" />
<el-table-column label="状态" align="center" prop="tenantStatus" />
<el-table-column label="是否外部注册" align="center" prop="isRegister" />
<el-table-column label="租户等级,预留字段" align="center" prop="tenantGrade" />
<el-table-column label="预留字段" align="center" prop="tenantField" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@ -202,7 +168,7 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -214,27 +180,11 @@
<!-- 添加或修改租户信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="租户类型" prop="tenantType">
<el-radio-group v-model="form.tenantType">
<el-radio
v-for="dict in dict.type.hw_tenant_type"
:key="dict.value"
:label="parseInt(dict.value)"
>{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="租户名称" prop="tenantName">
<el-input v-model="form.tenantName" placeholder="请输入租户名称" />
</el-form-item>
<el-form-item label="行业类型" prop="tenantIndustry">
<el-select v-model="form.tenantIndustry" placeholder="请选择行业类型">
<el-option
v-for="dict in dict.type.hw_tenant_industry"
:key="dict.value"
:label="dict.label"
:value="parseInt(dict.value)"
></el-option>
</el-select>
<el-form-item label="行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value" prop="tenantIndustry">
<el-input v-model="form.tenantIndustry" placeholder="请输入行业类型关联sys_dict_data的dict_type是hw_tenant_industry的dict_value" />
</el-form-item>
<el-form-item label="联系人姓名" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人姓名" />
@ -245,29 +195,20 @@
<el-form-item label="邮箱地址" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱地址" />
</el-form-item>
<!-- <el-form-item label="区域ID" prop="areaId">-->
<!-- <el-input v-model="form.areaId" placeholder="请输入区域ID" />-->
<!-- </el-form-item>-->
<el-form-item label="区域ID管理区域hw_area" prop="areaId">
<el-input v-model="form.areaId" placeholder="请输入区域ID管理区域hw_area" />
</el-form-item>
<el-form-item label="联系人地址" prop="contactAddress">
<el-input v-model="form.contactAddress" placeholder="请输入联系人地址" />
</el-form-item>
<el-form-item label="描述" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
<!-- <el-form-item label="状态" prop="tenantStatus">-->
<!-- <el-input v-model="form.tenantStatus" placeholder="请输入状态" />-->
<!-- </el-form-item>-->
<el-form-item label="是否外部注册" prop="isRegister">
<el-radio-group v-model="form.isRegister">
<el-radio
v-for="dict in dict.type.hw_tenant_register_flag"
:key="dict.value"
:label="dict.value"
>{{dict.label}}</el-radio>
</el-radio-group>
<el-input v-model="form.isRegister" placeholder="请输入是否外部注册" />
</el-form-item>
<el-form-item label="租户等级" prop="tenantGrade">
<el-input v-model="form.tenantGrade" placeholder="请输入租户等级" />
<el-form-item label="租户等级,预留字段" prop="tenantGrade">
<el-input v-model="form.tenantGrade" placeholder="请输入租户等级,预留字段" />
</el-form-item>
<el-form-item label="预留字段" prop="tenantField">
<el-input v-model="form.tenantField" placeholder="请输入预留字段" />
@ -286,7 +227,6 @@ import { listTenant, getTenant, delTenant, addTenant, updateTenant } from "@/api
export default {
name: "Tenant",
dicts: ['hw_tenant_industry', 'hw_tenant_register_flag', 'hw_tenant_type'],
data() {
return {
//
@ -329,7 +269,7 @@ export default {
//
rules: {
tenantType: [
{ required: true, message: "租户类型不能为空", trigger: "change" }
{ required: true, message: "租户类型(1、企业2、个人)不能为空", trigger: "change" }
],
tenantName: [
{ required: true, message: "租户名称不能为空", trigger: "blur" }
@ -341,10 +281,10 @@ export default {
{ required: true, message: "联系人电话不能为空", trigger: "blur" }
],
tenantStatus: [
{ required: true, message: "状态不能为空", trigger: "blur" }
{ required: true, message: "状态不能为空", trigger: "change" }
],
isRegister: [
{ required: true, message: "是否外部注册不能为空", trigger: "change" }
{ required: true, message: "是否外部注册不能为空", trigger: "blur" }
],
}
};

Loading…
Cancel
Save