diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDatasourceConfServiceImpl.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDatasourceConfServiceImpl.java index 898688d38..2147a3af7 100755 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDatasourceConfServiceImpl.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/service/impl/GenDatasourceConfServiceImpl.java @@ -20,6 +20,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.dynamic.datasource.DynamicRoutingDataSource; import com.baomidou.dynamic.datasource.creator.DataSourceCreator; import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DataSourceProperty; +import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.druid.DruidConfig; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.pig4cloud.pigx.codegen.entity.GenDatasourceConf; import com.pig4cloud.pigx.codegen.mapper.GenDatasourceConfMapper; @@ -123,6 +124,12 @@ public class GenDatasourceConfServiceImpl extends ServiceImpl - ORDER BY T.tableName diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/JacksonConfiguration.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/JacksonConfiguration.java new file mode 100644 index 000000000..a009f3cd2 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/config/JacksonConfiguration.java @@ -0,0 +1,30 @@ +package com.anjiplus.template.gaea.business.config; + +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import java.util.Locale; +import java.util.TimeZone; + +/** + * @author lengleng + * @date 2022/2/13 + */ +@Configuration +public class JacksonConfiguration { + + private static final String ASIA_SHANGHAI = "Asia/Shanghai"; + + @Bean + public Jackson2ObjectMapperBuilderCustomizer customizer() { + return builder -> { + builder.locale(Locale.CHINA); + builder.timeZone(TimeZone.getTimeZone(ASIA_SHANGHAI)); + builder.simpleDateFormat("yyyy-MM-dd HH:mm:ss"); + builder.serializerByType(Long.class, ToStringSerializer.instance); + }; + } + +} diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/enums/SetTypeEnum.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/enums/SetTypeEnum.java new file mode 100644 index 000000000..2f0dd1fc8 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/enums/SetTypeEnum.java @@ -0,0 +1,55 @@ +package com.anjiplus.template.gaea.business.enums; + +public enum SetTypeEnum { + + SQL("sql", "sql"), HTTP("http", "http"),; + + private String codeValue; + + private String codeDesc; + + private SetTypeEnum(String codeValue, String codeDesc) { + this.codeValue = codeValue; + this.codeDesc = codeDesc; + } + + public String getCodeValue() { + return this.codeValue; + } + + public String getCodeDesc() { + return this.codeDesc; + } + + // 根据codeValue获取枚举 + public static SetTypeEnum parseFromCodeValue(String codeValue) { + for (SetTypeEnum e : SetTypeEnum.values()) { + if (e.codeValue == codeValue) { + return e; + } + } + return null; + } + + // 根据codeValue获取描述 + public static String getCodeDescByCodeBalue(String codeValue) { + SetTypeEnum enumItem = parseFromCodeValue(codeValue); + return enumItem == null ? "" : enumItem.getCodeDesc(); + } + + // 验证codeValue是否有效 + public static boolean validateCodeValue(String codeValue) { + return parseFromCodeValue(codeValue) != null; + } + + // 列出所有值字符串 + public static String getString() { + StringBuffer buffer = new StringBuffer(); + for (SetTypeEnum e : SetTypeEnum.values()) { + buffer.append(e.codeValue).append("--").append(e.getCodeDesc()).append(", "); + } + buffer.deleteCharAt(buffer.lastIndexOf(",")); + return buffer.toString().trim(); + } + +} diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/filter/CorsFilter.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/filter/CorsFilter.java index 0f75d2311..243a7fd02 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/filter/CorsFilter.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/filter/CorsFilter.java @@ -16,29 +16,28 @@ import java.io.IOException; @Order(Ordered.HIGHEST_PRECEDENCE) public class CorsFilter implements Filter { - @Override - public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) - throws IOException, ServletException { - HttpServletRequest req = (HttpServletRequest) request; - HttpServletResponse res = (HttpServletResponse) response; - // 设置允许Cookie - res.addHeader("Access-Control-Allow-Credentials", "true"); - // 允许http://www.xxx.com域(自行设置,这里只做示例)发起跨域请求 - res.addHeader("Access-Control-Allow-Origin", req.getHeader("Origin")); - // 设置允许跨域请求的方法 - res.addHeader("Access-Control-Allow-Methods", "*"); - // 允许跨域请求包含content-type - res.addHeader("Access-Control-Allow-Headers", "*"); - res.addHeader("Access-Control-Expose-Headers", "*"); - chain.doFilter(req, res); - } + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) + throws IOException, ServletException { + HttpServletRequest req = (HttpServletRequest) request; + HttpServletResponse res = (HttpServletResponse) response; + // 设置允许Cookie + res.addHeader("Access-Control-Allow-Credentials", "true"); + // 允许http://www.xxx.com域(自行设置,这里只做示例)发起跨域请求 + res.addHeader("Access-Control-Allow-Origin", req.getHeader("Origin")); + // 设置允许跨域请求的方法 + res.addHeader("Access-Control-Allow-Methods", "*"); + // 允许跨域请求包含content-type + res.addHeader("Access-Control-Allow-Headers", "*"); + res.addHeader("Access-Control-Expose-Headers", "*"); + chain.doFilter(req, res); + } - @Override - public void destroy() { - } - - @Override - public void init(FilterConfig filterConfig) throws ServletException { - } + @Override + public void destroy() { + } + @Override + public void init(FilterConfig filterConfig) throws ServletException { + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/AccessAuthorityController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/AccessAuthorityController.java index 36c34ed52..6da7ba073 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/AccessAuthorityController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/AccessAuthorityController.java @@ -2,63 +2,66 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.controller; import com.anji.plus.gaea.annotation.Permission; +import com.anji.plus.gaea.annotation.AccessKey; +import com.anji.plus.gaea.bean.KeyValue; import com.anji.plus.gaea.bean.ResponseBean; import com.anji.plus.gaea.bean.TreeNode; import com.anji.plus.gaea.curd.controller.GaeaBaseController; import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anji.plus.gaea.holder.UserContentHolder; -import com.anjiplus.template.gaea.business.modules.accessauthority.controller.dto.AccessAuthorityDto; -import com.anjiplus.template.gaea.business.modules.accessauthority.controller.param.AccessAuthorityParam; +import com.anji.plus.gaea.utils.GaeaBeanUtils; +import com.anji.plus.gaea.utils.GaeaUtils; import com.anjiplus.template.gaea.business.modules.accessauthority.dao.entity.AccessAuthority; import com.anjiplus.template.gaea.business.modules.accessauthority.service.AccessAuthorityService; -import io.swagger.annotations.Api; +import com.anjiplus.template.gaea.business.modules.accessauthority.controller.dto.AccessAuthorityDto; +import com.anjiplus.template.gaea.business.modules.accessauthority.controller.param.AccessAuthorityParam; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.context.i18n.LocaleContextHolder; +import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; import java.util.List; +import java.util.Locale; +import java.util.Map; /** - * @desc 权限管理 controller - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* @desc 权限管理 controller +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ @RestController @Api(tags = "权限管理管理") @RequestMapping("/accessAuthority") @Permission(code = "authorityManage", name = "权限管理") -public class AccessAuthorityController - extends GaeaBaseController { +public class AccessAuthorityController extends GaeaBaseController { - @Autowired - private AccessAuthorityService accessAuthorityService; + @Autowired + private AccessAuthorityService accessAuthorityService; - @Override - public GaeaBaseService getService() { - return accessAuthorityService; - } + @Override + public GaeaBaseService getService() { + return accessAuthorityService; + } - @Override - public AccessAuthority getEntity() { - return new AccessAuthority(); - } + @Override + public AccessAuthority getEntity() { + return new AccessAuthority(); + } - @Override - public AccessAuthorityDto getDTO() { - return new AccessAuthorityDto(); - } + @Override + public AccessAuthorityDto getDTO() { + return new AccessAuthorityDto(); + } - /** - * 获取一二级菜单 - * @return - */ - @Permission(code = "query", name = "查询") - @GetMapping("/menuTree") - public ResponseBean menuTree() { - String username = UserContentHolder.getContext().getUsername(); - List parentTreeList = accessAuthorityService.getAuthorityTree(username, false); - return responseSuccessWithData(parentTreeList); - } - -} + /** + * 获取一二级菜单 + * @return + */ + @Permission( code = "query", name = "查询") + @GetMapping("/menuTree") + public ResponseBean menuTree(){ + String username = UserContentHolder.getContext().getUsername(); + List parentTreeList = accessAuthorityService.getAuthorityTree(username, false); + return responseSuccessWithData(parentTreeList); + } +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/dto/AccessAuthorityDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/dto/AccessAuthorityDto.java index ad736a28a..77cc98f55 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/dto/AccessAuthorityDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/dto/AccessAuthorityDto.java @@ -1,56 +1,58 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.controller.dto; -import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - +import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -import java.io.Serializable; + +import com.anji.plus.gaea.annotation.Query; +import com.anji.plus.gaea.constant.QueryEnum; +import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; +import io.swagger.annotations.ApiModelProperty; +import com.anji.plus.gaea.annotation.Formatter; +import lombok.Data; /** - * @description 权限管理 dto - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* +* @description 权限管理 dto +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ @Data public class AccessAuthorityDto extends GaeaBaseDTO implements Serializable { + /** 父菜单代码 */ + @ApiModelProperty(value = "父菜单代码") + private String parentTarget; - /** 父菜单代码 */ - @ApiModelProperty(value = "父菜单代码") - private String parentTarget; + /** 目标菜单 */ + @ApiModelProperty(value = "菜单代码") + @NotEmpty(message = "6002") + private String target; - /** 目标菜单 */ - @ApiModelProperty(value = "菜单代码") - @NotEmpty(message = "6002") - private String target; + /** 目标菜单名称 */ + @ApiModelProperty(value = "菜单名称") + @NotEmpty(message = "6002") + private String targetName; - /** 目标菜单名称 */ - @ApiModelProperty(value = "菜单名称") - @NotEmpty(message = "6002") - private String targetName; + /** 目标按钮 */ + @ApiModelProperty(value = "按钮代码") + @NotEmpty(message = "6002") + private String action; - /** 目标按钮 */ - @ApiModelProperty(value = "按钮代码") - @NotEmpty(message = "6002") - private String action; + /** 目标按钮名称 */ + @ApiModelProperty(value = "按钮名称") + @NotEmpty(message = "6002") + private String actionName; - /** 目标按钮名称 */ - @ApiModelProperty(value = "按钮名称") - @NotEmpty(message = "6002") - private String actionName; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") - private Integer deleteFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + @NotNull(message = "6002") + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - @NotNull(message = "6002") - private Integer enableFlag; - - @ApiModelProperty(value = "sort") - private Integer sort; - -} + @ApiModelProperty(value = "sort") + private Integer sort; +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/param/AccessAuthorityParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/param/AccessAuthorityParam.java index 95b84a7e4..344a14c92 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/param/AccessAuthorityParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/controller/param/AccessAuthorityParam.java @@ -1,43 +1,44 @@ /**/ package com.anjiplus.template.gaea.business.modules.accessauthority.controller.param; +import lombok.Data; +import java.io.Serializable; import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; -import lombok.Data; +import java.util.List; -import java.io.Serializable; +import java.util.Date; /** - * @desc AccessAuthority 权限管理查询输入类 - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* @desc AccessAuthority 权限管理查询输入类 +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ @Data -public class AccessAuthorityParam extends PageParam implements Serializable { +public class AccessAuthorityParam extends PageParam implements Serializable{ - /** 父菜单代码 */ - @Query(value = QueryEnum.LIKE) - private String parentTarget; + /** 父菜单代码 */ + @Query(value = QueryEnum.LIKE) + private String parentTarget; - /** 菜单代码 */ - @Query(value = QueryEnum.LIKE) - private String target; + /** 菜单代码 */ + @Query(value = QueryEnum.LIKE) + private String target; - /** 菜单名称 */ - @Query(value = QueryEnum.LIKE) - private String targetName; + /** 菜单名称 */ + @Query(value = QueryEnum.LIKE) + private String targetName; - /** 按钮代码 */ - @Query(value = QueryEnum.LIKE) - private String action; + /** 按钮代码 */ + @Query(value = QueryEnum.LIKE) + private String action; - /** 按钮名称 */ - @Query(value = QueryEnum.LIKE) - private String actionName; + /** 按钮名称 */ + @Query(value = QueryEnum.LIKE) + private String actionName; - // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG - @Query - private Integer enableFlag; - -} + // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG + @Query + private Integer enableFlag; +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/AccessAuthorityMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/AccessAuthorityMapper.java index 3b8c8d58e..9395dd29c 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/AccessAuthorityMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/AccessAuthorityMapper.java @@ -1,16 +1,17 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.dao; +import org.apache.ibatis.annotations.Mapper; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.accessauthority.dao.entity.AccessAuthority; -import org.apache.ibatis.annotations.Mapper; + +import java.util.List; /** - * AccessAuthority Mapper - * - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* AccessAuthority Mapper +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ @Mapper public interface AccessAuthorityMapper extends GaeaBaseMapper { -} +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/entity/AccessAuthority.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/entity/AccessAuthority.java index 15392054b..1d04d89f7 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/entity/AccessAuthority.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/dao/entity/AccessAuthority.java @@ -1,40 +1,43 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.dao.entity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - +import javax.validation.constraints.*; +import java.util.Date; /** - * @description 权限管理 entity - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ -@TableName(keepGlobalPrefix = true, value = "access_authority") +* @description 权限管理 entity +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ +@TableName(keepGlobalPrefix=true, value="access_authority") @Data public class AccessAuthority extends GaeaBaseEntity { + /** 父菜单代码 */ + private String parentTarget; - /** 父菜单代码 */ - private String parentTarget; + /** 菜单代码 */ + private String target; - /** 菜单代码 */ - private String target; + /** 菜单名称 */ + private String targetName; - /** 菜单名称 */ - private String targetName; + /** 按钮代码 */ + private String action; - /** 按钮代码 */ - private String action; + /** 按钮名称 */ + private String actionName; - /** 按钮名称 */ - private String actionName; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - private Integer deleteFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; + + private Integer sort; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; - private Integer sort; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/AccessAuthorityService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/AccessAuthorityService.java index d44b83d60..0e3e0238e 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/AccessAuthorityService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/AccessAuthorityService.java @@ -2,29 +2,28 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.service; import com.anji.plus.gaea.bean.TreeNode; -import com.anji.plus.gaea.curd.service.GaeaBaseService; -import com.anjiplus.template.gaea.business.modules.accessauthority.controller.param.AccessAuthorityParam; import com.anjiplus.template.gaea.business.modules.accessauthority.dao.entity.AccessAuthority; +import com.anjiplus.template.gaea.business.modules.accessauthority.controller.param.AccessAuthorityParam; +import com.anji.plus.gaea.curd.service.GaeaBaseService; import java.util.List; /** - * @desc AccessAuthority 权限管理服务接口 - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* @desc AccessAuthority 权限管理服务接口 +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ public interface AccessAuthorityService extends GaeaBaseService { - /** - * @param loginName 当前登录的用户名 - * @param withActionNode 带第三层的按钮节点 - * @return - */ - List getAuthorityTree(String loginName, boolean withActionNode); + /** + * @param loginName 当前登录的用户名 + * @param withActionNode 带第三层的按钮节点 + * @return + */ + List getAuthorityTree(String loginName, boolean withActionNode); - /** - * 扫描所有mvc url的需要权限码,建立拦截体系 - */ - void scanGaeaSecurityAuthorities(); - -} + /** + * 扫描所有mvc url的需要权限码,建立拦截体系 + */ + void scanGaeaSecurityAuthorities(); +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/impl/AccessAuthorityServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/impl/AccessAuthorityServiceImpl.java index b155b32b5..b26186230 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/impl/AccessAuthorityServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessauthority/service/impl/AccessAuthorityServiceImpl.java @@ -1,15 +1,16 @@ package com.anjiplus.template.gaea.business.modules.accessauthority.service.impl; +import com.alibaba.fastjson.JSONObject; import com.anji.plus.gaea.bean.TreeNode; import com.anji.plus.gaea.cache.CacheHelper; import com.anji.plus.gaea.constant.Enabled; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anji.plus.gaea.init.InitRequestUrlMappings; import com.anjiplus.template.gaea.business.constant.BusinessConstant; -import com.anjiplus.template.gaea.business.modules.accessauthority.dao.AccessAuthorityMapper; import com.anjiplus.template.gaea.business.modules.accessauthority.dao.entity.AccessAuthority; import com.anjiplus.template.gaea.business.modules.accessauthority.service.AccessAuthorityService; +import com.anjiplus.template.gaea.business.modules.accessauthority.dao.AccessAuthorityMapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.apache.commons.lang3.StringUtils; @@ -23,116 +24,117 @@ import java.util.Map; import java.util.stream.Collectors; /** - * @desc AccessAuthority 权限管理服务实现 - * @author 木子李·De - * @date 2019-02-17 08:50:10.009 - **/ +* @desc AccessAuthority 权限管理服务实现 +* @author 木子李·De +* @date 2019-02-17 08:50:10.009 +**/ @Service public class AccessAuthorityServiceImpl implements AccessAuthorityService { - @Autowired - private InitRequestUrlMappings initRequestUrlMappings; + @Autowired + private InitRequestUrlMappings initRequestUrlMappings; - @Autowired - private CacheHelper cacheHelper; + @Autowired + private CacheHelper cacheHelper; - @Autowired - private AccessAuthorityMapper accessAuthorityMapper; + @Autowired + private AccessAuthorityMapper accessAuthorityMapper; - @Override - public GaeaBaseMapper getMapper() { - return accessAuthorityMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return accessAuthorityMapper; + } - @Override - public List getAuthorityTree(String loginName, boolean withActionNode) { - // 查询出所有的菜单记录 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.select(AccessAuthority::getParentTarget, AccessAuthority::getTarget, AccessAuthority::getTargetName, - AccessAuthority::getAction, AccessAuthority::getActionName).eq(AccessAuthority::getEnableFlag, 1) - .eq(AccessAuthority::getDeleteFlag, 0).orderByAsc(AccessAuthority::getSort); - // 按operator去筛选 后面再加where - List accessAuthorityList = getMapper().selectList(wrapper); + @Override + public List getAuthorityTree(String loginName, boolean withActionNode) { + // 查询出所有的菜单记录 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.select(AccessAuthority::getParentTarget, AccessAuthority::getTarget, AccessAuthority::getTargetName, AccessAuthority::getAction, AccessAuthority::getActionName) + .eq(AccessAuthority::getEnableFlag, 1) + .eq(AccessAuthority::getDeleteFlag, 0) + .orderByAsc(AccessAuthority::getSort); + // 按operator去筛选 后面再加where + List accessAuthorityList = getMapper().selectList(wrapper); - // 筛选出一级菜单 - List parentNodes = accessAuthorityList.stream() - .filter(accessAuthority -> StringUtils.isBlank(accessAuthority.getParentTarget())).map(item -> { - TreeNode treeNode = new TreeNode(); - treeNode.setId(item.getTarget()); - treeNode.setLabel(item.getTargetName()); - return treeNode; - }).collect(Collectors.toList()); + // 筛选出一级菜单 + List parentNodes = accessAuthorityList.stream().filter(accessAuthority -> StringUtils.isBlank(accessAuthority.getParentTarget())) + .map(item -> { + TreeNode treeNode = new TreeNode(); + treeNode.setId(item.getTarget()); + treeNode.setLabel(item.getTargetName()); + return treeNode; + }).collect(Collectors.toList()); - // 菜单-按钮的map - Map> targetActionsMap = accessAuthorityList.stream() - .filter(accessAuthority -> StringUtils.isNoneBlank(accessAuthority.getParentTarget())) - .collect(Collectors.groupingBy(AccessAuthority::getTarget)); + // 菜单-按钮的map + Map> targetActionsMap = accessAuthorityList.stream() + .filter(accessAuthority -> StringUtils.isNoneBlank(accessAuthority.getParentTarget())) + .collect(Collectors.groupingBy(AccessAuthority::getTarget)); - // 设置每个一级菜单的二菜单 - parentNodes.stream().forEach(parentNode -> { - List alreadyTargets = new ArrayList<>(); + // 设置每个一级菜单的二菜单 + parentNodes.stream().forEach(parentNode -> { + List alreadyTargets = new ArrayList<>(); - accessAuthorityList.stream().forEach(authority -> { - if (!StringUtils.equals(parentNode.getId(), authority.getParentTarget()) - || alreadyTargets.contains(authority.getTarget())) { - return; - } - // 找到一级菜单对应的二级菜单 + accessAuthorityList.stream().forEach(authority -> { + if(!StringUtils.equals(parentNode.getId(), authority.getParentTarget()) || alreadyTargets.contains(authority.getTarget())){ + return; + } + // 找到一级菜单对应的二级菜单 - // 初始化二级菜单节点 - TreeNode levelTwoMenuNode = new TreeNode(); - levelTwoMenuNode.setId(authority.getTarget()); - levelTwoMenuNode.setLabel(authority.getTargetName()); - levelTwoMenuNode.setChildren(new ArrayList()); + // 初始化二级菜单节点 + TreeNode levelTwoMenuNode = new TreeNode(); + levelTwoMenuNode.setId(authority.getTarget()); + levelTwoMenuNode.setLabel(authority.getTargetName()); + levelTwoMenuNode.setChildren(new ArrayList()); - // 初始化二级菜单的按钮 - if (withActionNode) { - List actionList = targetActionsMap.get(authority.getTarget()); - if (actionList != null && !actionList.isEmpty()) { - actionList.stream().forEach(action -> { - TreeNode buttonNode = new TreeNode(); - buttonNode.setId(String.format("%s_%s", action.getTarget(), action.getAction())); - buttonNode.setLabel(action.getActionName()); - levelTwoMenuNode.getChildren().add(buttonNode); - }); - } - } + // 初始化二级菜单的按钮 + if(withActionNode){ + List actionList = targetActionsMap.get(authority.getTarget()); + if(actionList != null && !actionList.isEmpty()){ + actionList.stream().forEach(action ->{ + TreeNode buttonNode = new TreeNode(); + buttonNode.setId(String.format("%s_%s", action.getTarget(), action.getAction())); + buttonNode.setLabel(action.getActionName()); + levelTwoMenuNode.getChildren().add(buttonNode); + }); + } + } - // 将上面找到的二级菜单加入到一菜单的子树中去 - List children = parentNode.getChildren(); - if (children == null) { - children = new ArrayList(); - } - children.add(levelTwoMenuNode); - parentNode.setChildren(children); + // 将上面找到的二级菜单加入到一菜单的子树中去 + List children = parentNode.getChildren(); + if(children == null){ + children = new ArrayList(); + } + children.add(levelTwoMenuNode); + parentNode.setChildren(children); - // 已经找过的二级菜单,后面不在重复添加 - alreadyTargets.add(authority.getTarget()); - }); - }); + // 已经找过的二级菜单,后面不在重复添加 + alreadyTargets.add(authority.getTarget()); + }); + }); - return parentNodes; - } + return parentNodes; + } - @Override - public void scanGaeaSecurityAuthorities() { - /* - * 获取当前应用中所有的请求信息 { "applicationName": "aj-report", "authCode": - * "authorityManage:query", "authName": "权限管理查询", "beanName": - * "accessAuthorityController", "menuCode": "authorityManage", "path": - * "GET#/accessAuthority/menuTree" } - */ - List requestInfos = initRequestUrlMappings - .getRequestInfos(Enabled.YES.getValue()); + @Override + public void scanGaeaSecurityAuthorities() { + /* 获取当前应用中所有的请求信息 + { + "applicationName": "aj-report", + "authCode": "authorityManage:query", + "authName": "权限管理查询", + "beanName": "accessAuthorityController", + "menuCode": "authorityManage", + "path": "GET#/accessAuthority/menuTree" + }*/ + List requestInfos = initRequestUrlMappings.getRequestInfos(Enabled.YES.getValue()); - // key="GET#/accessAuthority/menuTree" value="authorityManage:query" - Map securityAuthorityMap = new HashMap(); - requestInfos.stream().forEach(requestInfo -> { - securityAuthorityMap.put(requestInfo.getPath(), requestInfo.getAuthCode()); - }); + // key="GET#/accessAuthority/menuTree" value="authorityManage:query" + Map securityAuthorityMap = new HashMap(); + requestInfos.stream().forEach(requestInfo -> { + securityAuthorityMap.put(requestInfo.getPath(), requestInfo.getAuthCode()); + }); - // 将key存入到缓存中 - cacheHelper.hashSet(BusinessConstant.GAEA_SECURITY_AUTHORITIES, securityAuthorityMap); - } - -} + // 将key存入到缓存中 + cacheHelper.hashSet(BusinessConstant.GAEA_SECURITY_AUTHORITIES, securityAuthorityMap); + } +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/AccessRoleController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/AccessRoleController.java index 2cc256104..5614a308a 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/AccessRoleController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/AccessRoleController.java @@ -2,70 +2,74 @@ package com.anjiplus.template.gaea.business.modules.accessrole.controller; import com.anji.plus.gaea.annotation.Permission; +import com.anji.plus.gaea.annotation.AccessKey; import com.anji.plus.gaea.bean.ResponseBean; +import com.anji.plus.gaea.bean.TreeNode; import com.anji.plus.gaea.curd.controller.GaeaBaseController; import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anji.plus.gaea.holder.UserContentHolder; -import com.anjiplus.template.gaea.business.modules.accessrole.controller.dto.AccessRoleDto; -import com.anjiplus.template.gaea.business.modules.accessrole.controller.param.AccessRoleParam; +import com.anji.plus.gaea.utils.GaeaBeanUtils; +import com.anji.plus.gaea.utils.GaeaUtils; import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessRole; import com.anjiplus.template.gaea.business.modules.accessrole.service.AccessRoleService; -import io.swagger.annotations.Api; +import com.anjiplus.template.gaea.business.modules.accessrole.controller.dto.AccessRoleDto; +import com.anjiplus.template.gaea.business.modules.accessrole.controller.param.AccessRoleParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import io.swagger.annotations.Api; +import java.util.List; import java.util.Map; /** - * @desc 角色管理 controller - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* @desc 角色管理 controller +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @RestController @Api(tags = "角色管理管理") @RequestMapping("/accessRole") @Permission(code = "roleManage", name = "角色管理") public class AccessRoleController extends GaeaBaseController { - @Autowired - private AccessRoleService accessRoleService; + @Autowired + private AccessRoleService accessRoleService; - @Override - public GaeaBaseService getService() { - return accessRoleService; - } + @Override + public GaeaBaseService getService() { + return accessRoleService; + } - @Override - public AccessRole getEntity() { - return new AccessRole(); - } + @Override + public AccessRole getEntity() { + return new AccessRole(); + } - @Override - public AccessRoleDto getDTO() { - return new AccessRoleDto(); - } + @Override + public AccessRoleDto getDTO() { + return new AccessRoleDto(); + } - /** - * 获取角色的 菜单按钮树 一级菜单 二级菜单 三级按钮 - * @return - */ - @Permission(code = "grantAuthority", name = "分配权限") - @GetMapping("/authorityTree/{roleCode}") - public ResponseBean authorityTree(@PathVariable("roleCode") String roleCode) { - String operator = UserContentHolder.getContext().getUsername(); - Map map = accessRoleService.getAuthorityTree(roleCode, operator); - return responseSuccessWithData(map); - } + /** + * 获取角色的 菜单按钮树 一级菜单 二级菜单 三级按钮 + * @return + */ + @Permission( code = "grantAuthority", name = "分配权限") + @GetMapping("/authorityTree/{roleCode}") + public ResponseBean authorityTree(@PathVariable("roleCode")String roleCode){ + String operator = UserContentHolder.getContext().getUsername(); + Map map = accessRoleService.getAuthorityTree(roleCode, operator); + return responseSuccessWithData(map); + } - /** - * 保存角色的权限 - * @return - */ - @Permission(code = "grantAuthority", name = "分配权限") - @PostMapping("/saveAuthorityTree") - public ResponseBean saveAuthorityTree(@RequestBody AccessRoleDto dto) { - Boolean data = accessRoleService.saveAuthorityTree(dto); - return responseSuccessWithData(data); - } - -} + /** + * 保存角色的权限 + * @return + */ + @Permission( code = "grantAuthority", name = "分配权限") + @PostMapping("/saveAuthorityTree") + public ResponseBean saveAuthorityTree(@RequestBody AccessRoleDto dto){ + Boolean data = accessRoleService.saveAuthorityTree(dto); + return responseSuccessWithData(data); + } +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/dto/AccessRoleDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/dto/AccessRoleDto.java index 9f5b849e7..c7e106202 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/dto/AccessRoleDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/dto/AccessRoleDto.java @@ -1,43 +1,46 @@ package com.anjiplus.template.gaea.business.modules.accessrole.controller.dto; -import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.List; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +import com.anji.plus.gaea.annotation.Query; +import com.anji.plus.gaea.constant.QueryEnum; +import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; +import io.swagger.annotations.ApiModelProperty; +import com.anji.plus.gaea.annotation.Formatter; +import lombok.Data; /** - * @description 角色管理 dto - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* +* @description 角色管理 dto +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @Data public class AccessRoleDto extends GaeaBaseDTO implements Serializable { - /** 角色编码 */ - @ApiModelProperty(value = "角色编码") - @NotEmpty(message = "6002") - private String roleCode; + /** 角色编码 */ + @ApiModelProperty(value = "角色编码") + @NotEmpty(message = "6002") + private String roleCode; - /** 角色名称 */ - @ApiModelProperty(value = "角色名称") - @NotEmpty(message = "6002") - private String roleName; + /** 角色名称 */ + @ApiModelProperty(value = "角色名称") + @NotEmpty(message = "6002") + private String roleName; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") + private Integer deleteFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - @NotNull(message = "6002") - private Integer enableFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + @NotNull(message = "6002") + private Integer enableFlag; - /** 角色保存的权限 */ - private List authorityList; - -} + /** 角色保存的权限 */ + private List authorityList; +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/param/AccessRoleParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/param/AccessRoleParam.java index 60642990e..5e5d59f66 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/param/AccessRoleParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/controller/param/AccessRoleParam.java @@ -1,31 +1,33 @@ /**/ package com.anjiplus.template.gaea.business.modules.accessrole.controller.param; +import lombok.Data; +import java.io.Serializable; import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; -import lombok.Data; +import java.util.List; -import java.io.Serializable; +import java.util.Date; /** - * @desc AccessRole 角色管理查询输入类 - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* @desc AccessRole 角色管理查询输入类 +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @Data -public class AccessRoleParam extends PageParam implements Serializable { +public class AccessRoleParam extends PageParam implements Serializable{ - /** 角色编码 */ - @Query(value = QueryEnum.LIKE) - private String roleCode; + /** 角色编码 */ + @Query(value = QueryEnum.LIKE) + private String roleCode; - // 角色名称 - @Query(value = QueryEnum.LIKE) - private String roleName; + // 角色名称 + @Query(value = QueryEnum.LIKE) + private String roleName; - // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG - @Query - private Integer enableFlag; + // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG + @Query + private Integer enableFlag; -} +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleAuthorityMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleAuthorityMapper.java index bf810efa5..7fe9995ef 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleAuthorityMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleAuthorityMapper.java @@ -5,11 +5,10 @@ import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessR import org.apache.ibatis.annotations.Mapper; /** - * AccessRoleAuthority Mapper - * - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* AccessRoleAuthority Mapper +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @Mapper public interface AccessRoleAuthorityMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleMapper.java index c2fc8d55b..9b78e95a7 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/AccessRoleMapper.java @@ -1,21 +1,22 @@ package com.anjiplus.template.gaea.business.modules.accessrole.dao; +import org.apache.ibatis.annotations.Mapper; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessRole; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; - /** - * AccessRole Mapper - * - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* AccessRole Mapper +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @Mapper public interface AccessRoleMapper extends GaeaBaseMapper { - List checkedAuthoritys(@Param("roleCode") String roleCode); - -} + List checkedAuthoritys(@Param("roleCode")String roleCode); +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRole.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRole.java index 165ff4de3..e8e7b1ae5 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRole.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRole.java @@ -1,29 +1,30 @@ package com.anjiplus.template.gaea.business.modules.accessrole.dao.entity; +import lombok.Data; import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - +import javax.validation.constraints.*; +import java.util.Date; /** - * @description 角色管理 entity - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ -@TableName(keepGlobalPrefix = true, value = "access_role") +* @description 角色管理 entity +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ +@TableName(keepGlobalPrefix=true, value="access_role") @Data public class AccessRole extends GaeaBaseEntity { - /** 角色编码 */ - private String roleCode; + /** 角色编码 */ + private String roleCode; - /** 角色名称 */ - private String roleName; + /** 角色名称 */ + private String roleName; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + private Integer deleteFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRoleAuthority.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRoleAuthority.java index 31aa551d2..cb20a8f24 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRoleAuthority.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/dao/entity/AccessRoleAuthority.java @@ -1,8 +1,10 @@ package com.anjiplus.template.gaea.business.modules.accessrole.dao.entity; import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.Version; import lombok.Data; import java.util.Date; @@ -12,32 +14,31 @@ import java.util.Date; * @author 木子李·De * @date 2019-02-17 08:50:14.136 **/ -@TableName(keepGlobalPrefix = true, value = "access_role_authority") +@TableName(keepGlobalPrefix=true, value="access_role_authority") @Data public class AccessRoleAuthority extends GaeaBaseEntity { - /** 角色编码 */ - private String roleCode; + /** 角色编码 */ + private String roleCode; - /** 菜单代码 */ - private String target; + /** 菜单代码 */ + private String target; - /** 按钮代码 */ - private String action; + /** 按钮代码 */ + private String action; - @TableField(exist = false) - private String createBy; + @TableField(exist = false) + private String createBy; - @TableField(exist = false) - private Date createTime; + @TableField(exist = false) + private Date createTime; - @TableField(exist = false) - private String updateBy; + @TableField(exist = false) + private String updateBy; - @TableField(exist = false) - private Date updateTime; - - @TableField(exist = false) - private Integer version; + @TableField(exist = false) + private Date updateTime; + @TableField(exist = false) + private Integer version; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/AccessRoleService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/AccessRoleService.java index f4aa02eba..639fd1a25 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/AccessRoleService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/AccessRoleService.java @@ -1,33 +1,34 @@ package com.anjiplus.template.gaea.business.modules.accessrole.service; -import com.anji.plus.gaea.curd.service.GaeaBaseService; +import com.anji.plus.gaea.bean.ResponseBean; import com.anjiplus.template.gaea.business.modules.accessrole.controller.dto.AccessRoleDto; -import com.anjiplus.template.gaea.business.modules.accessrole.controller.param.AccessRoleParam; import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessRole; +import com.anjiplus.template.gaea.business.modules.accessrole.controller.param.AccessRoleParam; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.anji.plus.gaea.curd.service.GaeaBaseService; import java.util.Map; /** - * @desc AccessRole 角色管理服务接口 - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* @desc AccessRole 角色管理服务接口 +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ public interface AccessRoleService extends GaeaBaseService { - /** - * 查询某角色的权限树 - * @param roleCode 被操作的对象 - * @param operator 当前登录者 - * @return - */ - Map getAuthorityTree(String roleCode, String operator); + /** 查询某角色的权限树 + * @param roleCode 被操作的对象 + * @param operator 当前登录者 + * @return + */ + Map getAuthorityTree(String roleCode, String operator); - /** - * 保存角色的权限 - * @param accessRoleDto - * @return - */ - Boolean saveAuthorityTree(AccessRoleDto accessRoleDto); -} + /** 保存角色的权限 + * @param accessRoleDto + * @return + */ + Boolean saveAuthorityTree(AccessRoleDto accessRoleDto); +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/impl/AccessRoleServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/impl/AccessRoleServiceImpl.java index b0f347732..dea1b15af 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/impl/AccessRoleServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessrole/service/impl/AccessRoleServiceImpl.java @@ -8,10 +8,10 @@ import com.anjiplus.template.gaea.business.code.ResponseCode; import com.anjiplus.template.gaea.business.modules.accessauthority.service.AccessAuthorityService; import com.anjiplus.template.gaea.business.modules.accessrole.controller.dto.AccessRoleDto; import com.anjiplus.template.gaea.business.modules.accessrole.dao.AccessRoleAuthorityMapper; -import com.anjiplus.template.gaea.business.modules.accessrole.dao.AccessRoleMapper; import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessRole; import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessRoleAuthority; import com.anjiplus.template.gaea.business.modules.accessrole.service.AccessRoleService; +import com.anjiplus.template.gaea.business.modules.accessrole.dao.AccessRoleMapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.apache.commons.lang3.StringUtils; @@ -24,81 +24,78 @@ import java.util.Map; import java.util.stream.Collectors; /** - * @desc AccessRole 角色管理服务实现 - * @author 木子李·De - * @date 2019-02-17 08:50:14.136 - **/ +* @desc AccessRole 角色管理服务实现 +* @author 木子李·De +* @date 2019-02-17 08:50:14.136 +**/ @Service public class AccessRoleServiceImpl implements AccessRoleService { - @Autowired - private AccessRoleMapper accessRoleMapper; + @Autowired + private AccessRoleMapper accessRoleMapper; - @Autowired - private AccessRoleAuthorityMapper accessRoleAuthorityMapper; + @Autowired + private AccessRoleAuthorityMapper accessRoleAuthorityMapper; - @Autowired - private AccessAuthorityService accessAuthorityService; + @Autowired + private AccessAuthorityService accessAuthorityService; - @Override - public GaeaBaseMapper getMapper() { - return accessRoleMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return accessRoleMapper; + } - @Override - public Map getAuthorityTree(String roleCode, String operator) { - Map result = new HashMap(); + @Override + public Map getAuthorityTree(String roleCode, String operator) { + Map result = new HashMap(); - // 菜单按钮树 - List treeData = accessAuthorityService.getAuthorityTree(operator, true); + // 菜单按钮树 + List treeData = accessAuthorityService.getAuthorityTree(operator, true); - // 该角色已选中的菜单及按钮 - // List checkedKeys = accessRoleMapper.checkedAuthoritys(roleCode); + // 该角色已选中的菜单及按钮 +// List checkedKeys = accessRoleMapper.checkedAuthoritys(roleCode); - LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery(); - accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction); - accessRoleAuthorityWrapper.eq(AccessRoleAuthority::getRoleCode, roleCode); - List accessRoleAuthorities = accessRoleAuthorityMapper - .selectList(accessRoleAuthorityWrapper); - List checkedKeys = accessRoleAuthorities.stream().map(accessRoleAuthority -> accessRoleAuthority - .getTarget().concat("_").concat(accessRoleAuthority.getAction())).distinct() - .collect(Collectors.toList()); + LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery(); + accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction); + accessRoleAuthorityWrapper.eq(AccessRoleAuthority::getRoleCode, roleCode); + List accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper); + List checkedKeys = accessRoleAuthorities.stream() + .map(accessRoleAuthority -> accessRoleAuthority.getTarget().concat("_").concat(accessRoleAuthority.getAction())).distinct().collect(Collectors.toList()); - result.put("treeData", treeData); - result.put("checkedKeys", checkedKeys); - return result; - } + result.put("treeData", treeData); + result.put("checkedKeys", checkedKeys); + return result; + } - @Override - public Boolean saveAuthorityTree(AccessRoleDto accessRoleDto) { - // 校验 - String roleCode = accessRoleDto.getRoleCode(); - List authorityList = accessRoleDto.getAuthorityList(); - if (StringUtils.isBlank(roleCode)) { - throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, roleCode); - } - if (authorityList == null || authorityList.isEmpty()) { - throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, authorityList); - } + @Override + public Boolean saveAuthorityTree(AccessRoleDto accessRoleDto) { + // 校验 + String roleCode = accessRoleDto.getRoleCode(); + List authorityList = accessRoleDto.getAuthorityList(); + if(StringUtils.isBlank(roleCode)){ + throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, roleCode); + } + if(authorityList == null || authorityList.isEmpty()){ + throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, authorityList); + } - // 先清除该角色已保存的权限 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AccessRoleAuthority::getRoleCode, roleCode); - accessRoleAuthorityMapper.delete(wrapper); - - // 保存勾选的权限(菜单和按钮) - authorityList.stream().forEach(authorityStr -> { - if (!authorityStr.contains("_")) { - return; - } - String[] array = authorityStr.split("_"); - AccessRoleAuthority accessRoleAuthority = new AccessRoleAuthority(); - accessRoleAuthority.setRoleCode(roleCode); - accessRoleAuthority.setTarget(array[0].trim()); - accessRoleAuthority.setAction(array[1].trim()); - accessRoleAuthorityMapper.insert(accessRoleAuthority); - }); - return true; - } + // 先清除该角色已保存的权限 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AccessRoleAuthority::getRoleCode, roleCode); + accessRoleAuthorityMapper.delete(wrapper); + // 保存勾选的权限(菜单和按钮) + authorityList.stream().forEach(authorityStr -> { + if(!authorityStr.contains("_")){ + return; + } + String[] array = authorityStr.split("_"); + AccessRoleAuthority accessRoleAuthority = new AccessRoleAuthority(); + accessRoleAuthority.setRoleCode(roleCode); + accessRoleAuthority.setTarget(array[0].trim()); + accessRoleAuthority.setAction(array[1].trim()); + accessRoleAuthorityMapper.insert(accessRoleAuthority); + }); + return true; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java index 9997f8bce..4db42aa2c 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/AccessUserController.java @@ -6,101 +6,108 @@ import com.anji.plus.gaea.bean.ResponseBean; import com.anji.plus.gaea.curd.controller.GaeaBaseController; import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anji.plus.gaea.holder.UserContentHolder; -import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.AccessUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.GaeaUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.UpdatePasswordDto; -import com.anjiplus.template.gaea.business.modules.accessuser.controller.param.AccessUserParam; import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUser; import com.anjiplus.template.gaea.business.modules.accessuser.service.AccessUserService; -import io.swagger.annotations.Api; +import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.AccessUserDto; +import com.anjiplus.template.gaea.business.modules.accessuser.controller.param.AccessUserParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import io.swagger.annotations.Api; import java.util.Map; /** - * @desc 用户管理 controller - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* @desc 用户管理 controller +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @RestController @Api(tags = "用户管理管理") @RequestMapping("/accessUser") @Permission(code = "userManage", name = "用户管理") public class AccessUserController extends GaeaBaseController { - @Autowired - private AccessUserService accessUserService; + @Autowired + private AccessUserService accessUserService; - @Override - public GaeaBaseService getService() { - return accessUserService; - } + @Override + public GaeaBaseService getService() { + return accessUserService; + } - @Override - public AccessUser getEntity() { - return new AccessUser(); - } + @Override + public AccessUser getEntity() { + return new AccessUser(); + } - @Override - public AccessUserDto getDTO() { - return new AccessUserDto(); - } + @Override + public AccessUserDto getDTO() { + return new AccessUserDto(); + } - /** - * 获取用户的角色树 - * @return - */ - @Permission(code = "grantRole", name = "分配角色") - @GetMapping("/roleTree/{loginName}") - public ResponseBean getRoleTree(@PathVariable("loginName") String loginName) { - String operator = UserContentHolder.getContext().getUsername(); - Map map = accessUserService.getRoleTree(loginName, operator); - return responseSuccessWithData(map); - } - /** - * 保存用户的角色树 - * @return - */ - @Permission(code = "grantRole", name = "分配角色") - @PostMapping("/saveRoleTree") - public ResponseBean saveRoleTree(@RequestBody AccessUserDto dto) { - Boolean data = accessUserService.saveRoleTree(dto); - return responseSuccessWithData(data); - } + /** + * 获取用户的角色树 + * @return + */ + @Permission( code = "grantRole", name = "分配角色") + @GetMapping("/roleTree/{loginName}") + public ResponseBean getRoleTree(@PathVariable("loginName")String loginName){ + String operator = UserContentHolder.getContext().getUsername(); + Map map = accessUserService.getRoleTree(loginName, operator); + return responseSuccessWithData(map); + } - /** - * 重置密码 - * @param dto - * @return - */ - @Permission(code = "resetPassword", name = "重置密码") - @PostMapping({ "/resetPassword" }) - public ResponseBean resetPassword(@RequestBody @Validated GaeaUserDto dto) { - Boolean data = accessUserService.resetPassword(dto); - return responseSuccessWithData(data); - } + /** + * 保存用户的角色树 + * @return + */ + @Permission( code = "grantRole", name = "分配角色") + @PostMapping("/saveRoleTree") + public ResponseBean saveRoleTree(@RequestBody AccessUserDto dto){ + Boolean data = accessUserService.saveRoleTree(dto); + return responseSuccessWithData(data); + } - /** - * 简单实现登录 - * @param dto - * @return - */ - @PostMapping({ "/login" }) - public ResponseBean login(@RequestBody @Validated GaeaUserDto dto) { - return responseSuccessWithData(accessUserService.login(dto)); - } - /** - * 修改自己的密码 - * @param dto - * @return - */ - @PostMapping("/updatePassword") - public ResponseBean updatePassword(@RequestBody UpdatePasswordDto dto) { - return responseSuccessWithData(accessUserService.updatePassword(dto)); - } + /** + * 重置密码 + * @param dto + * @return + */ + @Permission( code = "resetPassword", name = "重置密码") + @PostMapping({"/resetPassword"}) + public ResponseBean resetPassword(@RequestBody @Validated GaeaUserDto dto) { + Boolean data = accessUserService.resetPassword(dto); + return responseSuccessWithData(data); + } + + /** + * 简单实现登录 + * @param dto + * @return + */ + @PostMapping({"/login"}) + public ResponseBean login(@RequestBody @Validated GaeaUserDto dto) { + return responseSuccessWithData(accessUserService.login(dto)); + } + + /** + * 修改自己的密码 + * @param dto + * @return + */ + @PostMapping("/updatePassword") + public ResponseBean updatePassword(@RequestBody UpdatePasswordDto dto) { + return responseSuccessWithData(accessUserService.updatePassword(dto)); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/AccessUserDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/AccessUserDto.java index fd3dee914..11d1fb952 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/AccessUserDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/AccessUserDto.java @@ -1,64 +1,66 @@ package com.anjiplus.template.gaea.business.modules.accessuser.controller.dto; -import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - +import java.io.Serializable; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -import java.io.Serializable; + +import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; +import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUser; +import io.swagger.annotations.ApiModelProperty; +import com.anji.plus.gaea.annotation.Formatter; +import lombok.Data; import java.util.Date; import java.util.List; /** - * @description 用户管理 dto - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* +* @description 用户管理 dto +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @Data public class AccessUserDto extends GaeaBaseDTO implements Serializable { - /**  登录名 */ - @ApiModelProperty(value = " 登录名") - @NotEmpty(message = "6002") - private String loginName; + /**  登录名 */ + @ApiModelProperty(value = " 登录名") + @NotEmpty(message = "6002") + private String loginName; - /** 真实用户 */ - @ApiModelProperty(value = "真实用户") - @NotEmpty(message = "6002") - private String realName; + /** 真实用户 */ + @ApiModelProperty(value = "真实用户") + @NotEmpty(message = "6002") + private String realName; - /** 手机号码 */ - @ApiModelProperty(value = "手机号码") - private String phone; + /** 手机号码 */ + @ApiModelProperty(value = "手机号码") + private String phone; - /** 用户邮箱 */ - @ApiModelProperty(value = "用户邮箱") - private String email; + /** 用户邮箱 */ + @ApiModelProperty(value = "用户邮箱") + private String email; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - @NotNull(message = "6002") - private Integer enableFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + @NotNull(message = "6002") + private Integer enableFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") + private Integer deleteFlag; - /** 最后一次登录IP */ - @ApiModelProperty(value = "最后一次登录IP") - private String lastLoginIp; + /** 最后一次登录IP */ + @ApiModelProperty(value = "最后一次登录IP") + private String lastLoginIp; - /** 最后一次登陆时间 */ - @ApiModelProperty(value = "最后一次登陆时间") - private Date lastLoginTime; + /** 最后一次登陆时间 */ + @ApiModelProperty(value = "最后一次登陆时间") + private Date lastLoginTime; - /** 备注 */ - @ApiModelProperty(value = "备注") - private String remark; - - /** 用户勾选的角色 */ - private List roleCodeList; + /** 备注 */ + @ApiModelProperty(value = "备注") + private String remark; + /** 用户勾选的角色 */ + private List roleCodeList; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/GaeaUserDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/GaeaUserDto.java index 1da9381dc..02a9d194e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/GaeaUserDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/GaeaUserDto.java @@ -11,21 +11,20 @@ import java.util.List; @Data public class GaeaUserDto { - @ApiModelProperty(value = "登录名") - @NotBlank - private String loginName; + @ApiModelProperty(value = "登录名") + @NotBlank + private String loginName; - @ApiModelProperty(value = "密码") - @NotBlank - private String password; + @ApiModelProperty(value = "密码") + @NotBlank + private String password; - /** 真实用户 */ - private String realName; + /** 真实用户 */ + private String realName; - /** 登录成功后的 */ - private String token; - - /** 用户所拥有的权限合集 */ - private List authorities; + /** 登录成功后的 */ + private String token; + /** 用户所拥有的权限合集 */ + private List authorities; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/UpdatePasswordDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/UpdatePasswordDto.java index 4dec1569d..daf841755 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/UpdatePasswordDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/dto/UpdatePasswordDto.java @@ -5,21 +5,21 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; +import java.util.List; @ApiModel(value = "修改密码") @Data public class UpdatePasswordDto { - @ApiModelProperty(value = "旧密码密码") - @NotBlank - private String oldPassword; + @ApiModelProperty(value = "旧密码密码") + @NotBlank + private String oldPassword; - @ApiModelProperty(value = "密码") - @NotBlank - private String password; - - @ApiModelProperty(value = "密码") - @NotBlank - private String confirmPassword; + @ApiModelProperty(value = "密码") + @NotBlank + private String password; + @ApiModelProperty(value = "密码") + @NotBlank + private String confirmPassword; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/param/AccessUserParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/param/AccessUserParam.java index 763be8e9e..0005c14ca 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/param/AccessUserParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/controller/param/AccessUserParam.java @@ -1,35 +1,37 @@ /**/ package com.anjiplus.template.gaea.business.modules.accessuser.controller.param; +import lombok.Data; +import java.io.Serializable; import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; -import lombok.Data; +import java.util.List; -import java.io.Serializable; +import java.util.Date; /** - * @desc AccessUser 用户管理查询输入类 - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* @desc AccessUser 用户管理查询输入类 +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @Data -public class AccessUserParam extends PageParam implements Serializable { +public class AccessUserParam extends PageParam implements Serializable{ - //  登录名 - @Query(value = QueryEnum.LIKE) - private String loginName; + //  登录名 + @Query(value = QueryEnum.LIKE) + private String loginName; - // 真实用户 - @Query(value = QueryEnum.LIKE) - private String realName; + // 真实用户 + @Query(value = QueryEnum.LIKE) + private String realName; - // 手机号码 - @Query(value = QueryEnum.LIKE) - private String phone; + // 手机号码 + @Query(value = QueryEnum.LIKE) + private String phone; - // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG - @Query - private Integer enableFlag; + // 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG + @Query + private Integer enableFlag; -} +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserMapper.java index 47e8e57d4..0d8aa185a 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserMapper.java @@ -1,26 +1,26 @@ package com.anjiplus.template.gaea.business.modules.accessuser.dao; +import org.apache.ibatis.annotations.Mapper; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUser; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; - /** - * AccessUser Mapper - * - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* AccessUser Mapper +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @Mapper public interface AccessUserMapper extends GaeaBaseMapper { - /** - * 查询用户所拥有的所有角色下的权限 - * @param loginName - * @return - */ - List queryAuthoritiesByLoginName(@Param("loginName") String loginName); - -} + /** 查询用户所拥有的所有角色下的权限 + * @param loginName + * @return + */ + List queryAuthoritiesByLoginName(@Param("loginName")String loginName); +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserRoleMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserRoleMapper.java index 088d8fac9..2e4e68764 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserRoleMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/AccessUserRoleMapper.java @@ -5,11 +5,10 @@ import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessU import org.apache.ibatis.annotations.Mapper; /** - * AccessUser Mapper - * - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* AccessUser Mapper +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @Mapper public interface AccessUserRoleMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUser.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUser.java index 66c1c9fa5..5cd38158a 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUser.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUser.java @@ -1,49 +1,48 @@ package com.anjiplus.template.gaea.business.modules.accessuser.dao.entity; +import lombok.Data; import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - +import javax.validation.constraints.*; import java.util.Date; - /** - * @description 用户管理 entity - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ -@TableName(keepGlobalPrefix = true, value = "access_user") +* @description 用户管理 entity +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ +@TableName(keepGlobalPrefix=true, value="access_user") @Data public class AccessUser extends GaeaBaseEntity { - /**  登录名 */ - private String loginName; + /**  登录名 */ + private String loginName; - /** 密码 */ - private String password; + /** 密码 */ + private String password; - /** 真实用户 */ - private String realName; + /** 真实用户 */ + private String realName; - /** 手机号码 */ - private String phone; + /** 手机号码 */ + private String phone; - /** 用户邮箱 */ - private String email; + /** 用户邮箱 */ + private String email; - /** 备注 */ - private String remark; + /** 备注 */ + private String remark; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + private Integer deleteFlag; - /** 最后一次登录IP */ - private String lastLoginIp; + /** 最后一次登录IP */ + private String lastLoginIp; - /** 最后一次登陆时间 */ - private Date lastLoginTime; + /** 最后一次登陆时间 */ + private Date lastLoginTime; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUserRole.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUserRole.java index b2050f836..a56be7ab9 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUserRole.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/dao/entity/AccessUserRole.java @@ -9,33 +9,32 @@ import lombok.Data; import java.util.Date; /** - * @description 用户--角色关联关系 entity - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ -@TableName(keepGlobalPrefix = true, value = "access_user_role") +* @description 用户--角色关联关系 entity +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ +@TableName(keepGlobalPrefix=true, value="access_user_role") @Data public class AccessUserRole extends GaeaBaseEntity { - /**  登录名 */ - private String loginName; + /**  登录名 */ + private String loginName; - /** 角色编码 */ - private String roleCode; + /** 角色编码 */ + private String roleCode; - @TableField(exist = false) - private String createBy; + @TableField(exist = false) + private String createBy; - @TableField(exist = false) - private Date createTime; + @TableField(exist = false) + private Date createTime; - @TableField(exist = false) - private String updateBy; + @TableField(exist = false) + private String updateBy; - @TableField(exist = false) - private Date updateTime; - - @TableField(exist = false) - private Integer version; + @TableField(exist = false) + private Date updateTime; + @TableField(exist = false) + private Integer version; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/AccessUserService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/AccessUserService.java index 021f34da0..900cee3a9 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/AccessUserService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/AccessUserService.java @@ -1,56 +1,52 @@ package com.anjiplus.template.gaea.business.modules.accessuser.service; -import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.AccessUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.GaeaUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.UpdatePasswordDto; -import com.anjiplus.template.gaea.business.modules.accessuser.controller.param.AccessUserParam; import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUser; +import com.anjiplus.template.gaea.business.modules.accessuser.controller.param.AccessUserParam; +import com.anji.plus.gaea.curd.service.GaeaBaseService; import java.util.Map; /** - * @desc AccessUser 用户管理服务接口 - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* @desc AccessUser 用户管理服务接口 +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ public interface AccessUserService extends GaeaBaseService { - /** - * 获取用户的角色树 - * @param loginName 被操作的对象 - * @param operator 当前登录者 - * @return - */ - Map getRoleTree(String loginName, String operator); + /** 获取用户的角色树 + * @param loginName 被操作的对象 + * @param operator 当前登录者 + * @return + */ + Map getRoleTree(String loginName, String operator); - /** - * 保存用户的角色树 - * @param accessUserDto - * @return - */ - Boolean saveRoleTree(AccessUserDto accessUserDto); - /** - * 重置密码 - * @param gaeaUserDto - * @return - */ - Boolean resetPassword(GaeaUserDto gaeaUserDto); + /** 保存用户的角色树 + * @param accessUserDto + * @return + */ + Boolean saveRoleTree(AccessUserDto accessUserDto); - /** - * 用户登录 - * @param gaeaUserDto - * @return - */ - GaeaUserDto login(GaeaUserDto gaeaUserDto); + /** 重置密码 + * @param gaeaUserDto + * @return + */ + Boolean resetPassword(GaeaUserDto gaeaUserDto); - /** - * 修改密码 - * @param dto - * @return - */ - Boolean updatePassword(UpdatePasswordDto dto); + /** 用户登录 + * @param gaeaUserDto + * @return + */ + GaeaUserDto login(GaeaUserDto gaeaUserDto); + /** + * 修改密码 + * @param dto + * @return + */ + Boolean updatePassword(UpdatePasswordDto dto); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java index ebe584478..966196033 100755 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/accessuser/service/impl/AccessUserServiceImpl.java @@ -5,9 +5,9 @@ import com.alibaba.fastjson.JSONObject; import com.anji.plus.gaea.bean.TreeNode; import com.anji.plus.gaea.cache.CacheHelper; import com.anji.plus.gaea.constant.BaseOperationEnum; -import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anji.plus.gaea.exception.BusinessException; import com.anji.plus.gaea.exception.BusinessExceptionBuilder; +import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anji.plus.gaea.holder.UserContentHolder; import com.anji.plus.gaea.utils.GaeaUtils; import com.anji.plus.gaea.utils.JwtBean; @@ -20,11 +20,11 @@ import com.anjiplus.template.gaea.business.modules.accessrole.dao.entity.AccessR import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.AccessUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.GaeaUserDto; import com.anjiplus.template.gaea.business.modules.accessuser.controller.dto.UpdatePasswordDto; -import com.anjiplus.template.gaea.business.modules.accessuser.dao.AccessUserMapper; import com.anjiplus.template.gaea.business.modules.accessuser.dao.AccessUserRoleMapper; import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUser; import com.anjiplus.template.gaea.business.modules.accessuser.dao.entity.AccessUserRole; import com.anjiplus.template.gaea.business.modules.accessuser.service.AccessUserService; +import com.anjiplus.template.gaea.business.modules.accessuser.dao.AccessUserMapper; import com.anjiplus.template.gaea.business.util.MD5Util; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -37,228 +37,226 @@ import java.util.*; import java.util.stream.Collectors; /** - * @desc AccessUser 用户管理服务实现 - * @author 木子李·De - * @date 2019-02-17 08:50:11.902 - **/ +* @desc AccessUser 用户管理服务实现 +* @author 木子李·De +* @date 2019-02-17 08:50:11.902 +**/ @Service public class AccessUserServiceImpl implements AccessUserService { - @Autowired - private AccessRoleMapper accessRoleMapper; + @Autowired + private AccessRoleMapper accessRoleMapper; - @Autowired - private AccessUserMapper accessUserMapper; + @Autowired + private AccessUserMapper accessUserMapper; - @Autowired - private AccessUserRoleMapper accessUserRoleMapper; + @Autowired + private AccessUserRoleMapper accessUserRoleMapper; - @Autowired - private AccessRoleAuthorityMapper accessRoleAuthorityMapper; + @Autowired + private AccessRoleAuthorityMapper accessRoleAuthorityMapper; - @Value("${customer.user.default.password:'123456'}") - private String defaultPassword; + @Value("${customer.user.default.password:'123456'}") + private String defaultPassword; - @Override - public GaeaBaseMapper getMapper() { - return accessUserMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return accessUserMapper; + } - @Autowired - private JwtBean jwtBean; + @Autowired + private JwtBean jwtBean; - @Autowired - private CacheHelper cacheHelper; + @Autowired + private CacheHelper cacheHelper; - @Override - public Map getRoleTree(String loginName, String operator) { - Map result = new HashMap(); - List treeData = new ArrayList<>(); - List checkedKeys = new ArrayList(); + @Override + public Map getRoleTree(String loginName, String operator) { + Map result = new HashMap(); + List treeData = new ArrayList<>(); + List checkedKeys = new ArrayList(); - // 角色树 - LambdaQueryWrapper roleQuery = Wrappers.lambdaQuery(); - roleQuery.select(AccessRole::getRoleCode, AccessRole::getRoleName); - // 按operator去筛选role 后面再加where - List roleList = accessRoleMapper.selectList(roleQuery); - if (roleList == null || roleList.isEmpty()) { - result.put("treeData", treeData); - result.put("checkedKeys", checkedKeys); - return result; - } - treeData = roleList.stream().map(role -> { - TreeNode treeNode = new TreeNode(); - treeNode.setId(role.getRoleCode()); - treeNode.setLabel(role.getRoleName()); - return treeNode; - }).collect(Collectors.toList()); + // 角色树 + LambdaQueryWrapper roleQuery = Wrappers.lambdaQuery(); + roleQuery.select(AccessRole::getRoleCode, AccessRole::getRoleName); + // 按operator去筛选role 后面再加where + List roleList = accessRoleMapper.selectList(roleQuery); + if(roleList == null || roleList.isEmpty()){ + result.put("treeData", treeData); + result.put("checkedKeys", checkedKeys); + return result; + } + treeData = roleList.stream().map(role -> { + TreeNode treeNode = new TreeNode(); + treeNode.setId(role.getRoleCode()); + treeNode.setLabel(role.getRoleName()); + return treeNode; + }).collect(Collectors.toList()); - // 该用户已保存的角色 - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.select(AccessUserRole::getRoleCode).eq(AccessUserRole::getLoginName, loginName); - checkedKeys = accessUserRoleMapper.selectObjs(queryWrapper); + // 该用户已保存的角色 + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.select(AccessUserRole::getRoleCode) + .eq(AccessUserRole::getLoginName, loginName); + checkedKeys = accessUserRoleMapper.selectObjs(queryWrapper); - result.put("treeData", treeData); - result.put("checkedKeys", checkedKeys); - return result; - } + result.put("treeData", treeData); + result.put("checkedKeys", checkedKeys); + return result; + } - @Override - public Boolean saveRoleTree(AccessUserDto accessUserDto) { - // 校验 - String loginName = accessUserDto.getLoginName(); - List roleCodeList = accessUserDto.getRoleCodeList(); - if (StringUtils.isBlank(loginName)) { - throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, loginName); - } - if (roleCodeList == null || roleCodeList.isEmpty()) { - throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, roleCodeList); - } + @Override + public Boolean saveRoleTree(AccessUserDto accessUserDto) { + // 校验 + String loginName = accessUserDto.getLoginName(); + List roleCodeList = accessUserDto.getRoleCodeList(); + if(StringUtils.isBlank(loginName)){ + throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, loginName); + } + if(roleCodeList == null || roleCodeList.isEmpty()){ + throw BusinessExceptionBuilder.build(ResponseCode.NOT_EMPTY, roleCodeList); + } - // 先清除该用户已保存的角色 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AccessUserRole::getLoginName, loginName); - accessUserRoleMapper.delete(wrapper); + // 先清除该用户已保存的角色 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AccessUserRole::getLoginName, loginName); + accessUserRoleMapper.delete(wrapper); - // 保存勾选的角色 - roleCodeList.stream().forEach(roleCode -> { - AccessUserRole accessUserRole = new AccessUserRole(); - accessUserRole.setLoginName(loginName); - accessUserRole.setRoleCode(roleCode); - accessUserRoleMapper.insert(accessUserRole); - }); - return true; - } + // 保存勾选的角色 + roleCodeList.stream().forEach(roleCode -> { + AccessUserRole accessUserRole = new AccessUserRole(); + accessUserRole.setLoginName(loginName); + accessUserRole.setRoleCode(roleCode); + accessUserRoleMapper.insert(accessUserRole); + }); + return true; + } - @Override - public Boolean resetPassword(GaeaUserDto gaeaUserDto) { - return false; - } + @Override + public Boolean resetPassword(GaeaUserDto gaeaUserDto) { + return false; + } - @Override - public GaeaUserDto login(GaeaUserDto gaeaUserDto) { + @Override + public GaeaUserDto login(GaeaUserDto gaeaUserDto) { - String loginName = gaeaUserDto.getLoginName(); - String password = gaeaUserDto.getPassword(); + String loginName = gaeaUserDto.getLoginName(); + String password = gaeaUserDto.getPassword(); - // 1.判断用户是否存在 - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AccessUser::getLoginName, loginName); - AccessUser accessUser = accessUserMapper.selectOne(wrapper); - if (null == accessUser) { - throw BusinessExceptionBuilder.build(ResponseCode.LOGIN_ERROR); - } - // 2.密码错误 - if (!accessUser.getPassword().equals(MD5Util.encrypt(password))) { - throw BusinessExceptionBuilder.build(ResponseCode.USER_PASSWORD_ERROR); - } + // 1.判断用户是否存在 + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AccessUser::getLoginName, loginName); + AccessUser accessUser = accessUserMapper.selectOne(wrapper); + if (null == accessUser) { + throw BusinessExceptionBuilder.build(ResponseCode.LOGIN_ERROR); + } + // 2.密码错误 + if (!accessUser.getPassword().equals(MD5Util.encrypt(password))) { + throw BusinessExceptionBuilder.build(ResponseCode.USER_PASSWORD_ERROR); + } - // 3.如果该用户登录未过期,这里允许一个用户在多个终端登录 - String tokenKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_TOKEN, loginName); - String token = ""; - GaeaUserDto gaeaUser = new GaeaUserDto(); - if (cacheHelper.exist(tokenKey)) { - token = cacheHelper.stringGet(tokenKey); - } - else { - // 生成用户token - String uuid = GaeaUtils.UUID(); - token = jwtBean.createToken(loginName, uuid); - cacheHelper.stringSetExpire(tokenKey, token, 3600); - } + // 3.如果该用户登录未过期,这里允许一个用户在多个终端登录 + String tokenKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_TOKEN, loginName); + String token = ""; + GaeaUserDto gaeaUser = new GaeaUserDto(); + if (cacheHelper.exist(tokenKey)) { + token = cacheHelper.stringGet(tokenKey); + } else { + // 生成用户token + String uuid = GaeaUtils.UUID(); + token = jwtBean.createToken(loginName, uuid); + cacheHelper.stringSetExpire(tokenKey, token, 3600); + } - // 4.读取用户最新人权限主信息 - String userKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_USER, loginName); + // 4.读取用户最新人权限主信息 + String userKey = String.format(BusinessConstant.GAEA_SECURITY_LOGIN_USER, loginName); - // 为了兼容底层其他数据库,不再写自定义sql - // List authorities = - // accessUserMapper.queryAuthoritiesByLoginName(loginName); + //为了兼容底层其他数据库,不再写自定义sql +// List authorities = accessUserMapper.queryAuthoritiesByLoginName(loginName); - // 当前用户的roleCode集合 - LambdaQueryWrapper accessUserWrapper = Wrappers.lambdaQuery(); - accessUserWrapper.select(AccessUserRole::getRoleCode); - accessUserWrapper.eq(AccessUserRole::getLoginName, loginName); - List accessUserRoles = accessUserRoleMapper.selectList(accessUserWrapper); - Set roleCodeSet = accessUserRoles.stream().map(AccessUserRole::getRoleCode).collect(Collectors.toSet()); - if (roleCodeSet.size() < 1) { - gaeaUser.setAuthorities(new ArrayList<>()); - } - else { - LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery(); - accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction); - accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet); - List accessRoleAuthorities = accessRoleAuthorityMapper - .selectList(accessRoleAuthorityWrapper); - List authorities = accessRoleAuthorities.stream().map(accessRoleAuthority -> accessRoleAuthority - .getTarget().concat(":").concat(accessRoleAuthority.getAction())).distinct() - .collect(Collectors.toList()); - gaeaUser.setAuthorities(authorities); - } + //当前用户的roleCode集合 + LambdaQueryWrapper accessUserWrapper = Wrappers.lambdaQuery(); + accessUserWrapper.select(AccessUserRole::getRoleCode); + accessUserWrapper.eq(AccessUserRole::getLoginName, loginName); + List accessUserRoles = accessUserRoleMapper.selectList(accessUserWrapper); + Set roleCodeSet = accessUserRoles.stream().map(AccessUserRole::getRoleCode).collect(Collectors.toSet()); + if (roleCodeSet.size() < 1) { + gaeaUser.setAuthorities(new ArrayList<>()); + }else { + LambdaQueryWrapper accessRoleAuthorityWrapper = Wrappers.lambdaQuery(); + accessRoleAuthorityWrapper.select(AccessRoleAuthority::getTarget, AccessRoleAuthority::getAction); + accessRoleAuthorityWrapper.in(AccessRoleAuthority::getRoleCode, roleCodeSet); + List accessRoleAuthorities = accessRoleAuthorityMapper.selectList(accessRoleAuthorityWrapper); + List authorities = accessRoleAuthorities.stream() + .map(accessRoleAuthority -> accessRoleAuthority.getTarget().concat(":").concat(accessRoleAuthority.getAction())).distinct().collect(Collectors.toList()); + gaeaUser.setAuthorities(authorities); + } - gaeaUser.setLoginName(loginName); - gaeaUser.setRealName(accessUser.getRealName()); - gaeaUser.setToken(token); + gaeaUser.setLoginName(loginName); + gaeaUser.setRealName(accessUser.getRealName()); + gaeaUser.setToken(token); - String gaeaUserStr = JSONObject.toJSONString(gaeaUser); - cacheHelper.stringSetExpire(userKey, gaeaUserStr, 3600); + String gaeaUserStr = JSONObject.toJSONString(gaeaUser); + cacheHelper.stringSetExpire(userKey, gaeaUserStr, 3600); - return gaeaUser; - } + return gaeaUser; + } - /** - * 修改密码 - * @param dto - * @return - */ - @Override - public Boolean updatePassword(UpdatePasswordDto dto) { - if (!dto.getConfirmPassword().equals(dto.getPassword())) { - // 密码和确认密码不一致 - throw BusinessExceptionBuilder.build(ResponseCode.USER_INCONSISTENT_PASSWORD_ERROR); - } - // 新密码不能与老密码一样 - if (StringUtils.equals(dto.getOldPassword(), dto.getPassword())) { - throw BusinessExceptionBuilder.build(ResponseCode.USER_PASSWORD_CONFIG_PASSWORD_CANOT_EQUAL); - } + /** + * 修改密码 + * + * @param dto + * @return + */ + @Override + public Boolean updatePassword(UpdatePasswordDto dto) { + if (!dto.getConfirmPassword().equals(dto.getPassword())) { + //密码和确认密码不一致 + throw BusinessExceptionBuilder.build(ResponseCode.USER_INCONSISTENT_PASSWORD_ERROR); + } + //新密码不能与老密码一样 + if(StringUtils.equals(dto.getOldPassword(), dto.getPassword())){ + throw BusinessExceptionBuilder.build(ResponseCode.USER_PASSWORD_CONFIG_PASSWORD_CANOT_EQUAL); + } - String username = UserContentHolder.getUsername(); + String username = UserContentHolder.getUsername(); - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AccessUser::getLoginName, username); - AccessUser accessUser = selectOne(wrapper); - String password = accessUser.getPassword(); - if (!MD5Util.encrypt(dto.getOldPassword()).equals(password)) { - throw BusinessExceptionBuilder.build(ResponseCode.USER_OLD_PASSWORD_ERROR); - } - accessUser.setPassword(MD5Util.encrypt(dto.getPassword())); - accessUserMapper.updateById(accessUser); - return true; - } + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(AccessUser::getLoginName, username); + AccessUser accessUser = selectOne(wrapper); + String password = accessUser.getPassword(); + if (!MD5Util.encrypt(dto.getOldPassword()).equals(password)) { + throw BusinessExceptionBuilder.build(ResponseCode.USER_OLD_PASSWORD_ERROR); + } + accessUser.setPassword(MD5Util.encrypt(dto.getPassword())); - /** - * 操作前处理 - * @param entity 前端传递的对象 - * @param operationEnum 操作类型 - * @throws BusinessException 阻止程序继续执行或回滚事务 - */ - @Override - public void processBeforeOperation(AccessUser entity, BaseOperationEnum operationEnum) throws BusinessException { - // 过滤密码 - switch (operationEnum) { - case INSERT: - // gaea是为了和前端加密保持一致 - entity.setPassword(MD5Util.encrypt(MD5Util.encrypt(defaultPassword.concat("gaea")))); - break; - case UPDATE: - // 更新用户不允许修改密码 - entity.setPassword(null); - break; - default: + accessUserMapper.updateById(accessUser); + return true; + } - break; - } + /** + * 操作前处理 + * + * @param entity 前端传递的对象 + * @param operationEnum 操作类型 + * @throws BusinessException 阻止程序继续执行或回滚事务 + */ + @Override + public void processBeforeOperation(AccessUser entity, BaseOperationEnum operationEnum) throws BusinessException { + //过滤密码 + switch (operationEnum) { + case INSERT: + //gaea是为了和前端加密保持一致 + entity.setPassword(MD5Util.encrypt(MD5Util.encrypt(defaultPassword.concat("gaea")))); + break; + case UPDATE: + //更新用户不允许修改密码 + entity.setPassword(null); + break; + default: - } + break; + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/ReportDashboardController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/ReportDashboardController.java index 683a32214..06e73ba27 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/ReportDashboardController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/ReportDashboardController.java @@ -4,12 +4,15 @@ package com.anjiplus.template.gaea.business.modules.dashboard.controller; import com.anji.plus.gaea.annotation.Permission; import com.anji.plus.gaea.annotation.log.GaeaAuditLog; import com.anji.plus.gaea.bean.ResponseBean; +import com.anjiplus.template.gaea.business.modules.dashboard.service.ReportDashboardService; import com.anjiplus.template.gaea.business.modules.dashboard.controller.dto.ChartDto; import com.anjiplus.template.gaea.business.modules.dashboard.controller.dto.ReportDashboardObjectDto; -import com.anjiplus.template.gaea.business.modules.dashboard.service.ReportDashboardService; +import com.anjiplus.template.gaea.business.modules.reportshare.controller.dto.ReportShareDto; +import com.anjiplus.template.gaea.business.modules.reportshare.service.ReportShareService; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -17,80 +20,89 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * @desc 大屏设计 controller - * @website https://gitee.com/anji-plus/gaea - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* @desc 大屏设计 controller +* @website https://gitee.com/anji-plus/gaea +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @RestController @Api(tags = "大屏设计管理") @Permission(code = "bigScreenManage", name = "大屏报表") @RequestMapping("/reportDashboard") public class ReportDashboardController { - @Autowired - private ReportDashboardService reportDashboardService; + @Autowired + private ReportDashboardService reportDashboardService; - /** - * 预览、查询大屏详情 - * @param reportCode - * @return - */ - @GetMapping({ "/{reportCode}" }) - @Permission(code = "view", name = "查看大屏") - public ResponseBean detail(@PathVariable("reportCode") String reportCode) { - return ResponseBean.builder().data(reportDashboardService.getDetail(reportCode)).build(); - } + @Autowired + private ReportShareService reportShareService; - /** - * 保存大屏设计 - * @param dto - * @return - */ - @PostMapping - @Permission(code = "design", name = "设计大屏") - @GaeaAuditLog(pageTitle = "新增") - public ResponseBean insert(@RequestBody ReportDashboardObjectDto dto) { - reportDashboardService.insertDashboard(dto); - return ResponseBean.builder().build(); - } + /** + * 预览、查询大屏详情 + * @param reportCode + * @return + */ + @GetMapping({"/{reportCode}"}) + @Permission(code = "view", name = "查看大屏") + public ResponseBean detail(@PathVariable("reportCode") String reportCode) { + return ResponseBean.builder().data(reportDashboardService.getDetail(reportCode)).build(); + } - /** - * 获取去单个图层数据 - * @param dto - * @return - */ - @PostMapping("/getData") - @Permission(code = "view", name = "查看大屏") - public ResponseBean getData(@RequestBody ChartDto dto) { - return ResponseBean.builder().data(reportDashboardService.getChartData(dto)).build(); - } + /** + * 保存大屏设计 + * @param dto + * @return + */ + @PostMapping + @Permission(code = "design", name = "设计大屏") + @GaeaAuditLog(pageTitle = "新增") + public ResponseBean insert(@RequestBody ReportDashboardObjectDto dto) { + reportDashboardService.insertDashboard(dto); + return ResponseBean.builder().build(); + } - /** - * 导出大屏 - * @param reportCode - * @return - */ - @GetMapping("/export") - @Permission(code = "export", name = "导出大屏") - public ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, - @RequestParam("reportCode") String reportCode, - @RequestParam(value = "showDataSet", required = false, defaultValue = "1") Integer showDataSet) { - return reportDashboardService.exportDashboard(request, response, reportCode, showDataSet); - } - /** - * 导入大屏 - * @param file 导入的zip文件 - * @param reportCode - * @return - */ - @PostMapping("/import/{reportCode}") - @Permission(code = "import", name = "导入大屏") - public ResponseBean importDashboard(@RequestParam("file") MultipartFile file, - @PathVariable("reportCode") String reportCode) { - reportDashboardService.importDashboard(file, reportCode); - return ResponseBean.builder().build(); - } + /** + * 获取去单个图层数据 + * @param dto + * @return + */ + @PostMapping("/getData") + @Permission(code = "view", name = "查看大屏") + public ResponseBean getData(@RequestBody ChartDto dto) { + return ResponseBean.builder().data(reportDashboardService.getChartData(dto)).build(); + } + + + /** + * 导出大屏 + * @param reportCode + * @return + */ + @GetMapping("/export") + @Permission(code = "export", name = "导出大屏") + public ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, + @RequestParam("reportCode") String reportCode, @RequestParam(value = "showDataSet",required = false, defaultValue = "1") Integer showDataSet) { + return reportDashboardService.exportDashboard(request, response, reportCode, showDataSet); + } + + /** + * 导入大屏 + * @param file 导入的zip文件 + * @param reportCode + * @return + */ + @PostMapping("/import/{reportCode}") + @Permission(code = "import", name = "导入大屏") + public ResponseBean importDashboard(@RequestParam("file") MultipartFile file, @PathVariable("reportCode") String reportCode) { + reportDashboardService.importDashboard(file, reportCode); + return ResponseBean.builder().build(); + } + + @PostMapping("/share") + @GaeaAuditLog(pageTitle = "分享") + public ResponseBean share(@Validated @RequestBody ReportShareDto dto) { + return ResponseBean.builder().data(reportShareService.insertShare(dto)).build(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ChartDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ChartDto.java index 90188c079..d6b67f871 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ChartDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ChartDto.java @@ -6,43 +6,46 @@ import lombok.Data; import java.io.Serializable; import java.util.Map; + /** - * @description 大屏设计 dto - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* +* @description 大屏设计 dto +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @Data public class ChartDto implements Serializable { - private String chartType; + private String chartType; - /** 数据集编码 */ - private String setCode; + /**数据集编码*/ + private String setCode; - /** 传入的自定义参数 */ - private Map contextData; + /** 传入的自定义参数*/ + private Map contextData; - /** 图表属性 */ - private Map chartProperties; + /**图表属性*/ + private Map chartProperties; - /** 时间字段 */ - private String timeLineFiled; + /**时间字段*/ + private String timeLineFiled; - /** 时间颗粒度 */ - private String particles; + /**时间颗粒度*/ + private String particles; - /** 时间格式化 */ - private String dataTimeFormat; + /**时间格式化*/ + private String dataTimeFormat; - /** 时间展示层 */ - private String timeLineFormat; + /**时间展示层*/ + private String timeLineFormat; - private int timeUnit; + private int timeUnit; - /** 时间区间 */ - private String startTime; + /**时间区间*/ + private String startTime; + + /**时间区间*/ + private String endTime; - /** 时间区间 */ - private String endTime; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardDto.java index 276761a0f..681235241 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardDto.java @@ -8,47 +8,48 @@ import lombok.Data; import java.io.Serializable; import java.util.List; + /** - * @description 大屏设计 dto - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* +* @description 大屏设计 dto +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @Data public class ReportDashboardDto extends GaeaBaseDTO implements Serializable { + /** 报表编码 */ + private String reportCode; - /** 报表编码 */ - private String reportCode; + /** 看板标题 */ + private String title; - /** 看板标题 */ - private String title; + /** 宽度px */ + private Long width; - /** 宽度px */ - private Long width; + /** 高度px */ + private Long height; - /** 高度px */ - private Long height; + /** 背景色 */ + private String backgroundColor; - /** 背景色 */ - private String backgroundColor; + /** 背景图片 */ + private String backgroundImage; - /** 背景图片 */ - private String backgroundImage; + /** 工作台中的辅助线 */ + private String presetLine; - /** 工作台中的辅助线 */ - private String presetLine; + /** 自动刷新间隔秒,数据字典REFRESH_TYPE */ + private Integer refreshSeconds; - /** 自动刷新间隔秒,数据字典REFRESH_TYPE */ - private Integer refreshSeconds; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - private Integer deleteFlag; + /** 排序,降序 */ + private Integer sort; - /** 排序,降序 */ - private Integer sort; - - private List widgets; + private List widgets; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardObjectDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardObjectDto.java index 60486ea00..cc4ca08ec 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardObjectDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/dto/ReportDashboardObjectDto.java @@ -7,25 +7,26 @@ import lombok.Data; import java.io.Serializable; import java.util.List; + /** - * @description 大屏设计 dto - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* +* @description 大屏设计 dto +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @Data public class ReportDashboardObjectDto implements Serializable { - /** 报表编码 */ - private String reportCode; + /** 报表编码 */ + private String reportCode; + /** + * 报表编码 + */ + private ReportDashboardDto dashboard; - /** - * 报表编码 - */ - private ReportDashboardDto dashboard; - - /** - * 大屏画布中的组件 - */ - private List widgets; + /** + * 大屏画布中的组件 + */ + private List widgets; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/param/ReportDashboardParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/param/ReportDashboardParam.java index 6b279558b..d044b9667 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/param/ReportDashboardParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/controller/param/ReportDashboardParam.java @@ -1,17 +1,20 @@ /**/ package com.anjiplus.template.gaea.business.modules.dashboard.controller.param; -import com.anji.plus.gaea.curd.params.PageParam; import lombok.Data; - import java.io.Serializable; +import com.anji.plus.gaea.annotation.Query; +import com.anji.plus.gaea.constant.QueryEnum; +import com.anji.plus.gaea.curd.params.PageParam; + +import java.util.List; + /** - * @desc ReportDashboard 大屏设计查询输入类 - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* @desc ReportDashboard 大屏设计查询输入类 +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @Data -public class ReportDashboardParam extends PageParam implements Serializable { - +public class ReportDashboardParam extends PageParam implements Serializable{ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/ReportDashboardMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/ReportDashboardMapper.java index 308042800..173e822b8 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/ReportDashboardMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/ReportDashboardMapper.java @@ -1,15 +1,15 @@ package com.anjiplus.template.gaea.business.modules.dashboard.dao; +import org.apache.ibatis.annotations.Mapper; + import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.dashboard.dao.entity.ReportDashboard; -import org.apache.ibatis.annotations.Mapper; /** - * ReportDashboard Mapper - * - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* ReportDashboard Mapper +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ @Mapper public interface ReportDashboardMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/entity/ReportDashboard.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/entity/ReportDashboard.java index d7eb14ffb..76ad6cb6b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/entity/ReportDashboard.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/dao/entity/ReportDashboard.java @@ -9,46 +9,46 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 大屏设计 entity - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_dashboard") +* @description 大屏设计 entity +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_dashboard") @Data public class ReportDashboard extends GaeaBaseEntity { + @ApiModelProperty(value = "报表编码") + @Unique(code = ResponseCode.REPORT_CODE_ISEXIST) + private String reportCode; - @ApiModelProperty(value = "报表编码") - @Unique(code = ResponseCode.REPORT_CODE_ISEXIST) - private String reportCode; + @ApiModelProperty(value = "看板标题") + private String title; - @ApiModelProperty(value = "看板标题") - private String title; + @ApiModelProperty(value = "宽度px") + private Long width; - @ApiModelProperty(value = "宽度px") - private Long width; + @ApiModelProperty(value = "高度px") + private Long height; - @ApiModelProperty(value = "高度px") - private Long height; + @ApiModelProperty(value = "背景色") + private String backgroundColor; - @ApiModelProperty(value = "背景色") - private String backgroundColor; + @ApiModelProperty(value = "背景图片") + private String backgroundImage; - @ApiModelProperty(value = "背景图片") - private String backgroundImage; + @ApiModelProperty(value = "工作台中的辅助线") + private String presetLine; - @ApiModelProperty(value = "工作台中的辅助线") - private String presetLine; + @ApiModelProperty(value = "自动刷新间隔秒,数据字典REFRESH_TYPE") + private Integer refreshSeconds; - @ApiModelProperty(value = "自动刷新间隔秒,数据字典REFRESH_TYPE") - private Integer refreshSeconds; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") - private Integer deleteFlag; + @ApiModelProperty(value = "排序,降序") + private Integer sort; - @ApiModelProperty(value = "排序,降序") - private Integer sort; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ChartStrategy.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ChartStrategy.java index bea7ee643..ccaa4b047 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ChartStrategy.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ChartStrategy.java @@ -10,17 +10,17 @@ import java.util.List; */ public interface ChartStrategy { - /** - * 图表类型 - * @return - */ - String type(); - - /** - * 针对每种图表类型做单独的数据转换解析 - * @param dto - * @return - */ - Object transform(ChartDto dto, List data); + /** + * 图表类型 + * @return + */ + String type(); + /** + * 针对每种图表类型做单独的数据转换解析 + * + * @param dto + * @return + */ + Object transform(ChartDto dto, List data); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ReportDashboardService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ReportDashboardService.java index fd6924667..2b8c1e359 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ReportDashboardService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/ReportDashboardService.java @@ -13,47 +13,49 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** - * @desc ReportDashboard 大屏设计服务接口 - * @author Raod - * @date 2021-04-12 14:52:21.761 - **/ +* @desc ReportDashboard 大屏设计服务接口 +* @author Raod +* @date 2021-04-12 14:52:21.761 +**/ public interface ReportDashboardService extends GaeaBaseService { - /*** - * 查询详情 - * @param reportCode - */ - ReportDashboardObjectDto getDetail(String reportCode); + /*** + * 查询详情 + * + * @param reportCode + */ + ReportDashboardObjectDto getDetail(String reportCode); - /*** - * 保存大屏设计 - * @param dto - */ - void insertDashboard(ReportDashboardObjectDto dto); + /*** + * 保存大屏设计 + * + * @param dto + */ + void insertDashboard(ReportDashboardObjectDto dto); - /** - * 获取单个图表数据 - * @param dto - * @return - */ - Object getChartData(ChartDto dto); - /** - * 导出大屏,zip文件 - * @param request - * @param response - * @param reportCode - * @return - */ - ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, String reportCode, - Integer showDataSet); + /** + * 获取单个图表数据 + * @param dto + * @return + */ + Object getChartData(ChartDto dto); - /** - * 导入大屏zip - * @param file - * @param reportCode - * @return - */ - void importDashboard(MultipartFile file, String reportCode); + /** + * 导出大屏,zip文件 + * @param request + * @param response + * @param reportCode + * @return + */ + ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, String reportCode, Integer showDataSet); + + /** + * 导入大屏zip + * @param file + * @param reportCode + * @return + */ + void importDashboard(MultipartFile file, String reportCode); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarChartServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarChartServiceImpl.java index 83656301c..7874721d5 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarChartServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarChartServiceImpl.java @@ -8,54 +8,72 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 柱状体或者折线图 Created by raodeming on 2021/4/26. + * 柱状体或者折线图 + * Created by raodeming on 2021/4/26. */ @Component public class BarChartServiceImpl implements ChartStrategy { + /** + * 图表类型 + * + * @return + */ + @Override + public String type() { + return "widget-barchart|widget-linechart"; + } - /** - * 图表类型 - * @return - */ - @Override - public String type() { - return "widget-barchart|widget-linechart"; - } + /** + * 针对每种图表类型做单独的数据转换解析 + * + * @param dto + * @param data + * @return + */ + @Override + public Object transform(ChartDto dto, List data) { +// JSONObject json = new JSONObject(); +// List xAxis = new ArrayList<>(); +// List series = new ArrayList<>(); +// data.forEach(jsonObject -> { +// jsonObject.forEach((s, o) -> { +// if ("xAxis".equals(s)) { +// xAxis.add(o); +// } else { +// series.add(o); +// } +// }); +// }); +// +// json.put("xAxis", xAxis); +// JSONArray objects = new JSONArray(); +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("data", series); +// objects.add(jsonObject); +// json.put("series", objects); +// return json.toJSONString(); + return data; + } - /** - * 针对每种图表类型做单独的数据转换解析 - * @param dto - * @param data - * @return - */ - @Override - public Object transform(ChartDto dto, List data) { - // JSONObject json = new JSONObject(); - // List xAxis = new ArrayList<>(); - // List series = new ArrayList<>(); - // data.forEach(jsonObject -> { - // jsonObject.forEach((s, o) -> { - // if ("xAxis".equals(s)) { - // xAxis.add(o); - // } else { - // series.add(o); - // } - // }); - // }); - // - // json.put("xAxis", xAxis); - // JSONArray objects = new JSONArray(); - // JSONObject jsonObject = new JSONObject(); - // jsonObject.put("data", series); - // objects.add(jsonObject); - // json.put("series", objects); - // return json.toJSONString(); - return data; - } - - /* - * { "xAxis": [ "哈哈", "洗洗", "来了", "问问", "天天" ], "series": [ { "data": [ 1, 2, 3, 4, 5 - * ] } ] } - */ +/* { + "xAxis": [ + "哈哈", + "洗洗", + "来了", + "问问", + "天天" + ], + "series": [ + { + "data": [ + 1, + 2, + 3, + 4, + 5 + ] + } + ] + }*/ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarLineChartServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarLineChartServiceImpl.java index f5641488b..032620cfc 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarLineChartServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/BarLineChartServiceImpl.java @@ -8,72 +8,98 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 折柱图 Created by raodeming on 2021/4/26. + * 折柱图 + * Created by raodeming on 2021/4/26. */ @Component public class BarLineChartServiceImpl implements ChartStrategy { + /** + * 图表类型 + * + * @return + */ + @Override + public String type() { + return "widget-barlinechart"; + } - /** - * 图表类型 - * @return - */ - @Override - public String type() { - return "widget-barlinechart"; - } + /** + * 针对每种图表类型做单独的数据转换解析 + * + * @param dto + * @param data + * @return + */ + @Override + public Object transform(ChartDto dto, List data) { +// JSONObject json = new JSONObject(); +// List xAxis = new ArrayList<>(); +// Map> series = new HashMap<>(); +// data.forEach(jsonObject -> { +// jsonObject.forEach((s, o) -> { +// if ("xAxis".equals(s)) { +// xAxis.add(o); +// } else { +// List objects; +// if (series.containsKey(s)) { +// objects = series.get(s); +// } else { +// objects = new ArrayList<>(); +// +// } +// objects.add(o); +// series.put(s, objects); +// +// } +// }); +// }); +// +// json.put("xAxis", xAxis); +// List result = new ArrayList<>(); +// series.forEach((s, objects) -> { +// JSONObject jsonObject = new JSONObject(); +// jsonObject.put("name", s); +// if (s.endsWith("bar")) { +// jsonObject.put("type", "bar"); +// } else { +// jsonObject.put("type", "line"); +// } +// jsonObject.put("data", objects); +// result.add(jsonObject); +// }); +// json.put("series", result); +// return json.toJSONString(); + return data; + } - /** - * 针对每种图表类型做单独的数据转换解析 - * @param dto - * @param data - * @return - */ - @Override - public Object transform(ChartDto dto, List data) { - // JSONObject json = new JSONObject(); - // List xAxis = new ArrayList<>(); - // Map> series = new HashMap<>(); - // data.forEach(jsonObject -> { - // jsonObject.forEach((s, o) -> { - // if ("xAxis".equals(s)) { - // xAxis.add(o); - // } else { - // List objects; - // if (series.containsKey(s)) { - // objects = series.get(s); - // } else { - // objects = new ArrayList<>(); - // - // } - // objects.add(o); - // series.put(s, objects); - // - // } - // }); - // }); - // - // json.put("xAxis", xAxis); - // List result = new ArrayList<>(); - // series.forEach((s, objects) -> { - // JSONObject jsonObject = new JSONObject(); - // jsonObject.put("name", s); - // if (s.endsWith("bar")) { - // jsonObject.put("type", "bar"); - // } else { - // jsonObject.put("type", "line"); - // } - // jsonObject.put("data", objects); - // result.add(jsonObject); - // }); - // json.put("series", result); - // return json.toJSONString(); - return data; - } - /* - * { "xAxis": [ "1月", "2月", "3月" ], "series": [ { "name": "指标1", //暂时用不上 "type": - * "bar", //需要处理 "data": [ 2, 49, 2 ] }, { "name": "指标2", "type": "line", - * "yAxisIndex": 1, "data": [ 2, 32, 4 ] } ] } - */ + /*{ + "xAxis": [ + "1月", + "2月", + "3月" + ], + "series": [ + { + "name": "指标1", //暂时用不上 + "type": "bar", //需要处理 + "data": [ + 2, + 49, + 2 + ] + }, + { + "name": "指标2", + "type": "line", + "yAxisIndex": 1, + "data": [ + 2, + 32, + 4 + ] + } + ] + }*/ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/GaugeChartServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/GaugeChartServiceImpl.java index aead08a51..89fbe6f02 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/GaugeChartServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/GaugeChartServiceImpl.java @@ -8,31 +8,36 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 饼图或者空心饼图或者漏斗图 Created by raodeming on 2021/4/26. + * 饼图或者空心饼图或者漏斗图 + * Created by raodeming on 2021/4/26. */ @Component public class GaugeChartServiceImpl implements ChartStrategy { + /** + * 图表类型 + * + * @return + */ + @Override + public String type() { + return "widget-gauge"; + } + + /** + * 针对每种图表类型做单独的数据转换解析 + * + * @param dto + * @param data + * @return + */ + @Override + public Object transform(ChartDto dto, List data) { + +// return "{\"value\": 50, \"name\": \"名称1\", \"unit\": \"%\"}"; + return data; + } - /** - * 图表类型 - * @return - */ - @Override - public String type() { - return "widget-gauge"; - } - /** - * 针对每种图表类型做单独的数据转换解析 - * @param dto - * @param data - * @return - */ - @Override - public Object transform(ChartDto dto, List data) { - // return "{\"value\": 50, \"name\": \"名称1\", \"unit\": \"%\"}"; - return data; - } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/PieChartServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/PieChartServiceImpl.java index 21f018fa3..5f1ffbf30 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/PieChartServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/PieChartServiceImpl.java @@ -8,34 +8,45 @@ import org.springframework.stereotype.Component; import java.util.List; /** - * 饼图或者空心饼图或者漏斗图 Created by raodeming on 2021/4/26. + * 饼图或者空心饼图或者漏斗图 + * Created by raodeming on 2021/4/26. */ @Component public class PieChartServiceImpl implements ChartStrategy { + /** + * 图表类型 + * + * @return + */ + @Override + public String type() { + return "widget-piechart|widget-hollow-piechart|widget-funnel"; + } - /** - * 图表类型 - * @return - */ - @Override - public String type() { - return "widget-piechart|widget-hollow-piechart|widget-funnel"; - } + /** + * 针对每种图表类型做单独的数据转换解析 + * + * @param dto + * @param data + * @return + */ + @Override + public Object transform(ChartDto dto, List data) { - /** - * 针对每种图表类型做单独的数据转换解析 - * @param dto - * @param data - * @return - */ - @Override - public Object transform(ChartDto dto, List data) { + return data; + } + +/* [ + { + "value": 11, + "name": "指标1" + }, + { + "value": 10, + "name": "指标2" + } + ]*/ - return data; - } - /* - * [ { "value": 11, "name": "指标1" }, { "value": 10, "name": "指标2" } ] - */ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java index ab99a788c..89b403b61 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboard/service/impl/ReportDashboardServiceImpl.java @@ -24,8 +24,10 @@ import com.anjiplus.template.gaea.business.modules.dataset.service.DataSetServic import com.anjiplus.template.gaea.business.modules.file.entity.GaeaFile; import com.anjiplus.template.gaea.business.modules.file.service.GaeaFileService; import com.anjiplus.template.gaea.business.modules.file.util.FileUtils; +import com.anjiplus.template.gaea.business.modules.report.service.ReportService; import com.anjiplus.template.gaea.business.util.DateUtil; import com.anjiplus.template.gaea.business.util.FileUtil; +import com.anjiplus.template.gaea.business.util.RequestUtil; import com.anjiplus.template.gaea.business.util.UuidUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -50,6 +52,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.CompletableFuture; /** * @author Raod @@ -58,490 +61,504 @@ import java.util.*; **/ @Service @Slf4j -// @RequiredArgsConstructor +//@RequiredArgsConstructor public class ReportDashboardServiceImpl implements ReportDashboardService, InitializingBean, ApplicationContextAware { - @Autowired - private ReportDashboardMapper reportDashboardMapper; + @Autowired + private ReportDashboardMapper reportDashboardMapper; - @Autowired - private ReportDashboardWidgetService reportDashboardWidgetService; + @Autowired + private ReportDashboardWidgetService reportDashboardWidgetService; - @Autowired - private DataSetService dataSetService; + @Autowired + private DataSetService dataSetService; - @Autowired - private GaeaFileService gaeaFileService; + @Autowired + private GaeaFileService gaeaFileService; - @Value("${customer.file.downloadPath:''}") - private String fileDownloadPath; + @Autowired + private ReportService reportService; - @Value("${customer.file.dist-path:''}") - private String dictPath; + @Value("${customer.file.downloadPath:''}") + private String fileDownloadPath; - private final static String ZIP_PATH = "/zip/"; + @Value("${customer.file.dist-path:''}") + private String dictPath; - private final static String JSON_PATH = "dashboard.json"; + private final static String ZIP_PATH = "/zip/"; + private final static String JSON_PATH = "dashboard.json"; - private final Map queryServiceImplMap = new HashMap<>(); + private Map queryServiceImplMap = new HashMap<>(); + private ApplicationContext applicationContext; - private ApplicationContext applicationContext; + @Override + public GaeaBaseMapper getMapper() { + return reportDashboardMapper; + } - @Override - public GaeaBaseMapper getMapper() { - return reportDashboardMapper; - } + @Override + public ReportDashboardObjectDto getDetail(String reportCode) { + ReportDashboardObjectDto result = new ReportDashboardObjectDto(); + ReportDashboardDto reportDashboardDto = new ReportDashboardDto(); + ReportDashboard reportDashboard = this.selectOne("report_code", reportCode); + if (null == reportDashboard) { + return new ReportDashboardObjectDto(); + } + GaeaBeanUtils.copyAndFormatter(reportDashboard, reportDashboardDto); - @Override - public ReportDashboardObjectDto getDetail(String reportCode) { - ReportDashboardObjectDto result = new ReportDashboardObjectDto(); - ReportDashboardDto reportDashboardDto = new ReportDashboardDto(); - ReportDashboard reportDashboard = this.selectOne("report_code", reportCode); - if (null == reportDashboard) { - return new ReportDashboardObjectDto(); - } - GaeaBeanUtils.copyAndFormatter(reportDashboard, reportDashboardDto); + List list = reportDashboardWidgetService.list( + new QueryWrapper().lambda() + .eq(ReportDashboardWidget::getReportCode, reportCode) + .orderByAsc(ReportDashboardWidget::getSort) + ); + List reportDashboardWidgetDtoList = new ArrayList<>(); + list.forEach(reportDashboardWidget -> { + ReportDashboardWidgetDto reportDashboardWidgetDto = new ReportDashboardWidgetDto(); + ReportDashboardWidgetValueDto value = new ReportDashboardWidgetValueDto(); + value.setSetup(StringUtils.isNotBlank(reportDashboardWidget.getSetup()) ? JSONObject.parseObject(reportDashboardWidget.getSetup()) : new JSONObject()); + value.setData(StringUtils.isNotBlank(reportDashboardWidget.getData()) ? JSONObject.parseObject(reportDashboardWidget.getData()) : new JSONObject()); + value.setPosition(StringUtils.isNotBlank(reportDashboardWidget.getPosition()) ? JSONObject.parseObject(reportDashboardWidget.getPosition()) : new JSONObject()); + value.setCollapse(StringUtils.isNotBlank(reportDashboardWidget.getCollapse()) ? JSONObject.parseObject(reportDashboardWidget.getCollapse()) : new JSONObject()); - List list = reportDashboardWidgetService.list( - new QueryWrapper().lambda().eq(ReportDashboardWidget::getReportCode, reportCode) - .orderByAsc(ReportDashboardWidget::getSort)); - List reportDashboardWidgetDtoList = new ArrayList<>(); - list.forEach(reportDashboardWidget -> { - ReportDashboardWidgetDto reportDashboardWidgetDto = new ReportDashboardWidgetDto(); - ReportDashboardWidgetValueDto value = new ReportDashboardWidgetValueDto(); - value.setSetup(StringUtils.isNotBlank(reportDashboardWidget.getSetup()) - ? JSONObject.parseObject(reportDashboardWidget.getSetup()) : new JSONObject()); - value.setData(StringUtils.isNotBlank(reportDashboardWidget.getData()) - ? JSONObject.parseObject(reportDashboardWidget.getData()) : new JSONObject()); - value.setPosition(StringUtils.isNotBlank(reportDashboardWidget.getPosition()) - ? JSONObject.parseObject(reportDashboardWidget.getPosition()) : new JSONObject()); - value.setCollapse(StringUtils.isNotBlank(reportDashboardWidget.getCollapse()) - ? JSONObject.parseObject(reportDashboardWidget.getCollapse()) : new JSONObject()); + //实时数据的替换 + analysisData(value); + reportDashboardWidgetDto.setType(reportDashboardWidget.getType()); + reportDashboardWidgetDto.setValue(value); + reportDashboardWidgetDto.setOptions(JSONObject.parseObject(reportDashboardWidget.getOptions())); + reportDashboardWidgetDtoList.add(reportDashboardWidgetDto); + }); + reportDashboardDto.setWidgets(reportDashboardWidgetDtoList); + result.setDashboard(reportDashboardDto); + result.setReportCode(reportCode); + return result; + } - // 实时数据的替换 - analysisData(value); - reportDashboardWidgetDto.setType(reportDashboardWidget.getType()); - reportDashboardWidgetDto.setValue(value); - reportDashboardWidgetDto.setOptions(JSONObject.parseObject(reportDashboardWidget.getOptions())); - reportDashboardWidgetDtoList.add(reportDashboardWidgetDto); - }); - reportDashboardDto.setWidgets(reportDashboardWidgetDtoList); - result.setDashboard(reportDashboardDto); - result.setReportCode(reportCode); - return result; - } + /*** + * 保存大屏设计 + * + * @param dto + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void insertDashboard(ReportDashboardObjectDto dto) { + String reportCode = dto.getReportCode(); + GaeaAssert.notEmpty(reportCode, ResponseCode.PARAM_IS_NULL, "reportCode"); + //查询ReportDashboard + ReportDashboard reportDashboard = this.selectOne("report_code", reportCode); + ReportDashboard dashboard = new ReportDashboard(); + GaeaBeanUtils.copyAndFormatter(dto.getDashboard(), dashboard); + BeanUtils.copyProperties(dto.getDashboard(), dashboard); + dashboard.setReportCode(reportCode); + if (null == reportDashboard) { + //新增 + this.insert(dashboard); + } else { + //更新 + dashboard.setId(reportDashboard.getId()); + dashboard.setVersion(null); + this.update(dashboard); + } - /*** - * 保存大屏设计 - * @param dto - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void insertDashboard(ReportDashboardObjectDto dto) { - String reportCode = dto.getReportCode(); - GaeaAssert.notEmpty(reportCode, ResponseCode.PARAM_IS_NULL, "reportCode"); - // 查询ReportDashboard - ReportDashboard reportDashboard = this.selectOne("report_code", reportCode); - ReportDashboard dashboard = new ReportDashboard(); - GaeaBeanUtils.copyAndFormatter(dto.getDashboard(), dashboard); - BeanUtils.copyProperties(dto.getDashboard(), dashboard); - dashboard.setReportCode(reportCode); - if (null == reportDashboard) { - // 新增 - this.insert(dashboard); - } - else { - // 更新 - dashboard.setId(reportDashboard.getId()); - dashboard.setVersion(null); - this.update(dashboard); - } + //删除reportDashboardWidget + reportDashboardWidgetService.delete(new QueryWrapper() + .lambda().eq(ReportDashboardWidget::getReportCode, reportCode)); + List widgets = dto.getWidgets(); - // 删除reportDashboardWidget - reportDashboardWidgetService.delete(new QueryWrapper().lambda() - .eq(ReportDashboardWidget::getReportCode, reportCode)); - List widgets = dto.getWidgets(); +// List reportDashboardWidgetList = new ArrayList<>(); + for (int i = 0; i < widgets.size(); i++) { + ReportDashboardWidget reportDashboardWidget = new ReportDashboardWidget(); + ReportDashboardWidgetDto reportDashboardWidgetDto = widgets.get(i); + String type = reportDashboardWidgetDto.getType(); + ReportDashboardWidgetValueDto value = reportDashboardWidgetDto.getValue(); + reportDashboardWidget.setReportCode(reportCode); + reportDashboardWidget.setType(type); + reportDashboardWidget.setSetup(value.getSetup() != null ? JSONObject.toJSONString(value.getSetup()) : ""); + reportDashboardWidget.setData(value.getData() != null ? JSONObject.toJSONString(value.getData()) : ""); + reportDashboardWidget.setPosition(value.getPosition() != null ? JSONObject.toJSONString(value.getPosition()) : ""); + reportDashboardWidget.setCollapse(value.getCollapse() != null ? JSONObject.toJSONString(value.getCollapse()) : ""); + reportDashboardWidget.setOptions(reportDashboardWidgetDto.getOptions() != null ? JSONObject.toJSONString(reportDashboardWidgetDto.getOptions()) : ""); + reportDashboardWidget.setEnableFlag(1); + reportDashboardWidget.setDeleteFlag(0); + reportDashboardWidget.setSort((long) (i + 1)); - // List reportDashboardWidgetList = new ArrayList<>(); - for (int i = 0; i < widgets.size(); i++) { - ReportDashboardWidget reportDashboardWidget = new ReportDashboardWidget(); - ReportDashboardWidgetDto reportDashboardWidgetDto = widgets.get(i); - String type = reportDashboardWidgetDto.getType(); - ReportDashboardWidgetValueDto value = reportDashboardWidgetDto.getValue(); - reportDashboardWidget.setReportCode(reportCode); - reportDashboardWidget.setType(type); - reportDashboardWidget.setSetup(value.getSetup() != null ? JSONObject.toJSONString(value.getSetup()) : ""); - reportDashboardWidget.setData(value.getData() != null ? JSONObject.toJSONString(value.getData()) : ""); - reportDashboardWidget - .setPosition(value.getPosition() != null ? JSONObject.toJSONString(value.getPosition()) : ""); - reportDashboardWidget - .setCollapse(value.getCollapse() != null ? JSONObject.toJSONString(value.getCollapse()) : ""); - reportDashboardWidget.setOptions(reportDashboardWidgetDto.getOptions() != null - ? JSONObject.toJSONString(reportDashboardWidgetDto.getOptions()) : ""); - reportDashboardWidget.setEnableFlag(1); - reportDashboardWidget.setDeleteFlag(0); - reportDashboardWidget.setSort((long) (i + 1)); + //兼容底层,不采用批量插入 + reportDashboardWidgetService.insert(reportDashboardWidget); - // 兼容底层,不采用批量插入 - reportDashboardWidgetService.insert(reportDashboardWidget); - } +// reportDashboardWidgetList.add(reportDashboardWidget); + } +// reportDashboardWidgetService.insertBatch(reportDashboardWidgetList); - } + } - @Override - public Object getChartData(ChartDto dto) { - // String chartType = dto.getChartType(); - DataSetDto setDto = new DataSetDto(); - setDto.setSetCode(dto.getSetCode()); - setDto.setContextData(dto.getContextData()); - OriginalDataDto result = dataSetService.getData(setDto); - List data = result.getData(); - // 处理时间轴 - List resultData = buildTimeLine(data, dto); - return resultData; - // return getTarget(chartType).transform(dto, result.getData()); - } + @Override + public Object getChartData(ChartDto dto) { +// String chartType = dto.getChartType(); + DataSetDto setDto = new DataSetDto(); + setDto.setSetCode(dto.getSetCode()); + setDto.setContextData(dto.getContextData()); + OriginalDataDto result = dataSetService.getData(setDto); + List data = result.getData(); + //处理时间轴 + List resultData = buildTimeLine(data, dto); + return resultData; +// return getTarget(chartType).transform(dto, result.getData()); + } - /** - * 导出大屏,zip文件 - * @param request - * @param response - * @param reportCode - * @return - */ - @Override - public ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, - String reportCode, Integer showDataSet) { - String userAgent = request.getHeader("User-Agent"); - boolean isIeBrowser = userAgent.indexOf("MSIE") > 0; + /** + * 导出大屏,zip文件 + * + * @param request + * @param response + * @param reportCode + * @return + */ + @Override + public ResponseEntity exportDashboard(HttpServletRequest request, HttpServletResponse response, String reportCode, Integer showDataSet) { + String userAgent = request.getHeader("User-Agent"); + boolean isIeBrowser = userAgent.indexOf("MSIE") > 0; - ReportDashboardObjectDto detail = getDetail(reportCode); - List widgets = detail.getDashboard().getWidgets(); - detail.setWidgets(widgets); - detail.getDashboard().setWidgets(null); + ReportDashboardObjectDto detail = getDetail(reportCode); + List widgets = detail.getDashboard().getWidgets(); + detail.setWidgets(widgets); + detail.getDashboard().setWidgets(null); - // 1.组装临时目录,/app/disk/upload/zip/临时文件夹 - String path = dictPath + ZIP_PATH + UuidUtil.generateShortUuid(); - // 将涉及到的图片保存下来(1.背景图,2.组件为图片的) - String backgroundImage = detail.getDashboard().getBackgroundImage(); - zipLoadImage(backgroundImage, path); - detail.getWidgets().stream() - .filter(reportDashboardWidgetDto -> "widget-image".equals(reportDashboardWidgetDto.getType())) - .forEach(reportDashboardWidgetDto -> { - String imageAddress = reportDashboardWidgetDto.getValue().getSetup().getString("imageAdress"); - zipLoadImage(imageAddress, path); - }); + //1.组装临时目录,/app/disk/upload/zip/临时文件夹 + String path = dictPath + ZIP_PATH + UuidUtil.generateShortUuid(); - // showDataSet == 0 代表不包含数据集 - if (0 == showDataSet) { - detail.getWidgets().forEach(reportDashboardWidgetDto -> { - ReportDashboardWidgetValueDto value = reportDashboardWidgetDto.getValue(); - JSONObject data = value.getData(); - if (null != data && data.containsKey("dataType")) { - reportDashboardWidgetDto.getValue().getData().put("dataType", "staticData"); - } - }); - } + //将涉及到的图片保存下来(1.背景图,2.组件为图片的) + String backgroundImage = detail.getDashboard().getBackgroundImage(); + zipLoadImage(backgroundImage, path); + detail.getWidgets().stream() + .filter(reportDashboardWidgetDto -> "widget-image".equals(reportDashboardWidgetDto.getType())) + .forEach(reportDashboardWidgetDto -> { + String imageAddress = reportDashboardWidgetDto.getValue().getSetup().getString("imageAdress"); + zipLoadImage(imageAddress, path); + }); - // 2.将大屏设计到的json文件保存 - String jsonPath = path + "/" + JSON_PATH; - FileUtil.WriteStringToFile(jsonPath, JSONObject.toJSONString(detail)); + //showDataSet == 0 代表不包含数据集 + if (0 == showDataSet) { + detail.getWidgets().forEach(reportDashboardWidgetDto -> { + ReportDashboardWidgetValueDto value = reportDashboardWidgetDto.getValue(); + JSONObject data = value.getData(); + if (null != data && data.containsKey("dataType")) { + reportDashboardWidgetDto.getValue().getData().put("dataType", "staticData"); + } + }); + } - // 将path文件夹打包zip - String zipPath = path + ".zip"; - FileUtil.compress(path, zipPath); - File file = new File(zipPath); - ResponseEntity.BodyBuilder builder = ResponseEntity.ok(); - builder.contentLength(file.length()); - // application/octet-stream 二进制数据流(最常见的文件下载) - builder.contentType(MediaType.APPLICATION_OCTET_STREAM); - if (isIeBrowser) { - builder.header("Content-Disposition", "attachment; filename=" + reportCode + ".zip"); - } - else { - builder.header("Content-Disposition", "attacher; filename*=UTF-8''" + reportCode + ".zip"); - } + //2.将大屏设计到的json文件保存 + String jsonPath = path + "/" + JSON_PATH; + FileUtil.WriteStringToFile(jsonPath, JSONObject.toJSONString(detail)); - ResponseEntity body = builder.body(FileUtils.readFileToByteArray(file)); - // 删除zip文件 - file.delete(); - // 删除path临时文件夹 - FileUtil.delete(path); - log.info("删除临时文件:{},{}", zipPath, path); + //将path文件夹打包zip + String zipPath = path + ".zip"; + FileUtil.compress(path, zipPath); - return body; - } - /** - * 导入大屏zip - * @param file - * @param reportCode - * @return - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void importDashboard(MultipartFile file, String reportCode) { - log.info("导入开始,{}", reportCode); - // 1.组装临时目录,/app/disk/upload/zip/临时文件夹 - String path = dictPath + ZIP_PATH + UuidUtil.generateShortUuid(); - // 2.解压 - FileUtil.decompress(file, path); - // path/uuid/ - File parentPath = new File(path); - // 获取打包的第一层目录 - File firstFile = parentPath.listFiles()[0]; + File file = new File(zipPath); + ResponseEntity.BodyBuilder builder = ResponseEntity.ok(); + builder.contentLength(file.length()); + //application/octet-stream 二进制数据流(最常见的文件下载) + builder.contentType(MediaType.APPLICATION_OCTET_STREAM); + if (isIeBrowser) { + builder.header("Content-Disposition", "attachment; filename=" + reportCode + ".zip"); + } else { + builder.header("Content-Disposition", "attacher; filename*=UTF-8''" + reportCode + ".zip"); + } - File[] files = firstFile.listFiles(); + ResponseEntity body = builder.body(FileUtils.readFileToByteArray(file)); - // 定义map - Map fileMap = new HashMap<>(); - String content = ""; + //删除zip文件 + file.delete(); + //删除path临时文件夹 + FileUtil.delete(path); + log.info("删除临时文件:{},{}", zipPath, path); - for (int i = 0; i < files.length; i++) { - File childFile = files[i]; - if (JSON_PATH.equals(childFile.getName())) { - // json文件 - content = FileUtil.readFile(childFile); - } - else if ("image".equals(childFile.getName())) { - File[] imageFiles = childFile.listFiles(); - // 所有需要上传的图片 - for (File imageFile : imageFiles) { - // 查看是否存在此image - String fileName = imageFile.getName().split("\\.")[0]; - // 根据fileId,从gaea_file中读出filePath - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(GaeaFile::getFileId, fileName); - GaeaFile gaeaFile = gaeaFileService.selectOne(queryWrapper); - if (null == gaeaFile) { - GaeaFile upload = gaeaFileService.upload(imageFile, fileName); - log.info("存入图片: {}", upload.getFilePath()); - fileMap.put(fileName, upload.getUrlPath()); - } - } - } + //异步统计下载次数 + CompletableFuture.runAsync(() -> { + log.info("=======>ip:{} 下载模板:{}", RequestUtil.getIpAddr(request), reportCode); + reportService.downloadStatistics(reportCode); + }); - } - // 解析cotent - ReportDashboardObjectDto detail = JSONObject.parseObject(content, ReportDashboardObjectDto.class); - // 将涉及到的图片路径替换(1.背景图,2.组件为图片的) - String backgroundImage = detail.getDashboard().getBackgroundImage(); - detail.getDashboard().setBackgroundImage(replaceUrl(backgroundImage, fileMap)); - detail.getWidgets().stream() - .filter(reportDashboardWidgetDto -> "widget-image".equals(reportDashboardWidgetDto.getType())) - .forEach(reportDashboardWidgetDto -> { - String imageAddress = reportDashboardWidgetDto.getValue().getSetup().getString("imageAdress"); - String address = replaceUrl(imageAddress, fileMap); - reportDashboardWidgetDto.getValue().getSetup().put("imageAdress", address); - reportDashboardWidgetDto.getOptions().getJSONArray("setup").getJSONObject(4).put("value", address); - }); - // 将新的大屏编码赋值 - detail.setReportCode(reportCode); + return body; + } - // 解析结束,删除临时文件夹 - FileUtil.delete(path); + /** + * 导入大屏zip + * + * @param file + * @param reportCode + * @return + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void importDashboard(MultipartFile file, String reportCode) { + log.info("导入开始,{}", reportCode); + //1.组装临时目录,/app/disk/upload/zip/临时文件夹 + String path = dictPath + ZIP_PATH + UuidUtil.generateShortUuid(); + //2.解压 + FileUtil.decompress(file, path); + // path/uuid/ + File parentPath = new File(path); + //获取打包的第一层目录 + File firstFile = parentPath.listFiles()[0]; - log.info("解析成功,开始存入数据库..."); - insertDashboard(detail); - } + File[] files = firstFile.listFiles(); - private String replaceUrl(String imageAddress, Map fileMap) { - if (StringUtils.isBlank(imageAddress)) { - return ""; - } - String fileId = imageAddress.substring(imageAddress.trim().length() - 36); - String orDefault = fileMap.getOrDefault(fileId, null); - if (StringUtils.isBlank(orDefault)) { - return imageAddress; - } - return orDefault; - } + //定义map + Map fileMap = new HashMap<>(); + String content = ""; - /** - * 将大屏涉及到的图片存入指定文件夹 - * @param imageAddress - * @param path - */ - private void zipLoadImage(String imageAddress, String path) { - // http://10.108.26.197:9095/file/download/1d9bcd35-82a1-4f08-9465-b66b930b6a8d - if (imageAddress.trim().startsWith(fileDownloadPath)) { - // 以fileDownloadPath为前缀的代表为上传的图片 - String fileName = imageAddress.substring(fileDownloadPath.length() + 1); - // 根据fileId,从gaea_file中读出filePath - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(GaeaFile::getFileId, fileName); - GaeaFile gaeaFile = gaeaFileService.selectOne(queryWrapper); - if (null != gaeaFile) { - String fileType = gaeaFile.getFileType(); - path = path + "/image/" + fileName + "." + fileType; - // path = /app/disk/upload/zip/UUID/image + for (int i = 0; i < files.length; i++) { + File childFile = files[i]; + if (JSON_PATH.equals(childFile.getName())) { + //json文件 + content = FileUtil.readFile(childFile); + } else if ("image".equals(childFile.getName())) { + File[] imageFiles = childFile.listFiles(); + //所有需要上传的图片 + for (File imageFile : imageFiles) { + //查看是否存在此image + String fileName = imageFile.getName().split("\\.")[0]; + //根据fileId,从gaea_file中读出filePath + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(GaeaFile::getFileId, fileName); + GaeaFile gaeaFile = gaeaFileService.selectOne(queryWrapper); + String uploadPath; + if (null == gaeaFile) { + GaeaFile upload = gaeaFileService.upload(imageFile, fileName); + log.info("存入图片: {}", upload.getFilePath()); + uploadPath = upload.getUrlPath(); + }else { + uploadPath = gaeaFile.getUrlPath(); + } + fileMap.put(fileName, uploadPath); + } + } - // 原始文件的路径 - String filePath = gaeaFile.getFilePath(); - FileUtil.copyFileUsingFileChannels(filePath, path); - } - } + } - } - public ChartStrategy getTarget(String type) { - for (String s : queryServiceImplMap.keySet()) { - if (s.contains(type)) { - return queryServiceImplMap.get(s); - } - } - throw BusinessExceptionBuilder.build(ResponseCode.RULE_CONTENT_NOT_EXIST); - } + //解析cotent + ReportDashboardObjectDto detail = JSONObject.parseObject(content, ReportDashboardObjectDto.class); + //将涉及到的图片路径替换(1.背景图,2.组件为图片的) + String backgroundImage = detail.getDashboard().getBackgroundImage(); + detail.getDashboard().setBackgroundImage(replaceUrl(backgroundImage, fileMap)); + detail.getWidgets().stream() + .filter(reportDashboardWidgetDto -> "widget-image".equals(reportDashboardWidgetDto.getType())) + .forEach(reportDashboardWidgetDto -> { + String imageAddress = reportDashboardWidgetDto.getValue().getSetup().getString("imageAdress"); + String address = replaceUrl(imageAddress, fileMap); + reportDashboardWidgetDto.getValue().getSetup().put("imageAdress", address); + reportDashboardWidgetDto.getOptions().getJSONArray("setup").getJSONObject(4).put("value", address); + }); + //将新的大屏编码赋值 + detail.setReportCode(reportCode); - @Override - public void afterPropertiesSet() { - Map beanMap = applicationContext.getBeansOfType(ChartStrategy.class); - // 遍历该接口的所有实现,将其放入map中 - for (ChartStrategy serviceImpl : beanMap.values()) { - queryServiceImplMap.put(serviceImpl.type(), serviceImpl); - } - } + //解析结束,删除临时文件夹 + FileUtil.delete(path); - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = applicationContext; - } + log.info("解析成功,开始存入数据库..."); + insertDashboard(detail); + } - /** - * 解析图层数据 - * @param dto - */ - public void analysisData(ReportDashboardWidgetValueDto dto) { - // if (StringUtils.isBlank(reportDashboardWidgetDto.getSetCode())) { - // return; - // } - // DataSetDto dto = new DataSetDto(); - // dto.setSetCode(reportDashboardWidgetDto.getSetCode()); - // if (reportDashboardWidgetDto.getContextData() != null && - // reportDashboardWidgetDto.getContextData().size() > 0) { - // dto.setContextData(reportDashboardWidgetDto.getContextData()); - // } - // OriginalDataDto data = dataSetService.getData(dto); - // reportDashboardWidgetDto.setData(JSONObject.toJSONString(data.getData())); - } - public List buildTimeLine(List data, ChartDto dto) { - Map chartProperties = dto.getChartProperties(); - if (null == chartProperties || chartProperties.size() < 1) { - return data; - } - Map contextData = dto.getContextData(); - if (null == contextData || contextData.size() < 1) { - return data; - } - if (contextData.containsKey("startTime") && contextData.containsKey("endTime")) { - dto.setStartTime(contextData.get("startTime").toString()); - dto.setEndTime(contextData.get("endTime").toString()); - } - if (StringUtils.isBlank(dto.getStartTime()) || StringUtils.isBlank(dto.getEndTime())) { - return data; - } - // 获取时间轴字段和解析时间颗粒度 + private String replaceUrl(String imageAddress, Map fileMap) { + if (StringUtils.isBlank(imageAddress)) { + return ""; + } + String fileId = imageAddress.substring(imageAddress.trim().length() - 36); + String orDefault = fileMap.getOrDefault(fileId, null); + if (StringUtils.isBlank(orDefault)) { + return imageAddress; + } + return orDefault; + } - for (Map.Entry entry : chartProperties.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - dto.setParticles(value); - setTimeLineFormat(dto); - if (StringUtils.isNotBlank(dto.getDataTimeFormat())) { - dto.setTimeLineFiled(key); - break; - } + /** + * 将大屏涉及到的图片存入指定文件夹 + * @param imageAddress + * @param path + */ + private void zipLoadImage(String imageAddress, String path) { + //http://10.108.26.197:9095/file/download/1d9bcd35-82a1-4f08-9465-b66b930b6a8d + if (imageAddress.trim().startsWith(fileDownloadPath)) { + //以fileDownloadPath为前缀的代表为上传的图片 + String fileName = imageAddress.substring(fileDownloadPath.length() + 1); + //根据fileId,从gaea_file中读出filePath + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(GaeaFile::getFileId, fileName); + GaeaFile gaeaFile = gaeaFileService.selectOne(queryWrapper); + if (null != gaeaFile) { + String fileType = gaeaFile.getFileType(); + path = path + "/image/" + fileName + "." + fileType; + //path = /app/disk/upload/zip/UUID/image - } + //原始文件的路径 + String filePath = gaeaFile.getFilePath(); + FileUtil.copyFileUsingFileChannels(filePath, path); + } + } - if (StringUtils.isBlank(dto.getDataTimeFormat())) { - return data; - } + } - Date beginTime = DateUtil.parseHmsTime(dto.getStartTime()); - Date endTime = DateUtil.parseHmsTime(dto.getEndTime()); - SimpleDateFormat showFormat = new SimpleDateFormat(dto.getTimeLineFormat()); - SimpleDateFormat dataFormat = new SimpleDateFormat(dto.getDataTimeFormat()); + public ChartStrategy getTarget(String type) { + for (String s : queryServiceImplMap.keySet()) { + if (s.contains(type)) { + return queryServiceImplMap.get(s); + } + } + throw BusinessExceptionBuilder.build(ResponseCode.RULE_CONTENT_NOT_EXIST); + } - Calendar calendar = Calendar.getInstance(); - calendar.setTime(beginTime); + @Override + public void afterPropertiesSet() { + Map beanMap = applicationContext.getBeansOfType(ChartStrategy.class); + //遍历该接口的所有实现,将其放入map中 + for (ChartStrategy serviceImpl : beanMap.values()) { + queryServiceImplMap.put(serviceImpl.type(), serviceImpl); + } + } - Calendar calendarEnd = Calendar.getInstance(); - calendarEnd.setTime(endTime); + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } - List timeLine = new ArrayList<>(); - List dataTimeline = new ArrayList<>(); - timeLine.add(showFormat.format(calendar.getTime())); - dataTimeline.add(dataFormat.format(calendar.getTime())); - // 添加时间轴数据 - while (true) { - calendar.add(dto.getTimeUnit(), 1); - timeLine.add(showFormat.format(calendar.getTime())); - dataTimeline.add(dataFormat.format(calendar.getTime())); - if (showFormat.format(calendar.getTime()).equals(showFormat.format(calendarEnd.getTime()))) { - break; - } - } + /** + * 解析图层数据 + * + * @param dto + */ + public void analysisData(ReportDashboardWidgetValueDto dto) { +// if (StringUtils.isBlank(reportDashboardWidgetDto.getSetCode())) { +// return; +// } +// DataSetDto dto = new DataSetDto(); +// dto.setSetCode(reportDashboardWidgetDto.getSetCode()); +// if (reportDashboardWidgetDto.getContextData() != null && reportDashboardWidgetDto.getContextData().size() > 0) { +// dto.setContextData(reportDashboardWidgetDto.getContextData()); +// } +// OriginalDataDto data = dataSetService.getData(dto); +// reportDashboardWidgetDto.setData(JSONObject.toJSONString(data.getData())); + } - // 根据时间轴生成对应的时间线,数据不存在,补数据 - List result = new ArrayList<>(); - JSONObject jsonDemo = data.get(0); - String timeLineFiled = dto.getTimeLineFiled(); - for (String dateFormat : dataTimeline) { - boolean flag = true; - for (JSONObject datum : data) { - if (datum.containsKey(timeLineFiled) && datum.getString(timeLineFiled).equals(dateFormat)) { - result.add(datum); - flag = false; - } - } - if (flag) { - // 补数据 - JSONObject json = new JSONObject(); - jsonDemo.forEach((s, o) -> { - if (s.equals(timeLineFiled)) { - json.put(timeLineFiled, dateFormat); - } - else { - json.put(s, 0); - } - }); - result.add(json); - } - } - return result; - } + public List buildTimeLine(List data, ChartDto dto) { + Map chartProperties = dto.getChartProperties(); + if (null == chartProperties || chartProperties.size() < 1) { + return data; + } + Map contextData = dto.getContextData(); + if (null == contextData || contextData.size() < 1) { + return data; + } + if (contextData.containsKey("startTime") && contextData.containsKey("endTime")) { + dto.setStartTime(contextData.get("startTime").toString()); + dto.setEndTime(contextData.get("endTime").toString()); + } + if (StringUtils.isBlank(dto.getStartTime()) || StringUtils.isBlank(dto.getEndTime())) { + return data; + } + //获取时间轴字段和解析时间颗粒度 - // 设置时间格式 - private void setTimeLineFormat(ChartDto dto) { - String particles = dto.getParticles(); - if ("xAxis-hour".equals(particles)) { - dto.setDataTimeFormat("yyyy-MM-dd HH"); - dto.setTimeLineFormat("MM-dd HH"); - dto.setTimeUnit(Calendar.HOUR); - } - else if ("xAxis-day".equals(particles)) { - dto.setDataTimeFormat("yyyy-MM-dd"); - dto.setTimeLineFormat("yyyy-MM-dd"); - dto.setTimeUnit(Calendar.DATE); - } - else if ("xAxis-month".equals(particles)) { - dto.setDataTimeFormat("yyyy-MM"); - dto.setTimeLineFormat("yyyy-MM"); - dto.setTimeUnit(Calendar.MONTH); - } - else if ("xAxis-year".equals(particles)) { - dto.setDataTimeFormat("yyyy"); - dto.setTimeLineFormat("yyyy"); - dto.setTimeUnit(Calendar.YEAR); - } - } + for (Map.Entry entry : chartProperties.entrySet()) { + String key = entry.getKey(); + String value = entry.getValue(); + dto.setParticles(value); + setTimeLineFormat(dto); + if (StringUtils.isNotBlank(dto.getDataTimeFormat())) { + dto.setTimeLineFiled(key); + break; + } + } + + + if (StringUtils.isBlank(dto.getDataTimeFormat())) { + return data; + } + + Date beginTime = DateUtil.parseHmsTime(dto.getStartTime()); + Date endTime = DateUtil.parseHmsTime(dto.getEndTime()); + SimpleDateFormat showFormat = new SimpleDateFormat(dto.getTimeLineFormat()); + SimpleDateFormat dataFormat = new SimpleDateFormat(dto.getDataTimeFormat()); + + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(beginTime); + + Calendar calendarEnd = Calendar.getInstance(); + calendarEnd.setTime(endTime); + + List timeLine = new ArrayList<>(); + List dataTimeline = new ArrayList<>(); + timeLine.add(showFormat.format(calendar.getTime())); + dataTimeline.add(dataFormat.format(calendar.getTime())); + + //添加时间轴数据 + while (true) { + calendar.add(dto.getTimeUnit(), 1); + timeLine.add(showFormat.format(calendar.getTime())); + dataTimeline.add(dataFormat.format(calendar.getTime())); + if (showFormat.format(calendar.getTime()).equals(showFormat.format(calendarEnd.getTime()))) { + break; + } + } + + //根据时间轴生成对应的时间线,数据不存在,补数据 + List result = new ArrayList<>(); + JSONObject jsonDemo = data.get(0); + String timeLineFiled = dto.getTimeLineFiled(); + for (String dateFormat : dataTimeline) { + boolean flag = true; + for (JSONObject datum : data) { + if (datum.containsKey(timeLineFiled) && datum.getString(timeLineFiled).equals(dateFormat)) { + result.add(datum); + flag = false; + } + } + if (flag) { + //补数据 + JSONObject json = new JSONObject(); + jsonDemo.forEach((s, o) -> { + if (s.equals(timeLineFiled)) { + json.put(timeLineFiled, dateFormat); + } else { + json.put(s, 0); + } + }); + result.add(json); + } + + } + return result; + } + + //设置时间格式 + private void setTimeLineFormat(ChartDto dto) { + String particles = dto.getParticles(); + if ("xAxis-hour".equals(particles)) { + dto.setDataTimeFormat("yyyy-MM-dd HH"); + dto.setTimeLineFormat("MM-dd HH"); + dto.setTimeUnit(Calendar.HOUR); + } else if ("xAxis-day".equals(particles)) { + dto.setDataTimeFormat("yyyy-MM-dd"); + dto.setTimeLineFormat("yyyy-MM-dd"); + dto.setTimeUnit(Calendar.DATE); + } else if ("xAxis-month".equals(particles)) { + dto.setDataTimeFormat("yyyy-MM"); + dto.setTimeLineFormat("yyyy-MM"); + dto.setTimeUnit(Calendar.MONTH); + } else if ("xAxis-year".equals(particles)) { + dto.setDataTimeFormat("yyyy"); + dto.setTimeLineFormat("yyyy"); + dto.setTimeUnit(Calendar.YEAR); + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetDto.java index 707f44c82..a8538c2cf 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetDto.java @@ -6,27 +6,29 @@ import lombok.Data; import java.io.Serializable; + /** - * @description 大屏看板数据渲染 dto - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ +* +* @description 大屏看板数据渲染 dto +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ @Data public class ReportDashboardWidgetDto implements Serializable { - /** - * 组件类型参考字典DASHBOARD_PANEL_TYPE - */ - private String type; + /** + * 组件类型参考字典DASHBOARD_PANEL_TYPE + */ + private String type; - /** - * value - */ - private ReportDashboardWidgetValueDto value; + /** + * value + */ + private ReportDashboardWidgetValueDto value; - /** - * options - */ - private JSONObject options; + /** + * options + */ + private JSONObject options; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetValueDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetValueDto.java index a246c06a1..51b660a20 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetValueDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/dto/ReportDashboardWidgetValueDto.java @@ -6,41 +6,42 @@ import lombok.Data; import java.io.Serializable; + /** - * @description 大屏看板数据渲染 dto,已弃用 - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ +* +* @description 大屏看板数据渲染 dto,已弃用 +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ @Data public class ReportDashboardWidgetValueDto implements Serializable { + /** 报表编码 */ + private String reportCode; - /** 报表编码 */ - private String reportCode; + /** 组件的渲染属性json */ + private JSONObject setup; - /** 组件的渲染属性json */ - private JSONObject setup; + /** 组件的数据属性json */ + private JSONObject data; - /** 组件的数据属性json */ - private JSONObject data; + /** 组件的配置属性json */ + private JSONObject collapse; - /** 组件的配置属性json */ - private JSONObject collapse; + /** 组件的大小位置属性json */ + private JSONObject position; - /** 组件的大小位置属性json */ - private JSONObject position; + private String options; - private String options; + /** 自动刷新间隔秒 */ + private Integer refreshSeconds; - /** 自动刷新间隔秒 */ - private Integer refreshSeconds; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DEL_FLAG */ - private Integer deleteFlag; - - /** 排序,图层的概念 */ - private Long sort; + /** 排序,图层的概念 */ + private Long sort; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/param/ReportDashboardWidgetParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/param/ReportDashboardWidgetParam.java index 78d82999e..09f54bff0 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/param/ReportDashboardWidgetParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/controller/param/ReportDashboardWidgetParam.java @@ -1,17 +1,20 @@ /**/ package com.anjiplus.template.gaea.business.modules.dashboardwidget.controller.param; -import com.anji.plus.gaea.curd.params.PageParam; import lombok.Data; - import java.io.Serializable; +import com.anji.plus.gaea.annotation.Query; +import com.anji.plus.gaea.constant.QueryEnum; +import com.anji.plus.gaea.curd.params.PageParam; + +import java.util.List; + /** - * @desc ReportDashboardWidget 大屏看板数据渲染查询输入类 - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ +* @desc ReportDashboardWidget 大屏看板数据渲染查询输入类 +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ @Data -public class ReportDashboardWidgetParam extends PageParam implements Serializable { - +public class ReportDashboardWidgetParam extends PageParam implements Serializable{ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/ReportDashboardWidgetMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/ReportDashboardWidgetMapper.java index becc27780..2570c7fd6 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/ReportDashboardWidgetMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/ReportDashboardWidgetMapper.java @@ -1,15 +1,15 @@ package com.anjiplus.template.gaea.business.modules.dashboardwidget.dao; +import org.apache.ibatis.annotations.Mapper; + import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.entity.ReportDashboardWidget; -import org.apache.ibatis.annotations.Mapper; /** - * ReportDashboardWidget Mapper - * - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ +* ReportDashboardWidget Mapper +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ @Mapper public interface ReportDashboardWidgetMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/entity/ReportDashboardWidget.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/entity/ReportDashboardWidget.java index c369d3d08..2631236bd 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/entity/ReportDashboardWidget.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/dao/entity/ReportDashboardWidget.java @@ -7,44 +7,44 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 大屏看板数据渲染 entity - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_dashboard_widget") +* @description 大屏看板数据渲染 entity +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_dashboard_widget") @Data public class ReportDashboardWidget extends GaeaBaseEntity { + @ApiModelProperty(value = "报表编码") + private String reportCode; - @ApiModelProperty(value = "报表编码") - private String reportCode; + @ApiModelProperty(value = "组件类型参考字典DASHBOARD_PANEL_TYPE") + private String type; - @ApiModelProperty(value = "组件类型参考字典DASHBOARD_PANEL_TYPE") - private String type; + @ApiModelProperty(value = "组件的渲染属性json") + private String setup; - @ApiModelProperty(value = "组件的渲染属性json") - private String setup; + @ApiModelProperty(value = "组件的数据属性json") + private String data; - @ApiModelProperty(value = "组件的数据属性json") - private String data; + @ApiModelProperty(value = "组件的配置属性json") + private String collapse; - @ApiModelProperty(value = "组件的配置属性json") - private String collapse; + @ApiModelProperty(value = "组件的大小位置属性json") + private String position; - @ApiModelProperty(value = "组件的大小位置属性json") - private String position; + private String options; - private String options; + @ApiModelProperty(value = "自动刷新间隔秒") + private Integer refreshSeconds; - @ApiModelProperty(value = "自动刷新间隔秒") - private Integer refreshSeconds; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = " 0--未删除 1--已删除 DIC_NAME=DEL_FLAG") - private Integer deleteFlag; + @ApiModelProperty(value = "排序,图层的概念") + private Long sort; - @ApiModelProperty(value = "排序,图层的概念") - private Long sort; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/ReportDashboardWidgetService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/ReportDashboardWidgetService.java index 54c3b9c6f..367030c81 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/ReportDashboardWidgetService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/ReportDashboardWidgetService.java @@ -1,22 +1,21 @@ package com.anjiplus.template.gaea.business.modules.dashboardwidget.service; -import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anjiplus.template.gaea.business.modules.dashboardwidget.controller.param.ReportDashboardWidgetParam; import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.entity.ReportDashboardWidget; +import com.anji.plus.gaea.curd.service.GaeaBaseService; /** - * @desc ReportDashboardWidget 大屏看板数据渲染服务接口 - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ -public interface ReportDashboardWidgetService - extends GaeaBaseService { - - /*** - * 查询详情 - * @param id - */ - ReportDashboardWidget getDetail(Long id); +* @desc ReportDashboardWidget 大屏看板数据渲染服务接口 +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ +public interface ReportDashboardWidgetService extends GaeaBaseService { + /*** + * 查询详情 + * + * @param id + */ + ReportDashboardWidget getDetail(Long id); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/impl/ReportDashboardWidgetServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/impl/ReportDashboardWidgetServiceImpl.java index bffc0eb99..11f0a0681 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/impl/ReportDashboardWidgetServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dashboardwidget/service/impl/ReportDashboardWidgetServiceImpl.java @@ -2,33 +2,33 @@ package com.anjiplus.template.gaea.business.modules.dashboardwidget.service.impl; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; -import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.ReportDashboardWidgetMapper; -import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.entity.ReportDashboardWidget; -import com.anjiplus.template.gaea.business.modules.dashboardwidget.service.ReportDashboardWidgetService; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.entity.ReportDashboardWidget; +import com.anjiplus.template.gaea.business.modules.dashboardwidget.service.ReportDashboardWidgetService; +import com.anjiplus.template.gaea.business.modules.dashboardwidget.dao.ReportDashboardWidgetMapper; /** - * @desc ReportDashboardWidget 大屏看板数据渲染服务实现 - * @author Raod - * @date 2021-04-12 15:12:43.724 - **/ +* @desc ReportDashboardWidget 大屏看板数据渲染服务实现 +* @author Raod +* @date 2021-04-12 15:12:43.724 +**/ @Service -// @RequiredArgsConstructor +//@RequiredArgsConstructor public class ReportDashboardWidgetServiceImpl implements ReportDashboardWidgetService { - @Autowired - private ReportDashboardWidgetMapper reportDashboardWidgetMapper; + @Autowired + private ReportDashboardWidgetMapper reportDashboardWidgetMapper; - @Override - public GaeaBaseMapper getMapper() { - return reportDashboardWidgetMapper; - } - - @Override - public ReportDashboardWidget getDetail(Long id) { - ReportDashboardWidget reportDashboardWidget = this.selectOne(id); - return reportDashboardWidget; - } + @Override + public GaeaBaseMapper getMapper() { + return reportDashboardWidgetMapper; + } + @Override + public ReportDashboardWidget getDetail(Long id) { + ReportDashboardWidget reportDashboardWidget = this.selectOne(id); + return reportDashboardWidget; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/DataSetController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/DataSetController.java index 21b9b0291..88a24bf99 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/DataSetController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/DataSetController.java @@ -21,111 +21,125 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** - * @desc 数据集 controller - * @website https://gitee.com/anji-plus/gaea - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* @desc 数据集 controller +* @website https://gitee.com/anji-plus/gaea +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @RestController @Api(tags = "数据集管理") @Permission(code = "resultsetManage", name = "数据集管理") @RequestMapping("/dataSet") public class DataSetController extends GaeaBaseController { - @Autowired - private DataSetService dataSetService; + @Autowired + private DataSetService dataSetService; - @Override - public GaeaBaseService getService() { - return dataSetService; - } + @Override + public GaeaBaseService getService() { + return dataSetService; + } - @Override - public DataSet getEntity() { - return new DataSet(); - } + @Override + public DataSet getEntity() { + return new DataSet(); + } - @Override - public DataSetDto getDTO() { - return new DataSetDto(); - } + @Override + public DataSetDto getDTO() { + return new DataSetDto(); + } - @GetMapping("/detailBysetId/{id}") - @Permission(code = "query", name = "明细") - public ResponseBean detailBysetId(@PathVariable("id") Long id) { - this.logger.info("{}根据ID查询服务开始,id为:{}", this.getClass().getSimpleName(), id); - ResponseBean responseBean = this.responseSuccessWithData(dataSetService.detailSet(id)); - this.logger.info("{}根据ID查询结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); - return responseBean; - } + @GetMapping("/detailBysetId/{id}") + @Permission( code = "query", name = "明细" ) + public ResponseBean detailBysetId(@PathVariable("id") Long id) { + this.logger.info("{}根据ID查询服务开始,id为:{}", this.getClass().getSimpleName(), id); + ResponseBean responseBean = this.responseSuccessWithData(dataSetService.detailSet(id)); + this.logger.info("{}根据ID查询结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); + return responseBean; + } - @GetMapping({ "/detailBysetCode/{setCode}" }) - @Permission(code = "query", name = "明细") - @AccessKey - public ResponseBean detailBysetCode(@PathVariable("setCode") String setCode) { - this.logger.info("{}根据setCode查询服务开始,setCode为:{}", this.getClass().getSimpleName(), setCode); - ResponseBean responseBean = this.responseSuccessWithData(dataSetService.detailSet(setCode)); - this.logger.info("{}根据setCode查询结束,结果:{}", this.getClass().getSimpleName(), - GaeaUtils.toJSONString(responseBean)); - return responseBean; - } + @GetMapping({"/detailBysetCode/{setCode}"}) + @Permission( code = "query", name = "明细" ) + @AccessKey + public ResponseBean detailBysetCode(@PathVariable("setCode") String setCode) { + this.logger.info("{}根据setCode查询服务开始,setCode为:{}", this.getClass().getSimpleName(), setCode); + ResponseBean responseBean = this.responseSuccessWithData(dataSetService.detailSet(setCode)); + this.logger.info("{}根据setCode查询结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); + return responseBean; + } - @PostMapping - @Permission(code = "insert", name = "新增") - @GaeaAuditLog(pageTitle = "新增") - @Override - public ResponseBean insert(@RequestBody DataSetDto dto) { - this.logger.info("{}新增服务开始,参数:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(dto)); - DataSetDto dataSetDto = dataSetService.insertSet(dto); - this.logger.info("{}新增服务结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(dataSetDto)); - return ResponseBean.builder().data(dataSetDto).build(); - } + @PostMapping + @Permission( + code = "insert", + name = "新增" + ) + @GaeaAuditLog( + pageTitle = "新增" + ) + @Override + public ResponseBean insert(@RequestBody DataSetDto dto) { + this.logger.info("{}新增服务开始,参数:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(dto)); + DataSetDto dataSetDto = dataSetService.insertSet(dto); + this.logger.info("{}新增服务结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(dataSetDto)); + return ResponseBean.builder().data(dataSetDto).build(); + } - @PutMapping - @Permission(code = "update", name = "更新") - @GaeaAuditLog(pageTitle = "修改") - @Override - public ResponseBean update(@RequestBody DataSetDto dto) { - String username = UserContentHolder.getContext().getUsername(); - this.logger.info("{}更新服务开始,更新人:{},参数:{}", this.getClass().getSimpleName(), username, - GaeaUtils.toJSONString(dto)); - ResponseBean responseBean = this.responseSuccess(); - dataSetService.updateSet(dto); - this.logger.info("{}更新服务结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); - return this.responseSuccess(); - } + @PutMapping + @Permission( + code = "update", + name = "更新" + ) + @GaeaAuditLog( + pageTitle = "修改" + ) + @Override + public ResponseBean update(@RequestBody DataSetDto dto) { + String username = UserContentHolder.getContext().getUsername(); + this.logger.info("{}更新服务开始,更新人:{},参数:{}", this.getClass().getSimpleName(), username, GaeaUtils.toJSONString(dto)); + ResponseBean responseBean = this.responseSuccess(); + dataSetService.updateSet(dto); + this.logger.info("{}更新服务结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); + return this.responseSuccess(); + } - @DeleteMapping({ "/{id}" }) - @Permission(code = "delete", name = "删除") - @GaeaAuditLog(pageTitle = "删除") - @Override - public ResponseBean deleteById(@PathVariable("id") Long id) { - this.logger.info("{}删除服务开始,参数ID:{}", this.getClass().getSimpleName(), id); - dataSetService.deleteSet(id); - this.logger.info("{}删除服务结束", this.getClass().getSimpleName()); - return this.responseSuccess(); - } + @DeleteMapping({"/{id}"}) + @Permission( + code = "delete", + name = "删除" + ) + @GaeaAuditLog( + pageTitle = "删除" + ) + @Override + public ResponseBean deleteById(@PathVariable("id") Long id) { + this.logger.info("{}删除服务开始,参数ID:{}", this.getClass().getSimpleName(), id); + dataSetService.deleteSet(id); + this.logger.info("{}删除服务结束", this.getClass().getSimpleName()); + return this.responseSuccess(); + } - /** - * 测试 数据转换是否正确 - * @param param - * @return - */ - @PostMapping("/testTransform") - @Permission(code = "query", name = "明细") - public ResponseBean testTransform(@Validated @RequestBody DataSetTestTransformParam param) { - DataSetDto dto = new DataSetDto(); - BeanUtils.copyProperties(param, dto); - return responseSuccessWithData(dataSetService.testTransform(dto)); - } + /** + * 测试 数据转换是否正确 + * @param param + * @return + */ + @PostMapping("/testTransform") + @Permission( code = "query", name = "明细" ) + public ResponseBean testTransform(@Validated @RequestBody DataSetTestTransformParam param) { + DataSetDto dto = new DataSetDto(); + BeanUtils.copyProperties(param, dto); + return responseSuccessWithData(dataSetService.testTransform(dto)); + } + + /** + * 获取所有数据集 + * @return + */ + @GetMapping("/queryAllDataSet") + public ResponseBean queryAllDataSet() { + return responseSuccessWithData(dataSetService.queryAllDataSet()); + } - /** - * 获取所有数据集 - * @return - */ - @GetMapping("/queryAllDataSet") - public ResponseBean queryAllDataSet() { - return responseSuccessWithData(dataSetService.queryAllDataSet()); - } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/DataSetDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/DataSetDto.java index 10e09d07b..2647a91f7 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/DataSetDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/DataSetDto.java @@ -11,50 +11,55 @@ import java.util.List; import java.util.Map; import java.util.Set; + /** - * @description 数据集 dto - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* +* @description 数据集 dto +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @Data public class DataSetDto extends GaeaBaseDTO implements Serializable { + /** 数据集编码 */ + private String setCode; - /** 数据集编码 */ - private String setCode; + /** 数据集名称 */ + private String setName; - /** 数据集名称 */ - private String setName; + /** 数据集描述 */ + private String setDesc; - /** 数据集描述 */ - private String setDesc; + /** 数据集类型 */ + private String setType; - /** 数据源编码 */ - private String sourceCode; - /** 动态查询sql或者接口中的请求体 */ - private String dynSentence; + /** 数据源编码 */ + private String sourceCode; - /** 结果案例 */ - private String caseResult; + /** 动态查询sql或者接口中的请求体 */ + private String dynSentence; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 结果案例 */ + private String caseResult; - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 请求参数集合 */ - private List dataSetParamDtoList; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; - /** 数据转换集合 */ - private List dataSetTransformDtoList; + /** 请求参数集合 */ + private List dataSetParamDtoList; - /** 传入的自定义参数 */ - private Map contextData; + /** 数据转换集合 */ + private List dataSetTransformDtoList; - private Set setParamList; + /** 传入的自定义参数*/ + private Map contextData; - /** 指定字段 */ - private String fieldLabel; + private Set setParamList; + + /**指定字段*/ + private String fieldLabel; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/OriginalDataDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/OriginalDataDto.java index 572f2f01c..c33d1feaf 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/OriginalDataDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/dto/OriginalDataDto.java @@ -12,22 +12,21 @@ import java.util.List; @Data public class OriginalDataDto implements Serializable { - /** 总数 */ - private long total; + /**总数*/ + private long total; - /** 获取的数据详情 */ - private List data; + /**获取的数据详情*/ + private List data; - public OriginalDataDto(List data) { - this.data = data; - } + public OriginalDataDto(List data) { + this.data = data; + } - public OriginalDataDto(long total, List data) { - this.total = total; - this.data = data; - } - - public OriginalDataDto() { - } + public OriginalDataDto(long total, List data) { + this.total = total; + this.data = data; + } + public OriginalDataDto() { + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetParam.java index 2024b188c..9730302eb 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetParam.java @@ -8,24 +8,27 @@ import lombok.Data; import java.io.Serializable; + /** - * @desc DataSet 数据集查询输入类 - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* @desc DataSet 数据集查询输入类 +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @Data -public class DataSetParam extends PageParam implements Serializable { +public class DataSetParam extends PageParam implements Serializable{ + /** 数据集编码 */ + @Query(QueryEnum.LIKE) + private String setCode; - /** 数据集编码 */ - @Query(QueryEnum.LIKE) - private String setCode; + /** 数据集名称 */ + @Query(QueryEnum.LIKE) + private String setName; - /** 数据集名称 */ - @Query(QueryEnum.LIKE) - private String setName; - - /** 数据源编码 */ - @Query(QueryEnum.EQ) - private String sourceCode; + /** 数据源编码 */ + @Query(QueryEnum.EQ) + private String sourceCode; + /** 数据集类型 */ + @Query(QueryEnum.EQ) + private String setType; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetTestTransformParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetTestTransformParam.java index 07c9c4c41..b628e2074 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetTestTransformParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/controller/param/DataSetTestTransformParam.java @@ -5,29 +5,31 @@ import com.anjiplus.template.gaea.business.modules.datasetparam.controller.dto.D import com.anjiplus.template.gaea.business.modules.datasettransform.controller.dto.DataSetTransformDto; import lombok.Data; -import javax.validation.constraints.NotBlank; import java.io.Serializable; import java.util.List; + /** - * @desc DataSet 数据集查询输入类 - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* @desc DataSet 数据集查询输入类 +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @Data -public class DataSetTestTransformParam implements Serializable { +public class DataSetTestTransformParam implements Serializable{ - /** 数据源编码 */ - @NotBlank(message = "sourceCode not empty") - private String sourceCode; + /** 数据源编码 */ + private String sourceCode; - /** 动态查询sql或者接口中的请求体 */ - private String dynSentence; + /** 动态查询sql或者接口中的请求体 */ + private String dynSentence; - /** 请求参数集合 */ - private List dataSetParamDtoList; + /** 数据集类型 */ + private String setType; - /** 数据转换集合 */ - private List dataSetTransformDtoList; + /** 请求参数集合 */ + private List dataSetParamDtoList; + + /** 数据转换集合 */ + private List dataSetTransformDtoList; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/DataSetMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/DataSetMapper.java index 96bdd838d..d8514e480 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/DataSetMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/DataSetMapper.java @@ -1,15 +1,15 @@ package com.anjiplus.template.gaea.business.modules.dataset.dao; +import org.apache.ibatis.annotations.Mapper; + import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.dataset.dao.entity.DataSet; -import org.apache.ibatis.annotations.Mapper; /** - * DataSet Mapper - * - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* DataSet Mapper +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @Mapper public interface DataSetMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/entity/DataSet.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/entity/DataSet.java index bde51f6ea..d9313b519 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/entity/DataSet.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/dao/entity/DataSet.java @@ -9,37 +9,40 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 数据集 entity - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_data_set") +* @description 数据集 entity +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_data_set") @Data public class DataSet extends GaeaBaseEntity { + @ApiModelProperty(value = "数据集编码") + @Unique(code = ResponseCode.SET_CODE_ISEXIST) + private String setCode; - @ApiModelProperty(value = "数据集编码") - @Unique(code = ResponseCode.SET_CODE_ISEXIST) - private String setCode; + @ApiModelProperty(value = "数据集名称") + private String setName; - @ApiModelProperty(value = "数据集名称") - private String setName; + @ApiModelProperty(value = "数据集描述") + private String setDesc; - @ApiModelProperty(value = "数据集描述") - private String setDesc; + @ApiModelProperty(value = "数据集类型") + private String setType; - @ApiModelProperty(value = "数据源编码") - private String sourceCode; + @ApiModelProperty(value = "数据源编码") + private String sourceCode; - @ApiModelProperty(value = "动态查询sql或者接口中的请求体") - private String dynSentence; + @ApiModelProperty(value = "动态查询sql或者接口中的请求体") + private String dynSentence; - @ApiModelProperty(value = "结果案例") - private String caseResult; + @ApiModelProperty(value = "结果案例") + private String caseResult; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; + + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/DataSetService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/DataSetService.java index 73d92e244..8d37e3fae 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/DataSetService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/DataSetService.java @@ -10,61 +10,61 @@ import com.anjiplus.template.gaea.business.modules.dataset.dao.entity.DataSet; import java.util.List; /** - * @desc DataSet 数据集服务接口 - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* @desc DataSet 数据集服务接口 +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ public interface DataSetService extends GaeaBaseService { - /** - * 单条详情 - * @param id - * @return - */ - DataSetDto detailSet(Long id); + /** + * 单条详情 + * @param id + * @return + */ + DataSetDto detailSet(Long id); - /** - * 单条详情 - * @param setCode - * @return - */ - DataSetDto detailSet(String setCode); + /** + * 单条详情 + * @param setCode + * @return + */ + DataSetDto detailSet(String setCode); - /** - * 新增数据集、添加查询参数、数据转换 - * @param dto - */ - DataSetDto insertSet(DataSetDto dto); + /** + * 新增数据集、添加查询参数、数据转换 + * @param dto + */ + DataSetDto insertSet(DataSetDto dto); - /** - * 更新数据集、添加查询参数、数据转换 - * @param dto - */ - void updateSet(DataSetDto dto); + /** + * 更新数据集、添加查询参数、数据转换 + * @param dto + */ + void updateSet(DataSetDto dto); - /** - * 删除数据集、添加查询参数、数据转换 - * @param id - */ - void deleteSet(Long id); + /** + * 删除数据集、添加查询参数、数据转换 + * @param id + */ + void deleteSet(Long id); - /** - * 获取数据 - * @param dto - * @return - */ - OriginalDataDto getData(DataSetDto dto); + /** + * 获取数据 + * @param dto + * @return + */ + OriginalDataDto getData(DataSetDto dto); - /** - * @param dto - * @return - */ - OriginalDataDto testTransform(DataSetDto dto); - - /** - * 获取所有数据集 - * @return - */ - List queryAllDataSet(); + /** + * + * @param dto + * @return + */ + OriginalDataDto testTransform(DataSetDto dto); + /** + * 获取所有数据集 + * @return + */ + List queryAllDataSet(); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java index 7fa2f506e..b4ef25e84 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dataset/service/impl/DataSetServiceImpl.java @@ -8,8 +8,9 @@ import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anji.plus.gaea.exception.BusinessExceptionBuilder; import com.anji.plus.gaea.utils.GaeaBeanUtils; import com.anjiplus.template.gaea.business.code.ResponseCode; -import com.anjiplus.template.gaea.business.modules.dataset.controller.dto.DataSetDto; +import com.anjiplus.template.gaea.business.enums.SetTypeEnum; import com.anjiplus.template.gaea.business.modules.dataset.controller.dto.OriginalDataDto; +import com.anjiplus.template.gaea.business.modules.dataset.controller.dto.DataSetDto; import com.anjiplus.template.gaea.business.modules.dataset.dao.DataSetMapper; import com.anjiplus.template.gaea.business.modules.dataset.dao.entity.DataSet; import com.anjiplus.template.gaea.business.modules.dataset.service.DataSetService; @@ -22,6 +23,7 @@ import com.anjiplus.template.gaea.business.modules.datasettransform.service.Data import com.anjiplus.template.gaea.business.modules.datasource.controller.dto.DataSourceDto; import com.anjiplus.template.gaea.business.modules.datasource.dao.entity.DataSource; import com.anjiplus.template.gaea.business.modules.datasource.service.DataSourceService; +import com.anjiplus.template.gaea.business.util.JdbcConstants; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -33,288 +35,372 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** - * @desc DataSet 数据集服务实现 - * @author Raod - * @date 2021-03-18 12:11:31.150755900 - **/ +* @desc DataSet 数据集服务实现 +* @author Raod +* @date 2021-03-18 12:11:31.150755900 +**/ @Service -// @RequiredArgsConstructor +//@RequiredArgsConstructor @Slf4j public class DataSetServiceImpl implements DataSetService { - @Autowired - private DataSetMapper dataSetMapper; + @Autowired + private DataSetMapper dataSetMapper; - @Autowired - private DataSetParamService dataSetParamService; + @Autowired + private DataSetParamService dataSetParamService; - @Autowired - private DataSetTransformService dataSetTransformService; + @Autowired + private DataSetTransformService dataSetTransformService; - @Autowired - private DataSourceService dataSourceService; + @Autowired + private DataSourceService dataSourceService; - @Override - public GaeaBaseMapper getMapper() { - return dataSetMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return dataSetMapper; + } - /** - * 单条详情 - * @param id - * @return - */ - @Override - public DataSetDto detailSet(Long id) { - DataSetDto dto = new DataSetDto(); - DataSet result = selectOne(id); - String setCode = result.getSetCode(); - GaeaBeanUtils.copyAndFormatter(result, dto); - return getDetailSet(dto, setCode); - } + /** + * 单条详情 + * + * @param id + * @return + */ + @Override + public DataSetDto detailSet(Long id) { + DataSetDto dto = new DataSetDto(); + DataSet result = selectOne(id); + String setCode = result.getSetCode(); + GaeaBeanUtils.copyAndFormatter(result, dto); + return getDetailSet(dto, setCode); + } - /** - * 单条详情 - * @param setCode - * @return - */ - @Override - public DataSetDto detailSet(String setCode) { - DataSetDto dto = new DataSetDto(); - DataSet result = selectOne("set_code", setCode); - GaeaBeanUtils.copyAndFormatter(result, dto); - return getDetailSet(dto, setCode); - } + /** + * 单条详情 + * + * @param setCode + * @return + */ + @Override + public DataSetDto detailSet(String setCode) { + DataSetDto dto = new DataSetDto(); + DataSet result = selectOne("set_code", setCode); + GaeaBeanUtils.copyAndFormatter(result, dto); + return getDetailSet(dto, setCode); + } - public DataSetDto getDetailSet(DataSetDto dto, String setCode) { - // 查询参数 - List dataSetParamList = dataSetParamService - .list(new QueryWrapper().lambda().eq(DataSetParam::getSetCode, setCode)); - List dataSetParamDtoList = new ArrayList<>(); - dataSetParamList.forEach(dataSetParam -> { - DataSetParamDto dataSetParamDto = new DataSetParamDto(); - GaeaBeanUtils.copyAndFormatter(dataSetParam, dataSetParamDto); - dataSetParamDtoList.add(dataSetParamDto); - }); - dto.setDataSetParamDtoList(dataSetParamDtoList); + public DataSetDto getDetailSet(DataSetDto dto, String setCode) { + //查询参数 + List dataSetParamList = dataSetParamService.list( + new QueryWrapper() + .lambda() + .eq(DataSetParam::getSetCode, setCode) + ); + List dataSetParamDtoList = new ArrayList<>(); + dataSetParamList.forEach(dataSetParam -> { + DataSetParamDto dataSetParamDto = new DataSetParamDto(); + GaeaBeanUtils.copyAndFormatter(dataSetParam, dataSetParamDto); + dataSetParamDtoList.add(dataSetParamDto); + }); + dto.setDataSetParamDtoList(dataSetParamDtoList); - // 数据转换 + //数据转换 - List dataSetTransformList = dataSetTransformService.list(new QueryWrapper() - .lambda().eq(DataSetTransform::getSetCode, setCode).orderByAsc(DataSetTransform::getOrderNum)); - List dataSetTransformDtoList = new ArrayList<>(); - dataSetTransformList.forEach(dataSetTransform -> { - DataSetTransformDto dataSetTransformDto = new DataSetTransformDto(); - GaeaBeanUtils.copyAndFormatter(dataSetTransform, dataSetTransformDto); - dataSetTransformDtoList.add(dataSetTransformDto); - }); - dto.setDataSetTransformDtoList(dataSetTransformDtoList); + List dataSetTransformList = dataSetTransformService.list( + new QueryWrapper() + .lambda() + .eq(DataSetTransform::getSetCode, setCode) + .orderByAsc(DataSetTransform::getOrderNum) + ); + List dataSetTransformDtoList = new ArrayList<>(); + dataSetTransformList.forEach(dataSetTransform -> { + DataSetTransformDto dataSetTransformDto = new DataSetTransformDto(); + GaeaBeanUtils.copyAndFormatter(dataSetTransform, dataSetTransformDto); + dataSetTransformDtoList.add(dataSetTransformDto); + }); + dto.setDataSetTransformDtoList(dataSetTransformDtoList); - if (StringUtils.isNotBlank(dto.getCaseResult())) { - try { - JSONArray jsonArray = JSONArray.parseArray(dto.getCaseResult()); - JSONObject jsonObject = jsonArray.getJSONObject(0); - dto.setSetParamList(jsonObject.keySet()); - } - catch (Exception e) { - log.error("error", e); - } - } - return dto; - } + if (StringUtils.isNotBlank(dto.getCaseResult())) { + try { + JSONArray jsonArray = JSONArray.parseArray(dto.getCaseResult()); + JSONObject jsonObject = jsonArray.getJSONObject(0); + dto.setSetParamList(jsonObject.keySet()); + } catch (Exception e) { + log.error("error",e); + } + } + return dto; + } - /** - * 新增数据集、添加查询参数、数据转换 - * @param dto - */ - @Override - @Transactional - public DataSetDto insertSet(DataSetDto dto) { - List dataSetParamDtoList = dto.getDataSetParamDtoList(); - List dataSetTransformDtoList = dto.getDataSetTransformDtoList(); - // 1.新增数据集 - DataSet dataSet = new DataSet(); - BeanUtils.copyProperties(dto, dataSet); - insert(dataSet); - // 2.更新查询参数 - dataSetParamBatch(dataSetParamDtoList, dto.getSetCode()); + /** + * 新增数据集、添加查询参数、数据转换 + * + * @param dto + */ + @Override + @Transactional + public DataSetDto insertSet(DataSetDto dto) { + List dataSetParamDtoList = dto.getDataSetParamDtoList(); + List dataSetTransformDtoList = dto.getDataSetTransformDtoList(); - // 3.更新数据转换 - dataSetTransformBatch(dataSetTransformDtoList, dto.getSetCode()); - return dto; - } + //1.新增数据集 + DataSet dataSet = new DataSet(); + BeanUtils.copyProperties(dto, dataSet); + insert(dataSet); + //2.更新查询参数 + dataSetParamBatch(dataSetParamDtoList, dto.getSetCode()); - /** - * 更新数据集、添加查询参数、数据转换 - * @param dto - */ - @Override - @Transactional - public void updateSet(DataSetDto dto) { - List dataSetParamDtoList = dto.getDataSetParamDtoList(); - List dataSetTransformDtoList = dto.getDataSetTransformDtoList(); - // 1.更新数据集 - DataSet dataSet = new DataSet(); - BeanUtils.copyProperties(dto, dataSet); - update(dataSet); + //3.更新数据转换 + dataSetTransformBatch(dataSetTransformDtoList, dto.getSetCode()); + return dto; + } - // 2.更新查询参数 - dataSetParamBatch(dataSetParamDtoList, dto.getSetCode()); + /** + * 更新数据集、添加查询参数、数据转换 + * + * @param dto + */ + @Override + @Transactional + public void updateSet(DataSetDto dto) { + List dataSetParamDtoList = dto.getDataSetParamDtoList(); + List dataSetTransformDtoList = dto.getDataSetTransformDtoList(); + //1.更新数据集 + DataSet dataSet = new DataSet(); + BeanUtils.copyProperties(dto, dataSet); + update(dataSet); - // 3.更新数据转换 - dataSetTransformBatch(dataSetTransformDtoList, dto.getSetCode()); - } + //2.更新查询参数 + dataSetParamBatch(dataSetParamDtoList, dto.getSetCode()); - /** - * 删除数据集、添加查询参数、数据转换 - * @param id - */ - @Override - public void deleteSet(Long id) { - DataSet dataSet = selectOne(id); - String setCode = dataSet.getSetCode(); - // 1.删除数据集 - deleteById(id); + //3.更新数据转换 + dataSetTransformBatch(dataSetTransformDtoList, dto.getSetCode()); + } - // 2.删除查询参数 - dataSetParamService.delete(new QueryWrapper().lambda().eq(DataSetParam::getSetCode, setCode)); - // 3.删除数据转换 - dataSetTransformService - .delete(new QueryWrapper().lambda().eq(DataSetTransform::getSetCode, setCode)); - } + /** + * 删除数据集、添加查询参数、数据转换 + * + * @param id + */ + @Override + public void deleteSet(Long id) { + DataSet dataSet = selectOne(id); + String setCode = dataSet.getSetCode(); + //1.删除数据集 + deleteById(id); - /** - * 获取数据 - * @param dto - * @return - */ - @Override - public OriginalDataDto getData(DataSetDto dto) { - OriginalDataDto originalDataDto = new OriginalDataDto(); - String setCode = dto.getSetCode(); - // 1.获取数据集、参数替换、数据转换 - DataSetDto dataSetDto = detailSet(setCode); - // 2.获取数据源 - DataSource dataSource = dataSourceService.selectOne("source_code", dataSetDto.getSourceCode()); - // 3.参数替换 - // 3.1参数校验 - log.debug("参数校验替换前:{}", dto.getContextData()); - boolean verification = dataSetParamService.verification(dataSetDto.getDataSetParamDtoList(), - dto.getContextData()); - if (!verification) { - throw BusinessExceptionBuilder.build(ResponseCode.RULE_FIELDS_CHECK_ERROR); - } - String dynSentence = dataSetParamService.transform(dto.getContextData(), dataSetDto.getDynSentence()); - log.debug("参数校验替换后:{}", dto.getContextData()); - // 4.获取数据 - DataSourceDto dataSourceDto = new DataSourceDto(); - BeanUtils.copyProperties(dataSource, dataSourceDto); - dataSourceDto.setDynSentence(dynSentence); - dataSourceDto.setContextData(dto.getContextData()); - // 获取total,判断contextData中是否传入分页参数 - if (null != dto.getContextData() && dto.getContextData().containsKey("pageNumber") - && dto.getContextData().containsKey("pageSize")) { - long total = dataSourceService.total(dataSourceDto, dto); - originalDataDto.setTotal(total); - } - List data = dataSourceService.execute(dataSourceDto); - // 5.数据转换 - List transform = dataSetTransformService.transform(dataSetDto.getDataSetTransformDtoList(), data); - originalDataDto.setData(transform); - return originalDataDto; - } + //2.删除查询参数 + dataSetParamService.delete( + new QueryWrapper() + .lambda() + .eq(DataSetParam::getSetCode, setCode) + ); - /** - * @param dto - * @return - */ - @Override - public OriginalDataDto testTransform(DataSetDto dto) { - OriginalDataDto originalDataDto = new OriginalDataDto(); - String sourceCode = dto.getSourceCode(); - // 1.获取数据源 - DataSource dataSource = dataSourceService.selectOne("source_code", sourceCode); - // 3.参数替换 - // 3.1参数校验 - boolean verification = dataSetParamService.verification(dto.getDataSetParamDtoList(), null); - if (!verification) { - throw BusinessExceptionBuilder.build(ResponseCode.RULE_FIELDS_CHECK_ERROR); - } + //3.删除数据转换 + dataSetTransformService.delete( + new QueryWrapper() + .lambda() + .eq(DataSetTransform::getSetCode, setCode) + ); + } - String dynSentence = dataSetParamService.transform(dto.getDataSetParamDtoList(), dto.getDynSentence()); - // 4.获取数据 - DataSourceDto dataSourceDto = new DataSourceDto(); - BeanUtils.copyProperties(dataSource, dataSourceDto); - dataSourceDto.setDynSentence(dynSentence); - dataSourceDto.setContextData(dto.getContextData()); + /** + * 获取数据 + * + * @param dto + * @return + */ + @Override + public OriginalDataDto getData(DataSetDto dto) { - // 获取total,判断DataSetParamDtoList中是否传入分页参数 - Map collect = dto.getDataSetParamDtoList().stream() - .collect(Collectors.toMap(DataSetParamDto::getParamName, DataSetParamDto::getSampleItem)); - if (collect.containsKey("pageNumber") && collect.containsKey("pageSize")) { - dto.setContextData(collect); - long total = dataSourceService.total(dataSourceDto, dto); - originalDataDto.setTotal(total); - } + OriginalDataDto originalDataDto = new OriginalDataDto(); + String setCode = dto.getSetCode(); + //1.获取数据集、参数替换、数据转换 + DataSetDto dataSetDto = detailSet(setCode); + String dynSentence = dataSetDto.getDynSentence(); + //2.获取数据源 + DataSource dataSource; + if (StringUtils.isNotBlank(dataSetDto.getSetType()) + && dataSetDto.getSetType().equals(SetTypeEnum.HTTP.getCodeValue())) { + //http不需要数据源,兼容已有的逻辑,将http所需要的数据塞进DataSource + dataSource = new DataSource(); + dataSource.setSourceConfig(dynSentence); + dataSource.setSourceType(JdbcConstants.HTTP); + String body = JSONObject.parseObject(dynSentence).getString("body"); + if (StringUtils.isNotBlank(body)) { + dynSentence = body; + }else { + dynSentence = "{}"; + } - List data = dataSourceService.execute(dataSourceDto); - // 5.数据转换 - List transform = dataSetTransformService.transform(dto.getDataSetTransformDtoList(), data); - originalDataDto.setData(transform); - return originalDataDto; - } + }else { + dataSource = dataSourceService.selectOne("source_code", dataSetDto.getSourceCode()); + } - /** - * 获取所有数据集 - * @return - */ - @Override - public List queryAllDataSet() { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.select(DataSet::getSetCode, DataSet::getSetName, DataSet::getSetDesc, DataSet::getId) - .eq(DataSet::getEnableFlag, Enabled.YES.getValue()); - wrapper.orderByDesc(DataSet::getUpdateTime); - return dataSetMapper.selectList(wrapper); - } + //3.参数替换 + //3.1参数校验 + log.debug("参数校验替换前:{}", dto.getContextData()); + boolean verification = dataSetParamService.verification(dataSetDto.getDataSetParamDtoList(), dto.getContextData()); + if (!verification) { + throw BusinessExceptionBuilder.build(ResponseCode.RULE_FIELDS_CHECK_ERROR); + } + dynSentence = dataSetParamService.transform(dto.getContextData(), dynSentence); + log.debug("参数校验替换后:{}", dto.getContextData()); + //4.获取数据 + DataSourceDto dataSourceDto = new DataSourceDto(); + BeanUtils.copyProperties(dataSource, dataSourceDto); + dataSourceDto.setDynSentence(dynSentence); + dataSourceDto.setContextData(dto.getContextData()); + //获取total,判断contextData中是否传入分页参数 + if (null != dto.getContextData() + && dto.getContextData().containsKey("pageNumber") + && dto.getContextData().containsKey("pageSize")) { + long total = dataSourceService.total(dataSourceDto, dto); + originalDataDto.setTotal(total); + } + List data = dataSourceService.execute(dataSourceDto); + //5.数据转换 + List transform = dataSetTransformService.transform(dataSetDto.getDataSetTransformDtoList(), data); + originalDataDto.setData(transform); + return originalDataDto; + } - public void dataSetParamBatch(List dataSetParamDtoList, String setCode) { - dataSetParamService.delete(new QueryWrapper().lambda().eq(DataSetParam::getSetCode, setCode)); - if (null == dataSetParamDtoList || dataSetParamDtoList.size() <= 0) { - return; - } - // List dataSetParamList = new ArrayList<>(); - dataSetParamDtoList.forEach(dataSetParamDto -> { - DataSetParam dataSetParam = new DataSetParam(); - BeanUtils.copyProperties(dataSetParamDto, dataSetParam); - dataSetParam.setSetCode(setCode); - // 不采用批量 - dataSetParamService.insert(dataSetParam); - }); + /** + * @param dto + * @return + */ + @Override + public OriginalDataDto testTransform(DataSetDto dto) { + String dynSentence = dto.getDynSentence(); - } + OriginalDataDto originalDataDto = new OriginalDataDto(); + String sourceCode = dto.getSourceCode(); + //1.获取数据源 + DataSource dataSource; + if (dto.getSetType().equals(SetTypeEnum.HTTP.getCodeValue())) { + //http不需要数据源,兼容已有的逻辑,将http所需要的数据塞进DataSource + dataSource = new DataSource(); + dataSource.setSourceConfig(dynSentence); + dataSource.setSourceType(JdbcConstants.HTTP); + String body = JSONObject.parseObject(dynSentence).getString("body"); + if (StringUtils.isNotBlank(body)) { + dynSentence = body; + }else { + dynSentence = "{}"; + } - public void dataSetTransformBatch(List dataSetTransformDtoList, String setCode) { - dataSetTransformService - .delete(new QueryWrapper().lambda().eq(DataSetTransform::getSetCode, setCode)); - if (null == dataSetTransformDtoList || dataSetTransformDtoList.size() <= 0) { - return; - } - // List dataSetTransformList = new ArrayList<>(); - for (int i = 0; i < dataSetTransformDtoList.size(); i++) { - DataSetTransform dataSetTransform = new DataSetTransform(); - BeanUtils.copyProperties(dataSetTransformDtoList.get(i), dataSetTransform); - dataSetTransform.setOrderNum(i + 1); - dataSetTransform.setSetCode(setCode); - // 不采用批量 - dataSetTransformService.insert(dataSetTransform); - } - } + }else { + dataSource = dataSourceService.selectOne("source_code", sourceCode); + } + + //3.参数替换 + //3.1参数校验 + boolean verification = dataSetParamService.verification(dto.getDataSetParamDtoList(), null); + if (!verification) { + throw BusinessExceptionBuilder.build(ResponseCode.RULE_FIELDS_CHECK_ERROR); + } + + dynSentence = dataSetParamService.transform(dto.getDataSetParamDtoList(), dynSentence); + //4.获取数据 + DataSourceDto dataSourceDto = new DataSourceDto(); + BeanUtils.copyProperties(dataSource, dataSourceDto); + dataSourceDto.setDynSentence(dynSentence); + dataSourceDto.setContextData(setContextData(dto.getDataSetParamDtoList())); + + //获取total,判断DataSetParamDtoList中是否传入分页参数 + Map collect = dto.getDataSetParamDtoList().stream().collect(Collectors.toMap(DataSetParamDto::getParamName, DataSetParamDto::getSampleItem)); + if (collect.containsKey("pageNumber") && collect.containsKey("pageSize")) { + dto.setContextData(collect); + long total = dataSourceService.total(dataSourceDto, dto); + originalDataDto.setTotal(total); + } + + List data = dataSourceService.execute(dataSourceDto); + //5.数据转换 + List transform = dataSetTransformService.transform(dto.getDataSetTransformDtoList(), data); + originalDataDto.setData(transform); + return originalDataDto; + } + + + /** + * 获取所有数据集 + * + * @return + */ + @Override + public List queryAllDataSet() { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.select(DataSet::getSetCode, DataSet::getSetName, DataSet::getSetDesc, DataSet::getId) + .eq(DataSet::getEnableFlag, Enabled.YES.getValue()); + wrapper.orderByDesc(DataSet::getUpdateTime); + return dataSetMapper.selectList(wrapper); + } + + public void dataSetParamBatch(List dataSetParamDtoList,String setCode){ + dataSetParamService.delete( + new QueryWrapper() + .lambda() + .eq(DataSetParam::getSetCode, setCode) + ); + if (null == dataSetParamDtoList || dataSetParamDtoList.size() <= 0) { + return; + } +// List dataSetParamList = new ArrayList<>(); + dataSetParamDtoList.forEach(dataSetParamDto -> { + DataSetParam dataSetParam = new DataSetParam(); + BeanUtils.copyProperties(dataSetParamDto, dataSetParam); + dataSetParam.setSetCode(setCode); + //不采用批量 + dataSetParamService.insert(dataSetParam); +// dataSetParamList.add(dataSetParam); + }); +// dataSetParamService.insertBatch(dataSetParamList); + + } + + public void dataSetTransformBatch(List dataSetTransformDtoList,String setCode){ + dataSetTransformService.delete( + new QueryWrapper() + .lambda() + .eq(DataSetTransform::getSetCode, setCode) + ); + if (null == dataSetTransformDtoList || dataSetTransformDtoList.size() <= 0) { + return; + } +// List dataSetTransformList = new ArrayList<>(); + for (int i = 0; i < dataSetTransformDtoList.size(); i++) { + DataSetTransform dataSetTransform = new DataSetTransform(); + BeanUtils.copyProperties(dataSetTransformDtoList.get(i), dataSetTransform); + dataSetTransform.setOrderNum(i + 1); + dataSetTransform.setSetCode(setCode); + //不采用批量 + dataSetTransformService.insert(dataSetTransform); +// dataSetTransformList.add(dataSetTransform); + } +// dataSetTransformService.insertBatch(dataSetTransformList); + } + + /** + * dataSetParamDtoList转map + * @param dataSetParamDtoList + * @return + */ + public Map setContextData(List dataSetParamDtoList){ + Map map = new HashMap<>(); + if (null != dataSetParamDtoList && dataSetParamDtoList.size() > 0) { + dataSetParamDtoList.forEach(dataSetParamDto -> map.put(dataSetParamDto.getParamName(), dataSetParamDto.getSampleItem())); + } + return map; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/DataSetParamController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/DataSetParamController.java index 9afa3a343..4a7e076e1 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/DataSetParamController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/DataSetParamController.java @@ -18,45 +18,44 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - * @desc 数据集动态参数 controller - * @website https://gitee.com/anji-plus/gaea - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ +* @desc 数据集动态参数 controller +* @website https://gitee.com/anji-plus/gaea +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ @RestController @Api(tags = "数据集动态参数管理") @RequestMapping("/dataSetParam") public class DataSetParamController extends GaeaBaseController { - @Autowired - private DataSetParamService dataSetParamService; + @Autowired + private DataSetParamService dataSetParamService; - @Override - public GaeaBaseService getService() { - return dataSetParamService; - } + @Override + public GaeaBaseService getService() { + return dataSetParamService; + } - @Override - public DataSetParam getEntity() { - return new DataSetParam(); - } + @Override + public DataSetParam getEntity() { + return new DataSetParam(); + } - @Override - public DataSetParamDto getDTO() { - return new DataSetParamDto(); - } - - /** - * 测试 查询参数是否正确 - * @param param - * @return - */ - @PostMapping("/verification") - public ResponseBean verification(@Validated @RequestBody DataSetParamValidationParam param) { - DataSetParamDto dto = new DataSetParamDto(); - dto.setSampleItem(param.getSampleItem()); - dto.setValidationRules(param.getValidationRules()); - return responseSuccessWithData(dataSetParamService.verification(dto)); - } + @Override + public DataSetParamDto getDTO() { + return new DataSetParamDto(); + } + /** + * 测试 查询参数是否正确 + * @param param + * @return + */ + @PostMapping("/verification") + public ResponseBean verification(@Validated @RequestBody DataSetParamValidationParam param) { + DataSetParamDto dto = new DataSetParamDto(); + dto.setSampleItem(param.getSampleItem()); + dto.setValidationRules(param.getValidationRules()); + return responseSuccessWithData(dataSetParamService.verification(dto)); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/dto/DataSetParamDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/dto/DataSetParamDto.java index 134e7ec74..81c5659f8 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/dto/DataSetParamDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/dto/DataSetParamDto.java @@ -6,42 +6,43 @@ import lombok.Data; import java.io.Serializable; + /** - * @description 数据集动态参数 dto - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ +* +* @description 数据集动态参数 dto +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ @Data public class DataSetParamDto extends GaeaBaseDTO implements Serializable { + /** 数据集编码 */ + private String setCode; - /** 数据集编码 */ - private String setCode; + /** 参数名 */ + private String paramName; - /** 参数名 */ - private String paramName; + /** 参数描述 */ + private String paramDesc; - /** 参数描述 */ - private String paramDesc; + /** 参数类型,字典= */ + private String paramType; - /** 参数类型,字典= */ - private String paramType; + /** 参数示例项 */ + private String sampleItem; - /** 参数示例项 */ - private String sampleItem; + /** 0--非必填 1--必填 DIC_NAME=REQUIRED_FLAG */ + private Integer requiredFlag; - /** 0--非必填 1--必填 DIC_NAME=REQUIRED_FLAG */ - private Integer requiredFlag; + /** js校验字段值规则,满足校验返回 true */ + private String validationRules; - /** js校验字段值规则,满足校验返回 true */ - private String validationRules; + /** 排序 */ + private Integer orderNum; - /** 排序 */ - private Integer orderNum; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; - - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamParam.java index 1228f9637..6ad9882d1 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamParam.java @@ -6,12 +6,12 @@ import lombok.Data; import java.io.Serializable; -/** - * @desc DataSetParam 数据集动态参数查询输入类 - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ -@Data -public class DataSetParamParam extends PageParam implements Serializable { +/** +* @desc DataSetParam 数据集动态参数查询输入类 +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ +@Data +public class DataSetParamParam extends PageParam implements Serializable{ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamValidationParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamValidationParam.java index e9fb4144d..d2d9c0e84 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamValidationParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/controller/param/DataSetParamValidationParam.java @@ -11,12 +11,12 @@ import java.io.Serializable; @Data public class DataSetParamValidationParam implements Serializable { - /** 参数示例项 */ - @NotBlank(message = "sampleItem not empty") - private String sampleItem; + /** 参数示例项 */ + @NotBlank(message = "sampleItem not empty") + private String sampleItem; - /** js校验字段值规则,满足校验返回 true */ - @NotBlank(message = "validationRules not empty") - private String validationRules; + /** js校验字段值规则,满足校验返回 true */ + @NotBlank(message = "validationRules not empty") + private String validationRules; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/DataSetParamMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/DataSetParamMapper.java index de3c635e8..c4f776c70 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/DataSetParamMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/DataSetParamMapper.java @@ -5,11 +5,10 @@ import com.anjiplus.template.gaea.business.modules.datasetparam.dao.entity.DataS import org.apache.ibatis.annotations.Mapper; /** - * DataSetParam Mapper - * - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ +* DataSetParam Mapper +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ @Mapper public interface DataSetParamMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/entity/DataSetParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/entity/DataSetParam.java index 022da663c..96a1648fc 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/entity/DataSetParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/dao/entity/DataSetParam.java @@ -7,42 +7,42 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 数据集动态参数 entity - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_data_set_param") +* @description 数据集动态参数 entity +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_data_set_param") @Data public class DataSetParam extends GaeaBaseEntity { + @ApiModelProperty(value = "数据集编码") + private String setCode; - @ApiModelProperty(value = "数据集编码") - private String setCode; + @ApiModelProperty(value = "参数名") + private String paramName; - @ApiModelProperty(value = "参数名") - private String paramName; + @ApiModelProperty(value = "参数描述") + private String paramDesc; - @ApiModelProperty(value = "参数描述") - private String paramDesc; + @ApiModelProperty(value = "参数类型,字典=") + private String paramType; - @ApiModelProperty(value = "参数类型,字典=") - private String paramType; + @ApiModelProperty(value = "参数示例项") + private String sampleItem; - @ApiModelProperty(value = "参数示例项") - private String sampleItem; + @ApiModelProperty(value = "0--非必填 1--必填 DIC_NAME=REQUIRED_FLAG") + private Integer requiredFlag; - @ApiModelProperty(value = "0--非必填 1--必填 DIC_NAME=REQUIRED_FLAG") - private Integer requiredFlag; + @ApiModelProperty(value = "js校验字段值规则,满足校验返回 true") + private String validationRules; - @ApiModelProperty(value = "js校验字段值规则,满足校验返回 true") - private String validationRules; + @ApiModelProperty(value = "排序") + private Integer orderNum; - @ApiModelProperty(value = "排序") - private Integer orderNum; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/DataSetParamService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/DataSetParamService.java index 028beab36..b8afe47c5 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/DataSetParamService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/DataSetParamService.java @@ -16,34 +16,36 @@ import java.util.Map; **/ public interface DataSetParamService extends GaeaBaseService { - /** - * 参数替换 - * @param contextData - * @param dynSentence - * @return - */ - String transform(Map contextData, String dynSentence); + /** + * 参数替换 + * + * @param contextData + * @param dynSentence + * @return + */ + String transform(Map contextData, String dynSentence); - /** - * 参数替换 - * @param dataSetParamDtoList - * @param dynSentence - * @return - */ - String transform(List dataSetParamDtoList, String dynSentence); + /** + * 参数替换 + * + * @param dataSetParamDtoList + * @param dynSentence + * @return + */ + String transform(List dataSetParamDtoList, String dynSentence); - /** - * 参数校验 js脚本 - * @param dataSetParamDto - * @return - */ - Object verification(DataSetParamDto dataSetParamDto); - - /** - * 参数校验 js脚本 - * @param dataSetParamDtoList - * @return - */ - boolean verification(List dataSetParamDtoList, Map contextData); + /** + * 参数校验 js脚本 + * @param dataSetParamDto + * @return + */ + Object verification(DataSetParamDto dataSetParamDto); + /** + * 参数校验 js脚本 + * + * @param dataSetParamDtoList + * @return + */ + boolean verification(List dataSetParamDtoList, Map contextData); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/impl/DataSetParamServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/impl/DataSetParamServiceImpl.java index a4f98e88b..e4679b879 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/impl/DataSetParamServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/service/impl/DataSetParamServiceImpl.java @@ -3,12 +3,12 @@ package com.anjiplus.template.gaea.business.modules.datasetparam.service.impl; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anji.plus.gaea.exception.BusinessExceptionBuilder; -import com.anjiplus.template.gaea.business.code.ResponseCode; import com.anjiplus.template.gaea.business.modules.datasetparam.controller.dto.DataSetParamDto; import com.anjiplus.template.gaea.business.modules.datasetparam.dao.DataSetParamMapper; import com.anjiplus.template.gaea.business.modules.datasetparam.dao.entity.DataSetParam; import com.anjiplus.template.gaea.business.modules.datasetparam.service.DataSetParamService; import com.anjiplus.template.gaea.business.modules.datasetparam.util.ParamsResolverHelper; +import com.anjiplus.template.gaea.business.code.ResponseCode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -23,135 +23,135 @@ import java.util.List; import java.util.Map; /** - * @desc DataSetParam 数据集动态参数服务实现 - * @author Raod - * @date 2021-03-18 12:12:33.108033200 - **/ +* @desc DataSetParam 数据集动态参数服务实现 +* @author Raod +* @date 2021-03-18 12:12:33.108033200 +**/ @Service -// @RequiredArgsConstructor +//@RequiredArgsConstructor @Slf4j public class DataSetParamServiceImpl implements DataSetParamService { - private ScriptEngine engine; + private ScriptEngine engine; + { + ScriptEngineManager manager = new ScriptEngineManager(); + engine = manager.getEngineByName("JavaScript"); + } - { - ScriptEngineManager manager = new ScriptEngineManager(); - engine = manager.getEngineByName("JavaScript"); - } + @Autowired + private DataSetParamMapper dataSetParamMapper; - @Autowired - private DataSetParamMapper dataSetParamMapper; + @Override + public GaeaBaseMapper getMapper() { + return dataSetParamMapper; + } - @Override - public GaeaBaseMapper getMapper() { - return dataSetParamMapper; - } + /** + * 参数替换 + * + * @param contextData + * @param dynSentence + * @return + */ + @Override + public String transform(Map contextData, String dynSentence) { + if (StringUtils.isBlank(dynSentence)) { + return dynSentence; + } + if (dynSentence.contains("${")) { + dynSentence = ParamsResolverHelper.resolveParams(contextData, dynSentence); + } + if (dynSentence.contains("${")) { + throw BusinessExceptionBuilder.build(ResponseCode.INCOMPLETE_PARAMETER_REPLACEMENT_VALUES, dynSentence); + } + return dynSentence; + } - /** - * 参数替换 - * @param contextData - * @param dynSentence - * @return - */ - @Override - public String transform(Map contextData, String dynSentence) { - if (StringUtils.isBlank(dynSentence)) { - return dynSentence; - } - if (dynSentence.contains("${")) { - dynSentence = ParamsResolverHelper.resolveParams(contextData, dynSentence); - } - if (dynSentence.contains("${")) { - throw BusinessExceptionBuilder.build(ResponseCode.INCOMPLETE_PARAMETER_REPLACEMENT_VALUES, dynSentence); - } - return dynSentence; - } + /** + * 参数替换 + * + * @param dataSetParamDtoList + * @param dynSentence + * @return + */ + @Override + public String transform(List dataSetParamDtoList, String dynSentence) { + Map contextData = new HashMap<>(); + if (null == dataSetParamDtoList || dataSetParamDtoList.size() <= 0) { + return dynSentence; + } + dataSetParamDtoList.forEach(dataSetParamDto -> { + contextData.put(dataSetParamDto.getParamName(), dataSetParamDto.getSampleItem()); + }); + return transform(contextData, dynSentence); + } - /** - * 参数替换 - * @param dataSetParamDtoList - * @param dynSentence - * @return - */ - @Override - public String transform(List dataSetParamDtoList, String dynSentence) { - Map contextData = new HashMap<>(); - if (null == dataSetParamDtoList || dataSetParamDtoList.size() <= 0) { - return dynSentence; - } - dataSetParamDtoList.forEach(dataSetParamDto -> { - contextData.put(dataSetParamDto.getParamName(), dataSetParamDto.getSampleItem()); - }); - return transform(contextData, dynSentence); - } + /** + * 参数校验 js脚本 + * + * @param dataSetParamDto + * @return + */ + @Override + public Object verification(DataSetParamDto dataSetParamDto) { - /** - * 参数校验 js脚本 - * @param dataSetParamDto - * @return - */ - @Override - public Object verification(DataSetParamDto dataSetParamDto) { + String validationRules = dataSetParamDto.getValidationRules(); + if (StringUtils.isNotBlank(validationRules)) { + try { + engine.eval(validationRules); + if(engine instanceof Invocable){ + Invocable invocable = (Invocable) engine; + Object exec = invocable.invokeFunction("verification", dataSetParamDto); + ObjectMapper objectMapper = new ObjectMapper(); + if (exec instanceof Boolean) { + return objectMapper.convertValue(exec, Boolean.class); + }else { + return objectMapper.convertValue(exec, String.class); + } - String validationRules = dataSetParamDto.getValidationRules(); - if (StringUtils.isNotBlank(validationRules)) { - try { - engine.eval(validationRules); - if (engine instanceof Invocable) { - Invocable invocable = (Invocable) engine; - Object exec = invocable.invokeFunction("verification", dataSetParamDto); - ObjectMapper objectMapper = new ObjectMapper(); - if (exec instanceof Boolean) { - return objectMapper.convertValue(exec, Boolean.class); - } - else { - return objectMapper.convertValue(exec, String.class); - } + } - } + } catch (Exception ex) { + throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_JS_ERROR, ex.getMessage()); + } - } - catch (Exception ex) { - throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_JS_ERROR, ex.getMessage()); - } + } + return true; + } - } - return true; - } + /** + * 参数校验 js脚本 + * + * @param dataSetParamDtoList + * @return + */ + @Override + public boolean verification(List dataSetParamDtoList, Map contextData) { + if (null == dataSetParamDtoList || dataSetParamDtoList.size() == 0) { + return true; + } - /** - * 参数校验 js脚本 - * @param dataSetParamDtoList - * @return - */ - @Override - public boolean verification(List dataSetParamDtoList, Map contextData) { - if (null == dataSetParamDtoList || dataSetParamDtoList.size() == 0) { - return true; - } + for (DataSetParamDto dataSetParamDto : dataSetParamDtoList) { + if (null != contextData) { + String value = contextData.getOrDefault(dataSetParamDto.getParamName(), "").toString(); + dataSetParamDto.setSampleItem(value); + } - for (DataSetParamDto dataSetParamDto : dataSetParamDtoList) { - if (null != contextData) { - String value = contextData.getOrDefault(dataSetParamDto.getParamName(), "").toString(); - dataSetParamDto.setSampleItem(value); - } + Object verification = verification(dataSetParamDto); + if (verification instanceof Boolean) { + if (!(Boolean) verification) { + return false; + } + }else { + //将得到的值重新赋值给contextData + if (null != contextData) { + contextData.put(dataSetParamDto.getParamName(), verification); + } + dataSetParamDto.setSampleItem(verification.toString()); + } - Object verification = verification(dataSetParamDto); - if (verification instanceof Boolean) { - if (!(Boolean) verification) { - return false; - } - } - else { - // 将得到的值重新赋值给contextData - if (null != contextData) { - contextData.put(dataSetParamDto.getParamName(), verification); - } - dataSetParamDto.setSampleItem(verification.toString()); - } - - } - return true; - } + } + return true; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/util/ParamsResolverHelper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/util/ParamsResolverHelper.java index 73e25443f..51aad489e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/util/ParamsResolverHelper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasetparam/util/ParamsResolverHelper.java @@ -12,28 +12,25 @@ import java.util.regex.Pattern; * Created by raodeming on 2021/3/23. */ public class ParamsResolverHelper { + private static String placeholderPrefix = "${"; + private static String placeholderSuffix = "}"; + private static PropertyPlaceholderHelper helper = + new PropertyPlaceholderHelper(placeholderPrefix, placeholderSuffix); - private static String placeholderPrefix = "${"; + public static String resolveParams(final Map param, String con) { + con = helper.replacePlaceholders(con, (key -> param.get(key) + "")); + return con; + } - private static String placeholderSuffix = "}"; + private static Pattern key = Pattern.compile("\\$\\{(.*?)\\}"); - private static PropertyPlaceholderHelper helper = new PropertyPlaceholderHelper(placeholderPrefix, - placeholderSuffix); - - public static String resolveParams(final Map param, String con) { - con = helper.replacePlaceholders(con, (key -> param.get(key) + "")); - return con; - } - - private static Pattern key = Pattern.compile("\\$\\{(.*?)\\}"); - - public static List findParamKeys(String con) { - Matcher m = key.matcher(con); - List ret = new ArrayList(); - while (m.find()) { - ret.add(m.group(1)); - } - return ret; - } + public static List findParamKeys(String con) { + Matcher m = key.matcher(con); + List ret = new ArrayList(); + while (m.find()) { + ret.add(m.group(1)); + } + return ret; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/DataSetTransformController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/DataSetTransformController.java index f9b583b13..047708cae 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/DataSetTransformController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/DataSetTransformController.java @@ -13,33 +13,32 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - * @desc 数据集数据转换 controller - * @website https://gitee.com/anji-plus/gaea - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ +* @desc 数据集数据转换 controller +* @website https://gitee.com/anji-plus/gaea +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ @RestController @Api(tags = "数据集数据转换管理") @RequestMapping("/dataSetTransform") -public class DataSetTransformController - extends GaeaBaseController { +public class DataSetTransformController extends GaeaBaseController { - @Autowired - private DataSetTransformService dataSetTransformService; + @Autowired + private DataSetTransformService dataSetTransformService; - @Override - public GaeaBaseService getService() { - return dataSetTransformService; - } + @Override + public GaeaBaseService getService() { + return dataSetTransformService; + } - @Override - public DataSetTransform getEntity() { - return new DataSetTransform(); - } + @Override + public DataSetTransform getEntity() { + return new DataSetTransform(); + } - @Override - public DataSetTransformDto getDTO() { - return new DataSetTransformDto(); - } + @Override + public DataSetTransformDto getDTO() { + return new DataSetTransformDto(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/dto/DataSetTransformDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/dto/DataSetTransformDto.java index f66bdb197..28db676f1 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/dto/DataSetTransformDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/dto/DataSetTransformDto.java @@ -6,30 +6,31 @@ import lombok.Data; import java.io.Serializable; + /** - * @description 数据集数据转换 dto - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ +* +* @description 数据集数据转换 dto +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ @Data public class DataSetTransformDto extends GaeaBaseDTO implements Serializable { + /** 数据集编码 */ + private String setCode; - /** 数据集编码 */ - private String setCode; + /** 数据转换类型,DIC_NAME=TRANSFORM_TYPE; js,javaBean,字典转换 */ + private String transformType; - /** 数据转换类型,DIC_NAME=TRANSFORM_TYPE; js,javaBean,字典转换 */ - private String transformType; + /** 数据转换script,处理逻辑 */ + private String transformScript; - /** 数据转换script,处理逻辑 */ - private String transformScript; + /** 排序,执行数据转换顺序 */ + private Integer orderNum; - /** 排序,执行数据转换顺序 */ - private Integer orderNum; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; - - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/param/DataSetTransformParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/param/DataSetTransformParam.java index 8122d26ec..07ec30a06 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/param/DataSetTransformParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/controller/param/DataSetTransformParam.java @@ -6,12 +6,12 @@ import lombok.Data; import java.io.Serializable; -/** - * @desc DataSetTransform 数据集数据转换查询输入类 - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ -@Data -public class DataSetTransformParam extends PageParam implements Serializable { +/** +* @desc DataSetTransform 数据集数据转换查询输入类 +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ +@Data +public class DataSetTransformParam extends PageParam implements Serializable{ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/DataSetTransformMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/DataSetTransformMapper.java index d0be38afd..209303b7f 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/DataSetTransformMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/DataSetTransformMapper.java @@ -5,11 +5,10 @@ import com.anjiplus.template.gaea.business.modules.datasettransform.dao.entity.D import org.apache.ibatis.annotations.Mapper; /** - * DataSetTransform Mapper - * - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ +* DataSetTransform Mapper +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ @Mapper public interface DataSetTransformMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/entity/DataSetTransform.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/entity/DataSetTransform.java index a3ef052de..e81ad2934 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/entity/DataSetTransform.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/dao/entity/DataSetTransform.java @@ -7,30 +7,30 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 数据集数据转换 entity - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_data_set_transform") +* @description 数据集数据转换 entity +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_data_set_transform") @Data public class DataSetTransform extends GaeaBaseEntity { + @ApiModelProperty(value = "数据集编码") + private String setCode; - @ApiModelProperty(value = "数据集编码") - private String setCode; + @ApiModelProperty(value = "数据转换类型,DIC_NAME=TRANSFORM_TYPE; js,javaBean,字典转换") + private String transformType; - @ApiModelProperty(value = "数据转换类型,DIC_NAME=TRANSFORM_TYPE; js,javaBean,字典转换") - private String transformType; + @ApiModelProperty(value = "数据转换script,处理逻辑") + private String transformScript; - @ApiModelProperty(value = "数据转换script,处理逻辑") - private String transformScript; + @ApiModelProperty(value = "排序,执行数据转换顺序") + private Integer orderNum; - @ApiModelProperty(value = "排序,执行数据转换顺序") - private Integer orderNum; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/DataSetTransformService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/DataSetTransformService.java index 5c8fac9d0..92a3bb82a 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/DataSetTransformService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/DataSetTransformService.java @@ -10,12 +10,12 @@ import com.anjiplus.template.gaea.business.modules.datasettransform.dao.entity.D import java.util.List; /** - * @desc DataSetTransform 数据集数据转换服务接口 - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ +* @desc DataSetTransform 数据集数据转换服务接口 +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ public interface DataSetTransformService extends GaeaBaseService { - List transform(List dataSetTransformDtoList, List data); + List transform(List dataSetTransformDtoList, List data); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/TransformStrategy.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/TransformStrategy.java index a3ba2aed1..ff8f35f8e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/TransformStrategy.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/TransformStrategy.java @@ -9,19 +9,17 @@ import java.util.List; * Created by raodeming on 2021/3/23. */ public interface TransformStrategy { + /** + * 数据清洗转换 类型 + * @return + */ + String type(); - /** - * 数据清洗转换 类型 - * @return - */ - String type(); - - /*** - * 清洗转换算法接口 - * @param def - * @param data - * @return - */ - List transform(DataSetTransformDto def, List data); - + /*** + * 清洗转换算法接口 + * @param def + * @param data + * @return + */ + List transform(DataSetTransformDto def, List data); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DataSetTransformServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DataSetTransformServiceImpl.java index 1f49dcbf8..ec2ca5b5b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DataSetTransformServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DataSetTransformServiceImpl.java @@ -20,54 +20,52 @@ import java.util.List; import java.util.Map; /** - * @desc DataSetTransform 数据集数据转换服务实现 - * @author Raod - * @date 2021-03-18 12:13:15.591309400 - **/ +* @desc DataSetTransform 数据集数据转换服务实现 +* @author Raod +* @date 2021-03-18 12:13:15.591309400 +**/ @Service -// @RequiredArgsConstructor +//@RequiredArgsConstructor public class DataSetTransformServiceImpl implements DataSetTransformService, InitializingBean, ApplicationContextAware { - private final Map queryServiceImplMap = new HashMap<>(); + private final Map queryServiceImplMap = new HashMap<>(); + private ApplicationContext applicationContext; - private ApplicationContext applicationContext; + @Autowired + private DataSetTransformMapper dataSetTransformMapper; - @Autowired - private DataSetTransformMapper dataSetTransformMapper; + @Override + public GaeaBaseMapper getMapper() { + return dataSetTransformMapper; + } - @Override - public GaeaBaseMapper getMapper() { - return dataSetTransformMapper; - } + public TransformStrategy getTarget(String type) { + return queryServiceImplMap.get(type); + } - public TransformStrategy getTarget(String type) { - return queryServiceImplMap.get(type); - } + @Override + public void afterPropertiesSet() { + Map beanMap = applicationContext.getBeansOfType(TransformStrategy.class); + //遍历该接口的所有实现,将其放入map中 + for (TransformStrategy serviceImpl : beanMap.values()) { + queryServiceImplMap.put(serviceImpl.type(), serviceImpl); + } + } - @Override - public void afterPropertiesSet() { - Map beanMap = applicationContext.getBeansOfType(TransformStrategy.class); - // 遍历该接口的所有实现,将其放入map中 - for (TransformStrategy serviceImpl : beanMap.values()) { - queryServiceImplMap.put(serviceImpl.type(), serviceImpl); - } - } + @Override + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + } - @Override - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { - this.applicationContext = applicationContext; - } - - @Override - public List transform(List dataSetTransformDtoList, List data) { - if (dataSetTransformDtoList == null || dataSetTransformDtoList.size() <= 0) { - return data; - } - - for (DataSetTransformDto dataSetTransformDto : dataSetTransformDtoList) { - data = getTarget(dataSetTransformDto.getTransformType()).transform(dataSetTransformDto, data); - } - return data; - } + @Override + public List transform(List dataSetTransformDtoList, List data) { + if (dataSetTransformDtoList == null || dataSetTransformDtoList.size() <= 0) { + return data; + } + for (DataSetTransformDto dataSetTransformDto : dataSetTransformDtoList) { + data = getTarget(dataSetTransformDto.getTransformType()).transform(dataSetTransformDto, data); + } + return data; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DictTransformServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DictTransformServiceImpl.java index f3280abf8..c7a583904 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DictTransformServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/DictTransformServiceImpl.java @@ -11,45 +11,46 @@ import java.util.List; import java.util.Set; /** - * 字典转换 Created by raodeming on 2021/3/29. + * 字典转换 + * Created by raodeming on 2021/3/29. */ @Component @Slf4j public class DictTransformServiceImpl implements TransformStrategy { - /** - * 数据清洗转换 类型 - * @return - */ - @Override - public String type() { - return "dict"; - } + /** + * 数据清洗转换 类型 + * + * @return + */ + @Override + public String type() { + return "dict"; + } - /*** - * 清洗转换算法接口 - * @param def - * @param data - * @return - */ - @Override - public List transform(DataSetTransformDto def, List data) { - String transformScript = def.getTransformScript(); - if (StringUtils.isBlank(transformScript)) { - return data; - } - JSONObject jsonObject = JSONObject.parseObject(transformScript); - Set keys = jsonObject.keySet(); - - data.forEach(dataDetail -> dataDetail.forEach((key, value) -> { - if (keys.contains(key)) { - String string = jsonObject.getJSONObject(key).getString(value.toString()); - if (StringUtils.isNotBlank(string)) { - dataDetail.put(key, string); - } - } - })); - return data; - } + /*** + * 清洗转换算法接口 + * @param def + * @param data + * @return + */ + @Override + public List transform(DataSetTransformDto def, List data) { + String transformScript = def.getTransformScript(); + if (StringUtils.isBlank(transformScript)) { + return data; + } + JSONObject jsonObject = JSONObject.parseObject(transformScript); + Set keys = jsonObject.keySet(); + data.forEach(dataDetail -> dataDetail.forEach((key, value) -> { + if (keys.contains(key)) { + String string = jsonObject.getJSONObject(key).getString(value.toString()); + if (StringUtils.isNotBlank(string)) { + dataDetail.put(key, string); + } + } + })); + return data; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java index 70d939f76..082a2796b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasettransform/service/impl/JsTransformServiceImpl.java @@ -5,6 +5,7 @@ import com.anji.plus.gaea.exception.BusinessExceptionBuilder; import com.anjiplus.template.gaea.business.code.ResponseCode; import com.anjiplus.template.gaea.business.modules.datasettransform.controller.dto.DataSetTransformDto; import com.anjiplus.template.gaea.business.modules.datasettransform.service.TransformStrategy; +import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -20,47 +21,45 @@ import java.util.List; @Slf4j public class JsTransformServiceImpl implements TransformStrategy { - private ScriptEngine engine; + private ScriptEngine engine; + { + ScriptEngineManager manager = new ScriptEngineManager(); + engine = manager.getEngineByName("JavaScript"); + } - { - ScriptEngineManager manager = new ScriptEngineManager(); - engine = manager.getEngineByName("JavaScript"); - } + /** + * 数据清洗转换 类型 + * + * @return + */ + @Override + public String type() { + return "js"; + } - /** - * 数据清洗转换 类型 - * @return - */ - @Override - public String type() { - return "js"; - } + /*** + * 清洗转换算法接口 + * @param def + * @param data + * @return + */ + @Override + public List transform(DataSetTransformDto def, List data) { + return getValueFromJs(def,data); + } - /*** - * 清洗转换算法接口 - * @param def - * @param data - * @return - */ - @Override - public List transform(DataSetTransformDto def, List data) { - return getValueFromJs(def, data); - } - - private List getValueFromJs(DataSetTransformDto def, List data) { - String js = def.getTransformScript(); - try { - engine.eval(js); - if (engine instanceof Invocable) { - Invocable invocable = (Invocable) engine; - return (List) invocable.invokeFunction("dataTransform", data); - } - - } - catch (Exception ex) { - throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_JS_ERROR, ex.getMessage()); - } - return null; - } + private List getValueFromJs(DataSetTransformDto def, List data) { + String js = def.getTransformScript(); + try { + engine.eval(js); + if(engine instanceof Invocable){ + Invocable invocable = (Invocable) engine; + return (List) invocable.invokeFunction("dataTransform", data); + } + } catch (Exception ex) { + throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_JS_ERROR, ex.getMessage()); + } + return null; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientConfig.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientConfig.java index 7fa7ad9bb..e1c8f2b66 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientConfig.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientConfig.java @@ -47,168 +47,168 @@ import java.util.*; @Configuration @Slf4j public class HttpClientConfig { + @Autowired + private HttpClientPoolConfig httpClientPoolConfig; - @Autowired - private HttpClientPoolConfig httpClientPoolConfig; + /** + * 创建HTTP客户端工厂 + */ + @Bean(name = "clientHttpRequestFactory") + public ClientHttpRequestFactory clientHttpRequestFactory() { + /** + * maxTotalConnection 和 maxConnectionPerRoute 必须要配 + */ + if (httpClientPoolConfig.getMaxTotalConnect() <= 0) { + throw new IllegalArgumentException("invalid maxTotalConnection: " + httpClientPoolConfig.getMaxTotalConnect()); + } + if (httpClientPoolConfig.getMaxConnectPerRoute() <= 0) { + throw new IllegalArgumentException("invalid maxConnectionPerRoute: " + httpClientPoolConfig.getMaxConnectPerRoute()); + } + HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient()); + // 连接超时 + clientHttpRequestFactory.setConnectTimeout(httpClientPoolConfig.getConnectTimeout()); + // 数据读取超时时间,即SocketTimeout + clientHttpRequestFactory.setReadTimeout(httpClientPoolConfig.getReadTimeout()); + // 从连接池获取请求连接的超时时间,不宜过长,必须设置,比如连接不够用时,时间过长将是灾难性的 + clientHttpRequestFactory.setConnectionRequestTimeout(httpClientPoolConfig.getConnectionRequestTimout()); + return clientHttpRequestFactory; + } - /** - * 创建HTTP客户端工厂 - */ - @Bean(name = "clientHttpRequestFactory") - public ClientHttpRequestFactory clientHttpRequestFactory() { - /** - * maxTotalConnection 和 maxConnectionPerRoute 必须要配 - */ - if (httpClientPoolConfig.getMaxTotalConnect() <= 0) { - throw new IllegalArgumentException( - "invalid maxTotalConnection: " + httpClientPoolConfig.getMaxTotalConnect()); - } - if (httpClientPoolConfig.getMaxConnectPerRoute() <= 0) { - throw new IllegalArgumentException( - "invalid maxConnectionPerRoute: " + httpClientPoolConfig.getMaxConnectPerRoute()); - } - HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory( - httpClient()); - // 连接超时 - clientHttpRequestFactory.setConnectTimeout(httpClientPoolConfig.getConnectTimeout()); - // 数据读取超时时间,即SocketTimeout - clientHttpRequestFactory.setReadTimeout(httpClientPoolConfig.getReadTimeout()); - // 从连接池获取请求连接的超时时间,不宜过长,必须设置,比如连接不够用时,时间过长将是灾难性的 - clientHttpRequestFactory.setConnectionRequestTimeout(httpClientPoolConfig.getConnectionRequestTimout()); - return clientHttpRequestFactory; - } + /** + * 初始化RestTemplate,并加入spring的Bean工厂,由spring统一管理 + */ + @Bean(name = "dataSourceRestTemplate") + public RestTemplate restTemplate(@Qualifier("clientHttpRequestFactory") ClientHttpRequestFactory factory) { + return createRestTemplate(factory); + } - /** - * 初始化RestTemplate,并加入spring的Bean工厂,由spring统一管理 - */ - @Bean(name = "dataSourceRestTemplate") - public RestTemplate restTemplate(@Qualifier("clientHttpRequestFactory") ClientHttpRequestFactory factory) { - return createRestTemplate(factory); - } + /** + * 配置httpClient + * + * @return + */ + @Bean + public HttpClient httpClient() { + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); + try { + //设置信任ssl访问 + SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, (arg0, arg1) -> true).build(); - /** - * 配置httpClient - * @return - */ - @Bean - public HttpClient httpClient() { - HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); - try { - // 设置信任ssl访问 - SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, (arg0, arg1) -> true).build(); + httpClientBuilder.setSSLContext(sslContext); + HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE; + SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, hostnameVerifier); + Registry socketFactoryRegistry = RegistryBuilder.create() + // 注册http和https请求 + .register("http", PlainConnectionSocketFactory.getSocketFactory()) + .register("https", sslConnectionSocketFactory).build(); - httpClientBuilder.setSSLContext(sslContext); - HostnameVerifier hostnameVerifier = NoopHostnameVerifier.INSTANCE; - SSLConnectionSocketFactory sslConnectionSocketFactory = new SSLConnectionSocketFactory(sslContext, - hostnameVerifier); - Registry socketFactoryRegistry = RegistryBuilder.create() - // 注册http和https请求 - .register("http", PlainConnectionSocketFactory.getSocketFactory()) - .register("https", sslConnectionSocketFactory).build(); + //使用Httpclient连接池的方式配置(推荐),同时支持netty,okHttp以及其他http框架 + PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager(socketFactoryRegistry); + // 最大连接数 + poolingHttpClientConnectionManager.setMaxTotal(httpClientPoolConfig.getMaxTotalConnect()); + // 同路由并发数 + poolingHttpClientConnectionManager.setDefaultMaxPerRoute(httpClientPoolConfig.getMaxConnectPerRoute()); + //配置连接池 + httpClientBuilder.setConnectionManager(poolingHttpClientConnectionManager); + // 重试次数 + httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(httpClientPoolConfig.getRetryTimes(), true)); - // 使用Httpclient连接池的方式配置(推荐),同时支持netty,okHttp以及其他http框架 - PoolingHttpClientConnectionManager poolingHttpClientConnectionManager = new PoolingHttpClientConnectionManager( - socketFactoryRegistry); - // 最大连接数 - poolingHttpClientConnectionManager.setMaxTotal(httpClientPoolConfig.getMaxTotalConnect()); - // 同路由并发数 - poolingHttpClientConnectionManager.setDefaultMaxPerRoute(httpClientPoolConfig.getMaxConnectPerRoute()); - // 配置连接池 - httpClientBuilder.setConnectionManager(poolingHttpClientConnectionManager); - // 重试次数 - httpClientBuilder - .setRetryHandler(new DefaultHttpRequestRetryHandler(httpClientPoolConfig.getRetryTimes(), true)); + //设置默认请求头 + List
headers = getDefaultHeaders(); + httpClientBuilder.setDefaultHeaders(headers); + //设置长连接保持策略 + httpClientBuilder.setKeepAliveStrategy(connectionKeepAliveStrategy()); + return httpClientBuilder.build(); + } catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException e) { + log.error("初始化HTTP连接池出错", e); + } + return null; + } - // 设置默认请求头 - List
headers = getDefaultHeaders(); - httpClientBuilder.setDefaultHeaders(headers); - // 设置长连接保持策略 - httpClientBuilder.setKeepAliveStrategy(connectionKeepAliveStrategy()); - return httpClientBuilder.build(); - } - catch (KeyManagementException | NoSuchAlgorithmException | KeyStoreException e) { - log.error("初始化HTTP连接池出错", e); - } - return null; - } - /** - * 配置长连接保持策略 - * @return - */ - public ConnectionKeepAliveStrategy connectionKeepAliveStrategy() { - return (response, context) -> { - // Honor 'keep-alive' header - HeaderElementIterator it = new BasicHeaderElementIterator(response.headerIterator(HTTP.CONN_KEEP_ALIVE)); - while (it.hasNext()) { - HeaderElement he = it.nextElement(); - log.info("HeaderElement:{}", JSON.toJSONString(he)); - String param = he.getName(); - String value = he.getValue(); - if (value != null && "timeout".equalsIgnoreCase(param)) { - try { - return Long.parseLong(value) * 1000; - } - catch (NumberFormatException ignore) { - log.error("解析长连接过期时间异常", ignore); - } - } - } - HttpHost target = (HttpHost) context.getAttribute(HttpClientContext.HTTP_TARGET_HOST); - // 如果请求目标地址,单独配置了长连接保持时间,使用该配置 - Optional> any = Optional - .ofNullable(httpClientPoolConfig.getKeepAliveTargetHost()).orElseGet(HashMap::new).entrySet() - .stream().filter(e -> e.getKey().equalsIgnoreCase(target.getHostName())).findAny(); - // 否则使用默认长连接保持时间 - return any.map(en -> en.getValue() * 1000L).orElse(httpClientPoolConfig.getKeepAliveTime() * 1000L); - }; - } + /** + * 配置长连接保持策略 + * + * @return + */ + public ConnectionKeepAliveStrategy connectionKeepAliveStrategy() { + return (response, context) -> { + // Honor 'keep-alive' header + HeaderElementIterator it = new BasicHeaderElementIterator( + response.headerIterator(HTTP.CONN_KEEP_ALIVE)); + while (it.hasNext()) { + HeaderElement he = it.nextElement(); + log.info("HeaderElement:{}", JSON.toJSONString(he)); + String param = he.getName(); + String value = he.getValue(); + if (value != null && "timeout".equalsIgnoreCase(param)) { + try { + return Long.parseLong(value) * 1000; + } catch (NumberFormatException ignore) { + log.error("解析长连接过期时间异常", ignore); + } + } + } + HttpHost target = (HttpHost) context.getAttribute( + HttpClientContext.HTTP_TARGET_HOST); + //如果请求目标地址,单独配置了长连接保持时间,使用该配置 + Optional> any = Optional.ofNullable(httpClientPoolConfig.getKeepAliveTargetHost()).orElseGet(HashMap::new) + .entrySet().stream().filter( + e -> e.getKey().equalsIgnoreCase(target.getHostName())).findAny(); + //否则使用默认长连接保持时间 + return any.map(en -> en.getValue() * 1000L).orElse(httpClientPoolConfig.getKeepAliveTime() * 1000L); + }; + } - /** - * 设置请求头 - * @return - */ - private List
getDefaultHeaders() { - List
headers = new ArrayList<>(); - headers.add(new BasicHeader("User-Agent", - "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36")); - headers.add(new BasicHeader("Accept-Encoding", "gzip,deflate")); - headers.add(new BasicHeader("Accept-Language", "zh-CN")); - headers.add(new BasicHeader("Connection", "Keep-Alive")); - return headers; - } - private RestTemplate createRestTemplate(ClientHttpRequestFactory factory) { - RestTemplate restTemplate = new RestTemplate(factory); + /** + * 设置请求头 + * + * @return + */ + private List
getDefaultHeaders() { + List
headers = new ArrayList<>(); + headers.add(new BasicHeader("User-Agent", + "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36")); + headers.add(new BasicHeader("Accept-Encoding", "gzip,deflate")); + headers.add(new BasicHeader("Accept-Language", "zh-CN")); + headers.add(new BasicHeader("Connection", "Keep-Alive")); + return headers; + } - // 我们采用RestTemplate内部的MessageConverter - // 重新设置StringHttpMessageConverter字符集,解决中文乱码问题 - modifyDefaultCharset(restTemplate); - // 设置错误处理器 - restTemplate.setErrorHandler(new DefaultResponseErrorHandler()); + private RestTemplate createRestTemplate(ClientHttpRequestFactory factory) { + RestTemplate restTemplate = new RestTemplate(factory); - return restTemplate; - } + //我们采用RestTemplate内部的MessageConverter + //重新设置StringHttpMessageConverter字符集,解决中文乱码问题 + modifyDefaultCharset(restTemplate); - /** - * 修改默认的字符集类型为utf-8 - * @param restTemplate - */ - private void modifyDefaultCharset(RestTemplate restTemplate) { - List> converterList = restTemplate.getMessageConverters(); - HttpMessageConverter converterTarget = null; - for (HttpMessageConverter item : converterList) { - if (StringHttpMessageConverter.class == item.getClass()) { - converterTarget = item; - break; - } - } - if (null != converterTarget) { - converterList.remove(converterTarget); - } - Charset defaultCharset = Charset.forName(httpClientPoolConfig.getCharset()); - converterList.add(1, new StringHttpMessageConverter(defaultCharset)); - } + //设置错误处理器 + restTemplate.setErrorHandler(new DefaultResponseErrorHandler()); + return restTemplate; + } + + /** + * 修改默认的字符集类型为utf-8 + * + * @param restTemplate + */ + private void modifyDefaultCharset(RestTemplate restTemplate) { + List> converterList = restTemplate.getMessageConverters(); + HttpMessageConverter converterTarget = null; + for (HttpMessageConverter item : converterList) { + if (StringHttpMessageConverter.class == item.getClass()) { + converterTarget = item; + break; + } + } + if (null != converterTarget) { + converterList.remove(converterTarget); + } + Charset defaultCharset = Charset.forName(httpClientPoolConfig.getCharset()); + converterList.add(1, new StringHttpMessageConverter(defaultCharset)); + } } + diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientPoolConfig.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientPoolConfig.java index 41c1f9bd3..ad12493a7 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientPoolConfig.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/config/HttpClientPoolConfig.java @@ -13,50 +13,41 @@ import java.util.Map; @ConfigurationProperties(prefix = "spring.http-client.pool") @Data public class HttpClientPoolConfig { + /** + * java配置的优先级低于yml配置;如果yml配置不存在,会采用java配置 + */ + /** + * 连接池的最大连接数 + */ + private int maxTotalConnect = 1000; + /** + * 同路由的并发数 + */ + private int maxConnectPerRoute = 200; + /** + * 客户端和服务器建立连接超时,默认2s + */ + private int connectTimeout = 2 * 1000; + /** + * 指客户端从服务器读取数据包的间隔超时时间,不是总读取时间,默认30s + */ + private int readTimeout = 30 * 1000; - /** - * java配置的优先级低于yml配置;如果yml配置不存在,会采用java配置 - */ - /** - * 连接池的最大连接数 - */ - private int maxTotalConnect = 1000; - - /** - * 同路由的并发数 - */ - private int maxConnectPerRoute = 200; - - /** - * 客户端和服务器建立连接超时,默认2s - */ - private int connectTimeout = 2 * 1000; - - /** - * 指客户端从服务器读取数据包的间隔超时时间,不是总读取时间,默认30s - */ - private int readTimeout = 30 * 1000; - - private String charset = "UTF-8"; - - /** - * 重试次数,默认2次 - */ - private int retryTimes = 2; - - /** - * 从连接池获取连接的超时时间,不宜过长,单位ms - */ - private int connectionRequestTimout = 200; - - /** - * 针对不同的地址,特别设置不同的长连接保持时间 - */ - private Map keepAliveTargetHost; - - /** - * 针对不同的地址,特别设置不同的长连接保持时间,单位 s - */ - private int keepAliveTime = 60; - + private String charset = "UTF-8"; + /** + * 重试次数,默认2次 + */ + private int retryTimes = 2; + /** + * 从连接池获取连接的超时时间,不宜过长,单位ms + */ + private int connectionRequestTimout = 200; + /** + * 针对不同的地址,特别设置不同的长连接保持时间 + */ + private Map keepAliveTargetHost; + /** + * 针对不同的地址,特别设置不同的长连接保持时间,单位 s + */ + private int keepAliveTime = 60; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/DataSourceController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/DataSourceController.java index 47db1d24a..ba6c3a4d8 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/DataSourceController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/DataSourceController.java @@ -16,53 +16,53 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** - * @desc 数据源 controller - * @website https://gitee.com/anji-plus/gaea - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ +* @desc 数据源 controller +* @website https://gitee.com/anji-plus/gaea +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ @RestController @Api(tags = "数据源管理") @Permission(code = "datasourceManage", name = "数据源管理") @RequestMapping("/dataSource") public class DataSourceController extends GaeaBaseController { - @Autowired - private DataSourceService dataSourceService; + @Autowired + private DataSourceService dataSourceService; - @Override - public GaeaBaseService getService() { - return dataSourceService; - } + @Override + public GaeaBaseService getService() { + return dataSourceService; + } - @Override - public DataSource getEntity() { - return new DataSource(); - } + @Override + public DataSource getEntity() { + return new DataSource(); + } - @Override - public DataSourceDto getDTO() { - return new DataSourceDto(); - } + @Override + public DataSourceDto getDTO() { + return new DataSourceDto(); + } - /** - * 获取所有数据源 - * @return - */ - @GetMapping("/queryAllDataSource") - public ResponseBean queryAllDataSource() { - return responseSuccessWithData(dataSourceService.queryAllDataSource()); - } + /** + * 获取所有数据源 + * @return + */ + @GetMapping("/queryAllDataSource") + public ResponseBean queryAllDataSource() { + return responseSuccessWithData(dataSourceService.queryAllDataSource()); + } - /** - * 测试 连接 - * @param connectionParam - * @return - */ - @Permission(code = "query", name = "测试数据源") - @PostMapping("/testConnection") - public ResponseBean testConnection(@Validated @RequestBody ConnectionParam connectionParam) { - return responseSuccessWithData(dataSourceService.testConnection(connectionParam)); - } + /** + * 测试 连接 + * @param connectionParam + * @return + */ + @Permission( code = "query", name = "测试数据源") + @PostMapping("/testConnection") + public ResponseBean testConnection(@Validated @RequestBody ConnectionParam connectionParam) { + return responseSuccessWithData(dataSourceService.testConnection(connectionParam)); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/dto/DataSourceDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/dto/DataSourceDto.java index 85c9299f6..e22eea62a 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/dto/DataSourceDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/dto/DataSourceDto.java @@ -7,74 +7,68 @@ import lombok.Data; import java.io.Serializable; import java.util.Map; + /** - * @description 数据源 dto - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ +* +* @description 数据源 dto +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ @Data public class DataSourceDto extends GaeaBaseDTO implements Serializable { + /** 数据源编码 */ + private String sourceCode; - /** 数据源编码 */ - private String sourceCode; + /** 数据源名称 */ + private String sourceName; - /** 数据源名称 */ - private String sourceName; + /** 数据源描述 */ + private String sourceDesc; - /** 数据源描述 */ - private String sourceDesc; + /** 数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 */ + private String sourceType; - /** - * 数据源类型 DIC_NAME=SOURCE_TYPE; - * mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 - */ - private String sourceType; + /** 数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{"query":"select 1"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' } */ + private String sourceConfig; - /** - * 数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ - * apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{"query":"select - * 1"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' } - */ - private String sourceConfig; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /**************************************************************/ + /**关系型数据库jdbcUrl */ + private String jdbcUrl; - /**************************************************************/ - /** 关系型数据库jdbcUrl */ - private String jdbcUrl; + /** 关系型数据库用户名 */ + private String username; - /** 关系型数据库用户名 */ - private String username; + /** 关系型数据库密码 */ + private String password; - /** 关系型数据库密码 */ - private String password; + /** 关系型数据库驱动类 */ + private String driverName; - /** 关系型数据库驱动类 */ - private String driverName; + /** 关系型数据库sql */ + private String sql; - /** 关系型数据库sql */ - private String sql; + /** http requestUrl */ + private String apiUrl; - /** http requestUrl */ - private String apiUrl; + /** http method */ + private String method; - /** http method */ - private String method; + /** http header */ + private String header; - /** http header */ - private String header; + /** http 请求体 */ + private String body; - /** http 请求体 */ - private String body; + /** 动态查询sql或者接口中的请求体 */ + private String dynSentence; - /** 动态查询sql或者接口中的请求体 */ - private String dynSentence; - - /** 传入的自定义参数,解决url中存在的动态参数 */ - private Map contextData; + /** 传入的自定义参数,解决url中存在的动态参数*/ + private Map contextData; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/ConnectionParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/ConnectionParam.java index 3b6925c59..ec97092c9 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/ConnectionParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/ConnectionParam.java @@ -11,19 +11,11 @@ import java.io.Serializable; @Data public class ConnectionParam implements Serializable { - /** - * 数据源类型 DIC_NAME=SOURCE_TYPE; - * mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 - */ - @NotBlank(message = "sourceType not empty") - private String sourceType; - - /** - * 数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ - * apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{"query":"select - * 1"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' } - */ - @NotBlank(message = "sourceConfig not empty") - private String sourceConfig; + /** 数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 */ + @NotBlank(message = "sourceType not empty") + private String sourceType; + /** 数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{"query":"select 1"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' } */ + @NotBlank(message = "sourceConfig not empty") + private String sourceConfig; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/DataSourceParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/DataSourceParam.java index 0e2bd1ffe..f8d98e876 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/DataSourceParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/controller/param/DataSourceParam.java @@ -8,27 +8,24 @@ import lombok.Data; import java.io.Serializable; + /** - * @desc DataSource 数据集查询输入类 - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ +* @desc DataSource 数据集查询输入类 +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ @Data -public class DataSourceParam extends PageParam implements Serializable { +public class DataSourceParam extends PageParam implements Serializable{ - /** 数据源名称 */ - @Query(QueryEnum.LIKE) - private String sourceName; + /** 数据源名称 */ + @Query(QueryEnum.LIKE) + private String sourceName; - /** 数据源编码 */ - @Query(QueryEnum.LIKE) - private String sourceCode; - - /** - * 数据源类型 DIC_NAME=SOURCE_TYPE; - * mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 - */ - @Query(QueryEnum.EQ) - private String sourceType; + /** 数据源编码 */ + @Query(QueryEnum.LIKE) + private String sourceCode; + /** 数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单 */ + @Query(QueryEnum.EQ) + private String sourceType; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/DataSourceMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/DataSourceMapper.java index 19743bb10..3bcf882de 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/DataSourceMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/DataSourceMapper.java @@ -1,15 +1,15 @@ package com.anjiplus.template.gaea.business.modules.datasource.dao; +import org.apache.ibatis.annotations.Mapper; + import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.datasource.dao.entity.DataSource; -import org.apache.ibatis.annotations.Mapper; /** - * DataSource Mapper - * - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ +* DataSource Mapper +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ @Mapper public interface DataSourceMapper extends GaeaBaseMapper { diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/entity/DataSource.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/entity/DataSource.java index d2e14d21e..79f1e5b33 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/entity/DataSource.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/dao/entity/DataSource.java @@ -9,36 +9,34 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * @description 数据源 entity - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_data_source") +* @description 数据源 entity +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_data_source") @Data public class DataSource extends GaeaBaseEntity { + @ApiModelProperty(value = "数据源编码") + @Unique(code = ResponseCode.SOURCE_CODE_ISEXIST) + private String sourceCode; - @ApiModelProperty(value = "数据源编码") - @Unique(code = ResponseCode.SOURCE_CODE_ISEXIST) - private String sourceCode; + @ApiModelProperty(value = "数据源名称") + private String sourceName; - @ApiModelProperty(value = "数据源名称") - private String sourceName; + @ApiModelProperty(value = "数据源描述") + private String sourceDesc; - @ApiModelProperty(value = "数据源描述") - private String sourceDesc; + @ApiModelProperty(value = "数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单") + private String sourceType; - @ApiModelProperty( - value = "数据源类型 DIC_NAME=SOURCE_TYPE; mysql,orace,sqlserver,elasticsearch,接口,javaBean,数据源类型字典中item-extend动态生成表单") - private String sourceType; + @ApiModelProperty(value = "数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{\"query\":\"select 1\"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' }") + private String sourceConfig; - @ApiModelProperty( - value = "数据源连接配置json:关系库{ jdbcUrl:'', username:'', password:'','driverName':''}ES-sql{ apiUrl:'http://127.0.0.1:9092/_xpack/sql?format=json','method':'POST','body':'{\"query\":\"select 1\"}' } 接口{ apiUrl:'http://ip:port/url', method:'' } javaBean{ beanNamw:'xxx' }") - private String sourceConfig; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/DataSourceService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/DataSourceService.java index c72afc640..17e318b1b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/DataSourceService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/DataSourceService.java @@ -12,38 +12,37 @@ import com.anjiplus.template.gaea.business.modules.datasource.dao.entity.DataSou import java.util.List; /** - * @desc DataSource 数据集服务接口 - * @author Raod - * @date 2021-03-18 12:09:57.728203200 - **/ +* @desc DataSource 数据集服务接口 +* @author Raod +* @date 2021-03-18 12:09:57.728203200 +**/ public interface DataSourceService extends GaeaBaseService { - /** - * 获取所有数据源 - * @return - */ - List queryAllDataSource(); + /** + * 获取所有数据源 + * @return + */ + List queryAllDataSource(); - /** - * 测试 连接 - * @param connectionParam - * @return - */ - Boolean testConnection(ConnectionParam connectionParam); + /** + * 测试 连接 + * @param connectionParam + * @return + */ + Boolean testConnection(ConnectionParam connectionParam); - /** - * 执行sql - * @param dto - * @return - */ - List execute(DataSourceDto dto); - - /** - * 执行sql,统计数据total - * @param dataSourceDto - * @param dto - * @return - */ - long total(DataSourceDto dataSourceDto, DataSetDto dto); + /** + * 执行sql + * @param dto + * @return + */ + List execute(DataSourceDto dto); + /** + * 执行sql,统计数据total + * @param dataSourceDto + * @param dto + * @return + */ + long total(DataSourceDto dataSourceDto, DataSetDto dto); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/JdbcService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/JdbcService.java index 65e4cb7c1..56dadf96d 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/JdbcService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/JdbcService.java @@ -10,27 +10,30 @@ import java.sql.SQLException; */ public interface JdbcService { - /** - * 删除数据库连接池 - * @param id - */ - void removeJdbcConnectionPool(Long id); + /** + * 删除数据库连接池 + * + * @param id + */ + void removeJdbcConnectionPool(Long id); - /** - * 获取连接 - * @param dataSource - * @return - * @throws SQLException - */ - Connection getPooledConnection(DataSourceDto dataSource) throws SQLException; - /** - * 测试数据库连接 获取一个连接 - * @param dataSource - * @return - * @throws ClassNotFoundException driverName不正确 - * @throws SQLException - */ - Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException; + /** + * 获取连接 + * + * @param dataSource + * @return + * @throws SQLException + */ + Connection getPooledConnection(DataSourceDto dataSource) throws SQLException; + /** + * 测试数据库连接 获取一个连接 + * + * @param dataSource + * @return + * @throws ClassNotFoundException driverName不正确 + * @throws SQLException + */ + Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/DataSourceServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/DataSourceServiceImpl.java index 6e8ec81b2..0485a2945 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/DataSourceServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/DataSourceServiceImpl.java @@ -33,10 +33,7 @@ import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; +import java.sql.*; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -51,410 +48,405 @@ import java.util.Map; @Slf4j public class DataSourceServiceImpl implements DataSourceService { - @Autowired - private DataSourceMapper dataSourceMapper; + @Autowired + private DataSourceMapper dataSourceMapper; - @Resource(name = "dataSourceRestTemplate") - private RestTemplate restTemplate; + @Resource(name = "dataSourceRestTemplate") + private RestTemplate restTemplate; - @Autowired - private DataSetParamService dataSetParamService; + @Autowired + private DataSetParamService dataSetParamService; - @Autowired - private JdbcService jdbcService; + @Autowired + private JdbcService jdbcService; - @Override - public GaeaBaseMapper getMapper() { - return dataSourceMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return dataSourceMapper; + } - /** - * 获取所有数据源 - * @return - */ - @Override - public List queryAllDataSource() { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.select(DataSource::getSourceCode, DataSource::getSourceName).eq(DataSource::getEnableFlag, - Enabled.YES.getValue()); - wrapper.orderByDesc(DataSource::getUpdateTime); - return dataSourceMapper.selectList(wrapper); - } - /** - * 测试 连接 - * @param connectionParam - * @return - */ - @Override - public Boolean testConnection(ConnectionParam connectionParam) { - String sourceType = connectionParam.getSourceType(); - String sourceConfig = connectionParam.getSourceConfig(); - DataSourceDto dto = new DataSourceDto(); - dto.setSourceConfig(sourceConfig); - switch (sourceType) { - case JdbcConstants.ELASTIC_SEARCH_SQL: - testElasticsearchSqlConnection(dto); - break; - case JdbcConstants.MYSQL: - case JdbcConstants.KUDU_IMAPLA: - case JdbcConstants.ORACLE: - case JdbcConstants.SQL_SERVER: - case JdbcConstants.JDBC: - case JdbcConstants.POSTGRESQL: - testRelationalDb(dto); - break; - case JdbcConstants.HTTP: - testHttp(dto); - break; - default: - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); - } - log.info("测试连接成功:{}", JSONObject.toJSONString(connectionParam)); - return true; + /** + * 获取所有数据源 + * @return + */ + @Override + public List queryAllDataSource() { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.select(DataSource::getSourceCode, DataSource::getSourceName) + .eq(DataSource::getEnableFlag, Enabled.YES.getValue()); + wrapper.orderByDesc(DataSource::getUpdateTime); + return dataSourceMapper.selectList(wrapper); + } - } + /** + * 测试 连接 + * + * @param connectionParam + * @return + */ + @Override + public Boolean testConnection(ConnectionParam connectionParam) { + String sourceType = connectionParam.getSourceType(); + String sourceConfig = connectionParam.getSourceConfig(); + DataSourceDto dto = new DataSourceDto(); + dto.setSourceConfig(sourceConfig); + switch (sourceType) { + case JdbcConstants.ELASTIC_SEARCH_SQL: + testElasticsearchSqlConnection(dto); + break; + case JdbcConstants.MYSQL: + case JdbcConstants.KUDU_IMAPLA: + case JdbcConstants.ORACLE: + case JdbcConstants.SQL_SERVER: + case JdbcConstants.JDBC: + case JdbcConstants.POSTGRESQL: + testRelationalDb(dto); + break; + case JdbcConstants.HTTP: + testHttp(dto); + break; + default: + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); + } + log.info("测试连接成功:{}", JSONObject.toJSONString(connectionParam)); + return true; - @Override - public List execute(DataSourceDto dto) { - String sourceType = dto.getSourceType(); - switch (sourceType) { - case JdbcConstants.ELASTIC_SEARCH_SQL: - return executeElasticsearchSql(dto); - case JdbcConstants.MYSQL: - case JdbcConstants.KUDU_IMAPLA: - case JdbcConstants.ORACLE: - case JdbcConstants.SQL_SERVER: - case JdbcConstants.JDBC: - case JdbcConstants.POSTGRESQL: - return executeRelationalDb(dto); - case JdbcConstants.HTTP: - return executeHttp(dto); - default: - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); - } - } + } - /** - * 执行sql,统计数据total - * @param dto - * @return - */ - @Override - public long total(DataSourceDto sourceDto, DataSetDto dto) { - // 区分数据类型 - String sourceType = sourceDto.getSourceType(); - switch (sourceType) { - case JdbcConstants.ELASTIC_SEARCH_SQL: - return 0; - case JdbcConstants.MYSQL: - return mysqlTotal(sourceDto, dto); - default: - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); - } + @Override + public List execute(DataSourceDto dto) { + String sourceType = dto.getSourceType(); + switch (sourceType) { + case JdbcConstants.ELASTIC_SEARCH_SQL: + return executeElasticsearchSql(dto); + case JdbcConstants.MYSQL: + case JdbcConstants.KUDU_IMAPLA: + case JdbcConstants.ORACLE: + case JdbcConstants.SQL_SERVER: + case JdbcConstants.JDBC: + case JdbcConstants.POSTGRESQL: + return executeRelationalDb(dto); + case JdbcConstants.HTTP: + return executeHttp(dto); + default: + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); + } + } - } + /** + * 执行sql,统计数据total + * + * @param dto + * @return + */ + @Override + public long total(DataSourceDto sourceDto, DataSetDto dto) { + //区分数据类型 + String sourceType = sourceDto.getSourceType(); + switch (sourceType) { + case JdbcConstants.ELASTIC_SEARCH_SQL: + return 0; + case JdbcConstants.MYSQL: + return mysqlTotal(sourceDto, dto); + default: + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_TYPE_DOES_NOT_MATCH_TEMPORARILY); + } - /** - * 获取mysql count 和添加limit分页信息 - * @param sourceDto - * @param dto - * @return - */ - public long mysqlTotal(DataSourceDto sourceDto, DataSetDto dto) { - String dynSentence = sourceDto.getDynSentence(); - String sql = "select count(1) as count from (" + dynSentence + ") as gaeaExecute"; - sourceDto.setDynSentence(sql); - List result = execute(sourceDto); + } - // sql 拼接 limit 分页信息 - int pageNumber = Integer.parseInt(dto.getContextData().getOrDefault("pageNumber", "1").toString()); - int pageSize = Integer.parseInt(dto.getContextData().getOrDefault("pageSize", "10").toString()); - String sqlLimit = " limit " + (pageNumber - 1) * pageSize + "," + pageSize; - sourceDto.setDynSentence(dynSentence.concat(sqlLimit)); - log.info("当前total:{}, 添加分页参数,sql语句:{}", JSONObject.toJSONString(result), sourceDto.getDynSentence()); - return result.get(0).getLongValue("count"); - } + /** + * 获取mysql count 和添加limit分页信息 + * @param sourceDto + * @param dto + * @return + */ + public long mysqlTotal(DataSourceDto sourceDto, DataSetDto dto){ + String dynSentence = sourceDto.getDynSentence(); + String sql = "select count(1) as count from (" + dynSentence + ") as gaeaExecute"; + sourceDto.setDynSentence(sql); + List result = execute(sourceDto); - public List executeElasticsearchSql(DataSourceDto dto) { - analysisHttpConfig(dto); - HttpHeaders headers = new HttpHeaders(); - headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); - HttpEntity entity = new HttpEntity<>(dto.getDynSentence(), headers); - ResponseEntity exchange; - try { - exchange = restTemplate.exchange(dto.getApiUrl(), HttpMethod.valueOf(dto.getMethod()), entity, - JSONObject.class); - } - catch (Exception e) { - log.error("error", e); - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); - } - if (exchange.getStatusCode().isError()) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); - } - List result; - try { - JSONObject body = exchange.getBody(); - // 解析es sql数据 - if (null == body) { - return null; - } - JSONArray columns = body.getJSONArray("columns"); - JSONArray rows = body.getJSONArray("rows"); - result = new ArrayList<>(); - for (int i = 0; i < rows.size(); i++) { - JSONArray row = rows.getJSONArray(i); - JSONObject jsonObject = new JSONObject(); - for (int j = 0; j < row.size(); j++) { - String name = columns.getJSONObject(j).getString("name"); - String value = row.getString(j); - jsonObject.put(name, value); - } - result.add(jsonObject); - } - } - catch (Exception e) { - log.error("error", e); - throw BusinessExceptionBuilder.build(ResponseCode.ANALYSIS_DATA_ERROR, e.getMessage()); - } - return result; - } + //sql 拼接 limit 分页信息 + int pageNumber = Integer.parseInt(dto.getContextData().getOrDefault("pageNumber", "1").toString()); + int pageSize = Integer.parseInt(dto.getContextData().getOrDefault("pageSize", "10").toString()); + String sqlLimit = " limit " + (pageNumber - 1) * pageSize + "," + pageSize; + sourceDto.setDynSentence(dynSentence.concat(sqlLimit)); + log.info("当前total:{}, 添加分页参数,sql语句:{}", JSONObject.toJSONString(result), sourceDto.getDynSentence()); + return result.get(0).getLongValue("count"); + } - public List executeRelationalDb(DataSourceDto dto) { - analysisRelationalDbConfig(dto); - Connection pooledConnection = null; - try { - pooledConnection = jdbcService.getPooledConnection(dto); - PreparedStatement statement = pooledConnection.prepareStatement(dto.getDynSentence()); - ResultSet rs = statement.executeQuery(); - int columnCount = rs.getMetaData().getColumnCount(); + public List executeElasticsearchSql(DataSourceDto dto) { + analysisHttpConfig(dto); + HttpHeaders headers = new HttpHeaders(); + headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); + HttpEntity entity = new HttpEntity<>(dto.getDynSentence(), headers); + ResponseEntity exchange; + try { + exchange = restTemplate.exchange(dto.getApiUrl(), HttpMethod.valueOf(dto.getMethod()), entity, JSONObject.class); + } catch (Exception e) { + log.error("error",e); + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); + } + if (exchange.getStatusCode().isError()) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); + } + List result; + try { + JSONObject body = exchange.getBody(); + //解析es sql数据 + if (null == body) { + return null; + } + JSONArray columns = body.getJSONArray("columns"); + JSONArray rows = body.getJSONArray("rows"); + result = new ArrayList<>(); + for (int i = 0; i < rows.size(); i++) { + JSONArray row = rows.getJSONArray(i); + JSONObject jsonObject = new JSONObject(); + for (int j = 0; j < row.size(); j++) { + String name = columns.getJSONObject(j).getString("name"); + String value = row.getString(j); + jsonObject.put(name, value); + } + result.add(jsonObject); + } + } catch (Exception e) { + log.error("error",e); + throw BusinessExceptionBuilder.build(ResponseCode.ANALYSIS_DATA_ERROR, e.getMessage()); + } + return result; + } - List columns = new ArrayList<>(); - for (int i = 1; i <= columnCount; i++) { - String columnName = rs.getMetaData().getColumnLabel(i); - columns.add(columnName); - } - List list = new ArrayList<>(); - while (rs.next()) { - JSONObject jo = new JSONObject(); - columns.forEach(t -> { - try { - Object value = rs.getObject(t); - // 数据类型转换 - Object result = dealResult(value); - jo.put(t, result); - } - catch (SQLException throwable) { - log.error("error", throwable); - throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_SQL_ERROR, throwable.getMessage()); - } - }); - list.add(jo); - } - return list; - } - catch (Exception throwable) { - log.error("error", throwable); - throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_SQL_ERROR, throwable.getMessage()); - } - finally { - try { - if (pooledConnection != null) { - pooledConnection.close(); - } - } - catch (SQLException throwable) { - log.error("error", throwable); - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, - throwable.getMessage()); - } - } - } + public List executeRelationalDb(DataSourceDto dto) { + analysisRelationalDbConfig(dto); + Connection pooledConnection = null; + try { + pooledConnection = jdbcService.getPooledConnection(dto); - /** - * 解决sql返回值 类型问题 (through reference chain: - * java.util.HashMap["pageData"]->java.util.ArrayList[0]->java.util.HashMap["UPDATE_TIME"]->oracle.sql.TIMESTAMP["stream"]) - * @param result - * @return - * @throws SQLException - */ - private Object dealResult(Object result) throws SQLException { - if (null == result) { - return result; - } - String type = result.getClass().getName(); - if ("oracle.sql.TIMESTAMP".equals(type)) { - // oracle.sql.TIMESTAMP处理逻辑 - return new Date((Long) JSONObject.toJSON(result)); - } + PreparedStatement statement = pooledConnection.prepareStatement(dto.getDynSentence()); + ResultSet rs = statement.executeQuery(); - return result; - } + int columnCount = rs.getMetaData().getColumnCount(); - /** - * http 执行获取数据 - * @param dto - */ - public List executeHttp(DataSourceDto dto) { - analysisHttpConfig(dto); - HttpHeaders headers = new HttpHeaders(); - headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); - HttpEntity entity = new HttpEntity<>(dto.getDynSentence(), headers); - ResponseEntity exchange; - try { - exchange = restTemplate.exchange(dto.getApiUrl(), HttpMethod.valueOf(dto.getMethod()), entity, - Object.class); - } - catch (Exception e) { - log.error("error", e); - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); - } - if (exchange.getStatusCode().isError()) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); - } - Object body = exchange.getBody(); - String jsonStr = JSONObject.toJSONString(body); - List result = new ArrayList<>(); - if (jsonStr.trim().startsWith(BusinessConstant.LEFT_BIG_BOAST) - && jsonStr.trim().endsWith(BusinessConstant.RIGTH_BIG_BOAST)) { - // JSONObject - result.add(JSONObject.parseObject(jsonStr)); - } - else if (jsonStr.trim().startsWith(BusinessConstant.LEFT_MIDDLE_BOAST) - && jsonStr.trim().endsWith(BusinessConstant.RIGHT_MIDDLE_BOAST)) { - // List - result = JSONArray.parseArray(jsonStr, JSONObject.class); - } - else { - result.add(new JSONObject()); - } - return result; - } + List columns = new ArrayList<>(); + for (int i = 1; i <= columnCount; i++) { + String columnName = rs.getMetaData().getColumnLabel(i); + columns.add(columnName); + } + List list = new ArrayList<>(); + while (rs.next()) { + JSONObject jo = new JSONObject(); + columns.forEach(t -> { + try { + Object value = rs.getObject(t); + //数据类型转换 + Object result = dealResult(value); + jo.put(t, result); + } catch (SQLException throwable) { + log.error("error",throwable); + throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_SQL_ERROR, throwable.getMessage()); + } + }); + list.add(jo); + } + return list; + } catch (Exception throwable) { + log.error("error",throwable); + throw BusinessExceptionBuilder.build(ResponseCode.EXECUTE_SQL_ERROR, throwable.getMessage()); + } finally { + try { + if (pooledConnection != null) { + pooledConnection.close(); + } + } catch (SQLException throwable) { + log.error("error",throwable); + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, throwable.getMessage()); + } + } + } - /** - * 关系型数据库 测试连接 - * @param dto - */ - public void testRelationalDb(DataSourceDto dto) { - analysisRelationalDbConfig(dto); - try { - Connection unPooledConnection = jdbcService.getUnPooledConnection(dto); - String catalog = unPooledConnection.getCatalog(); - log.info("数据库测试连接成功:{}", catalog); - unPooledConnection.close(); - } - catch (SQLException e) { - log.error("error", e); - if (e.getCause() instanceof ClassNotFoundException) { - throw BusinessExceptionBuilder.build(ResponseCode.CLASS_NOT_FOUND, e.getCause().getMessage()); - } - else { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); - } + /** + * 解决sql返回值 类型问题 + * (through reference chain: java.util.HashMap["pageData"]->java.util.ArrayList[0]->java.util.HashMap["UPDATE_TIME"]->oracle.sql.TIMESTAMP["stream"]) + * @param result + * @return + * @throws SQLException + */ + private Object dealResult(Object result) throws SQLException { + if (null == result) { + return result; + } + String type = result.getClass().getName(); + if ("oracle.sql.TIMESTAMP".equals(type)) { + //oracle.sql.TIMESTAMP处理逻辑 + return new Date((Long) JSONObject.toJSON(result)); + } - } - } + return result; + } - /** - * http 测试连接 - * @param dto - */ - public void testHttp(DataSourceDto dto) { - analysisHttpConfig(dto); - String apiUrl = dto.getApiUrl(); - String method = dto.getMethod(); - String body = dto.getBody(); - HttpHeaders headers = new HttpHeaders(); - headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); - HttpEntity entity = new HttpEntity<>(body, headers); - ResponseEntity exchange; - try { - exchange = restTemplate.exchange(apiUrl, HttpMethod.valueOf(method), entity, Object.class); - if (exchange.getStatusCode().isError()) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); - } - } - catch (RestClientException e) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); - } - } + /** + * http 执行获取数据 + * + * @param dto + */ + public List executeHttp(DataSourceDto dto) { + analysisHttpConfig(dto); + HttpHeaders headers = new HttpHeaders(); + headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); + HttpEntity entity = new HttpEntity<>(dto.getDynSentence(), headers); + ResponseEntity exchange; + try { + exchange = restTemplate.exchange(dto.getApiUrl(), HttpMethod.valueOf(dto.getMethod()), entity, Object.class); + } catch (Exception e) { + log.error("error",e); + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); + } + if (exchange.getStatusCode().isError()) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); + } + Object body = exchange.getBody(); + String jsonStr = JSONObject.toJSONString(body); + List result = new ArrayList<>(); + if (jsonStr.trim().startsWith(BusinessConstant.LEFT_BIG_BOAST) && jsonStr.trim().endsWith(BusinessConstant.RIGTH_BIG_BOAST)) { + //JSONObject + result.add(JSONObject.parseObject(jsonStr)); + } else if (jsonStr.trim().startsWith(BusinessConstant.LEFT_MIDDLE_BOAST) && jsonStr.trim().endsWith(BusinessConstant.RIGHT_MIDDLE_BOAST)) { + //List + result = JSONArray.parseArray(jsonStr, JSONObject.class); + } else { + result.add(new JSONObject()); + } + return result; + } - /** - * 关系型数据库 测试连接 - * @param dto - */ - public void testElasticsearchSqlConnection(DataSourceDto dto) { - analysisHttpConfig(dto); - String apiUrl = dto.getApiUrl(); - String method = dto.getMethod(); - String body = dto.getBody(); - HttpHeaders headers = new HttpHeaders(); - headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); - HttpEntity entity = new HttpEntity<>(body, headers); - ResponseEntity exchange; - try { - exchange = restTemplate.exchange(apiUrl, HttpMethod.valueOf(method), entity, Object.class); - if (exchange.getStatusCode().isError()) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); - } - } - catch (RestClientException e) { - throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); - } + /** + * 关系型数据库 测试连接 + * + * @param dto + */ + public void testRelationalDb(DataSourceDto dto) { + analysisRelationalDbConfig(dto); + try { + Connection unPooledConnection = jdbcService.getUnPooledConnection(dto); + String catalog = unPooledConnection.getCatalog(); + log.info("数据库测试连接成功:{}", catalog); + unPooledConnection.close(); + } catch (SQLException e) { + log.error("error",e); + if (e.getCause() instanceof ClassNotFoundException) { + throw BusinessExceptionBuilder.build(ResponseCode.CLASS_NOT_FOUND, e.getCause().getMessage()); + } else { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); + } - } + } + } - public void analysisRelationalDbConfig(DataSourceDto dto) { - JSONObject json = JSONObject.parseObject(dto.getSourceConfig()); - GaeaAssert.isFalse(json.containsKey("jdbcUrl"), ResponseCode.PARAM_IS_NULL, "jdbcUrl not empty"); - GaeaAssert.isFalse(json.containsKey("driverName"), ResponseCode.PARAM_IS_NULL, "driverName not empty"); - String jdbcUrl = json.getString("jdbcUrl"); - String username = json.getString("username"); - String password = json.getString("password"); - String driverName = json.getString("driverName"); - dto.setJdbcUrl(jdbcUrl); - dto.setDriverName(driverName); - dto.setUsername(username); - dto.setPassword(password); - } + /** + * http 测试连接 + * + * @param dto + */ + public void testHttp(DataSourceDto dto) { + analysisHttpConfig(dto); + String apiUrl = dto.getApiUrl(); + String method = dto.getMethod(); + String body = dto.getBody(); + HttpHeaders headers = new HttpHeaders(); + headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); + HttpEntity entity = new HttpEntity<>(body, headers); + ResponseEntity exchange; + try { + exchange = restTemplate.exchange(apiUrl, HttpMethod.valueOf(method), entity, Object.class); + if (exchange.getStatusCode().isError()) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); + } + } catch (RestClientException e) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); + } + } - /** - * es通过api获取数据 - * @param dto - * @return - */ - public void analysisHttpConfig(DataSourceDto dto) { - JSONObject json = JSONObject.parseObject(dto.getSourceConfig()); - GaeaAssert.isFalse(json.containsKey("apiUrl"), ResponseCode.PARAM_IS_NULL, "apiUrl not empty"); - GaeaAssert.isFalse(json.containsKey("method"), ResponseCode.PARAM_IS_NULL, "method not empty"); - GaeaAssert.isFalse(json.containsKey("header"), ResponseCode.PARAM_IS_NULL, "header not empty"); - GaeaAssert.isFalse(json.containsKey("body"), ResponseCode.PARAM_IS_NULL, "body not empty"); - String apiUrl = json.getString("apiUrl"); - String method = json.getString("method"); - String header = json.getString("header"); - String body = json.getString("body"); - // 解决url中存在的动态参数 - apiUrl = dataSetParamService.transform(dto.getContextData(), apiUrl); - // 请求头中动态参数 - header = dataSetParamService.transform(dto.getContextData(), header); - dto.setApiUrl(apiUrl); - dto.setMethod(method); - dto.setHeader(header); - dto.setBody(body); - } - /** - * 操作后续处理 - * @param entity - * @param operationEnum 操作类型 - * @throws BusinessException 阻止程序继续执行或回滚事务 - */ - @Override - public void processAfterOperation(DataSource entity, BaseOperationEnum operationEnum) throws BusinessException { - jdbcService.removeJdbcConnectionPool(entity.getId()); - } + /** + * 关系型数据库 测试连接 + * + * @param dto + */ + public void testElasticsearchSqlConnection(DataSourceDto dto) { + analysisHttpConfig(dto); + String apiUrl = dto.getApiUrl(); + String method = dto.getMethod(); + String body = dto.getBody(); + HttpHeaders headers = new HttpHeaders(); + headers.setAll(JSONObject.parseObject(dto.getHeader(), Map.class)); + HttpEntity entity = new HttpEntity<>(body, headers); + ResponseEntity exchange; + try { + exchange = restTemplate.exchange(apiUrl, HttpMethod.valueOf(method), entity, Object.class); + if (exchange.getStatusCode().isError()) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, exchange.getBody()); + } + } catch (RestClientException e) { + throw BusinessExceptionBuilder.build(ResponseCode.DATA_SOURCE_CONNECTION_FAILED, e.getMessage()); + } + } + + + public void analysisRelationalDbConfig(DataSourceDto dto) { + JSONObject json = JSONObject.parseObject(dto.getSourceConfig()); + GaeaAssert.isFalse(json.containsKey("jdbcUrl"), ResponseCode.PARAM_IS_NULL,"jdbcUrl not empty"); + GaeaAssert.isFalse(json.containsKey("driverName"), ResponseCode.PARAM_IS_NULL,"driverName not empty"); + String jdbcUrl = json.getString("jdbcUrl"); + String username = json.getString("username"); + String password = json.getString("password"); + String driverName = json.getString("driverName"); + dto.setJdbcUrl(jdbcUrl); + dto.setDriverName(driverName); + dto.setUsername(username); + dto.setPassword(password); + } + + + /** + * es通过api获取数据 + * + * @param dto + * @return + */ + public void analysisHttpConfig(DataSourceDto dto) { + JSONObject json = JSONObject.parseObject(dto.getSourceConfig()); + GaeaAssert.isFalse(json.containsKey("apiUrl"), ResponseCode.PARAM_IS_NULL,"apiUrl not empty"); + GaeaAssert.isFalse(json.containsKey("method"), ResponseCode.PARAM_IS_NULL,"method not empty"); + GaeaAssert.isFalse(json.containsKey("header"), ResponseCode.PARAM_IS_NULL,"header not empty"); + GaeaAssert.isFalse(json.containsKey("body"), ResponseCode.PARAM_IS_NULL,"body not empty"); + String apiUrl = json.getString("apiUrl"); + String method = json.getString("method"); + String header = json.getString("header"); + String body = json.getString("body"); + //解决url中存在的动态参数 + apiUrl = dataSetParamService.transform(dto.getContextData(), apiUrl); + //请求头中动态参数 + header = dataSetParamService.transform(dto.getContextData(), header); + dto.setApiUrl(apiUrl); + dto.setMethod(method); + dto.setHeader(header); + dto.setBody(body); + } + + /** + * 操作后续处理 + * + * @param entity + * @param operationEnum 操作类型 + * @throws BusinessException 阻止程序继续执行或回滚事务 + */ + @Override + public void processAfterOperation(DataSource entity, BaseOperationEnum operationEnum) throws BusinessException { + jdbcService.removeJdbcConnectionPool(entity.getId()); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java index 8bae27023..694aa2fd0 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/datasource/service/impl/JdbcServiceImpl.java @@ -20,77 +20,77 @@ import java.util.concurrent.ConcurrentHashMap; @Slf4j public class JdbcServiceImpl implements JdbcService { - @Autowired - private DruidProperties druidProperties; + @Autowired + private DruidProperties druidProperties; - /** - * 所有数据源的连接池存在map里 - */ - static Map map = new ConcurrentHashMap<>(); + /** + * 所有数据源的连接池存在map里 + */ + static Map map = new ConcurrentHashMap<>(); - public DruidDataSource getJdbcConnectionPool(DataSourceDto dataSource) { - if (map.containsKey(dataSource.getId())) { - return map.get(dataSource.getId()); - } - else { - try { - if (!map.containsKey(dataSource.getId())) { - DruidDataSource pool = druidProperties.dataSource(dataSource.getJdbcUrl(), dataSource.getUsername(), - dataSource.getPassword(), dataSource.getDriverName()); - map.put(dataSource.getId(), pool); - log.info("创建连接池成功:{}", dataSource.getJdbcUrl()); - } - return map.get(dataSource.getId()); - } - finally { - } - } - } + public DruidDataSource getJdbcConnectionPool(DataSourceDto dataSource) { + if (map.containsKey(dataSource.getId())) { + return map.get(dataSource.getId()); + } else { + try { + if (!map.containsKey(dataSource.getId())) { + DruidDataSource pool = druidProperties.dataSource(dataSource.getJdbcUrl(), + dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName()); + map.put(dataSource.getId(), pool); + log.info("创建连接池成功:{}", dataSource.getJdbcUrl()); + } + return map.get(dataSource.getId()); + } finally { + } + } + } - /** - * 删除数据库连接池 - * @param id - */ - @Override - public void removeJdbcConnectionPool(Long id) { - try { - DruidDataSource pool = map.get(id); - if (pool != null) { - log.info("remove pool success, datasourceId:{}", id); - map.remove(id); - } - } - catch (Exception e) { - log.error("error", e); - } - finally { - } - } - /** - * 获取连接 - * @param dataSource - * @return - * @throws SQLException - */ - @Override - public Connection getPooledConnection(DataSourceDto dataSource) throws SQLException { - DruidDataSource pool = getJdbcConnectionPool(dataSource); - return pool.getConnection(); - } + /** + * 删除数据库连接池 + * + * @param id + */ + @Override + public void removeJdbcConnectionPool(Long id) { + try { + DruidDataSource pool = map.get(id); + if (pool != null) { + log.info("remove pool success, datasourceId:{}", id); + map.remove(id); + } + } catch (Exception e) { + log.error("error", e); + } finally { + } + } - /** - * 测试数据库连接 获取一个连接 - * @param dataSource - * @return - * @throws ClassNotFoundException driverName不正确 - * @throws SQLException - */ - @Override - public Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException { - DruidDataSource druidDataSource = druidProperties.dataSource(dataSource.getJdbcUrl(), dataSource.getUsername(), - dataSource.getPassword(), dataSource.getDriverName()); - return druidDataSource.getConnection(); - } + /** + * 获取连接 + * + * @param dataSource + * @return + * @throws SQLException + */ + @Override + public Connection getPooledConnection(DataSourceDto dataSource) throws SQLException{ + DruidDataSource pool = getJdbcConnectionPool(dataSource); + return pool.getConnection(); + } + + /** + * 测试数据库连接 获取一个连接 + * + * @param dataSource + * @return + * @throws ClassNotFoundException driverName不正确 + * @throws SQLException + */ + @Override + public Connection getUnPooledConnection(DataSourceDto dataSource) throws SQLException { + DruidDataSource druidDataSource = druidProperties.dataSource(dataSource.getJdbcUrl(), + dataSource.getUsername(), dataSource.getPassword(), dataSource.getDriverName()); + return druidDataSource.getConnection(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictController.java index 549e53a0c..e7c0fc731 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictController.java @@ -15,10 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.web.bind.annotation.*; -import java.util.Collection; -import java.util.List; -import java.util.Locale; -import java.util.Map; +import java.util.*; /** * (GaeaDict)实体类 @@ -31,89 +28,89 @@ import java.util.Map; @Api(value = "/gaeaDict", tags = "") public class GaeaDictController extends GaeaBaseController { - @Autowired - private GaeaDictService gaeaDictService; + @Autowired + private GaeaDictService gaeaDictService; - @Autowired - private GaeaDictItemService gaeaDictItemService; + @Autowired + private GaeaDictItemService gaeaDictItemService; - @Override - public GaeaBaseService getService() { - return gaeaDictService; - } + @Override + public GaeaBaseService getService() { + return gaeaDictService; + } - @Override - public GaeaDict getEntity() { - return new GaeaDict(); - } + @Override + public GaeaDict getEntity() { + return new GaeaDict(); + } - @Override - public GaeaDictDTO getDTO() { - return new GaeaDictDTO(); - } + @Override + public GaeaDictDTO getDTO() { + return new GaeaDictDTO(); + } - /** - * 刷新指定字典项 - * @return - */ - @PostMapping("/freshDict") - @Permission(code = "fresh", name = "刷新") - public ResponseBean refreshDict(@RequestBody List dictCodes) { - // 刷新 - gaeaDictService.refreshCache(dictCodes); - return responseSuccess(); - } - /** - * 下拉菜单 - * @return - */ - @GetMapping("/select/{dictCode}") - @Permission(code = "query", name = "下拉") - public ResponseBean select(@PathVariable("dictCode") String dictName) { - Locale locale = LocaleContextHolder.getLocale(); - // 语言 - String language = locale.getLanguage(); + /** + * 刷新指定字典项 + * @return + */ + @PostMapping("/freshDict") + @Permission(code = "fresh",name = "刷新") + public ResponseBean refreshDict(@RequestBody List dictCodes) { + //刷新 + gaeaDictService.refreshCache(dictCodes); + return responseSuccess(); + } - List keyValues = gaeaDictService.select(dictName, language); - return responseSuccessWithData(keyValues); - } + /** + * 下拉菜单 + * @return + */ + @GetMapping("/select/{dictCode}") + @Permission(code = "query",name = "下拉") + public ResponseBean select(@PathVariable("dictCode") String dictName){ + Locale locale = LocaleContextHolder.getLocale(); + //语言 + String language = locale.getLanguage(); - /** - * 指定语言的字典项 - * @return - */ - @GetMapping("/map/{dictCode}") - public ResponseBean dictItemByLang(@PathVariable("dictCode") String dictCode) { - return responseSuccessWithData(gaeaDictItemService.getItemMap(dictCode)); - } + List keyValues = gaeaDictService.select(dictName,language); + return responseSuccessWithData(keyValues); + } - /** - * 下拉菜单 - * @return - */ - @GetMapping("/selectAll/{project}") - public ResponseBean selectTypecodes(@PathVariable String project) { - Locale locale = LocaleContextHolder.getLocale(); - // 语言 - String language = locale.getLanguage(); - Collection keyValues = gaeaDictService.selectTypeCode(project, language); - return responseSuccessWithData(keyValues); - } + /** + * 指定语言的字典项 + * @return + */ + @GetMapping("/map/{dictCode}") + public ResponseBean dictItemByLang(@PathVariable("dictCode") String dictCode){ + return responseSuccessWithData(gaeaDictItemService.getItemMap(dictCode)); + } + /** + * 下拉菜单 + * @return + */ + @GetMapping("/selectAll/{project}") + public ResponseBean selectTypecodes(@PathVariable String project){ + Locale locale = LocaleContextHolder.getLocale(); + //语言 + String language = locale.getLanguage(); - /** - * 获取所有字典 - * @return - */ - @GetMapping("/all") - public ResponseBean all() { - Locale locale = LocaleContextHolder.getLocale(); - // 语言 - String language = locale.getLanguage(); + Collection keyValues = gaeaDictService.selectTypeCode(project,language); + return responseSuccessWithData(keyValues); + } - Map> all = gaeaDictService.all(language); - return responseSuccessWithData(all); - } + /** + * 获取所有字典 + * @return + */ + @GetMapping("/all") + public ResponseBean all(){ + Locale locale = LocaleContextHolder.getLocale(); + //语言 + String language = locale.getLanguage(); + Map> all = gaeaDictService.all(language); + return responseSuccessWithData(all); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictItemController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictItemController.java index cb78a1dfb..92a431d34 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictItemController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/GaeaDictItemController.java @@ -1,15 +1,15 @@ package com.anjiplus.template.gaea.business.modules.dict.controller; import com.anji.plus.gaea.curd.controller.GaeaBaseController; -import com.anji.plus.gaea.curd.service.GaeaBaseService; +import com.anjiplus.template.gaea.business.modules.dict.dao.entity.GaeaDictItem; import com.anjiplus.template.gaea.business.modules.dict.controller.dto.GaeaDictItemDTO; import com.anjiplus.template.gaea.business.modules.dict.controller.param.GaeaDictItemParam; -import com.anjiplus.template.gaea.business.modules.dict.dao.entity.GaeaDictItem; import com.anjiplus.template.gaea.business.modules.dict.service.GaeaDictItemService; +import com.anji.plus.gaea.curd.service.GaeaBaseService; import io.swagger.annotations.Api; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; /** * 数据字典项(GaeaDictItem)实体类 @@ -21,23 +21,21 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping("/gaeaDictItem") @Api(value = "/gaeaDictItem", tags = "数据字典项") public class GaeaDictItemController extends GaeaBaseController { + @Autowired + private GaeaDictItemService gaeaDictItemService; + + @Override + public GaeaBaseService getService() { + return gaeaDictItemService; + } - @Autowired - private GaeaDictItemService gaeaDictItemService; + @Override + public GaeaDictItem getEntity() { + return new GaeaDictItem(); + } - @Override - public GaeaBaseService getService() { - return gaeaDictItemService; - } - - @Override - public GaeaDictItem getEntity() { - return new GaeaDictItem(); - } - - @Override - public GaeaDictItemDTO getDTO() { - return new GaeaDictItemDTO(); - } - -} + @Override + public GaeaDictItemDTO getDTO() { + return new GaeaDictItemDTO(); + } +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictDTO.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictDTO.java index eb49a4972..e4c5830f3 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictDTO.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictDTO.java @@ -16,23 +16,21 @@ import java.io.Serializable; @ApiModel(value = "") @Data public class GaeaDictDTO extends GaeaBaseDTO implements Serializable { + /** + * 字典名称 + */ + @ApiModelProperty(value = "字典名称") + private String dictName; + /** + * 字典编号 + */ + @ApiModelProperty(value = "字典编号") + private String dictCode; + /** + * 字典描述 + */ + @ApiModelProperty(value = "字典描述") + private String remark; - /** - * 字典名称 - */ - @ApiModelProperty(value = "字典名称") - private String dictName; - - /** - * 字典编号 - */ - @ApiModelProperty(value = "字典编号") - private String dictCode; - - /** - * 字典描述 - */ - @ApiModelProperty(value = "字典描述") - private String remark; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictItemDTO.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictItemDTO.java index ccd4acbc2..ef4cabb02 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictItemDTO.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/dto/GaeaDictItemDTO.java @@ -16,52 +16,45 @@ import java.io.Serializable; @ApiModel(value = "数据字典项") @Data public class GaeaDictItemDTO extends GaeaBaseDTO implements Serializable { + /** + * 数据字典编码 + */ + @ApiModelProperty(value = "数据字典编码") + private String dictCode; + /** + * 字典项名称 + */ + @ApiModelProperty(value = "字典项名称") + private String itemName; + /** + * 字典项值 + */ + @ApiModelProperty(value = "字典项值") + private String itemValue; - /** - * 数据字典编码 - */ - @ApiModelProperty(value = "数据字典编码") - private String dictCode; - - /** - * 字典项名称 - */ - @ApiModelProperty(value = "字典项名称") - private String itemName; - - /** - * 字典项值 - */ - @ApiModelProperty(value = "字典项值") - private String itemValue; - - /** - * 字典项扩展 - */ - @ApiModelProperty(value = "字典项扩展") - private String itemExtend; - - /** - * 语言标识 - */ - @ApiModelProperty(value = "语言标识") - private String locale; - - /** - * 描述 - */ - @ApiModelProperty(value = "描述") - private String remark; - - /** - * 排序 - */ - @ApiModelProperty(value = "排序") - private Integer sort; - - /** - * 1:启用,0:禁用 - */ - private Integer enabled; + /** + * 字典项扩展 + */ + @ApiModelProperty(value = "字典项扩展") + private String itemExtend; + /** + * 语言标识 + */ + @ApiModelProperty(value = "语言标识") + private String locale; + /** + * 描述 + */ + @ApiModelProperty(value = "描述") + private String remark; + /** + * 排序 + */ + @ApiModelProperty(value = "排序") + private Integer sort; + /** + * 1:启用,0:禁用 + */ + private Integer enabled; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictItemParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictItemParam.java index 56052b1dc..1b148e867 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictItemParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictItemParam.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.dict.controller.param; + import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; @@ -16,25 +17,23 @@ import java.io.Serializable; @Data public class GaeaDictItemParam extends PageParam implements Serializable { - /** - * 数据字典编码 - */ - private String dictCode; + /** + * 数据字典编码 + */ + private String dictCode; + /** + * 字典项名称 + */ + @Query(QueryEnum.LIKE) + private String itemName; - /** - * 字典项名称 - */ - @Query(QueryEnum.LIKE) - private String itemName; - - /** - * 语言标识 - */ - private String locale; - - /** - * 1:启用,0:禁用 - */ - private Integer enabled; + /** + * 语言标识 + */ + private String locale; + /** + * 1:启用,0:禁用 + */ + private Integer enabled; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictParam.java index a9deb4c98..5e23591c5 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/controller/param/GaeaDictParam.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.dict.controller.param; + import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; @@ -15,17 +16,14 @@ import java.io.Serializable; */ @Data public class GaeaDictParam extends PageParam implements Serializable { - - /** - * 字典名称 - */ - @Query(QueryEnum.LIKE) - private String dictName; - - /** - * 字典编号 - */ - @Query(QueryEnum.LIKE) - private String dictCode; - + /** + * 字典名称 + */ + @Query(QueryEnum.LIKE) + private String dictName; + /** + * 字典编号 + */ + @Query(QueryEnum.LIKE) + private String dictCode; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictItemMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictItemMapper.java index 5e89919f7..26451825e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictItemMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictItemMapper.java @@ -1,7 +1,7 @@ package com.anjiplus.template.gaea.business.modules.dict.dao; -import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.dict.dao.entity.GaeaDictItem; +import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +13,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GaeaDictItemMapper extends GaeaBaseMapper { -} + +} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictMapper.java index 458dc7211..cfd7b4a45 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/GaeaDictMapper.java @@ -1,7 +1,7 @@ package com.anjiplus.template.gaea.business.modules.dict.dao; -import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.dict.dao.entity.GaeaDict; +import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import org.apache.ibatis.annotations.Mapper; /** @@ -13,4 +13,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GaeaDictMapper extends GaeaBaseMapper { + } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDict.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDict.java index cd52c21cc..0bae69024 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDict.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDict.java @@ -13,47 +13,44 @@ import java.io.Serializable; * @author lr * @since 2021-02-23 10:01:02 */ -@TableName(keepGlobalPrefix = true, value = "gaea_dict") +@TableName(keepGlobalPrefix=true, value = "gaea_dict") public class GaeaDict extends GaeaBaseEntity implements Serializable { + /** + * 字典名称 + */ + private String dictName; + /** + * 字典编码 + */ + @Unique(code = ResponseCode.DICCODE_ISEXIST) + private String dictCode; - /** - * 字典名称 - */ - private String dictName; + /** + * 字典描述 + */ + private String remark; - /** - * 字典编码 - */ - @Unique(code = ResponseCode.DICCODE_ISEXIST) - private String dictCode; + public String getDictName() { + return dictName; + } - /** - * 字典描述 - */ - private String remark; + public void setDictName(String dictName) { + this.dictName = dictName; + } - public String getDictName() { - return dictName; - } + public String getDictCode() { + return dictCode; + } - public void setDictName(String dictName) { - this.dictName = dictName; - } + public void setDictCode(String dictCode) { + this.dictCode = dictCode; + } - public String getDictCode() { - return dictCode; - } - - public void setDictCode(String dictCode) { - this.dictCode = dictCode; - } - - public String getRemark() { - return remark; - } - - public void setRemark(String remark) { - this.remark = remark; - } + public String getRemark() { + return remark; + } + public void setRemark(String remark) { + this.remark = remark; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDictItem.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDictItem.java index 417fde483..37f75c2c6 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDictItem.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/dao/entity/GaeaDictItem.java @@ -2,8 +2,8 @@ package com.anjiplus.template.gaea.business.modules.dict.dao.entity; import com.anji.plus.gaea.annotation.UnionUnique; import com.anji.plus.gaea.annotation.UnionUniqueCode; +import com.anjiplus.template.gaea.business.code.*; import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; -import com.anjiplus.template.gaea.business.code.ResponseCode; import com.anjiplus.template.gaea.business.constant.BusinessConstant; import com.baomidou.mybatisplus.annotation.TableName; @@ -15,115 +15,109 @@ import java.io.Serializable; * @author lirui * @since 2021-03-09 15:52:41 */ -@TableName(keepGlobalPrefix = true, value = "gaea_dict_item") +@TableName(keepGlobalPrefix=true,value = "gaea_dict_item") @UnionUniqueCode(group = BusinessConstant.DICT_ITEM_EXIST_GROUP, code = ResponseCode.DICT_ITEM_REPEAT) public class GaeaDictItem extends GaeaBaseEntity implements Serializable { - /** - * 数据字典编码 - */ - @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) - private String dictCode; + /** + * 数据字典编码 + */ + @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) + private String dictCode; + /** + * 字典项名称 + */ + private String itemName; + /** + * 字典项值 + */ + @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) + private String itemValue; - /** - * 字典项名称 - */ - private String itemName; + /** + * 字典项扩展 + */ + private String itemExtend; + /** + * 语言标识 + */ + @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) + private String locale; - /** - * 字典项值 - */ - @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) - private String itemValue; + /** + * 1:启用,0:禁用 + */ + private Integer enabled; + /** + * 描述 + */ + private String remark; + /** + * 排序 + */ + private Integer sort; - /** - * 字典项扩展 - */ - private String itemExtend; + public String getDictCode() { + return dictCode; + } - /** - * 语言标识 - */ - @UnionUnique(group = BusinessConstant.DICT_ITEM_EXIST_GROUP) - private String locale; + public void setDictCode(String dictCode) { + this.dictCode = dictCode; + } - /** - * 1:启用,0:禁用 - */ - private Integer enabled; + public String getItemName() { + return itemName; + } - /** - * 描述 - */ - private String remark; + public void setItemName(String itemName) { + this.itemName = itemName; + } - /** - * 排序 - */ - private Integer sort; + public String getItemValue() { + return itemValue; + } - public String getDictCode() { - return dictCode; - } + public void setItemValue(String itemValue) { + this.itemValue = itemValue; + } - public void setDictCode(String dictCode) { - this.dictCode = dictCode; - } + public String getLocale() { + return locale; + } - public String getItemName() { - return itemName; - } + public void setLocale(String locale) { + this.locale = locale; + } - public void setItemName(String itemName) { - this.itemName = itemName; - } + public String getRemark() { + return remark; + } - public String getItemValue() { - return itemValue; - } + public void setRemark(String remark) { + this.remark = remark; + } - public void setItemValue(String itemValue) { - this.itemValue = itemValue; - } + public Integer getSort() { + return sort; + } - public String getLocale() { - return locale; - } + public void setSort(Integer sort) { + this.sort = sort; + } - public void setLocale(String locale) { - this.locale = locale; - } + public Integer getEnabled() { + return enabled; + } - public String getRemark() { - return remark; - } + public void setEnabled(Integer enabled) { + this.enabled = enabled; + } - public void setRemark(String remark) { - this.remark = remark; - } - - public Integer getSort() { - return sort; - } - - public void setSort(Integer sort) { - this.sort = sort; - } - - public Integer getEnabled() { - return enabled; - } - - public void setEnabled(Integer enabled) { - this.enabled = enabled; - } - - public String getItemExtend() { - return itemExtend; - } - - public void setItemExtend(String itemExtend) { - this.itemExtend = itemExtend; - } + public String getItemExtend() { + return itemExtend; + } + public void setItemExtend(String itemExtend) { + this.itemExtend = itemExtend; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictItemService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictItemService.java index bb9a23b99..462915441 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictItemService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictItemService.java @@ -14,11 +14,10 @@ import java.util.Map; */ public interface GaeaDictItemService extends GaeaBaseService { - /** - * 根据字典编码获取字典项 - * @param dictCode - * @return - */ - Map getItemMap(String dictCode); - + /** + * 根据字典编码获取字典项 + * @param dictCode + * @return + */ + Map getItemMap(String dictCode); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictService.java index c4a882502..1649a4b58 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/GaeaDictService.java @@ -18,39 +18,39 @@ import java.util.Map; */ public interface GaeaDictService extends GaeaBaseService { - /** - * 刷新全部缓存 - * @param dictCodes - */ - void refreshCache(List dictCodes); + /** + * 刷新全部缓存 + * @param dictCodes + */ + void refreshCache(List dictCodes); - /** - * 获取指定字典code下拉 - * @param dictCode - * @param language - * @return - */ - List select(String dictCode, String language); - /** - * 获取所有字典项 - * @return - */ - List findItems(List dictCodes); + /** + * 获取指定字典code下拉 + * @param dictCode + * @param language + * @return + */ + List select(String dictCode, String language); - /** - * 获取所有 typecode - * @param system - * @param language - * @return - */ - Collection selectTypeCode(String system, String language); + /** + * 获取所有字典项 + * @return + */ + List findItems(List dictCodes); + /** + * 获取所有 typecode + * @param system + * @param language + * @return + */ + Collection selectTypeCode(String system, String language); - /** - * 获取所有数据字典 - * @param language - * @return - */ - Map> all(String language); + /** + * 获取所有数据字典 + * @param language + * @return + */ + Map> all(String language); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictItemServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictItemServiceImpl.java index 5d4823cd2..414af7eaa 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictItemServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictItemServiceImpl.java @@ -30,71 +30,69 @@ import java.util.stream.Collectors; */ @Service public class GaeaDictItemServiceImpl implements GaeaDictItemService { + @Autowired + private GaeaDictItemMapper gaeaDictItemMapper; - @Autowired - private GaeaDictItemMapper gaeaDictItemMapper; + @Autowired + private CacheHelper cacheHelper; - @Autowired - private CacheHelper cacheHelper; + @Override + public GaeaBaseMapper getMapper() { + return gaeaDictItemMapper; + } - @Override - public GaeaBaseMapper getMapper() { - return gaeaDictItemMapper; - } - @Override - public void processAfterOperation(GaeaDictItem entity, BaseOperationEnum operationEnum) throws BusinessException { - String dictCode = entity.getDictCode(); - String locale = entity.getLocale(); + @Override + public void processAfterOperation(GaeaDictItem entity, BaseOperationEnum operationEnum) throws BusinessException { + String dictCode = entity.getDictCode(); + String locale = entity.getLocale(); - String key = GaeaKeyConstant.DICT_PREFIX + locale + GaeaConstant.REDIS_SPLIT + dictCode; - switch (operationEnum) { - case INSERT: - case UPDATE: - cacheHelper.hashSet(key, entity.getItemValue(), entity.getItemName()); - break; - case DELETE: - cacheHelper.hashDel(key, entity.getItemValue()); - default: - } - } + String key = GaeaKeyConstant.DICT_PREFIX + locale + GaeaConstant.REDIS_SPLIT + dictCode; + switch (operationEnum) { + case INSERT: + case UPDATE: + cacheHelper.hashSet(key, entity.getItemValue(), entity.getItemName()); + break; + case DELETE: + cacheHelper.hashDel(key, entity.getItemValue()); + default: + } + } - @Override - public void processBatchAfterOperation(List entities, BaseOperationEnum operationEnum) - throws BusinessException { - if (CollectionUtils.isEmpty(entities)) { - return; - } + @Override + public void processBatchAfterOperation(List entities, BaseOperationEnum operationEnum) throws BusinessException { + if (CollectionUtils.isEmpty(entities)) { + return; + } - Map> dictItemMap = entities.stream() - .collect(Collectors.groupingBy(item -> item.getLocale() + GaeaConstant.REDIS_SPLIT + item.getDictCode(), - Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName, (v1, v2) -> v2))); + Map> dictItemMap = entities.stream() + .collect(Collectors.groupingBy(item -> item.getLocale() + GaeaConstant.REDIS_SPLIT +item.getDictCode(), + Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName,(v1,v2)-> v2))); - switch (operationEnum) { - case DELETE_BATCH: - // 遍历并保持到Redis中 - dictItemMap.entrySet().stream().forEach(entry -> { - String key = GaeaKeyConstant.DICT_PREFIX + entry.getKey(); - Set hashKeys = entry.getValue().keySet(); - cacheHelper.hashBatchDel(key, hashKeys); - }); - break; - default: - } - } + switch (operationEnum) { + case DELETE_BATCH: + //遍历并保持到Redis中 + dictItemMap.entrySet().stream().forEach(entry -> { + String key = GaeaKeyConstant.DICT_PREFIX + entry.getKey(); + Set hashKeys = entry.getValue().keySet(); + cacheHelper.hashBatchDel(key, hashKeys); + }); + break; + default: + } + } - @Override - public Map getItemMap(String dictCode) { - Locale locale = LocaleContextHolder.getLocale(); + @Override + public Map getItemMap(String dictCode) { + Locale locale = LocaleContextHolder.getLocale(); - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(GaeaDictItem::getDictCode, dictCode); - wrapper.eq(GaeaDictItem::getLocale, locale.getLanguage()); + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(GaeaDictItem::getDictCode, dictCode); + wrapper.eq(GaeaDictItem::getLocale, locale.getLanguage()); - List list = list(wrapper); - Map data = list.stream() - .collect(Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName, (v1, v2) -> v2)); - return data; - } + List list = list(wrapper); + Map data = list.stream().collect(Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName, (v1, v2) -> v2)); + return data; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictServiceImpl.java index ea4fe4061..1216fe219 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/dict/service/impl/GaeaDictServiceImpl.java @@ -31,144 +31,154 @@ import java.util.stream.Collectors; @Service public class GaeaDictServiceImpl implements GaeaDictService { - @Autowired - private GaeaDictMapper gaeaDictMapper; + @Autowired + private GaeaDictMapper gaeaDictMapper; - @Autowired - private GaeaDictItemMapper gaeaDictItemMapper; + @Autowired + private GaeaDictItemMapper gaeaDictItemMapper; - @Autowired - private CacheHelper cacheHelper; + @Autowired + private CacheHelper cacheHelper; - @Override - public GaeaBaseMapper getMapper() { - return gaeaDictMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return gaeaDictMapper; + } - /** - * 刷新全部缓存 - * @param dictCodes - */ - @Override - public void refreshCache(List dictCodes) { + /** + * 刷新全部缓存 + * @param dictCodes + */ + @Override + public void refreshCache(List dictCodes) { - // 查询指定字典项 - List gaeaDictItems = findItems(dictCodes); + //查询指定字典项 + List gaeaDictItems = findItems(dictCodes); - // 对数据字典项进行分组,分组key=语言标识:字典编码 - Map> dictItemMap = gaeaDictItems.stream() - .collect(Collectors.groupingBy(item -> item.getLocale() + GaeaConstant.REDIS_SPLIT + item.getDictCode(), - Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName, (v1, v2) -> v2))); + //对数据字典项进行分组,分组key=语言标识:字典编码 + Map> dictItemMap = gaeaDictItems.stream() + .collect(Collectors + .groupingBy(item -> item.getLocale() + GaeaConstant.REDIS_SPLIT +item.getDictCode(), + Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemName,(v1,v2)-> v2))); - // 遍历并保持到Redis中 - dictItemMap.entrySet().stream().forEach(entry -> { - String key = GaeaKeyConstant.DICT_PREFIX + entry.getKey(); - cacheHelper.delete(key); - cacheHelper.hashSet(key, entry.getValue()); - }); - } + //遍历并保持到Redis中 + dictItemMap.entrySet().stream().forEach(entry -> { + String key = GaeaKeyConstant.DICT_PREFIX + entry.getKey(); + cacheHelper.delete(key); + cacheHelper.hashSet(key, entry.getValue()); + }); + } - /** - * 根据国际化语言查询指定字典编码下拉列表 先从Redis中获取 - * @param dictCode 字典名称 - * @param language 语言 - * @return - */ - @Override - public List select(String dictCode, String language) { + /** + * 根据国际化语言查询指定字典编码下拉列表 + * 先从Redis中获取 + * @param dictCode 字典名称 + * @param language 语言 + * @return + */ + @Override + public List select(String dictCode, String language) { - // 缓存字典Key - String dictKey = GaeaKeyConstant.DICT_PREFIX + language + GaeaConstant.REDIS_SPLIT + dictCode; + //缓存字典Key + String dictKey = GaeaKeyConstant.DICT_PREFIX + language + GaeaConstant.REDIS_SPLIT + dictCode; - Map dictMap = cacheHelper.hashGet(dictKey); + Map dictMap = cacheHelper.hashGet(dictKey); - // 当查询的字典为空时 - if (CollectionUtils.isEmpty(dictMap)) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(GaeaDictItem::getDictCode, dictCode).eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()) - .eq(GaeaDictItem::getLocale, language).orderByAsc(GaeaDictItem::getSort); + //当查询的字典为空时 + if (CollectionUtils.isEmpty(dictMap)) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(GaeaDictItem::getDictCode, dictCode) + .eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()) + .eq(GaeaDictItem::getLocale, language) + .orderByAsc(GaeaDictItem::getSort); - List list = gaeaDictItemMapper.selectList(wrapper); + List list = gaeaDictItemMapper.selectList(wrapper); - List keyValues = list.stream().map(dictItemEntity -> new KeyValue(dictItemEntity.getItemValue(), - dictItemEntity.getItemName(), dictItemEntity.getItemExtend())).collect(Collectors.toList()); - // 当缓存不存在时,刷新缓存 - List dictCodes = new ArrayList<>(); - dictCodes.add(dictCode); - refreshCache(dictCodes); - return keyValues; - } + List keyValues = list.stream() + .map(dictItemEntity -> new KeyValue(dictItemEntity.getItemValue(), dictItemEntity.getItemName(), dictItemEntity.getItemExtend())) + .collect(Collectors.toList()); + //当缓存不存在时,刷新缓存 + List dictCodes = new ArrayList<>(); + dictCodes.add(dictCode); + refreshCache(dictCodes); + return keyValues; + } - List keyValues = GaeaUtils.formatKeyValue(dictMap); + List keyValues = GaeaUtils.formatKeyValue(dictMap); - // 添加扩展字段 - LambdaQueryWrapper gaeaDictItemWrapper = Wrappers.lambdaQuery(); - gaeaDictItemWrapper.eq(GaeaDictItem::getDictCode, dictCode); - gaeaDictItemWrapper.isNotNull(GaeaDictItem::getItemExtend); + //添加扩展字段 + LambdaQueryWrapper gaeaDictItemWrapper = Wrappers.lambdaQuery(); + gaeaDictItemWrapper.eq(GaeaDictItem::getDictCode, dictCode); + gaeaDictItemWrapper.isNotNull(GaeaDictItem::getItemExtend); - Map extendMap = gaeaDictItemMapper.selectList(gaeaDictItemWrapper).stream() - .filter(gaeaDictItem -> StringUtils.isNotBlank(gaeaDictItem.getItemExtend())) - .collect(Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemExtend, (v1, v2) -> v2)); - if (!CollectionUtils.isEmpty(extendMap)) { - keyValues.stream().forEach(keyValue -> keyValue.setExtend(extendMap.get(keyValue.getId()))); - } - return keyValues; - } + Map extendMap = gaeaDictItemMapper.selectList(gaeaDictItemWrapper).stream() + .filter(gaeaDictItem -> StringUtils.isNotBlank(gaeaDictItem.getItemExtend())) + .collect(Collectors.toMap(GaeaDictItem::getItemValue, GaeaDictItem::getItemExtend, (v1, v2) -> v2)); + if (!CollectionUtils.isEmpty(extendMap)) { + keyValues.stream().forEach(keyValue -> keyValue.setExtend(extendMap.get(keyValue.getId()))); + } + return keyValues; + } - @Override - public List findItems(List dictCodes) { + @Override + public List findItems(List dictCodes) { - LambdaQueryWrapper gaeaDictItemQueryWrapper = Wrappers.lambdaQuery(); - gaeaDictItemQueryWrapper.eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()); - if (!CollectionUtils.isEmpty(dictCodes)) { - gaeaDictItemQueryWrapper.in(GaeaDictItem::getDictCode, dictCodes); - } - return gaeaDictItemMapper.selectList(gaeaDictItemQueryWrapper); - } + LambdaQueryWrapper gaeaDictItemQueryWrapper = Wrappers.lambdaQuery(); + gaeaDictItemQueryWrapper.eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()); + if (!CollectionUtils.isEmpty(dictCodes)) { + gaeaDictItemQueryWrapper.in(GaeaDictItem::getDictCode, dictCodes); + } + return gaeaDictItemMapper.selectList(gaeaDictItemQueryWrapper); + } - @Override - public Collection selectTypeCode(String system, String language) { - // 缓存字典Key - String dictKey = GaeaKeyConstant.DICT_PREFIX + language + GaeaConstant.REDIS_SPLIT + system; + @Override + public Collection selectTypeCode(String system, String language) { - Map dictMap = cacheHelper.hashGet(dictKey); + //缓存字典Key + String dictKey = GaeaKeyConstant.DICT_PREFIX + language + GaeaConstant.REDIS_SPLIT + system; - // 当查询的字典为空时 - if (CollectionUtils.isEmpty(dictMap)) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - // wrapper.eq(GaeaDict::getLocale, language).orderByAsc(GaeaDict::getSort); + Map dictMap = cacheHelper.hashGet(dictKey); - List list = getMapper().selectList(wrapper); + //当查询的字典为空时 + if (CollectionUtils.isEmpty(dictMap)) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + //wrapper.eq(GaeaDict::getLocale, language).orderByAsc(GaeaDict::getSort); - Set keyValues = list.stream() - .map(dictItemEntity -> new KeyValue(dictItemEntity.getDictCode(), dictItemEntity.getDictName())) - .collect(Collectors.toSet()); - return keyValues; - } + List list = getMapper().selectList(wrapper); - return GaeaUtils.formatKeyValue(dictMap); - } + Set keyValues = list.stream() + .map(dictItemEntity -> new KeyValue(dictItemEntity.getDictCode(), + dictItemEntity.getDictName())) + .collect(Collectors.toSet()); + return keyValues; + } - @Override - public Map> all(String language) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()).eq(GaeaDictItem::getLocale, language) - .orderByAsc(GaeaDictItem::getSort); + return GaeaUtils.formatKeyValue(dictMap); + } - List list = gaeaDictItemMapper.selectList(wrapper); - Map> all = list.stream() - .collect(Collectors.groupingBy(GaeaDictItem::getDictCode, Collectors.mapping(dictItemEntity -> { - Object itemValue = null; - try { - itemValue = Integer.parseInt(dictItemEntity.getItemValue()); - } - catch (Exception e) { - itemValue = dictItemEntity.getItemValue(); - } - return new KeyValue(itemValue, dictItemEntity.getItemName(), dictItemEntity.getItemExtend()); - }, Collectors.toList()))); - return all; - } + + @Override + public Map> all(String language) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(GaeaDictItem::getEnabled, Enabled.YES.getValue()) + .eq(GaeaDictItem::getLocale, language) + .orderByAsc(GaeaDictItem::getSort); + + List list = gaeaDictItemMapper.selectList(wrapper); + Map> all = list.stream().collect( + Collectors.groupingBy( + GaeaDictItem::getDictCode, + Collectors.mapping(dictItemEntity -> { + Object itemValue = null; + try{ + itemValue = Integer.parseInt(dictItemEntity.getItemValue()); + }catch (Exception e){ + itemValue = dictItemEntity.getItemValue(); + } + return new KeyValue(itemValue, dictItemEntity.getItemName(), dictItemEntity.getItemExtend()); + },Collectors.toList()))); + return all; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/GaeaFileController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/GaeaFileController.java index 57ceffd00..d0d45afc1 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/GaeaFileController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/GaeaFileController.java @@ -27,47 +27,47 @@ import javax.servlet.http.HttpServletResponse; @RequestMapping("/file") @Api(value = "/file", tags = "") public class GaeaFileController extends BaseController { + @Autowired + private GaeaFileService gaeaFileService; - @Autowired - private GaeaFileService gaeaFileService; + @PostMapping("/upload") + @Permission(code = "upload", name = "文件上传") + public ResponseBean upload(@RequestParam("file") MultipartFile file) { + return ResponseBean.builder().message("success").data((gaeaFileService.upload(file))).build(); + } - @PostMapping("/upload") - @Permission(code = "upload", name = "文件上传") - public ResponseBean upload(@RequestParam("file") MultipartFile file) { - return ResponseBean.builder().message("success").data((gaeaFileService.upload(file))).build(); - } + @GetMapping(value = "/download/{fileId}") + public ResponseEntity download(HttpServletRequest request, HttpServletResponse response, @PathVariable("fileId") String fileId) { + return gaeaFileService.download(request, response, fileId); + } - @GetMapping(value = "/download/{fileId}") - public ResponseEntity download(HttpServletRequest request, HttpServletResponse response, - @PathVariable("fileId") String fileId) { - return gaeaFileService.download(request, response, fileId); - } + /** + * 获取实际服务类 + * + * @return + */ + @Override + public GaeaBaseService getService() { + return gaeaFileService; + } - /** - * 获取实际服务类 - * @return - */ - @Override - public GaeaBaseService getService() { - return gaeaFileService; - } - - /** - * 获取当前Controller数据库实体Entity - * @return - */ - @Override - public GaeaFile getEntity() { - return new GaeaFile(); - } - - /** - * 获取当前Controller数据传输DTO - * @return - */ - @Override - public GaeaFileDTO getDTO() { - return new GaeaFileDTO(); - } + /** + * 获取当前Controller数据库实体Entity + * + * @return + */ + @Override + public GaeaFile getEntity() { + return new GaeaFile(); + } + /** + * 获取当前Controller数据传输DTO + * + * @return + */ + @Override + public GaeaFileDTO getDTO() { + return new GaeaFileDTO(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/dto/GaeaFileDTO.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/dto/GaeaFileDTO.java index 4ec87654b..86a735cbb 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/dto/GaeaFileDTO.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/dto/GaeaFileDTO.java @@ -1,6 +1,8 @@ package com.anjiplus.template.gaea.business.modules.file.controller.dto; import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -12,19 +14,18 @@ import lombok.Data; @Data public class GaeaFileDTO extends GaeaBaseDTO { - /** 文件标识 */ - private String fileId; + /** 文件标识 */ + private String fileId; - /** 文件类型 */ - private String fileType; + /** 文件类型 */ + private String fileType; - /** 文件路径 */ - private String filePath; + /** 文件路径 */ + private String filePath; - /** url路径 */ - private String urlPath; - - /** 内容说明 */ - private String fileInstruction; + /** url路径 */ + private String urlPath; + /** 内容说明 */ + private String fileInstruction; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/param/GaeaFileParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/param/GaeaFileParam.java index 21c8d5485..7d6bd8350 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/param/GaeaFileParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/controller/param/GaeaFileParam.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.file.controller.param; + import com.anji.plus.gaea.annotation.Query; import com.anji.plus.gaea.constant.QueryEnum; import com.anji.plus.gaea.curd.params.PageParam; @@ -14,12 +15,11 @@ import java.io.Serializable; */ public class GaeaFileParam extends PageParam implements Serializable { - /** 模糊查询 */ - @Query(value = QueryEnum.LIKE) - private String filePath; - - /** 模糊查询 */ - @Query(value = QueryEnum.EQ) - private String fileType; + /** 模糊查询 */ + @Query(value = QueryEnum.LIKE) + private String filePath; + /** 模糊查询 */ + @Query(value = QueryEnum.EQ) + private String fileType; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/dao/GaeaFileMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/dao/GaeaFileMapper.java index 45db750e5..dabb1d35e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/dao/GaeaFileMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/dao/GaeaFileMapper.java @@ -13,4 +13,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface GaeaFileMapper extends GaeaBaseMapper { + } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/entity/GaeaFile.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/entity/GaeaFile.java index c07d81818..49a973431 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/entity/GaeaFile.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/entity/GaeaFile.java @@ -1,7 +1,7 @@ package com.anjiplus.template.gaea.business.modules.file.entity; -import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; import com.baomidou.mybatisplus.annotation.TableName; +import com.anji.plus.gaea.curd.entity.GaeaBaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -13,23 +13,22 @@ import java.io.Serializable; * @author peiyanni * @since 2021-02-18 14:48:20 */ -@TableName(keepGlobalPrefix = true, value = "gaea_file") +@TableName(keepGlobalPrefix=true, value = "gaea_file") @Data public class GaeaFile extends GaeaBaseEntity implements Serializable { - @ApiModelProperty(value = "文件标识") - private String fileId; + @ApiModelProperty(value = "文件标识") + private String fileId; - @ApiModelProperty(value = "文件类型") - private String fileType; + @ApiModelProperty(value = "文件类型") + private String fileType; - @ApiModelProperty(value = "文件路径") - private String filePath; + @ApiModelProperty(value = "文件路径") + private String filePath; - @ApiModelProperty(value = "url路径") - private String urlPath; - - @ApiModelProperty(value = "内容说明") - private String fileInstruction; + @ApiModelProperty(value = "url路径") + private String urlPath; + @ApiModelProperty(value = "内容说明") + private String fileInstruction; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/GaeaFileService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/GaeaFileService.java index 218fa60fe..4082ca7ea 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/GaeaFileService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/GaeaFileService.java @@ -1,8 +1,8 @@ package com.anjiplus.template.gaea.business.modules.file.service; import com.anji.plus.gaea.curd.service.GaeaBaseService; -import com.anjiplus.template.gaea.business.modules.file.controller.param.GaeaFileParam; import com.anjiplus.template.gaea.business.modules.file.entity.GaeaFile; +import com.anjiplus.template.gaea.business.modules.file.controller.param.GaeaFileParam; import org.springframework.http.ResponseEntity; import org.springframework.web.multipart.MultipartFile; @@ -18,37 +18,40 @@ import java.io.File; */ public interface GaeaFileService extends GaeaBaseService { - /** - * 文件上传 - * @param multipartFile 文件 - * @param file 文件 - * @param customFileName 自定义文件名,默认给null - * @return - */ - GaeaFile upload(MultipartFile multipartFile, File file, String customFileName); + /** + * 文件上传 + * + * @param multipartFile 文件 + * @param file 文件 + * @param customFileName 自定义文件名,默认给null + * @return + */ + GaeaFile upload(MultipartFile multipartFile, File file, String customFileName); - /** - * 文件上传 - * @param multipartFile 文件 - * @return - */ - GaeaFile upload(MultipartFile multipartFile); + /** + * 文件上传 + * + * @param multipartFile 文件 + * @return + */ + GaeaFile upload(MultipartFile multipartFile); - /** - * 文件上传 - * @param file 二选一 - * @param customFileName 自定义文件名 - * @return - */ - GaeaFile upload(File file, String customFileName); - - /** - * 根据fileId显示图片或者下载文件 - * @param request - * @param response - * @param fileId - * @return - */ - ResponseEntity download(HttpServletRequest request, HttpServletResponse response, String fileId); + /** + * 文件上传 + * + * @param file 二选一 + * @param customFileName 自定义文件名 + * @return + */ + GaeaFile upload(File file, String customFileName); + /** + * 根据fileId显示图片或者下载文件 + * + * @param request + * @param response + * @param fileId + * @return + */ + ResponseEntity download(HttpServletRequest request, HttpServletResponse response, String fileId); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/impl/GaeaFileServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/impl/GaeaFileServiceImpl.java index 89d271e71..fed436890 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/impl/GaeaFileServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/service/impl/GaeaFileServiceImpl.java @@ -45,184 +45,178 @@ import java.util.stream.Collectors; @Slf4j public class GaeaFileServiceImpl implements GaeaFileService { - @Value("${customer.file.dist-path:''}") - private String dictPath; + @Value("${customer.file.dist-path:''}") + private String dictPath; - @Value("${customer.file.white-list:''}") - private String whiteList; + @Value("${customer.file.white-list:''}") + private String whiteList; - @Value("${customer.file.excelSuffix:''}") - private String excelSuffix; + @Value("${customer.file.excelSuffix:''}") + private String excelSuffix; - @Value("${customer.file.downloadPath:''}") - private String fileDownloadPath; + @Value("${customer.file.downloadPath:''}") + private String fileDownloadPath; - @Autowired - private GaeaFileMapper gaeaFileMapper; + @Autowired + private GaeaFileMapper gaeaFileMapper; - @Override - public GaeaBaseMapper getMapper() { - return gaeaFileMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return gaeaFileMapper; + } - @Override - @Transactional(rollbackFor = Exception.class) - public GaeaFile upload(MultipartFile multipartFile, File file, String customFileName) { - try { - String fileName = ""; - if (null != multipartFile) { - fileName = multipartFile.getOriginalFilename(); - } - else { - fileName = file.getName(); - } - if (StringUtils.isBlank(fileName)) { - throw BusinessExceptionBuilder.build(ResponseCode.FILE_EMPTY_FILENAME); - } + @Override + @Transactional(rollbackFor = Exception.class) + public GaeaFile upload(MultipartFile multipartFile, File file, String customFileName) { + try { + String fileName = ""; + if (null != multipartFile) { + fileName = multipartFile.getOriginalFilename(); + }else { + fileName = file.getName(); + } - String suffixName = fileName.substring(fileName.lastIndexOf(".")); - String fileInstruction = fileName.substring(0, fileName.lastIndexOf(".")); - // 白名单校验(不区分大小写) - List list = new ArrayList<>(Arrays.asList(whiteList.split("\\|"))); - list.addAll(list.stream().map(String::toUpperCase).collect(Collectors.toList())); - if (!list.contains(suffixName)) { - throw BusinessExceptionBuilder.build(ResponseCode.FILE_SUFFIX_UNSUPPORTED); - } - // 生成文件唯一性标识 - String fileId; - if (StringUtils.isBlank(customFileName)) { - fileId = UUID.randomUUID().toString(); - } - else { - fileId = customFileName; - } - String newFileName = fileId + suffixName; - // 本地文件保存路径 - String filePath = dictPath + newFileName; - String urlPath = fileDownloadPath + "/" + fileId; + if (StringUtils.isBlank(fileName)) { + throw BusinessExceptionBuilder.build(ResponseCode.FILE_EMPTY_FILENAME); + } - GaeaFile gaeaFile = new GaeaFile(); - gaeaFile.setFilePath(filePath); - gaeaFile.setFileId(fileId); - gaeaFile.setUrlPath(urlPath); - gaeaFile.setFileType(suffixName.replace(".", "")); - gaeaFile.setFileInstruction(fileInstruction); - gaeaFileMapper.insert(gaeaFile); + String suffixName = fileName.substring(fileName.lastIndexOf(".")); + String fileInstruction = fileName.substring(0, fileName.lastIndexOf(".")); + //白名单校验(不区分大小写) + List list = new ArrayList<>(Arrays.asList(whiteList.split("\\|"))); + list.addAll(list.stream().map(String::toUpperCase).collect(Collectors.toList())); + if (!list.contains(suffixName)) { + throw BusinessExceptionBuilder.build(ResponseCode.FILE_SUFFIX_UNSUPPORTED); + } + // 生成文件唯一性标识 + String fileId; + if (StringUtils.isBlank(customFileName)) { + fileId = UUID.randomUUID().toString(); + } else { + fileId = customFileName; + } + String newFileName = fileId + suffixName; + // 本地文件保存路径 + String filePath = dictPath + newFileName; + String urlPath = fileDownloadPath + "/" + fileId; - // 写文件 将文件保存/app/dictPath/upload/下 - java.io.File dest = new java.io.File(dictPath + newFileName); - java.io.File parentFile = dest.getParentFile(); - if (!parentFile.exists()) { - parentFile.mkdirs(); - } - if (null != multipartFile) { - multipartFile.transferTo(dest); - } - else { - FileUtil.copyFileUsingFileChannels(file, dest); - } - // 将完整的http访问路径返回 - return gaeaFile; - } - catch (Exception e) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - log.error("file upload error: {}", e); - throw BusinessExceptionBuilder.build(ResponseCode.FILE_UPLOAD_ERROR); - } - } + GaeaFile gaeaFile = new GaeaFile(); + gaeaFile.setFilePath(filePath); + gaeaFile.setFileId(fileId); + gaeaFile.setUrlPath(urlPath); + gaeaFile.setFileType(suffixName.replace(".", "")); + gaeaFile.setFileInstruction(fileInstruction); + gaeaFileMapper.insert(gaeaFile); - /** - * 文件上传 - * @param multipartFile 文件 - * @return - */ - @Override - public GaeaFile upload(MultipartFile multipartFile) { - return upload(multipartFile, null, null); - } + //写文件 将文件保存/app/dictPath/upload/下 + java.io.File dest = new java.io.File(dictPath + newFileName); + java.io.File parentFile = dest.getParentFile(); + if (!parentFile.exists()) { + parentFile.mkdirs(); + } + if (null != multipartFile) { + multipartFile.transferTo(dest); + }else { + FileUtil.copyFileUsingFileChannels(file, dest); + } + // 将完整的http访问路径返回 + return gaeaFile; + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("file upload error: {}", e); + throw BusinessExceptionBuilder.build(ResponseCode.FILE_UPLOAD_ERROR); + } + } - /** - * 文件上传 - * @param file 文件 - * @param customFileName 自定义文件名 - * @return - */ - @Override - public GaeaFile upload(File file, String customFileName) { - return upload(null, file, customFileName); - } + /** + * 文件上传 + * + * @param multipartFile 文件 + * @return + */ + @Override + public GaeaFile upload(MultipartFile multipartFile) { + return upload(multipartFile, null, null); + } - @Override - public ResponseEntity download(HttpServletRequest request, HttpServletResponse response, String fileId) { - try { - String userAgent = request.getHeader("User-Agent"); - boolean isIeBrowser = userAgent.indexOf("MSIE") > 0; - // 根据fileId,从gaea_file中读出filePath - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(GaeaFile::getFileId, fileId); - GaeaFile gaeaFile = gaeaFileMapper.selectOne(queryWrapper); - if (null == gaeaFile) { - throw BusinessExceptionBuilder.build(ResponseCode.FILE_ONT_EXSIT); - } - // 解析文件路径、文件名和后缀 - String filePath = gaeaFile.getFilePath(); - if (StringUtils.isBlank(filePath)) { - throw BusinessExceptionBuilder.build(ResponseCode.FILE_ONT_EXSIT); - } - String filename = filePath.substring(filePath.lastIndexOf(File.separator)); - String fileSuffix = filename.substring(filename.lastIndexOf(".")); + /** + * 文件上传 + * + * @param file 文件 + * @param customFileName 自定义文件名 + * @return + */ + @Override + public GaeaFile upload(File file, String customFileName) { + return upload(null, file, customFileName); + } - // 根据文件后缀来判断,是显示图片\视频\音频,还是下载文件 - File file = new File(filePath); - ResponseEntity.BodyBuilder builder = ResponseEntity.ok(); - builder.contentLength(file.length()); - if (StringPatternUtil.stringMatchIgnoreCase(fileSuffix, "(.png|.jpg|.jpeg|.bmp|.gif|.icon)")) { - builder.cacheControl(CacheControl.noCache()).contentType(MediaType.IMAGE_PNG); - } - else if (StringPatternUtil.stringMatchIgnoreCase(fileSuffix, - "(.flv|.swf|.mkv|.avi|.rm|.rmvb|.mpeg|.mpg|.ogg|.ogv|.mov|.wmv|.mp4|.webm|.wav|.mid|.mp3|.aac)")) { - builder.header("Content-Type", "video/mp4; charset=UTF-8"); - } - else { - // application/octet-stream 二进制数据流(最常见的文件下载) - builder.contentType(MediaType.APPLICATION_OCTET_STREAM); - filename = URLEncoder.encode(filename, "UTF-8"); - if (isIeBrowser) { - builder.header("Content-Disposition", "attachment; filename=" + filename); - } - else { - builder.header("Content-Disposition", "attacher; filename*=UTF-8''" + filename); - } - } - return builder.body(FileUtils.readFileToByteArray(file)); - } - catch (Exception e) { - log.error("file download error: {}", e); - return null; - } - } + @Override + public ResponseEntity download(HttpServletRequest request, HttpServletResponse response, String fileId) { + try { + String userAgent = request.getHeader("User-Agent"); + boolean isIeBrowser = userAgent.indexOf("MSIE") > 0; + //根据fileId,从gaea_file中读出filePath + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(GaeaFile::getFileId, fileId); + GaeaFile gaeaFile = gaeaFileMapper.selectOne(queryWrapper); + if (null == gaeaFile) { + throw BusinessExceptionBuilder.build(ResponseCode.FILE_ONT_EXSIT); + } + //解析文件路径、文件名和后缀 + String filePath = gaeaFile.getFilePath(); + if (StringUtils.isBlank(filePath)) { + throw BusinessExceptionBuilder.build(ResponseCode.FILE_ONT_EXSIT); + } + String filename = filePath.substring(filePath.lastIndexOf(File.separator)); + String fileSuffix = filename.substring(filename.lastIndexOf(".")); - /** - * 批处理操作后续处理 删除本地已经存在的文件 - * @param entities - * @param operationEnum 操作类型 - * @throws BusinessException 阻止程序继续执行或回滚事务 - */ - @Override - public void processBatchAfterOperation(List entities, BaseOperationEnum operationEnum) - throws BusinessException { - if (operationEnum.equals(BaseOperationEnum.DELETE_BATCH)) { - // 删除本地文件 - entities.forEach(gaeaFile -> { - String filePath = gaeaFile.getFilePath(); - File file = new File(filePath); - if (file.exists()) { - file.delete(); - } - }); - } + //根据文件后缀来判断,是显示图片\视频\音频,还是下载文件 + File file = new File(filePath); + ResponseEntity.BodyBuilder builder = ResponseEntity.ok(); + builder.contentLength(file.length()); + if (StringPatternUtil.stringMatchIgnoreCase(fileSuffix, "(.png|.jpg|.jpeg|.bmp|.gif|.icon)")) { + builder.cacheControl(CacheControl.noCache()).contentType(MediaType.IMAGE_PNG); + } else if (StringPatternUtil.stringMatchIgnoreCase(fileSuffix, "(.flv|.swf|.mkv|.avi|.rm|.rmvb|.mpeg|.mpg|.ogg|.ogv|.mov|.wmv|.mp4|.webm|.wav|.mid|.mp3|.aac)")) { + builder.header("Content-Type", "video/mp4; charset=UTF-8"); + } else { + //application/octet-stream 二进制数据流(最常见的文件下载) + builder.contentType(MediaType.APPLICATION_OCTET_STREAM); + filename = URLEncoder.encode(filename, "UTF-8"); + if (isIeBrowser) { + builder.header("Content-Disposition", "attachment; filename=" + filename); + } else { + builder.header("Content-Disposition", "attacher; filename*=UTF-8''" + filename); + } + } + return builder.body(FileUtils.readFileToByteArray(file)); + } catch (Exception e) { + log.error("file download error: {}", e); + return null; + } + } - } + /** + * 批处理操作后续处理 + * 删除本地已经存在的文件 + * + * @param entities + * @param operationEnum 操作类型 + * @throws BusinessException 阻止程序继续执行或回滚事务 + */ + @Override + public void processBatchAfterOperation(List entities, BaseOperationEnum operationEnum) throws BusinessException { + if (operationEnum.equals(BaseOperationEnum.DELETE_BATCH)) { + // 删除本地文件 + entities.forEach(gaeaFile -> { + String filePath = gaeaFile.getFilePath(); + File file = new File(filePath); + if (file.exists()) { + file.delete(); + } + }); + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/FileUtils.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/FileUtils.java index c0750c5e8..fca211bb8 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/FileUtils.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/FileUtils.java @@ -2,35 +2,30 @@ package com.anjiplus.template.gaea.business.modules.file.util; import lombok.extern.slf4j.Slf4j; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; +import java.io.*; /** * Created by raodeming on 2021/7/8. */ @Slf4j public class FileUtils { - - public static byte[] readFileToByteArray(File file) { - byte[] buffer = null; - try { - FileInputStream fis = new FileInputStream(file); - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] b = new byte[1024]; - int n; - while ((n = fis.read(b)) != -1) { - bos.write(b, 0, n); - } - fis.close(); - bos.close(); - buffer = bos.toByteArray(); - } - catch (IOException e) { - log.error("error", e); - } - return buffer; - } + public static byte[] readFileToByteArray(File file) { + byte[] buffer = null; + try { + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] b = new byte[1024]; + int n; + while ((n = fis.read(b)) != -1) { + bos.write(b, 0, n); + } + fis.close(); + bos.close(); + buffer = bos.toByteArray(); + } catch (IOException e) { + log.error("error", e); + } + return buffer; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/StringPatternUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/StringPatternUtil.java index 93c049abd..5741f5e8a 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/StringPatternUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/file/util/StringPatternUtil.java @@ -5,99 +5,94 @@ import org.apache.commons.lang3.StringUtils; import java.util.regex.Matcher; import java.util.regex.Pattern; + public class StringPatternUtil { - /** - * - *

- * Discription:[查找源sourceStr中是否包含pattern,返回boolean] - *

- * @author - * @update:[日期YYYY-MM-DD] [更改人姓名] - * @param sourceStr - * @param pattern - * @return - */ - public static boolean stringMatch(String sourceStr, String pattern) { - boolean result = false; - try { - if (StringUtils.isBlank(sourceStr) || StringUtils.isBlank(pattern)) { - return result; - } - Pattern p = Pattern.compile(pattern); - Matcher m = p.matcher(sourceStr); - while (m.find()) { - // String aa=m.group(0); - result = true; - break; - } - } - catch (Exception e) { - result = false; - } - return result; - } + /** + * + *

Discription:[查找源sourceStr中是否包含pattern,返回boolean]

+ * @author + * @update:[日期YYYY-MM-DD] [更改人姓名] + * @param sourceStr + * @param pattern + * @return + */ + public static boolean stringMatch(String sourceStr, String pattern){ + boolean result=false; + try{ + if(StringUtils.isBlank(sourceStr)|| StringUtils.isBlank(pattern)){ + return result; + } + Pattern p = Pattern.compile(pattern); + Matcher m = p.matcher(sourceStr); + while (m.find()) { + //String aa=m.group(0); + result=true; + break ; + } - public static boolean stringMatchIgnoreCase(String sourceStr, String pattern) { - boolean result = false; - try { - if (StringUtils.isBlank(sourceStr) || StringUtils.isBlank(pattern)) { - return result; - } - sourceStr = sourceStr.toLowerCase(); - pattern = pattern.toLowerCase(); - result = stringMatch(sourceStr, pattern); - } - catch (Exception e) { - result = false; - } - return result; - } + }catch(Exception e){ + result=false; + } + return result; + } - /** - *

- * Discription:[查找源sourceStr中是否包含pattern,返回找到的字符串,未找到就返回空字符串] - *

- * @author - * @update:[日期YYYY-MM-DD] [更改人姓名] - * @param sourceStr - * @param pattern - * @return - */ - public static String stringFind(String sourceStr, String pattern) { - String result = ""; - try { - if (StringUtils.isBlank(sourceStr) || StringUtils.isBlank(pattern)) { - return result; - } - Pattern p = Pattern.compile(pattern); - Matcher m = p.matcher(sourceStr); - while (m.find()) { - result = m.group(0); - break; - } - } - catch (Exception e) { - result = ""; - } - return result; - } + public static boolean stringMatchIgnoreCase(String sourceStr, String pattern){ + boolean result=false; + try{ + if(StringUtils.isBlank(sourceStr)|| StringUtils.isBlank(pattern)){ + return result; + } + sourceStr=sourceStr.toLowerCase(); + pattern=pattern.toLowerCase(); + result= stringMatch(sourceStr,pattern); + }catch(Exception e){ + result=false; + } + return result; + } - public static String replace(String sourceStr, String pattern, String replaceStr) { - String result = ""; - try { - if (StringUtils.isBlank(sourceStr) || StringUtils.isBlank(pattern)) { - return result; - } - Pattern p = Pattern.compile(pattern); - Matcher m = p.matcher(sourceStr); - result = m.replaceAll(replaceStr); - } - catch (Exception e) { - result = ""; - } - return result; - } + + /** + *

Discription:[查找源sourceStr中是否包含pattern,返回找到的字符串,未找到就返回空字符串]

+ * @author + * @update:[日期YYYY-MM-DD] [更改人姓名] + * @param sourceStr + * @param pattern + * @return + */ + public static String stringFind(String sourceStr, String pattern){ + String result=""; + try{ + if(StringUtils.isBlank(sourceStr)|| StringUtils.isBlank(pattern)){ + return result; + } + Pattern p = Pattern.compile(pattern); + Matcher m = p.matcher(sourceStr); + while (m.find()) { + result = m.group(0); + break; + } + }catch(Exception e){ + result=""; + } + return result; + } + + public static String replace(String sourceStr, String pattern, String replaceStr){ + String result=""; + try{ + if(StringUtils.isBlank(sourceStr)|| StringUtils.isBlank(pattern)){ + return result; + } + Pattern p = Pattern.compile(pattern); + Matcher m = p.matcher(sourceStr); + result = m.replaceAll(replaceStr); + }catch(Exception e){ + result=""; + } + return result; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/constant/ExpConstant.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/constant/ExpConstant.java index 2bac8fbbe..9e17df5cc 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/constant/ExpConstant.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/constant/ExpConstant.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.report.constant; + import java.util.ArrayList; import java.util.List; @@ -8,18 +9,17 @@ import java.util.List; */ public class ExpConstant { - public static final String[] FUNCTION = new String[] { "=SUM(", "=AVERAGE(", "=MAX(", "=MIN(", "=IF(", "=AND(", - "=OR(", "=CONCAT(" }; + public static final String[] FUNCTION = new String[]{"=SUM(", "=AVERAGE(", "=MAX(", "=MIN(", "=IF(", "=AND(", "=OR(", "=CONCAT("}; - public static List getExpFunction(String e) { - List counts = new ArrayList<>(); - for (int i = 0; i < FUNCTION.length; i++) { - if (e.contains(FUNCTION[i])) { - counts.add(i); - } - } + public static List getExpFunction(String e) { + List counts = new ArrayList<>(); + for (int i = 0; i < FUNCTION.length; i++) { + if(e.contains(FUNCTION[i])){ + counts.add(i); + } + } - return counts; - } + return counts; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/ReportController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/ReportController.java index 8c3f59dba..6269e7d0d 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/ReportController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/ReportController.java @@ -9,12 +9,12 @@ import com.anjiplus.template.gaea.business.modules.report.controller.dto.ReportD import com.anjiplus.template.gaea.business.modules.report.controller.param.ReportParam; import com.anjiplus.template.gaea.business.modules.report.dao.entity.Report; import com.anjiplus.template.gaea.business.modules.report.service.ReportService; -import com.anjiplus.template.gaea.business.modules.reportshare.controller.dto.ReportShareDto; -import com.anjiplus.template.gaea.business.modules.reportshare.service.ReportShareService; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * TODO @@ -28,40 +28,29 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/report") public class ReportController extends GaeaBaseController { - @Autowired - private ReportShareService reportShareService; + @Autowired + private ReportService reportService; - @Autowired - private ReportService reportService; + @Override + public GaeaBaseService getService() { + return reportService; + } - @Override - public GaeaBaseService getService() { - return reportService; - } + @Override + public Report getEntity() { + return new Report(); + } - @Override - public Report getEntity() { - return new Report(); - } - - @Override - public ReportDto getDTO() { - return new ReportDto(); - } - - @DeleteMapping("/delReport") - @Permission(code = "delete", name = "删除") - @GaeaAuditLog(pageTitle = "删除") - public ResponseBean delReport(@RequestBody ReportDto reportDto) { - reportService.delReport(reportDto); - return ResponseBean.builder().build(); - } - - @PostMapping("/share") - @Permission(code = "share", name = "分享") - @GaeaAuditLog(pageTitle = "分享") - public ResponseBean share(@Validated @RequestBody ReportShareDto dto) { - return ResponseBean.builder().data(reportShareService.insertShare(dto)).build(); - } + @Override + public ReportDto getDTO() { + return new ReportDto(); + } + @DeleteMapping("/delReport") + @Permission(code = "delete", name = "删除") + @GaeaAuditLog(pageTitle = "删除") + public ResponseBean delReport(@RequestBody ReportDto reportDto) { + reportService.delReport(reportDto); + return ResponseBean.builder().build(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/dto/ReportDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/dto/ReportDto.java index bd7f9ac24..84e8d1c3e 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/dto/ReportDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/dto/ReportDto.java @@ -6,7 +6,6 @@ import lombok.Data; import java.io.Serializable; /** - * TODO * * @author chenkening * @date 2021/3/26 10:34 @@ -14,40 +13,47 @@ import java.io.Serializable; @Data public class ReportDto extends GaeaBaseDTO implements Serializable { - /** 报表名称 */ - private String reportName; + /** 报表名称 */ + private String reportName; - /** 报表编码 */ - private String reportCode; + /** 报表编码 */ + private String reportCode; - /** 数据集编码,以|分割 */ - private String setCodes; + /**数据集编码,以|分割*/ + private String setCodes; - /** 分组 */ - private String reportGroup; + /** 分组 */ + private String reportGroup; - /** 备注 */ - private String reportDesc; + /** 备注 */ + private String reportDesc; - /** 数据集查询参数 */ - private String setParam; + /** 数据集查询参数 */ + private String setParam; - /** 报表json字符串 */ - private String jsonStr; + /** 报表json字符串 */ + private String jsonStr; - /** 报表类型 */ - private String reportType; + /** 报表类型 */ + private String reportType; - /** 数据总计 */ - private long total; + /** 数据总计 */ + private long total; - /** 报表缩略图 */ - private String reportImage; + /** 报表缩略图 */ + private String reportImage; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; + + + /** 报表作者 */ + private String reportAuthor; + + /** 下载次数 */ + private Long downloadCount; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/param/ReportParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/param/ReportParam.java index 995d8114e..87c066aa8 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/param/ReportParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/controller/param/ReportParam.java @@ -14,18 +14,23 @@ import java.io.Serializable; * @date 2021/3/26 10:40 */ @Data -public class ReportParam extends PageParam implements Serializable { +public class ReportParam extends PageParam implements Serializable{ - /** 报表名称 */ - @Query(QueryEnum.LIKE) - private String reportName; + /** 报表名称 */ + @Query(QueryEnum.LIKE) + private String reportName; - /** 报表编码 */ - @Query(QueryEnum.LIKE) - private String reportCode; + /** 报表作者 */ + @Query(QueryEnum.LIKE) + private String reportAuthor; + + /** 报表编码 */ + @Query(QueryEnum.LIKE) + private String reportCode; + + /** 报表类型 */ + @Query(QueryEnum.EQ) + private String reportType; - /** 报表类型 */ - @Query(QueryEnum.EQ) - private String reportType; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/ReportMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/ReportMapper.java index 24bce7961..bfece32d9 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/ReportMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/ReportMapper.java @@ -10,5 +10,4 @@ import com.anjiplus.template.gaea.business.modules.report.dao.entity.Report; * @date 2021/3/26 10:19 */ public interface ReportMapper extends GaeaBaseMapper { - } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/entity/Report.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/entity/Report.java index 47c930837..09ed5f6f0 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/entity/Report.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/dao/entity/Report.java @@ -13,33 +13,38 @@ import lombok.Data; * @author chenkening * @date 2021/3/26 10:20 */ -@TableName(keepGlobalPrefix = true, value = "gaea_report") +@TableName(keepGlobalPrefix=true, value="gaea_report") @Data public class Report extends GaeaBaseEntity { - @ApiModelProperty(value = "名称") - private String reportName; + @ApiModelProperty(value = "名称") + private String reportName; - @ApiModelProperty(value = "报表编码") - @Unique(code = ResponseCode.REPORT_CODE_ISEXIST) - private String reportCode; + @ApiModelProperty(value = "报表编码") + @Unique(code = ResponseCode.REPORT_CODE_ISEXIST) + private String reportCode; - @ApiModelProperty(value = "分组") - private String reportGroup; + @ApiModelProperty(value = "分组") + private String reportGroup; - @ApiModelProperty(value = "报表描述") - private String reportDesc; + @ApiModelProperty(value = "报表描述") + private String reportDesc; - @ApiModelProperty(value = "报表类型") - private String reportType; + @ApiModelProperty(value = "报表类型") + private String reportType; - @ApiModelProperty(value = "报表缩略图") - private String reportImage; + @ApiModelProperty(value = "报表缩略图") + private String reportImage; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + @ApiModelProperty(value = "报表作者") + private String reportAuthor; - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; + @ApiModelProperty(value = "下载次数") + private Long downloadCount; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; + + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/ReportService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/ReportService.java index 4dd887e59..a09efd080 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/ReportService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/ReportService.java @@ -6,13 +6,17 @@ import com.anjiplus.template.gaea.business.modules.report.controller.param.Repor import com.anjiplus.template.gaea.business.modules.report.dao.entity.Report; /** - * TODO * * @author chenkening * @date 2021/3/26 10:35 */ public interface ReportService extends GaeaBaseService { - void delReport(ReportDto reportDto); + void delReport(ReportDto reportDto); + /** + * 下载次数+1 + * @param reportCode + */ + void downloadStatistics(String reportCode); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/impl/ReportServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/impl/ReportServiceImpl.java index d05dcea05..e5b32704b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/impl/ReportServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/report/service/impl/ReportServiceImpl.java @@ -11,30 +11,52 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** + * * @author chenkening * @date 2021/3/26 10:35 */ @Service public class ReportServiceImpl implements ReportService { - @Autowired - private ReportMapper reportMapper; + @Autowired + private ReportMapper reportMapper; - @Override - public GaeaBaseMapper getMapper() { - return reportMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return reportMapper; + } - @Override - public void delReport(ReportDto reportDto) { - deleteById(reportDto.getId()); - // 删除gaea_report_excel、gaea_report_dashboard、gaea_report_dashboard_widget - // ... - } - @Override - public void processBeforeOperation(Report entity, BaseOperationEnum operationEnum) throws BusinessException { + @Override + public void delReport(ReportDto reportDto) { + deleteById(reportDto.getId()); + //删除gaea_report_excel、gaea_report_dashboard、gaea_report_dashboard_widget + //... + } - } + /** + * 下载次数+1 + * + * @param reportCode + */ + @Override + public void downloadStatistics(String reportCode) { + Report report = selectOne("report_code", reportCode); + if (null != report) { + Long downloadCount = report.getDownloadCount(); + if (null == downloadCount) { + downloadCount = 0L; + }else { + downloadCount++; + } + report.setDownloadCount(downloadCount); + update(report); + } + } + + @Override + public void processBeforeOperation(Report entity, BaseOperationEnum operationEnum) throws BusinessException { + + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/ReportExcelController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/ReportExcelController.java index b515d9e76..21273693b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/ReportExcelController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/ReportExcelController.java @@ -24,54 +24,55 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/reportExcel") public class ReportExcelController extends GaeaBaseController { - @Autowired - private ReportExcelService reportExcelService; + @Autowired + private ReportExcelService reportExcelService; - @Override - public GaeaBaseService getService() { - return reportExcelService; - } + @Override + public GaeaBaseService getService() { + return reportExcelService; + } - @Override - public ReportExcel getEntity() { - return new ReportExcel(); - } + @Override + public ReportExcel getEntity() { + return new ReportExcel(); + } - @Override - public ReportExcelDto getDTO() { - return new ReportExcelDto(); - } + @Override + public ReportExcelDto getDTO() { + return new ReportExcelDto(); + } - @GetMapping("/detailByReportCode/{reportCode}") - @Permission(code = "query", name = "详情") - @GaeaAuditLog(pageTitle = "详情") - public ResponseBean detailByReportCode(@PathVariable String reportCode) { - ReportExcelDto reportExcelDto = reportExcelService.detailByReportCode(reportCode); - return ResponseBean.builder().data(reportExcelDto).build(); - } + @GetMapping("/detailByReportCode/{reportCode}") + @Permission(code = "query", name = "详情") + @GaeaAuditLog(pageTitle = "详情") + public ResponseBean detailByReportCode(@PathVariable String reportCode) { + ReportExcelDto reportExcelDto = reportExcelService.detailByReportCode(reportCode); + return ResponseBean.builder().data(reportExcelDto).build(); + } - @PostMapping("/preview") - @Permission(code = "view", name = "预览") - @GaeaAuditLog(pageTitle = "预览") - public ResponseBean preview(@RequestBody ReportExcelDto reportExcelDto) { - ReportExcelDto result = reportExcelService.preview(reportExcelDto); - return ResponseBean.builder().data(result).build(); - } + @PostMapping("/preview") + @Permission(code = "view", name = "预览") + @GaeaAuditLog(pageTitle = "预览") + public ResponseBean preview(@RequestBody ReportExcelDto reportExcelDto) { + ReportExcelDto result = reportExcelService.preview(reportExcelDto); + return ResponseBean.builder().data(result).build(); + } - @PostMapping("/exportExcel") - @Permission(code = "export", name = "导出") - @GaeaAuditLog(pageTitle = "报表导出") - public ResponseBean exportExcel(@RequestBody ReportExcelDto reportExcelDto) { - return ResponseBean.builder().code(ResponseCode.SUCCESS_CODE) - .data(reportExcelService.exportExcel(reportExcelDto)).message("导出成功,请稍后在文件管理中查看").build(); - } + @PostMapping("/exportExcel") + @Permission(code = "export", name = "导出") + @GaeaAuditLog(pageTitle = "报表导出") + public ResponseBean exportExcel(@RequestBody ReportExcelDto reportExcelDto) { - // @PostMapping("/exportPdf") - // public ResponseBean exportPdf(@RequestBody ReportExcelDto reportExcelDto) { - // reportExcelService.exportPdf(reportExcelDto); - // return ResponseBean.builder().code(ResponseCode.SUCCESS_CODE) - // .build(); - // } + return ResponseBean.builder().code(ResponseCode.SUCCESS_CODE) + .data(reportExcelService.exportExcel(reportExcelDto)) + .message("导出成功,请稍后在文件管理中查看").build(); + } +// @PostMapping("/exportPdf") +// public ResponseBean exportPdf(@RequestBody ReportExcelDto reportExcelDto) { +// reportExcelService.exportPdf(reportExcelDto); +// return ResponseBean.builder().code(ResponseCode.SUCCESS_CODE) +// .build(); +// } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/GridRecordDataModel.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/GridRecordDataModel.java index 9e5262142..b7041439c 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/GridRecordDataModel.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/GridRecordDataModel.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.reportexcel.controller.dto; + import com.alibaba.fastjson.JSONObject; import lombok.Data; @@ -12,55 +13,46 @@ import java.util.List; */ @Data public class GridRecordDataModel { + /** + * 记录序列 + */ + Long id; + /** + * 文档ID + */ + String list_id; + /** + * 本记录的行_列 + */ + String row_col; + /** + * sheet序号 + */ + String index; + /** + * 状态是否当前sheet页 + */ + Integer status; + /** + * 块编号 第一块 fblock + */ + String block_id; + /** + * json串 + */ + JSONObject json_data; + /** + * 排序位置 + */ + Integer order; + /** + * 是否删除 + */ + Integer is_delete; - /** - * 记录序列 - */ - Long id; - - /** - * 文档ID - */ - String list_id; - - /** - * 本记录的行_列 - */ - String row_col; - - /** - * sheet序号 - */ - String index; - - /** - * 状态是否当前sheet页 - */ - Integer status; - - /** - * 块编号 第一块 fblock - */ - String block_id; - - /** - * json串 - */ - JSONObject json_data; - - /** - * 排序位置 - */ - Integer order; - - /** - * 是否删除 - */ - Integer is_delete; - - /** - * sheet页数据 未编号分组 - */ - List dataList; + /** + * sheet页数据 未编号分组 + */ + List dataList; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/ReportExcelDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/ReportExcelDto.java index 0846e69d3..df92b09f7 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/ReportExcelDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/dto/ReportExcelDto.java @@ -6,56 +6,56 @@ import lombok.Data; import java.io.Serializable; + /** * @author chenkening * @date 2021/4/13 15:12 */ @Data public class ReportExcelDto extends GaeaBaseDTO implements Serializable { + /** + * 报表名称 + */ + private String reportName; - /** - * 报表名称 - */ - private String reportName; + /** + * 报表编码 + */ + private String reportCode; - /** - * 报表编码 - */ - private String reportCode; + /** + * 数据集编码,以|分割 + */ + private String setCodes; - /** - * 数据集编码,以|分割 - */ - private String setCodes; + /** + * 分组 + */ + private String reportGroup; - /** - * 分组 - */ - private String reportGroup; + /** + * 数据集查询参数 + */ + private String setParam; - /** - * 数据集查询参数 - */ - private String setParam; + /** + * 报表json字符串 + */ + private String jsonStr; - /** - * 报表json字符串 - */ - private String jsonStr; + /** + * 报表类型 + */ + private String reportType; - /** - * 报表类型 - */ - private String reportType; + /** + * 数据总计 + */ + private long total; - /** - * 数据总计 - */ - private long total; - - /** - * 导出类型 - */ - private String exportType; + /** + * 导出类型 + */ + private String exportType; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/param/ReportExcelParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/param/ReportExcelParam.java index 8156a8a02..13202587c 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/param/ReportExcelParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/controller/param/ReportExcelParam.java @@ -6,6 +6,7 @@ import lombok.Data; import java.io.Serializable; + /** * @author chenkening * @date 2021/4/13 15:12 @@ -13,4 +14,5 @@ import java.io.Serializable; @Data public class ReportExcelParam extends PageParam implements Serializable { + } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/ReportExcelMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/ReportExcelMapper.java index 1622e6cc7..422b83f82 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/ReportExcelMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/ReportExcelMapper.java @@ -8,5 +8,4 @@ import com.anjiplus.template.gaea.business.modules.reportexcel.dao.entity.Report * @date 2021/4/13 15:11 */ public interface ReportExcelMapper extends GaeaBaseMapper { - } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/entity/ReportExcel.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/entity/ReportExcel.java index c563e79ca..2fa43ec7b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/entity/ReportExcel.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/dao/entity/ReportExcel.java @@ -13,22 +13,21 @@ import lombok.Data; @Data public class ReportExcel extends GaeaBaseEntity { - @ApiModelProperty(value = "报表编码") - private String reportCode; + @ApiModelProperty(value = "报表编码") + private String reportCode; - @ApiModelProperty(value = "数据集编码,以|分割") - private String setCodes; + @ApiModelProperty(value = "数据集编码,以|分割") + private String setCodes; - @ApiModelProperty(value = "数据集查询参数") - private String setParam; + @ApiModelProperty(value = "数据集查询参数") + private String setParam; - @ApiModelProperty(value = "报表json字符串") - private String jsonStr; + @ApiModelProperty(value = "报表json字符串") + private String jsonStr; - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; - - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/ReportExcelService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/ReportExcelService.java index bc933fcf7..0bceb4b3b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/ReportExcelService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/ReportExcelService.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.reportexcel.service; + import com.anji.plus.gaea.curd.service.GaeaBaseService; import com.anjiplus.template.gaea.business.modules.reportexcel.controller.dto.ReportExcelDto; import com.anjiplus.template.gaea.business.modules.reportexcel.controller.param.ReportExcelParam; @@ -13,27 +14,30 @@ import com.anjiplus.template.gaea.business.modules.reportexcel.dao.entity.Report */ public interface ReportExcelService extends GaeaBaseService { - /** - * 根据报表编码查询详情 - * @param reportCode - * @return - */ - ReportExcelDto detailByReportCode(String reportCode); + /** + * 根据报表编码查询详情 + * + * @param reportCode + * @return + */ + ReportExcelDto detailByReportCode(String reportCode); - /** - * 报表预览 - * @param reportExcelDto - * @return - */ - ReportExcelDto preview(ReportExcelDto reportExcelDto); + /** + * 报表预览 + * + * @param reportExcelDto + * @return + */ + ReportExcelDto preview(ReportExcelDto reportExcelDto); - /** - * 导出为excel - * @param reportExcelDto - * @return - */ - Boolean exportExcel(ReportExcelDto reportExcelDto); - // Boolean exportPdf(ReportExcelDto reportExcelDto); + /** + * 导出为excel + * + * @param reportExcelDto + * @return + */ + Boolean exportExcel(ReportExcelDto reportExcelDto); +// Boolean exportPdf(ReportExcelDto reportExcelDto); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java index 55ae78914..865dd7dd0 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/service/impl/ReportExcelServiceImpl.java @@ -22,6 +22,8 @@ import com.anjiplus.template.gaea.business.modules.reportexcel.controller.dto.Re import com.anjiplus.template.gaea.business.modules.reportexcel.dao.ReportExcelMapper; import com.anjiplus.template.gaea.business.modules.reportexcel.dao.entity.ReportExcel; import com.anjiplus.template.gaea.business.modules.reportexcel.service.ReportExcelService; +import com.anjiplus.template.gaea.business.modules.reportexcel.util.CellType; +import com.anjiplus.template.gaea.business.modules.reportexcel.util.XlsSheetUtil; import com.anjiplus.template.gaea.business.modules.reportexcel.util.XlsUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.commons.lang3.StringUtils; @@ -32,10 +34,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; +import java.io.*; import java.util.*; /** @@ -47,314 +46,605 @@ import java.util.*; @Service public class ReportExcelServiceImpl implements ReportExcelService { - private Logger logger = LoggerFactory.getLogger(this.getClass()); + private Logger logger = LoggerFactory.getLogger(this.getClass()); - @Autowired - private ReportExcelMapper reportExcelMapper; + @Autowired + private ReportExcelMapper reportExcelMapper; - @Autowired - private DataSetService dataSetService; + @Autowired + private DataSetService dataSetService; - @Autowired - private ReportMapper reportMapper; - @Value("${customer.file.dist-path:''}") - private String dictPath; + @Autowired + private ReportMapper reportMapper; - @Value("${customer.file.downloadPath:''}") - private String fileDownloadPath; + @Value("${customer.file.dist-path:''}") + private String dictPath; - @Autowired - private GaeaFileMapper gaeaFileMapper; + @Value("${customer.file.downloadPath:''}") + private String fileDownloadPath; - @Override - public GaeaBaseMapper getMapper() { - return reportExcelMapper; - } + @Autowired + private GaeaFileMapper gaeaFileMapper; - @Override - public ReportExcelDto detailByReportCode(String reportCode) { - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("report_code", reportCode); - ReportExcel reportExcel = reportExcelMapper.selectOne(queryWrapper); - if (reportExcel != null) { - ReportExcelDto dto = new ReportExcelDto(); - BeanUtils.copyProperties(reportExcel, dto); - return dto; - } - return null; - } - /** - * 操作前处理 - * @param entity 前端传递的对象 - * @param operationEnum 操作类型 - * @throws BusinessException 阻止程序继续执行或回滚事务 - */ - @Override - public void processBeforeOperation(ReportExcel entity, BaseOperationEnum operationEnum) throws BusinessException { - if (operationEnum.equals(BaseOperationEnum.INSERT)) { - String reportCode = entity.getReportCode(); - ReportExcel report = this.selectOne("report_code", reportCode); - if (null != report) { - this.deleteById(report.getId()); - } - } - } + @Override + public GaeaBaseMapper getMapper() { + return reportExcelMapper; + } - /** - * 报表预览 - */ - @Override - public ReportExcelDto preview(ReportExcelDto reportExcelDto) { - // 根据id查询 报表详情 - ReportExcel reportExcel = selectOne("report_code", reportExcelDto.getReportCode()); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("report_code", reportExcelDto.getReportCode()); - Report report = reportMapper.selectOne(queryWrapper); - GaeaAssert.notNull(reportExcel, ResponseCode.RULE_CONTENT_NOT_EXIST, "reportExcel"); - String setParam = reportExcelDto.getSetParam(); + @Override + public ReportExcelDto detailByReportCode(String reportCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("report_code", reportCode); + ReportExcel reportExcel = reportExcelMapper.selectOne(queryWrapper); + if (reportExcel != null) { + ReportExcelDto dto = new ReportExcelDto(); + BeanUtils.copyProperties(reportExcel, dto); + return dto; + } + return null; + } - GaeaBeanUtils.copyAndFormatter(reportExcel, reportExcelDto); - if (StringUtils.isNotBlank(setParam)) { - reportExcelDto.setSetParam(setParam); - } - reportExcelDto.setReportName(report.getReportName()); - // 数据集解析 - String jsonStr = analysisReportData(reportExcelDto); - reportExcelDto.setJsonStr(jsonStr); - // reportExcelDto.setTotal(jsonObject.getJSONObject("rows").size()); - return reportExcelDto; - } + /** + * 操作前处理 + * + * @param entity 前端传递的对象 + * @param operationEnum 操作类型 + * @throws BusinessException 阻止程序继续执行或回滚事务 + */ + @Override + public void processBeforeOperation(ReportExcel entity, BaseOperationEnum operationEnum) throws BusinessException { + if (operationEnum.equals(BaseOperationEnum.INSERT)) { + String reportCode = entity.getReportCode(); + ReportExcel report = this.selectOne("report_code", reportCode); + if (null != report) { + this.deleteById(report.getId()); + } + } + } - @Override - public Boolean exportExcel(ReportExcelDto reportExcelDto) { - String reportCode = reportExcelDto.getReportCode(); - String exportType = reportExcelDto.getExportType(); - logger.error("导出..."); - if (exportType.equals(ExportTypeEnum.GAEA_TEMPLATE_EXCEL.getCodeValue())) { - ReportExcelDto report = detailByReportCode(reportCode); - reportExcelDto.setJsonStr(report.getJsonStr()); - String jsonStr = analysisReportData(reportExcelDto); - List lists = (List) JSON.parse(jsonStr); - OutputStream out; - try { - String fileId = UUID.randomUUID().toString(); - String filePath = dictPath + File.separator + fileId + ".xlsx"; - String urlPath = fileDownloadPath + java.io.File.separator + fileId; + /** + * 报表预览 + */ + @Override + public ReportExcelDto preview(ReportExcelDto reportExcelDto) { + // 根据id查询 报表详情 + ReportExcel reportExcel = selectOne("report_code", reportExcelDto.getReportCode()); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("report_code", reportExcelDto.getReportCode()); + Report report = reportMapper.selectOne(queryWrapper); + GaeaAssert.notNull(reportExcel, ResponseCode.RULE_CONTENT_NOT_EXIST, "reportExcel"); + String setParam = reportExcelDto.getSetParam(); - GaeaFile gaeaFile = new GaeaFile(); - gaeaFile.setFilePath(filePath); - gaeaFile.setFileId(fileId); - gaeaFile.setUrlPath(urlPath); - gaeaFile.setFileType("xlsx"); - gaeaFile.setFileInstruction(reportCode + ".xlsx"); + GaeaBeanUtils.copyAndFormatter(reportExcel, reportExcelDto); + if (StringUtils.isNotBlank(setParam)) { + reportExcelDto.setSetParam(setParam); + } + reportExcelDto.setReportName(report.getReportName()); + // 数据集解析 + String jsonStr = analysisReportData(reportExcelDto); + reportExcelDto.setJsonStr(jsonStr); +// reportExcelDto.setTotal(jsonObject.getJSONObject("rows").size()); + return reportExcelDto; + } - out = new FileOutputStream(filePath); - XlsUtil.exportXlsFile(out, true, lists); + @Override + public Boolean exportExcel(ReportExcelDto reportExcelDto) { + String reportCode = reportExcelDto.getReportCode(); + String exportType = reportExcelDto.getExportType(); + logger.error("导出..."); + if (exportType.equals(ExportTypeEnum.GAEA_TEMPLATE_EXCEL.getCodeValue())) { + ReportExcelDto report = detailByReportCode(reportCode); + reportExcelDto.setJsonStr(report.getJsonStr()); + String jsonStr = analysisReportData(reportExcelDto); + List lists=(List ) JSON.parse(jsonStr); + OutputStream out; + try { + String fileId = UUID.randomUUID().toString(); + String filePath = dictPath + File.separator + fileId + ".xlsx"; + String urlPath = fileDownloadPath + java.io.File.separator + fileId; - gaeaFileMapper.insert(gaeaFile); - logger.info("导出成功:{}", gaeaFile); - } - catch (IOException e) { - logger.error("导出失败", e); - } - } - return true; - } + GaeaFile gaeaFile = new GaeaFile(); + gaeaFile.setFilePath(filePath); + gaeaFile.setFileId(fileId); + gaeaFile.setUrlPath(urlPath); + gaeaFile.setFileType("xlsx"); + gaeaFile.setFileInstruction(reportCode + ".xlsx"); - /** - * 解析报表数据,动态插入列表数据和对象数据 - */ - private String analysisReportData(ReportExcelDto reportExcelDto) { + out = new FileOutputStream(filePath); + XlsUtil.exportXlsFile(out, true, lists); - String jsonStr = reportExcelDto.getJsonStr(); - String setParam = reportExcelDto.getSetParam(); - List dbObjectList = (List) JSON.parse(jsonStr); + gaeaFileMapper.insert(gaeaFile); + logger.info("导出成功:{}", gaeaFile); + } catch (IOException e) { + logger.error("导出失败", e); + } + } + return true; + } - if (dbObjectList != null && dbObjectList.size() > 0) { - for (int x = 0; x < dbObjectList.size(); x++) { - analysisSheetCellData(dbObjectList.get(x), setParam); - } - } - // fastjson $ref 循环引用 - return JSONObject.toJSONString(dbObjectList, SerializerFeature.DisableCircularReferenceDetect); - } + /** + * 解析报表数据,动态插入列表数据和对象数据 + */ + private String analysisReportData(ReportExcelDto reportExcelDto) { - /** - * 解析单sheet data - * @param dbObject - */ - private void analysisSheet(JSONObject dbObject, String setParma) { - // data是一个二维数组 - if (dbObject.containsKey("data") && null != dbObject.get("data")) { - List data = (List) dbObject.get("data"); + String jsonStr = reportExcelDto.getJsonStr(); + String setParam = reportExcelDto.getSetParam(); + List dbObjectList = (List) JSON.parse(jsonStr); - // 行 - for (int r = 0; r < data.size(); r++) { - JSONArray jsonArray = data.get(r); - // 列 - for (int c = 0; c < jsonArray.size(); c++) { - // 单元格 - JSONObject cell = jsonArray.getJSONObject(c); - if (null != cell && cell.containsKey("v") && StringUtils.isNotBlank(cell.getString("v"))) { - String v = cell.getString("v"); - DataSetDto dataSet = getDataSet(v, setParma); - if (null != dataSet) { - OriginalDataDto originalDataDto = dataSetService.getData(dataSet); - if (null != originalDataDto.getData()) { - if (originalDataDto.getData().size() == 1) { - // 对象 - JSONObject jsonObject = originalDataDto.getData().get(0); - String fieldLabel = jsonObject.getString(dataSet.getFieldLabel()); + if (dbObjectList != null && dbObjectList.size() > 0) { + for (int x = 0; x < dbObjectList.size(); x++) { + analysisSheetCellData(dbObjectList.get(x), setParam); + } + } + //fastjson $ref 循环引用 + return JSONObject.toJSONString(dbObjectList, SerializerFeature.DisableCircularReferenceDetect); + } - String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".") - .concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); - dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("v", replace); - dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("m", replace); + /** + * 解析单sheet data + * + * @param dbObject + */ + private void analysisSheet(JSONObject dbObject, String setParma) { + //data是一个二维数组 + if (dbObject.containsKey("data") && null != dbObject.get("data")) { + List data = (List) dbObject.get("data"); - } - else { - // 集合 - JSONObject jsonObject = originalDataDto.getData().get(0); - String fieldLabel = jsonObject.getString(dataSet.getFieldLabel()); - String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".") - .concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); - dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("v", replace); - dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("m", replace); - } - } + //行 + for (int r = 0; r < data.size(); r++) { + JSONArray jsonArray = data.get(r); + //列 + for (int c = 0; c < jsonArray.size(); c++) { + //单元格 + JSONObject cell = jsonArray.getJSONObject(c); + if (null != cell && cell.containsKey("v") && StringUtils.isNotBlank(cell.getString("v"))) { + String v = cell.getString("v"); + DataSetDto dataSet = getDataSet(v, setParma); + if (null != dataSet) { + OriginalDataDto originalDataDto = dataSetService.getData(dataSet); + if (null != originalDataDto.getData()) { + if (originalDataDto.getData().size() == 1) { + //对象 + JSONObject jsonObject = originalDataDto.getData().get(0); + String fieldLabel = jsonObject.getString(dataSet.getFieldLabel()); - } - } + String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".").concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); + dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("v", replace); + dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("m", replace); - } - } + } else { + //集合 + JSONObject jsonObject = originalDataDto.getData().get(0); + String fieldLabel = jsonObject.getString(dataSet.getFieldLabel()); - System.out.println("aaaa"); + String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".").concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); + dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("v", replace); + dbObject.getJSONArray("data").getJSONArray(r).getJSONObject(c).put("m", replace); + } + } - } + } + } - } - /** - * 解析单sheet celldata - * @param dbObject - */ - private void analysisSheetCellData(JSONObject dbObject, String setParam) { - // 清空data值 - dbObject.remove("data"); - // celldata是一个一维数组 - if (dbObject.containsKey("celldata") && null != dbObject.get("celldata")) { - List celldata = new ArrayList<>(); - celldata.addAll((List) dbObject.get("celldata")); - // 遍历已存在的单元格,查看是否存在动态参数 - for (int i = 0; i < celldata.size(); i++) { - // 单元格对象 - JSONObject cellObj = celldata.get(i); - // fastjson深拷贝问题 - String cellStr = cellObj.toJSONString(); - // 行号 - Integer r = cellObj.getInteger("r"); - // 列号 - Integer c = cellObj.getInteger("c"); - JSONObject cell = cellObj.getJSONObject("v"); - if (null != cell && cell.containsKey("v") && StringUtils.isNotBlank(cell.getString("v"))) { - String v = cell.getString("v"); - DataSetDto dataSet = getDataSet(v, setParam); - if (null != dataSet) { - OriginalDataDto originalDataDto = dataSetService.getData(dataSet); - if (null != originalDataDto.getData()) { - List data = originalDataDto.getData(); + } + } - for (int j = 0; j < data.size(); j++) { - if (j == 0) { - // 处理当前行 - // 第一行,作为渲染参照数据 - JSONObject jsonObject = data.get(j); - String fieldLabel = jsonObject.getString(dataSet.getFieldLabel()); - String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".") - .concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); - dbObject.getJSONArray("celldata").getJSONObject(i).getJSONObject("v").put("v", - replace); - dbObject.getJSONArray("celldata").getJSONObject(i).getJSONObject("v").put("m", - replace); - } - else { - // 新增的行数据 - JSONObject addCell = data.get(j); - // 字段 - String fieldLabel = addCell.getString(dataSet.getFieldLabel()); - String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".") - .concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); + System.out.println("aaaa"); - // 转字符串,解决深拷贝问题 - JSONObject addCellData = JSONObject.parseObject(cellStr); - addCellData.put("r", r + j); - addCellData.put("c", c); - addCellData.getJSONObject("v").put("v", replace); - addCellData.getJSONObject("v").put("m", replace); - dbObject.getJSONArray("celldata").add(addCellData); + } - } - } + } - } + /** + * 解析单sheet celldata + * + * @param dbObject + */ + private void analysisSheetCellData(JSONObject dbObject, String setParam) { + //清空data值 + dbObject.remove("data"); + //celldata是一个一维数组 + if (dbObject.containsKey("celldata") && null != dbObject.get("celldata")) { + List celldata = new ArrayList<>(); + celldata.addAll((List) dbObject.get("celldata")); - } - } - } + //整理celldata数据,转换为map格式,方便后续使用单元格位置获取对应的cell对象 + Map cellDataMap = cellDataList2Map(celldata); + //清除原有的数据 + dbObject.getJSONArray("celldata").clear(); + //获取配置项中的合并属性 + JSONObject merge = dbObject.getJSONObject("config").getJSONObject("merge"); + if(merge != null) merge.clear(); + //定义存储每一列动态扩展的行数 + Map colAddCntMap = new HashMap<>(); + // 遍历已存在的单元格,查看是否存在动态参数 + for (int i = 0; i < celldata.size(); i++) { + //单元格对象 + JSONObject cellObj = celldata.get(i); + //fastjson深拷贝问题 + String cellStr = cellObj.toJSONString(); + analysisCellData(cellObj,setParam,colAddCntMap,cellStr,merge, dbObject,cellDataMap); + } + } + } - } + /** + * 开始解析并渲染 cellData + * @param cellObject + */ + public void analysisCellData(JSONObject cellObject,String setParam,Map colAddCntMap,String cellStr, + JSONObject merge,JSONObject dbObject,Map cellDataMap){ + //获取行号 + Integer cellR = cellObject.getInteger("r"); + //获取列数 + Integer cellC = cellObject.getInteger("c"); + //获取此行已经动态增加的行数,默认0行 + int cnt = colAddCntMap.get(cellC) == null ? 0 : colAddCntMap.get(cellC); + //获取单元格类型 + CellType cellType = getCellType(cellObject); + switch (cellType){ + case BLACK: + //空数据单元格不处理 + break; + case DYNAMIC_MERGE: + case DYNAMIC: + //处理动态单元格 + String v = cellObject.getJSONObject("v").getString("v"); + DataSetDto dataSet = getDataSet(v, setParam); + handleDynamicCellObject(dataSet,v,cellStr,cnt,cellR,cellC,merge,dbObject,colAddCntMap); + break; + default: + //处理静态单元格 + handleStaticCellObject(cellStr,dbObject,cnt,cellR,cellC,cellDataMap,setParam,merge,colAddCntMap,cellType); + break; + } + } - } + /** + * 处理动态数据单元格自动扩展 + * @param dataSet + * @param v + * @param cellStr + * @param cnt + * @param r + * @param c + * @param merge + * @param dbObject + * @param colAddCntMap + */ + public void handleDynamicCellObject(DataSetDto dataSet,String v,String cellStr,int cnt,int r,int c, + JSONObject merge,JSONObject dbObject,Map colAddCntMap){ + //获取动态数据 + OriginalDataDto originalDataDto = dataSetService.getData(dataSet); + List cellDynamicData = originalDataDto.getData(); - /** - * 解析 #{xxxx.xxxxx} 数据 - * @param v - * @return - */ - private DataSetDto getDataSet(String v, String setParam) { + if(cellDynamicData != null){ + //循环数据赋值 + for (int j = 0; j < cellDynamicData.size(); j++) { + //新增的行数据 + JSONObject addCell = cellDynamicData.get(j); + //字段 + String fieldLabel = addCell.getString(dataSet.getFieldLabel()); + String replace = v.replace("#{".concat(dataSet.getSetCode()).concat(".").concat(dataSet.getFieldLabel()).concat("}"), fieldLabel); + //转字符串,解决深拷贝问题 + JSONObject addCellData = JSONObject.parseObject(cellStr); - DataSetDto dto = new DataSetDto(); - if (v.contains("#{") && v.contains("}")) { - int start = v.indexOf("#{") + 2; - int end = v.indexOf("}"); - if (start < end) { - String substring = v.substring(start, end); - if (substring.contains(".")) { - String[] split = substring.split("\\."); - dto.setSetCode(split[0]); - dto.setFieldLabel(split[1]); - getContextData(setParam, dto); - return dto; - } - } - } - return null; - } + addCellData.put("r", cnt + r + j); //行数增加 + addCellData.put("c", c); + addCellData.getJSONObject("v").put("v", replace); + addCellData.getJSONObject("v").put("m", replace); + JSONObject cellMc = addCellData.getJSONObject("v").getJSONObject("mc"); + //判断是否是合并单元格 + if(null != cellMc){ + //处理合并单元格 + Integer rs = cellMc.getInteger("rs"); + cellMc.put("r", cnt + r + rs*j); //行数增加 + cellMc.put("c", c); + addCellData.put("r", cnt + r + rs*j); + //合并单元格需要处理config.merge + merge.put(cellMc.getString("r")+"_"+cellMc.getString("c"),cellMc); + //处理单元格扩展之后此列扩展的总行数 + colAddCntMap.put(c,cnt + rs * cellDynamicData.size() - 1); + }else{ + //处理单元格扩展之后此列扩展的总行数 + colAddCntMap.put(c,cnt + cellDynamicData.size() - 1); + } + dbObject.getJSONArray("celldata").add(addCellData); + } + } + } - /** - * 动态参数替换 - * @param setParam - * @param dto - */ - private void getContextData(String setParam, DataSetDto dto) { - if (StringUtils.isNotBlank(setParam)) { - JSONObject setParamJson = JSONObject.parseObject(setParam); - Map map = new HashMap<>(); - // 查询条件 - if (setParamJson.containsKey(dto.getSetCode())) { - JSONObject paramCondition = setParamJson.getJSONObject(dto.getSetCode()); - paramCondition.forEach(map::put); - } - dto.setContextData(map); - } - } + /** + * 处理静态单元格数据 + * @param cellStr + * @param dbObject + * @param cnt + * @param r + * @param c + * @param cellDataMap + * @param setParam + * @param merge + * @param colAddCntMap + * @param cellType + */ + public void handleStaticCellObject(String cellStr,JSONObject dbObject,int cnt,int r,int c, + Map cellDataMap,String setParam, + JSONObject merge,Map colAddCntMap,CellType cellType){ + //转字符串,解决深拷贝问题 + JSONObject addCellData = JSONObject.parseObject(cellStr); + int rows = 0; + switch(cellType){ + case STATIC: + case STATIC_MERGE: + //静态不扩展单元格只需要初始化位置就可以 + initCellPosition(addCellData,cnt,merge); + break; + case STATIC_AUTO: + //获取静态单元格右侧动态单元格的总行数 + rows = getRightDynamicCellRows(addCellData,cellDataMap,setParam,rows,cellType); + initCellPosition(addCellData,cnt,merge); + if(rows > 1){ + //需要把这个静态扩展单元格 改变为 静态合并扩展单元格,就是增加合并属性 mc 以及merge配置 + JSONObject mc = new JSONObject(); + mc.put("rs",rows); + mc.put("cs",1); + mc.put("r",addCellData.getIntValue("r")); + mc.put("c",addCellData.getIntValue("c")); + addCellData.getJSONObject("v").put("mc",mc); + //合并单元格需要处理config.merge + merge.put((mc.getInteger("r")) + "_" + mc.getString("c"),mc); + //处理单元格扩展之后此列扩展的总行数 + colAddCntMap.put(c,cnt + rows - 1); + } + break; + case STATIC_MERGE_AUTO: + //获取静态单元格右侧动态单元格的总行数 + rows = getRightDynamicCellRows(addCellData,cellDataMap,setParam,rows,cellType); + initCellPosition(addCellData,cnt,merge); + if(rows > 0){ + //需要修改单元格mc中的rs + JSONObject cellMc = addCellData.getJSONObject("v").getJSONObject("mc"); + int addCnt = cellMc.getInteger("rs"); + cellMc.put("rs",rows); + //合并单元格需要处理config.merge + merge.put((cellMc.getInteger("r")) + "_" + cellMc.getString("c"),cellMc); + //处理单元格扩展之后此列扩展的总行数 + colAddCntMap.put(c,cnt + rows - addCnt); + } + break; + } + dbObject.getJSONArray("celldata").add(addCellData); + } + + /** + * 初始化单元格位置,主要是这一列已经动态增加的行数 + * @param addCellData + * @param cnt + * @param merge + */ + public void initCellPosition(JSONObject addCellData,int cnt,JSONObject merge){ + addCellData.put("r", cnt + addCellData.getInteger("r"));//行数增加 + //是否是合并单元格 + JSONObject mc = addCellData.getJSONObject("v").getJSONObject("mc"); + if(mc != null){ + mc.put("r",addCellData.getInteger("r")); + initCellMerge(merge,mc); + } + } + + /** + * 初始化单元格合并属性的行数 + * @param merge + * @param mc + */ + public void initCellMerge(JSONObject merge,JSONObject mc){ + merge.put((mc.getInteger("r"))+"_"+mc.getString("c"),mc); + } + + /** + * 获取合并单元格右侧的动态扩展行数,用来设置当前单元格的实际 + * @param addCellData + * @param cellDataMap + * @param setParam + * @param sumRows + * @param cellType + * @return + */ + public int getRightDynamicCellRows(JSONObject addCellData,Map cellDataMap,String setParam,int sumRows,CellType cellType){ + //1、获取此单元格右侧关联的所有单元格 + List rightCellList = getRightDynamicCell(addCellData,cellDataMap,cellType); + //2、循环获取每个单元格的扩展行数 + for (JSONObject rightCell : rightCellList) { + //首先判断这个单元格是否也是【静态扩展单元格】 + CellType rightCellType = getCellType(rightCell); + switch (rightCellType){ + case STATIC_AUTO: + case STATIC_MERGE_AUTO: + //递归查找 + sumRows = getRightDynamicCellRows(rightCell,cellDataMap,setParam,sumRows,rightCellType); + break; + case BLACK: + case STATIC: + sumRows++; + break; + case STATIC_MERGE: + sumRows += rightCell.getJSONObject("v").getJSONObject("mc").getInteger("rs"); + break; + default: + List cellDynamicData = getDynamicDataList(rightCell.getJSONObject("v").getString("v"),setParam); + if(cellDynamicData != null && cellDynamicData.size() > 1){ + int size = cellDynamicData.size(); + sumRows += size; + }else{ + sumRows++; + } + break; + } + } + return sumRows; + } + + /** + * 获取扩展单元格右侧相邻的所有单元格实体 + * @param addCellData + * @param cellDataMap + * @param cellType + * @return + */ + public List getRightDynamicCell(JSONObject addCellData,Map cellDataMap,CellType cellType){ + //静态数据合并单元格需要根据右侧的单元格进行自动向下扩展 + //1、先获取右侧一列的关联的单元格,根据自身的位置,以及自己合并的合并的信息推断 + //如果自己位置是 2,5,并且本身合并 行数2,列数3,则需要推断出两个单元格的位置 + //分别是2,8 和 3,8 + Integer cellR = addCellData.getInteger("r"); + Integer cellC = addCellData.getInteger("c"); + Integer cellRs = 0; + Integer cellCs = 0; + switch (cellType){ + case STATIC_AUTO: + cellRs = 1; + cellCs = 1; + break; + case STATIC_MERGE_AUTO: + cellRs = addCellData.getJSONObject("v").getJSONObject("mc").getInteger("rs"); + cellCs = addCellData.getJSONObject("v").getJSONObject("mc").getInteger("cs"); + break; + } + List rightCells = new ArrayList<>(); + for(int nums = 0;nums < cellRs;nums++){ + int r = cellR + nums; + int c = cellC + cellCs; + String key = r + "," + c; + if(cellDataMap.containsKey(key)){ + JSONObject cellData = cellDataMap.get(r + "," + c); + rightCells.add(cellData); + } + } + return rightCells; + } + + /** + * 判断单元格类型 + * @param cellObject + * @return + */ + public CellType getCellType(JSONObject cellObject){ + JSONObject cellV1 = cellObject.getJSONObject("v"); + if (null != cellV1 && cellV1.containsKey("v") && StringUtils.isNotBlank(cellV1.getString("v"))) { + String cellV2 = cellObject.getJSONObject("v").getString("v"); + String auto = cellObject.getJSONObject("v").getString("auto"); + JSONObject mc = cellObject.getJSONObject("v").getJSONObject("mc"); + if(cellV2.contains("#{") && cellV2.contains("}") ){ + //动态单元格 + if(mc != null){ + return CellType.DYNAMIC_MERGE; + }else{ + return CellType.DYNAMIC; + } + }else{ + //静态单元格 + if(mc != null && "1".equals(auto)){ + return CellType.STATIC_MERGE_AUTO; + }else { + if("1".equals(auto)){ + return CellType.STATIC_AUTO; + }else if(mc != null){ + return CellType.STATIC_MERGE; + }else{ + return CellType.STATIC; + } + } + } + }else{ + return CellType.BLACK; + } + } + + /** + * list转为map结构,方便使用行列号查找对应cell对象 + * @param cellDataList + * @return + */ + public Map cellDataList2Map(List cellDataList){ + Map cellDataMap = new HashMap<>(); + for (JSONObject cellData : cellDataList) { + String r = cellData.getString("r"); + String c = cellData.getString("c"); + cellDataMap.put(r + "," + c, cellData); + } + return cellDataMap; + } + + /** + * 解析 #{xxxx.xxxxx} 数据 + * @param v + * @return + */ + private DataSetDto getDataSet(String v, String setParam) { + + DataSetDto dto = new DataSetDto(); + if (v.contains("#{") && v.contains("}")) { + int start = v.indexOf("#{") + 2; + int end = v.indexOf("}"); + if (start < end) { + String substring = v.substring(start, end); + if (substring.contains(".")) { + String[] split = substring.split("\\."); + dto.setSetCode( split[0]); + dto.setFieldLabel(split[1]); + getContextData(setParam, dto); + return dto; + } + } + } + return null; + } + + /** + * 获取单元格对应的动态数据集 + * @param v + * @param setParam + * @return + */ + private List getDynamicDataList(String v, String setParam){ + if(StringUtils.isNotBlank(v)){ + DataSetDto dataSet = getDataSet(v,setParam); + if(dataSet != null){ + OriginalDataDto originalDataDto = dataSetService.getData(dataSet); + List cellDynamicData = originalDataDto.getData(); + return cellDynamicData; + }else{ + return null; + } + }else{ + return null; + } + } + + /** + * 动态参数替换 + * @param setParam + * @param dto + */ + private void getContextData(String setParam, DataSetDto dto) { + if (StringUtils.isNotBlank(setParam)) { + JSONObject setParamJson = JSONObject.parseObject(setParam); + Map map = new HashMap<>(); + // 查询条件 + if (setParamJson.containsKey(dto.getSetCode())) { + JSONObject paramCondition = setParamJson.getJSONObject(dto.getSetCode()); + paramCondition.forEach(map::put); + } + dto.setContextData(map); + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/CellType.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/CellType.java new file mode 100644 index 000000000..0a86c3093 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/CellType.java @@ -0,0 +1,39 @@ +package com.anjiplus.template.gaea.business.modules.reportexcel.util; + +/** + * 单元格类型 + */ +public enum CellType { + DYNAMIC_MERGE("DYNAMIC_MERGE","动态合并单元格"), + DYNAMIC("DYNAMIC","动态单元格"), + STATIC("STATIC","静态单元格"), + STATIC_AUTO("STATIC_AUTO","静态扩展单元格"), + STATIC_MERGE("STATIC_MERGE","静态合并单元格"), + STATIC_MERGE_AUTO("STATIC_MERGE_AUTO","静态合并扩展单元格"), + BLACK("BLACK","空白单元格"); + + private String code; + private String name; + + CellType(String code,String name) { + this.code = code; + this.name = name; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } + + public void setCode(String code) { + this.code = code; + } + + public void setName(String name) { + this.name = name; + } +} + diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ColorUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ColorUtil.java index cb03bca95..5e9037e31 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ColorUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ColorUtil.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.reportexcel.util; + import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFPalette; @@ -10,6 +11,7 @@ import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Color; import org.apache.poi.xssf.usermodel.XSSFColor; + /** * 来自:https://github.com/mengshukeji/LuckysheetServer * @@ -18,120 +20,115 @@ import org.apache.poi.xssf.usermodel.XSSFColor; @Slf4j public class ColorUtil { - private static final String S = "0123456789ABCDEF"; + private static final String S = "0123456789ABCDEF"; - public static Short getColorByStr(String colorStr) { - HSSFWorkbook workbook = new HSSFWorkbook(); - HSSFPalette palette = workbook.getCustomPalette(); + public static Short getColorByStr(String colorStr) { + HSSFWorkbook workbook = new HSSFWorkbook(); + HSSFPalette palette = workbook.getCustomPalette(); - if (colorStr.toLowerCase().startsWith("rgb")) { - colorStr = colorStr.toLowerCase().replace("rgb(", "").replace(")", ""); - String[] colors = colorStr.split(","); - if (colors.length == 3) { - try { - int red = Integer.parseInt(colors[0].trim(), 16); - int green = Integer.parseInt(colors[1].trim(), 16); - int blue = Integer.parseInt(colors[2].trim(), 16); + if (colorStr.toLowerCase().startsWith("rgb")) { + colorStr = colorStr.toLowerCase().replace("rgb(", "").replace(")", ""); + String[] colors = colorStr.split(","); + if (colors.length == 3) { + try { + int red = Integer.parseInt(colors[0].trim(), 16); + int green = Integer.parseInt(colors[1].trim(), 16); + int blue = Integer.parseInt(colors[2].trim(), 16); - HSSFColor hssfColor = palette.findSimilarColor(red, green, blue); - return hssfColor.getIndex(); - } - catch (Exception ex) { - log.error(ex.toString()); - return null; - } - } - return null; - } + HSSFColor hssfColor = palette.findSimilarColor(red, green, blue); + return hssfColor.getIndex(); + } catch (Exception ex) { + log.error(ex.toString()); + return null; + } + } + return null; + } - if (colorStr.equals("#000")) { - colorStr = "#000000"; - } - if (colorStr != null && colorStr.length() >= 6) { - try { - if (colorStr.length() == 8) { - colorStr = colorStr.substring(2); - } - if (colorStr.length() == 7) { - colorStr = colorStr.substring(1); - } - String str2 = colorStr.substring(0, 2); - String str3 = colorStr.substring(2, 4); - String str4 = colorStr.substring(4, 6); - int red = Integer.parseInt(str2, 16); - int green = Integer.parseInt(str3, 16); - int blue = Integer.parseInt(str4, 16); + if (colorStr.equals("#000")) { + colorStr = "#000000"; + } + if (colorStr != null && colorStr.length() >= 6) { + try { + if (colorStr.length() == 8) { + colorStr = colorStr.substring(2); + } + if (colorStr.length() == 7) { + colorStr = colorStr.substring(1); + } + String str2 = colorStr.substring(0, 2); + String str3 = colorStr.substring(2, 4); + String str4 = colorStr.substring(4, 6); + int red = Integer.parseInt(str2, 16); + int green = Integer.parseInt(str3, 16); + int blue = Integer.parseInt(str4, 16); - HSSFColor hssfColor = palette.findSimilarColor(red, green, blue); - return hssfColor.getIndex(); - } - catch (Exception ex) { - log.error(ex.toString()); - return null; - } - } - return null; - } + HSSFColor hssfColor = palette.findSimilarColor(red, green, blue); + return hssfColor.getIndex(); + } catch (Exception ex) { + log.error(ex.toString()); + return null; + } + } + return null; + } - /** - * RGB转换成十六进制 - * @param r - * @param g - * @param b - * @return - */ - public static String convertRGBToHex(short r, short g, short b) { - String hex = ""; - if (r >= 0 && r < 256 && g >= 0 && g < 256 && b >= 0 && b < 256) { - int x, y, z; - x = r % 16; - r = (short) ((r - x) / 16); - y = g % 16; - g = (short) ((g - y) / 16); - z = b % 16; - b = (short) ((b - z) / 16); - hex = "#" + S.charAt(r) + S.charAt(x) + S.charAt(g) + S.charAt(y) + S.charAt(b) + S.charAt(z); - } - return hex; - } + /** + * RGB转换成十六进制 + * + * @param r + * @param g + * @param b + * @return + */ + public static String convertRGBToHex(short r, short g, short b) { + String hex = ""; + if (r >= 0 && r < 256 && g >= 0 && g < 256 && b >= 0 && b < 256) { + int x, y, z; + x = r % 16; + r = (short) ((r - x) / 16); + y = g % 16; + g = (short) ((g - y) / 16); + z = b % 16; + b = (short) ((b - z) / 16); + hex = "#" + S.charAt(r) + S.charAt(x) + S.charAt(g) + S.charAt(y) + S.charAt(b) + S.charAt(z); + } + return hex; + } - /** - * @param cell 单元格 - * @return 转换RGB颜色值 - * @description tint转换RBG - * @author zhouhang - * @date 2021/4/26 - */ - public static String getFillColorHex(Cell cell) { - String fillColorString = null; - if (cell != null) { - CellStyle cellStyle = cell.getCellStyle(); - Color color = cellStyle.getFillForegroundColorColor(); - if (color instanceof XSSFColor) { - XSSFColor xssfColor = (XSSFColor) color; - byte[] argb = xssfColor.getARGB(); - fillColorString = convertRGBToHex((short) (argb[1] & 0xFF), (short) (argb[2] & 0xFF), - (short) (argb[3] & 0xFF)); - // TODO: 2021/4/26 添加透明度 - // if (xssfColor.hasTint()) { - // fillColorString += " * " + xssfColor.getTint(); - // byte[] rgb = xssfColor.getRGBWithTint(); - // fillColorString += " = [" + (argb[0] & 0xFF) + ", " + (rgb[0] & 0xFF) + - // ", " + (rgb[1] & 0xFF) + ", " + (rgb[2] & 0xFF) + "]"; - // } - } - else if (color instanceof HSSFColor) { - HSSFColor hssfColor = (HSSFColor) color; - short[] rgb = hssfColor.getTriplet(); - fillColorString = convertRGBToHex((short) (rgb[0] & 0xFF), (short) (rgb[1] & 0xFF), - (short) (rgb[2] & 0xFF)); - // 去除黑色背景 - if (StringUtils.equals("#000000", fillColorString)) { - return null; - } - } - } - return fillColorString; - } + /** + * @param cell 单元格 + * @return 转换RGB颜色值 + * @description tint转换RBG + * @author zhouhang + * @date 2021/4/26 + */ + public static String getFillColorHex(Cell cell) { + String fillColorString = null; + if (cell != null) { + CellStyle cellStyle = cell.getCellStyle(); + Color color = cellStyle.getFillForegroundColorColor(); + if (color instanceof XSSFColor) { + XSSFColor xssfColor = (XSSFColor) color; + byte[] argb = xssfColor.getARGB(); + fillColorString = convertRGBToHex((short) (argb[1] & 0xFF), (short) (argb[2] & 0xFF), (short) (argb[3] & 0xFF)); + // TODO: 2021/4/26 添加透明度 +// if (xssfColor.hasTint()) { +// fillColorString += " * " + xssfColor.getTint(); +// byte[] rgb = xssfColor.getRGBWithTint(); +// fillColorString += " = [" + (argb[0] & 0xFF) + ", " + (rgb[0] & 0xFF) + ", " + (rgb[1] & 0xFF) + ", " + (rgb[2] & 0xFF) + "]"; +// } + } else if (color instanceof HSSFColor) { + HSSFColor hssfColor = (HSSFColor) color; + short[] rgb = hssfColor.getTriplet(); + fillColorString = convertRGBToHex((short) (rgb[0] & 0xFF), (short) (rgb[1] & 0xFF), (short) (rgb[2] & 0xFF)); + //去除黑色背景 + if (StringUtils.equals("#000000", fillColorString)) { + return null; + } + } + } + return fillColorString; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ConstantUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ConstantUtil.java index 4922fad43..29df40c57 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ConstantUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/ConstantUtil.java @@ -1,5 +1,6 @@ package com.anjiplus.template.gaea.business.modules.reportexcel.util; + import org.apache.poi.ss.usermodel.HorizontalAlignment; import org.apache.poi.ss.usermodel.VerticalAlignment; @@ -13,312 +14,300 @@ import java.util.*; * @author cr */ public class ConstantUtil { + /** + * 导出。字体转换 + */ + public static Map ff_IntegerToName = new HashMap(); + /** + * 导入。字体转换 + */ + public static Map ff_NameToInteger = new HashMap(); - /** - * 导出。字体转换 - */ - public static Map ff_IntegerToName = new HashMap(); + /** + * 导入 36种数字格式。注意官方文档的编号不是连续的,22后面直接是37,所以数组中间补14个空值 + */ + public static String[] number_type = null; + /** + * 导入 36种格式的定义字符串 + */ + public static String[] number_format = null; + /** + * 数据类型 + */ + public static Map number_format_map = new HashMap(); - /** - * 导入。字体转换 - */ - public static Map ff_NameToInteger = new HashMap(); + static { + //格式 + nf(); + //字体 + ff(); + } - /** - * 导入 36种数字格式。注意官方文档的编号不是连续的,22后面直接是37,所以数组中间补14个空值 - */ - public static String[] number_type = null; + private static void nf() { + number_type = new String[]{ + "General", "Decimal", "Decimal", "Decimal", "Decimal", "Currency", "Currency", "Currency", "Currency", + "Percentage", "Percentage", "Scientific", "Fraction", "Fraction", "Date", "Date", "Date", "Date", + "Time", "Time", "Time", "Time", "Time", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "Accounting", "Accounting", "Accounting", "Accounting", "Accounting", + "Currency", "Accounting", "Currency", "Time", "Time", "Time", "Scientific", "Text" + }; - /** - * 导入 36种格式的定义字符串 - */ - public static String[] number_format = null; + number_format = new String[]{ + "General", "0", "0.00", "#,##0", "#,##0.00", "$#,##0;($#,##0)", "$#,##0;[Red]($#,##0)", "$#,##0.00;($#,##0.00)", "$#,##0.00;[Red]($#,##0.00)", + "0%", "0.00%", "0.00E+00", "# ?/?", "# ??/??", "m/d/yyyy", "d-mmm-yy", "d-mmm", "mmm-yy", + "h:mm AM/PM", "h:mm:ss AM/PM", "h:mm", "h:mm:ss", "m/d/yyyy h:mm", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "#,##0;(#,##0)", "#,##0;[Red](#,##0)", "#,##0.00;(#,##0.00)", "#,##0.00;[Red](#,##0.00)", "_ * #,##0_ ;_ * (#,##0)_ ;_ * \"-\"_ ;_ @_", + "_ $* #,##0_ ;_ $* (#,##0)_ ;_ $* \"-\"_ ;_ @_", "_ * #,##0.00_ ;_ * (#,##0.00)_ ;_ * \"-\"??_ ;_ @_", "_ $* #,##0.00_ ;_ $* (#,##0.00)_ ;_ $* \"-\"??_ ;_ @_", "mm:ss", "[h]:mm:ss", "mm:ss.0", "##0.0E+00", "@" + }; + for (int x = 0; x < number_format.length; x++) { + if (number_format[x].length() > 0) { + number_format_map.put(number_format[x].toLowerCase(), x); + } + } + } - /** - * 数据类型 - */ - public static Map number_format_map = new HashMap(); + private static void ff() { + //0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST Song)、 + // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana + ff_IntegerToName.put(0, "微软雅黑"); + ff_IntegerToName.put(1, "宋体"); + ff_IntegerToName.put(2, "黑体"); + ff_IntegerToName.put(3, "楷体"); + ff_IntegerToName.put(4, "仿宋"); + ff_IntegerToName.put(5, "新宋体"); + ff_IntegerToName.put(6, "华文新魏"); + ff_IntegerToName.put(7, "华文行楷"); + ff_IntegerToName.put(8, "华文隶书"); + ff_IntegerToName.put(9, "Arial"); + ff_IntegerToName.put(10, "Times New Roman"); + ff_IntegerToName.put(11, "Tahoma"); + ff_IntegerToName.put(12, "Verdana"); - static { - // 格式 - nf(); - // 字体 - ff(); - } + //0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST Song)、 + // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana + ff_NameToInteger.put("微软雅黑", 0); + ff_NameToInteger.put("宋体", 1); + ff_NameToInteger.put("Song", 1); + ff_NameToInteger.put("黑体", 2); + ff_NameToInteger.put("ST Heiti", 2); + ff_NameToInteger.put("楷体", 3); + ff_NameToInteger.put("ST Kaiti", 3); + ff_NameToInteger.put("仿宋", 4); + ff_NameToInteger.put("ST FangSong", 4); + ff_NameToInteger.put("新宋体", 5); + ff_NameToInteger.put("ST Song", 5); + ff_NameToInteger.put("华文新魏", 6); + ff_NameToInteger.put("华文行楷", 7); + ff_NameToInteger.put("华文隶书", 8); + ff_NameToInteger.put("Arial", 9); + ff_NameToInteger.put("Times New Roman", 10); + ff_NameToInteger.put("Tahoma", 11); + ff_NameToInteger.put("Verdana", 12); + } - private static void nf() { - number_type = new String[] { "General", "Decimal", "Decimal", "Decimal", "Decimal", "Currency", "Currency", - "Currency", "Currency", "Percentage", "Percentage", "Scientific", "Fraction", "Fraction", "Date", - "Date", "Date", "Date", "Time", "Time", "Time", "Time", "Time", "", "", "", "", "", "", "", "", "", "", - "", "", "", "", "Accounting", "Accounting", "Accounting", "Accounting", "Accounting", "Currency", - "Accounting", "Currency", "Time", "Time", "Time", "Scientific", "Text" }; + private static void borderType() { + //"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" + // | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" | "border-none" + ff_IntegerToName.put(0, "微软雅黑"); + ff_IntegerToName.put(1, "宋体"); + ff_IntegerToName.put(2, "黑体"); + ff_IntegerToName.put(3, "楷体"); + ff_IntegerToName.put(4, "仿宋"); + ff_IntegerToName.put(5, "新宋体"); + ff_IntegerToName.put(6, "华文新魏"); + ff_IntegerToName.put(7, "华文行楷"); + ff_IntegerToName.put(8, "华文隶书"); + ff_IntegerToName.put(9, "Arial"); + ff_IntegerToName.put(10, "Times New Roman"); + ff_IntegerToName.put(11, "Tahoma"); + ff_IntegerToName.put(12, "Verdana"); - number_format = new String[] { "General", "0", "0.00", "#,##0", "#,##0.00", "$#,##0;($#,##0)", - "$#,##0;[Red]($#,##0)", "$#,##0.00;($#,##0.00)", "$#,##0.00;[Red]($#,##0.00)", "0%", "0.00%", - "0.00E+00", "# ?/?", "# ??/??", "m/d/yyyy", "d-mmm-yy", "d-mmm", "mmm-yy", "h:mm AM/PM", - "h:mm:ss AM/PM", "h:mm", "h:mm:ss", "m/d/yyyy h:mm", "", "", "", "", "", "", "", "", "", "", "", "", "", - "", "#,##0;(#,##0)", "#,##0;[Red](#,##0)", "#,##0.00;(#,##0.00)", "#,##0.00;[Red](#,##0.00)", - "_ * #,##0_ ;_ * (#,##0)_ ;_ * \"-\"_ ;_ @_", "_ $* #,##0_ ;_ $* (#,##0)_ ;_ $* \"-\"_ ;_ @_", - "_ * #,##0.00_ ;_ * (#,##0.00)_ ;_ * \"-\"??_ ;_ @_", - "_ $* #,##0.00_ ;_ $* (#,##0.00)_ ;_ $* \"-\"??_ ;_ @_", "mm:ss", "[h]:mm:ss", "mm:ss.0", "##0.0E+00", - "@" }; - for (int x = 0; x < number_format.length; x++) { - if (number_format[x].length() > 0) { - number_format_map.put(number_format[x].toLowerCase(), x); - } - } - } + //0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST Song)、 + // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana + ff_NameToInteger.put("微软雅黑", 0); + ff_NameToInteger.put("宋体", 1); + ff_NameToInteger.put("Song", 1); + ff_NameToInteger.put("黑体", 2); + ff_NameToInteger.put("ST Heiti", 2); + ff_NameToInteger.put("楷体", 3); + ff_NameToInteger.put("ST Kaiti", 3); + ff_NameToInteger.put("仿宋", 4); + ff_NameToInteger.put("ST FangSong", 4); + ff_NameToInteger.put("新宋体", 5); + ff_NameToInteger.put("ST Song", 5); + ff_NameToInteger.put("华文新魏", 6); + ff_NameToInteger.put("华文行楷", 7); + ff_NameToInteger.put("华文隶书", 8); + ff_NameToInteger.put("Arial", 9); + ff_NameToInteger.put("Times New Roman", 10); + ff_NameToInteger.put("Tahoma", 11); + ff_NameToInteger.put("Verdana", 12); + } - private static void ff() { - // 0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST - // Song)、 - // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana - ff_IntegerToName.put(0, "微软雅黑"); - ff_IntegerToName.put(1, "宋体"); - ff_IntegerToName.put(2, "黑体"); - ff_IntegerToName.put(3, "楷体"); - ff_IntegerToName.put(4, "仿宋"); - ff_IntegerToName.put(5, "新宋体"); - ff_IntegerToName.put(6, "华文新魏"); - ff_IntegerToName.put(7, "华文行楷"); - ff_IntegerToName.put(8, "华文隶书"); - ff_IntegerToName.put(9, "Arial"); - ff_IntegerToName.put(10, "Times New Roman"); - ff_IntegerToName.put(11, "Tahoma"); - ff_IntegerToName.put(12, "Verdana"); - // 0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST - // Song)、 - // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana - ff_NameToInteger.put("微软雅黑", 0); - ff_NameToInteger.put("宋体", 1); - ff_NameToInteger.put("Song", 1); - ff_NameToInteger.put("黑体", 2); - ff_NameToInteger.put("ST Heiti", 2); - ff_NameToInteger.put("楷体", 3); - ff_NameToInteger.put("ST Kaiti", 3); - ff_NameToInteger.put("仿宋", 4); - ff_NameToInteger.put("ST FangSong", 4); - ff_NameToInteger.put("新宋体", 5); - ff_NameToInteger.put("ST Song", 5); - ff_NameToInteger.put("华文新魏", 6); - ff_NameToInteger.put("华文行楷", 7); - ff_NameToInteger.put("华文隶书", 8); - ff_NameToInteger.put("Arial", 9); - ff_NameToInteger.put("Times New Roman", 10); - ff_NameToInteger.put("Tahoma", 11); - ff_NameToInteger.put("Verdana", 12); - } + /** + * 按自定义格式 + * + * @param fa + * @return + */ + public static Integer getNumberFormatMap(String fa) { + if (number_format_map.containsKey(fa.toLowerCase())) { + return number_format_map.get(fa.toLowerCase()); + } + return -1; + } - private static void borderType() { - // "border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" - // | "border-outside" | "border-inside" | "border-horizontal" | "border-vertical" - // | "border-none" - ff_IntegerToName.put(0, "微软雅黑"); - ff_IntegerToName.put(1, "宋体"); - ff_IntegerToName.put(2, "黑体"); - ff_IntegerToName.put(3, "楷体"); - ff_IntegerToName.put(4, "仿宋"); - ff_IntegerToName.put(5, "新宋体"); - ff_IntegerToName.put(6, "华文新魏"); - ff_IntegerToName.put(7, "华文行楷"); - ff_IntegerToName.put(8, "华文隶书"); - ff_IntegerToName.put(9, "Arial"); - ff_IntegerToName.put(10, "Times New Roman"); - ff_IntegerToName.put(11, "Tahoma"); - ff_IntegerToName.put(12, "Verdana"); + /** + * 获取poi表格垂直对齐 0 中间、1 上、2下 + * + * @param i + * @return + */ + public static VerticalAlignment getVerticalType(int i) { + if (0 == i) { + return VerticalAlignment.CENTER; + } else if (1 == i) { + return VerticalAlignment.TOP; + } else if (2 == i) { + return VerticalAlignment.BOTTOM; + } + //默认居中 + return VerticalAlignment.CENTER; + } - // 0 微软雅黑、1 宋体(Song)、2 黑体(ST Heiti)、3 楷体(ST Kaiti)、 4仿宋(ST FangSong)、 5 新宋体(ST - // Song)、 - // 6 华文新魏、 7华文行楷、 8 华文隶书、 9 Arial、 10 Times New Roman 、11 Tahoma 、12 Verdana - ff_NameToInteger.put("微软雅黑", 0); - ff_NameToInteger.put("宋体", 1); - ff_NameToInteger.put("Song", 1); - ff_NameToInteger.put("黑体", 2); - ff_NameToInteger.put("ST Heiti", 2); - ff_NameToInteger.put("楷体", 3); - ff_NameToInteger.put("ST Kaiti", 3); - ff_NameToInteger.put("仿宋", 4); - ff_NameToInteger.put("ST FangSong", 4); - ff_NameToInteger.put("新宋体", 5); - ff_NameToInteger.put("ST Song", 5); - ff_NameToInteger.put("华文新魏", 6); - ff_NameToInteger.put("华文行楷", 7); - ff_NameToInteger.put("华文隶书", 8); - ff_NameToInteger.put("Arial", 9); - ff_NameToInteger.put("Times New Roman", 10); - ff_NameToInteger.put("Tahoma", 11); - ff_NameToInteger.put("Verdana", 12); - } + /** + * 获取poi表格水平对齐 0 居中、1 左、2右 + * + * @param i + * @return + */ + public static HorizontalAlignment getHorizontaltype(int i) { + if (2 == i) { + return HorizontalAlignment.RIGHT; + } else if (1 == i) { + return HorizontalAlignment.LEFT; + } else if (0 == i) { + return HorizontalAlignment.CENTER; + } + //默认右 + return HorizontalAlignment.RIGHT; + } - /** - * 按自定义格式 - * @param fa - * @return - */ - public static Integer getNumberFormatMap(String fa) { - if (number_format_map.containsKey(fa.toLowerCase())) { - return number_format_map.get(fa.toLowerCase()); - } - return -1; - } + /** + * 文字旋转 + * 文字旋转角度(0=0,1=45,2=-45,3=竖排文字,4=90,5=-90) + * + * @param i + * @return + */ + public static short getRotation(int i) { + short t = 0; + switch (i) { + case 1: + t = 45; + break; + case 2: + t = -45; + break; + case 3: + t = 255; + break; + case 4: + t = 90; + break; + case 5: + t = -90; + break; - /** - * 获取poi表格垂直对齐 0 中间、1 上、2下 - * @param i - * @return - */ - public static VerticalAlignment getVerticalType(int i) { - if (0 == i) { - return VerticalAlignment.CENTER; - } - else if (1 == i) { - return VerticalAlignment.TOP; - } - else if (2 == i) { - return VerticalAlignment.BOTTOM; - } - // 默认居中 - return VerticalAlignment.CENTER; - } + default: + t = 0; + } + return t; + } - /** - * 获取poi表格水平对齐 0 居中、1 左、2右 - * @param i - * @return - */ - public static HorizontalAlignment getHorizontaltype(int i) { - if (2 == i) { - return HorizontalAlignment.RIGHT; - } - else if (1 == i) { - return HorizontalAlignment.LEFT; - } - else if (0 == i) { - return HorizontalAlignment.CENTER; - } - // 默认右 - return HorizontalAlignment.RIGHT; - } - /** - * 文字旋转 文字旋转角度(0=0,1=45,2=-45,3=竖排文字,4=90,5=-90) - * @param i - * @return - */ - public static short getRotation(int i) { - short t = 0; - switch (i) { - case 1: - t = 45; - break; - case 2: - t = -45; - break; - case 3: - t = 255; - break; - case 4: - t = 90; - break; - case 5: - t = -90; - break; + private static SimpleDateFormat df_DateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - default: - t = 0; - } - return t; - } + public static Date stringToDateTime(String date) { + if (date == null || date.length() == 0) { + return null; + } + try { + return df_DateTime.parse(date); + } catch (ParseException e) { + return null; + } + } - private static SimpleDateFormat df_DateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + private static SimpleDateFormat df_Date = new SimpleDateFormat("yyyy-MM-dd"); - public static Date stringToDateTime(String date) { - if (date == null || date.length() == 0) { - return null; - } - try { - return df_DateTime.parse(date); - } - catch (ParseException e) { - return null; - } - } + public static Date stringToDate(String date) { + if (date == null || date.length() == 0) { + return null; + } + try { + return df_Date.parse(date); + } catch (ParseException e) { + return null; + } + } - private static SimpleDateFormat df_Date = new SimpleDateFormat("yyyy-MM-dd"); + public static Date toDate(String numberString) { + try { + Double _d = Double.parseDouble(numberString); + String _s = toDate(_d, "yyyy-MM-dd HH:mm:ss"); + if (numberString.indexOf(".") > -1) { + return stringToDate(_s); + } else { + return stringToDateTime(_s); + } - public static Date stringToDate(String date) { - if (date == null || date.length() == 0) { - return null; - } - try { - return df_Date.parse(date); - } - catch (ParseException e) { - return null; - } - } + } catch (Exception ex) { + System.out.println(ex.toString() + " " + numberString); + } + return null; + } - public static Date toDate(String numberString) { - try { - Double _d = Double.parseDouble(numberString); - String _s = toDate(_d, "yyyy-MM-dd HH:mm:ss"); - if (numberString.indexOf(".") > -1) { - return stringToDate(_s); - } - else { - return stringToDateTime(_s); - } + private static final int SECONDS_PER_MINUTE = 60; + private static final int MINUTES_PER_HOUR = 60; + private static final int HOURS_PER_DAY = 24; + private static final int SECONDS_PER_DAY = (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE); + /** + * 一天的毫秒数 + **/ + private static final long DAY_MILLISECONDS = SECONDS_PER_DAY * 1000L; - } - catch (Exception ex) { - System.out.println(ex.toString() + " " + numberString); - } - return null; - } - - private static final int SECONDS_PER_MINUTE = 60; - - private static final int MINUTES_PER_HOUR = 60; - - private static final int HOURS_PER_DAY = 24; - - private static final int SECONDS_PER_DAY = (HOURS_PER_DAY * MINUTES_PER_HOUR * SECONDS_PER_MINUTE); - - /** - * 一天的毫秒数 - **/ - private static final long DAY_MILLISECONDS = SECONDS_PER_DAY * 1000L; - - /** - * 转换方法 - * - * @parma numberString 要转换的浮点数 - * @parma format 要获得的格式 例如"hh:mm:ss" - **/ - public static String toDate(double numberString, String format) { - SimpleDateFormat sdFormat = new SimpleDateFormat(format); - int wholeDays = (int) Math.floor(numberString); - int millisecondsInday = (int) ((numberString - wholeDays) * DAY_MILLISECONDS + 0.5); - Calendar calendar = new GregorianCalendar(); - setCalendar(calendar, wholeDays, millisecondsInday, false); - return sdFormat.format(calendar.getTime()); - } - - private static void setCalendar(Calendar calendar, int wholeDays, int millisecondsInDay, boolean use1904windowing) { - int startYear = 1900; - int dayAdjust = -1; // Excel thinks 2/29/1900 is a valid date, which it isn't - if (use1904windowing) { - startYear = 1904; - dayAdjust = 1; // 1904 date windowing uses 1/2/1904 as the first day - } - else if (wholeDays < 61) { - // Date is prior to 3/1/1900, so adjust because Excel thinks 2/29/1900 exists - // If Excel date == 2/29/1900, will become 3/1/1900 in Java representation - dayAdjust = 0; - } - calendar.set(startYear, 0, wholeDays + dayAdjust, 0, 0, 0); - calendar.set(GregorianCalendar.MILLISECOND, millisecondsInDay); - } + /** + * 转换方法 + * + * @parma numberString 要转换的浮点数 + * @parma format 要获得的格式 例如"hh:mm:ss" + **/ + public static String toDate(double numberString, String format) { + SimpleDateFormat sdFormat = new SimpleDateFormat(format); + int wholeDays = (int) Math.floor(numberString); + int millisecondsInday = (int) ((numberString - wholeDays) * DAY_MILLISECONDS + 0.5); + Calendar calendar = new GregorianCalendar(); + setCalendar(calendar, wholeDays, millisecondsInday, false); + return sdFormat.format(calendar.getTime()); + } + private static void setCalendar(Calendar calendar, int wholeDays, + int millisecondsInDay, boolean use1904windowing) { + int startYear = 1900; + int dayAdjust = -1; // Excel thinks 2/29/1900 is a valid date, which it isn't + if (use1904windowing) { + startYear = 1904; + dayAdjust = 1; // 1904 date windowing uses 1/2/1904 as the first day + } else if (wholeDays < 61) { + // Date is prior to 3/1/1900, so adjust because Excel thinks 2/29/1900 exists + // If Excel date == 2/29/1900, will become 3/1/1900 in Java representation + dayAdjust = 0; + } + calendar.set(startYear, 0, wholeDays + dayAdjust, 0, 0, 0); + calendar.set(GregorianCalendar.MILLISECOND, millisecondsInDay); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/MSExcelUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/MSExcelUtil.java index 0a66679b9..1e1d167e6 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/MSExcelUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/MSExcelUtil.java @@ -1,33 +1,28 @@ package com.anjiplus.template.gaea.business.modules.reportexcel.util; public class MSExcelUtil { + public static final short EXCEL_COLUMN_WIDTH_FACTOR = 256; + public static final short EXCEL_ROW_HEIGHT_FACTOR = 20; + public static final int UNIT_OFFSET_LENGTH = 7; + public static final int[] UNIT_OFFSET_MAP = new int[]{0, 36, 73, 109, 146, 182, 219}; - public static final short EXCEL_COLUMN_WIDTH_FACTOR = 256; + public static short pixel2WidthUnits(int pxs) { + short widthUnits = (short) (EXCEL_COLUMN_WIDTH_FACTOR * (pxs / UNIT_OFFSET_LENGTH)); + widthUnits += UNIT_OFFSET_MAP[(pxs % UNIT_OFFSET_LENGTH)]; + return widthUnits; + } - public static final short EXCEL_ROW_HEIGHT_FACTOR = 20; - - public static final int UNIT_OFFSET_LENGTH = 7; - - public static final int[] UNIT_OFFSET_MAP = new int[] { 0, 36, 73, 109, 146, 182, 219 }; - - public static short pixel2WidthUnits(int pxs) { - short widthUnits = (short) (EXCEL_COLUMN_WIDTH_FACTOR * (pxs / UNIT_OFFSET_LENGTH)); - widthUnits += UNIT_OFFSET_MAP[(pxs % UNIT_OFFSET_LENGTH)]; - return widthUnits; - } - - public static int widthUnits2Pixel(short widthUnits) { - int pixels = (widthUnits / EXCEL_COLUMN_WIDTH_FACTOR) * UNIT_OFFSET_LENGTH; - int offsetWidthUnits = widthUnits % EXCEL_COLUMN_WIDTH_FACTOR; - pixels += Math.floor((float) offsetWidthUnits / ((float) EXCEL_COLUMN_WIDTH_FACTOR / UNIT_OFFSET_LENGTH)); - return pixels; - } - - public static int heightUnits2Pixel(short heightUnits) { - int pixels = (heightUnits / EXCEL_ROW_HEIGHT_FACTOR); - int offsetWidthUnits = heightUnits % EXCEL_ROW_HEIGHT_FACTOR; - pixels += Math.floor((float) offsetWidthUnits / ((float) EXCEL_ROW_HEIGHT_FACTOR / UNIT_OFFSET_LENGTH)); - return pixels; - } + public static int widthUnits2Pixel(short widthUnits) { + int pixels = (widthUnits / EXCEL_COLUMN_WIDTH_FACTOR) * UNIT_OFFSET_LENGTH; + int offsetWidthUnits = widthUnits % EXCEL_COLUMN_WIDTH_FACTOR; + pixels += Math.floor((float) offsetWidthUnits / ((float) EXCEL_COLUMN_WIDTH_FACTOR / UNIT_OFFSET_LENGTH)); + return pixels; + } + public static int heightUnits2Pixel(short heightUnits) { + int pixels = (heightUnits / EXCEL_ROW_HEIGHT_FACTOR); + int offsetWidthUnits = heightUnits % EXCEL_ROW_HEIGHT_FACTOR; + pixels += Math.floor((float) offsetWidthUnits / ((float) EXCEL_ROW_HEIGHT_FACTOR / UNIT_OFFSET_LENGTH)); + return pixels; + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsSheetUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsSheetUtil.java index 2d986fc21..a436002aa 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsSheetUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsSheetUtil.java @@ -9,853 +9,852 @@ import org.apache.poi.ss.util.CellRangeAddress; import java.util.*; /** - * 来自:https://github.com/mengshukeji/LuckysheetServer sheet操作 + * 来自:https://github.com/mengshukeji/LuckysheetServer + * sheet操作 * * @author Administrator */ @Slf4j public class XlsSheetUtil { - - /** - * 导出sheet - * @param wb - * @param sheetNum - * @param dbObject - */ - public static void exportSheet(Workbook wb, int sheetNum, JSONObject dbObject) { - Sheet sheet = wb.createSheet(); - - // 设置sheet位置,名称 - if (dbObject.containsKey("name") && dbObject.get("name") != null) { - wb.setSheetName(sheetNum, dbObject.get("name").toString()); - } - else { - wb.setSheetName(sheetNum, "sheet" + sheetNum); - } - // 是否隐藏 - if (dbObject.containsKey("hide") && dbObject.get("hide").toString().equals("1")) { - wb.setSheetHidden(sheetNum, true); - } - // 是否当前选中页 - if (dbObject.containsKey("status") && dbObject.get("status").toString().equals("1")) { - sheet.setSelected(true); - } - - // 循环数据 - if (dbObject.containsKey("celldata") && dbObject.get("celldata") != null) { - // 取到所有单元格集合 - List cells_json = (List) dbObject.get("celldata"); - Map> cellMap = cellGroup(cells_json); - // 循环每一行 - for (Integer r : cellMap.keySet()) { - Row row = sheet.createRow(r); - // 循环每一列 - for (JSONObject col : cellMap.get(r)) { - createCell(wb, sheet, row, col); - } - } - } - - if (dbObject.containsKey("config") && dbObject.getJSONObject("config").containsKey("borderInfo")) { - JSONArray borderInfo = dbObject.getJSONObject("config").getJSONArray("borderInfo"); - setCellBoard(wb, borderInfo, sheet); - } - - setColumAndRow(dbObject, sheet); - - } - - /** - * 每一个单元格 - * @param row - * @param dbObject - */ - private static void createCell(Workbook wb, Sheet sheet, Row row, JSONObject dbObject) { - if (dbObject.containsKey("c")) { - Integer c = getStrToInt(dbObject.get("c")); - if (c != null) { - Cell cell = row.createCell(c); - // 取单元格中的v_json - if (dbObject.containsKey("v")) { - // 获取v对象 - Object obj = dbObject.get("v"); - if (obj == null) { - // 没有内容 - return; - } - // 如果v对象直接是字符串 - if (obj instanceof String) { - if (((String) obj).length() > 0) { - cell.setCellValue(obj.toString()); - } - return; - } - - // 转换v为对象(v是一个对象) - JSONObject v_json = (JSONObject) obj; - // 样式 - CellStyle style = wb.createCellStyle(); - cell.setCellStyle(style); - - // 合并单元格 - // 参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 - // CellRangeAddress region1 = new CellRangeAddress(rowNumber, - // rowNumber, (short) 0, (short) 11); - - // mc 合并单元格 - if (v_json.containsKey("mc")) { - // 是合并的单元格 - JSONObject mc = v_json.getJSONObject("mc"); - if (mc.containsKey("rs") && mc.containsKey("cs")) { - // 合并的第一个单元格 - if (mc.containsKey("r") && mc.containsKey("c")) { - Integer _rs = getIntByDBObject(mc, "rs") - 1; - Integer _cs = getIntByDBObject(mc, "cs") - 1; - Integer _r = getIntByDBObject(mc, "r"); - Integer _c = getIntByDBObject(mc, "c"); - - CellRangeAddress region = new CellRangeAddress(_r.shortValue(), - (_r.shortValue() + _rs.shortValue()), _c.shortValue(), - (_c.shortValue() + _cs.shortValue())); - sheet.addMergedRegion(region); - } - } - else { - // 不是合并的第一个单元格 - return; - } - } - - // 取v值 (在数据类型中处理) - // ct 单元格值格式 (fa,t) - setFormatByCt(wb, cell, style, v_json); - - // font设置 - setCellStyleFont(wb, style, v_json); - - // bg 背景颜色 - if (v_json.containsKey("bg")) { - String _v = getByDBObject(v_json, "bg"); - Short _color = ColorUtil.getColorByStr(_v); - if (_color != null) { - style.setFillForegroundColor(_color); - style.setFillPattern(FillPatternType.SOLID_FOREGROUND); - } - } - - // vt 垂直对齐 垂直对齐方式(0=居中,1=上,2=下) - if (v_json.containsKey("vt")) { - Integer _v = getIntByDBObject(v_json, "vt"); - if (_v != null && _v >= 0 && _v <= 2) { - style.setVerticalAlignment(ConstantUtil.getVerticalType(_v)); - } - } - else { - // 默认设置居中 - style.setVerticalAlignment(ConstantUtil.getVerticalType(0)); - } - - // ht 水平对齐 水平对齐方式(0=居中,1=左对齐,2=右对齐) - if (v_json.containsKey("ht")) { - Integer _v = getIntByDBObject(v_json, "ht"); - if (_v != null && _v >= 0 && _v <= 2) { - style.setAlignment(ConstantUtil.getHorizontaltype(_v)); - } - } - else { - // 默认设置左对齐 - style.setAlignment(ConstantUtil.getHorizontaltype(1)); - } - - // tr 文字旋转 文字旋转角度(0=0,1=45,2=-45,3=竖排文字,4=90,5=-90) - if (v_json.containsKey("tr")) { - Integer _v = getIntByDBObject(v_json, "tr"); - if (_v != null) { - style.setRotation(ConstantUtil.getRotation(_v)); - } - } - - // tb 文本换行 0 截断、1溢出、2 自动换行 - // 2:setTextWrapped 0和1:IsTextWrapped = true - if (v_json.containsKey("tb")) { - Integer _v = getIntByDBObject(v_json, "tb"); - if (_v != null) { - if (_v >= 0 && _v <= 1) { - style.setWrapText(false); - } - else { - style.setWrapText(true); - } - } - } - - // f 公式 - if (v_json.containsKey("f")) { - String _v = getByDBObject(v_json, "f"); - if (_v.length() > 0) { - try { - if (_v.startsWith("=")) { - cell.setCellFormula(_v.substring(1)); - } - else { - cell.setCellFormula(_v); - } - } - catch (Exception ex) { - log.error("公式 {};Error:{}", _v, ex.toString()); - } - } - } - - } - - } - } - } - - /** - * 设置边框 - * @param borderInfo - * @param sheet - */ - private static void setCellBoard(Workbook wb, JSONArray borderInfo, Sheet sheet) { - - // 一定要通过 cell.getCellStyle() 不然的话之前设置的样式会丢失 - // 设置边框 - for (int i = 0; i < borderInfo.size(); i++) { - JSONObject borderInfoObject = (JSONObject) borderInfo.get(i); - if (borderInfoObject.get("rangeType").equals("cell")) {// 单个单元格 - JSONObject borderValueObject = borderInfoObject.getJSONObject("value"); - - JSONObject l = borderValueObject.getJSONObject("l"); - JSONObject r = borderValueObject.getJSONObject("r"); - JSONObject t = borderValueObject.getJSONObject("t"); - JSONObject b = borderValueObject.getJSONObject("b"); - - int row_ = borderValueObject.getInteger("row_index"); - int col_ = borderValueObject.getInteger("col_index"); - - Row row = sheet.getRow(row_); - if (null == row) { - row = sheet.createRow(row_); - } - Cell cell = row.getCell(col_); - CellStyle style; - if (null == cell) { - style = wb.createCellStyle(); - cell = row.createCell(col_); - cell.setCellStyle(style); - } - else { - style = cell.getCellStyle(); - } - - if (l != null) { - style.setBorderLeft(BorderStyle.valueOf(l.getShort("style"))); // 左边框 - Short color = ColorUtil.getColorByStr(l.getString("color")); - if (null != color) { - style.setLeftBorderColor(color);// 左边框颜色 - } - - } - if (r != null) { - style.setBorderRight(BorderStyle.valueOf(r.getShort("style"))); // 右边框 - Short color = ColorUtil.getColorByStr(r.getString("color")); - if (null != color) { - style.setRightBorderColor(color);// 右边框颜色 - } - - } - if (t != null) { - style.setBorderTop(BorderStyle.valueOf(t.getShort("style"))); // 顶部边框 - Short _vcolor = ColorUtil.getColorByStr(t.getString("color")); - if (null != _vcolor) { - style.setTopBorderColor(_vcolor);// 顶部边框颜色 - } - - } - if (b != null) { - style.setBorderBottom(BorderStyle.valueOf(b.getShort("style"))); // 底部边框 - Short _vcolor = ColorUtil.getColorByStr(b.getString("color")); - if (_vcolor != null) { - // 底部边框颜色 - style.setBottomBorderColor(_vcolor); - } - } - - } - else if (borderInfoObject.get("rangeType").equals("range")) { - // 选区 - Short style_ = borderInfoObject.getShort("style"); - String borderType = borderInfoObject.getString("borderType"); - Short color = ColorUtil.getColorByStr(borderInfoObject.getString("color")); - JSONObject rangObject = (JSONObject) ((JSONArray) (borderInfoObject.get("range"))).get(0); - - JSONArray rowList = rangObject.getJSONArray("row"); - JSONArray columnList = rangObject.getJSONArray("column"); - - for (int row_ = rowList.getInteger(0); row_ < rowList.getInteger(rowList.size() - 1) + 1; row_++) { - for (int col_ = columnList.getInteger(0); col_ < columnList.getInteger(columnList.size() - 1) - + 1; col_++) { - Row row = sheet.getRow(row_); - if (null == row) { - row = sheet.createRow(row_); - } - Cell cell = row.getCell(col_); - CellStyle style; - if (null == cell) { - style = wb.createCellStyle(); - cell = row.createCell(col_); - cell.setCellStyle(style); - } - else { - style = cell.getCellStyle(); - } - - // "border-left" | "border-right" | "border-top" | "border-bottom" - // | "border-all" | "border-horizontal" | "border-vertical" - // "border-outside" | "border-inside" | | "border-none" - if ("border-left".equals(borderType) || "border-all".equals(borderType)) { - style.setBorderLeft(BorderStyle.valueOf(style_)); // 左边框 - style.setLeftBorderColor(color);// 左边框颜色 - } - if ("border-right".equals(borderType) || "border-all".equals(borderType)) { - style.setBorderRight(BorderStyle.valueOf(style_)); // 右边框 - style.setRightBorderColor(color);// 右边框颜色 - } - - if ("border-top".equals(borderType) || "border-all".equals(borderType)) { - style.setBorderTop(BorderStyle.valueOf(style_)); // 顶部边框 - style.setTopBorderColor(color);// 顶部边框颜色 - } - - if ("border-bottom".equals(borderType) || "border-all".equals(borderType)) { - style.setBorderBottom(BorderStyle.valueOf(style_)); // 底部边框 - style.setBottomBorderColor(color);// 底部边框颜色 } - } - - if ("border-outside".equals(borderType)) { - // 外圈边框 - if (row_ == rowList.getInteger(0)) { - style.setBorderTop(BorderStyle.valueOf(style_)); // 顶部边框 - style.setTopBorderColor(color);// 顶部边框颜色 - } - if (col_ == columnList.getInteger(0)) { - style.setBorderLeft(BorderStyle.valueOf(style_)); // 左边框 - style.setLeftBorderColor(color);// 左边框颜色 - } - if (row_ == rowList.getInteger(rowList.size() - 1)) { - style.setBorderBottom(BorderStyle.valueOf(style_)); // 底部边框 - style.setBottomBorderColor(color);// 底部边框颜色 } - } - if (col_ == columnList.getInteger(columnList.size() - 1)) { - style.setBorderRight(BorderStyle.valueOf(style_)); // 右边框 - style.setRightBorderColor(color);// 右边框颜色 - } - - } - - if ("border-horizontal".equals(borderType) || "border-inside".equals(borderType)) { - // 内部横线 - if (row_ >= rowList.getInteger(0) && row_ < rowList.getInteger(rowList.size() - 1) - && col_ >= columnList.getInteger(0) - && col_ <= columnList.getInteger(columnList.size() - 1)) { - style.setBorderBottom(BorderStyle.valueOf(style_)); // 底部边框 - style.setBottomBorderColor(color);// 底部边框颜色 } - } - } - - if ("border-vertical".equals(borderType) || "border-inside".equals(borderType)) { - // 内部竖线 - if (row_ >= rowList.getInteger(0) && row_ <= rowList.getInteger(rowList.size() - 1) - && col_ >= columnList.getInteger(0) - && col_ < columnList.getInteger(columnList.size() - 1)) { - style.setBorderRight(BorderStyle.valueOf(style_)); // 右边框 - style.setRightBorderColor(color);// 右边框颜色 - } - } - - if ("border-none".equals(borderType)) { - style.setBorderLeft(BorderStyle.NONE); // 左边框 - style.setBorderRight(BorderStyle.NONE); // 左边框 - style.setBorderTop(BorderStyle.NONE); // 左边框 - style.setBorderBottom(BorderStyle.NONE); // 左边框 - } - - } - } - - } - } - - } - - /** - * 设置单元格,宽、高 - * @param dbObject - * @param sheet - */ - private static void setColumAndRow(JSONObject dbObject, Sheet sheet) { - if (dbObject.containsKey("config")) { - JSONObject config = dbObject.getJSONObject("config"); - - if (config.containsKey("columnlen")) { - JSONObject columnlen = config.getJSONObject("columnlen"); - if (columnlen != null) { - for (String k : columnlen.keySet()) { - Integer _i = getStrToInt(k); - Integer _v = getStrToInt(columnlen.get(k).toString()); - if (_i != null && _v != null) { - // sheet.setColumnWidth(_i, - // MSExcelUtil.heightUnits2Pixel(_v.shortValue())); - // TODO 乘以32,有待商榷 - sheet.setColumnWidth(_i, _v * 32); - } - } - } - } - if (config.containsKey("rowlen")) { - JSONObject rowlen = config.getJSONObject("rowlen"); - if (rowlen != null) { - for (String k : rowlen.keySet()) { - Integer _i = getStrToInt(k); - Integer _v = getStrToInt(rowlen.get(k).toString()); - if (_i != null && _v != null) { - Row row = sheet.getRow(_i); - if (row != null) { - // row.setHeightInPoints(MSExcelUtil.pixel2WidthUnits(_v.shortValue())); - row.setHeightInPoints(_v.shortValue()); - } - } - } - } - } - } - } - - /** - * 单元格字体相关样式 - * @param wb - * @param style - * @param dbObject - */ - private static void setCellStyleFont(Workbook wb, CellStyle style, JSONObject dbObject) { - Font font = wb.createFont(); - style.setFont(font); - - // ff 字体 - if (dbObject.containsKey("ff")) { - if (dbObject.get("ff") instanceof Integer) { - Integer _v = getIntByDBObject(dbObject, "ff"); - if (_v != null && ConstantUtil.ff_IntegerToName.containsKey(_v)) { - font.setFontName(ConstantUtil.ff_IntegerToName.get(_v)); - } - } - else if (dbObject.get("ff") instanceof String) { - font.setFontName(getByDBObject(dbObject, "ff")); - } - } - // fc 字体颜色 - if (dbObject.containsKey("fc")) { - String _v = getByDBObject(dbObject, "fc"); - Short _color = ColorUtil.getColorByStr(_v); - if (_color != null) { - font.setColor(_color); - } - } - // bl 粗体 - if (dbObject.containsKey("bl")) { - Integer _v = getIntByDBObject(dbObject, "bl"); - if (_v != null) { - if (_v.equals(1)) { - // 是否粗体显示 - font.setBold(true); - } - else { - font.setBold(false); - } - } - } - // it 斜体 - if (dbObject.containsKey("it")) { - Integer _v = getIntByDBObject(dbObject, "it"); - if (_v != null) { - if (_v.equals(1)) { - font.setItalic(true); - } - else { - font.setItalic(false); - } - } - } - // fs 字体大小 - if (dbObject.containsKey("fs")) { - Integer _v = getStrToInt(getObjectByDBObject(dbObject, "fs")); - if (_v != null) { - font.setFontHeightInPoints(_v.shortValue()); - } - } - // cl 删除线 (导入没有) 0 常规 、 1 删除线 - if (dbObject.containsKey("cl")) { - Integer _v = getIntByDBObject(dbObject, "cl"); - if (_v != null) { - if (_v.equals(1)) { - font.setStrikeout(true); - } - } - } - // ul 下划线 - if (dbObject.containsKey("ul")) { - Integer _v = getIntByDBObject(dbObject, "ul"); - if (_v != null) { - if (_v.equals(1)) { - font.setUnderline(Font.U_SINGLE); - } - else { - font.setUnderline(Font.U_NONE); - } - } - } - - } - - /** - * 设置cell边框颜色样式 - * @param style 样式 - * @param dbObject json对象 - * @param bs 样式 - * @param bc 样式 - */ - private static void setBorderStyle(CellStyle style, JSONObject dbObject, String bs, String bc) { - // bs 边框样式 - if (dbObject.containsKey(bs)) { - Integer _v = getStrToInt(getByDBObject(dbObject, bs)); - if (_v != null) { - // 边框没有,不作改变 - if (bs.equals("bs") || bs.equals("bs_t")) { - style.setBorderTop(BorderStyle.valueOf(_v.shortValue())); - } - if (bs.equals("bs") || bs.equals("bs_b")) { - style.setBorderBottom(BorderStyle.valueOf(_v.shortValue())); - } - if (bs.equals("bs") || bs.equals("bs_l")) { - style.setBorderLeft(BorderStyle.valueOf(_v.shortValue())); - } - if (bs.equals("bs") || bs.equals("bs_r")) { - style.setBorderRight(BorderStyle.valueOf(_v.shortValue())); - } - - // bc 边框颜色 - String _vcolor = getByDBObject(dbObject, bc); - if (_vcolor != null) { - Short _color = ColorUtil.getColorByStr(_vcolor); - if (_color != null) { - if (bc.equals("bc") || bc.equals("bc_t")) { - style.setTopBorderColor(_color); - } - if (bc.equals("bc") || bc.equals("bc_b")) { - style.setBottomBorderColor(_color); - } - if (bc.equals("bc") || bc.equals("bc_l")) { - style.setLeftBorderColor(_color); - } - if (bc.equals("bc") || bc.equals("bc_r")) { - style.setRightBorderColor(_color); - } - } - } - } - } - } - - /** - * 设置单元格格式 ct 单元格值格式 (fa,t) - * @param cell - * @param style - * @param dbObject - */ - private static void setFormatByCt(Workbook wb, Cell cell, CellStyle style, JSONObject dbObject) { - - if (!dbObject.containsKey("v") && dbObject.containsKey("ct")) { - /* - * 处理以下数据结构 { "celldata": [{ "c": 0, "r": 8, "v": { "ct": { "s": [{ "v": - * "sdsdgdf\r\ndfgdfg\r\ndsfgdfgdf\r\ndsfgdfg" }], "t": "inlineStr", "fa": - * "General" } } }] } - */ - JSONObject ct = dbObject.getJSONObject("ct"); - if (ct.containsKey("s")) { - Object s = ct.get("s"); - if (s instanceof List && ((List) s).size() > 0) { - JSONObject _s1 = (JSONObject) ((List) s).get(0); - if (_s1.containsKey("v") && _s1.get("v") instanceof String) { - dbObject.put("v", _s1.get("v")); - style.setWrapText(true); - } - } - - } - } - - // String v = ""; //初始化 - if (dbObject.containsKey("v")) { - // v = v_json.get("v").toString(); - // 取到v后,存到poi单元格对象 - // 设置该单元格值 - // cell.setValue(v); - - // String v=getByDBObject(v_json,"v"); - // cell.setValue(v); - Object obj = getObjectByDBObject(dbObject, "v"); - if (obj instanceof Number) { - cell.setCellValue(Double.valueOf(obj.toString())); - } - else if (obj instanceof Double) { - cell.setCellValue((Double) obj); - } - else if (obj instanceof Date) { - cell.setCellValue((Date) obj); - } - else if (obj instanceof Calendar) { - cell.setCellValue((Calendar) obj); - } - else if (obj instanceof RichTextString) { - cell.setCellValue((RichTextString) obj); - } - else if (obj instanceof String) { - cell.setCellValue((String) obj); - } - else { - cell.setCellValue(obj.toString()); - } - - } - - if (dbObject.containsKey("ct")) { - JSONObject ct = dbObject.getJSONObject("ct"); - if (ct.containsKey("fa") && ct.containsKey("t")) { - // t 0=bool,1=datetime,2=error,3=null,4=numeric,5=string,6=unknown - String fa = getByDBObject(ct, "fa"); // 单元格格式format定义串 - String t = getByDBObject(ct, "t"); // 单元格格式type类型 - - Integer _i = ConstantUtil.getNumberFormatMap(fa); - switch (t) { - case "s": { - // 字符串 - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - style.setDataFormat((short) 0); - } - cell.setCellType(CellType.STRING); - break; - } - case "d": { - // 日期 - Date _d = null; - String v = getByDBObject(dbObject, "m"); - if (v.length() == 0) { - v = getByDBObject(dbObject, "v"); - } - if (v.length() > 0) { - if (v.indexOf("-") > -1) { - if (v.indexOf(":") > -1) { - _d = ConstantUtil.stringToDateTime(v); - } - else { - _d = ConstantUtil.stringToDate(v); - } - } - else { - _d = ConstantUtil.toDate(v); - } - } - if (_d != null) { - // 能转换为日期 - cell.setCellValue(_d); - DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat(fa)); - - } - else { - // 不能转换为日期 - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - style.setDataFormat((short) 0); - } - } - break; - } - case "b": { - // 逻辑 - cell.setCellType(CellType.BOOLEAN); - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat(fa)); - } - break; - } - case "n": { - // 数值 - // cell.setCellType(CellType.NUMERIC); - // 数字转字符串 - cell.setCellType(CellType.STRING); - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat(fa)); - } - break; - } - case "u": - case "g": { - // general 自动类型 - // cell.setCellType(CellType._NONE); - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat(fa)); - } - break; - } - case "e": { - // 错误 - cell.setCellType(CellType.ERROR); - if (_i >= 0) { - style.setDataFormat(_i.shortValue()); - } - else { - DataFormat format = wb.createDataFormat(); - style.setDataFormat(format.getFormat(fa)); - } - break; - } - - } - - } - - } - } - - /** - * 内容按行分组 - * @param cells - * @return - */ - private static Map> cellGroup(List cells) { - Map> cellMap = new HashMap<>(100); - for (JSONObject dbObject : cells) { - // 行号 - if (dbObject.containsKey("r")) { - Integer r = getStrToInt(dbObject.get("r")); - if (r != null) { - if (cellMap.containsKey(r)) { - cellMap.get(r).add(dbObject); - } - else { - List list = new ArrayList<>(10); - list.add(dbObject); - cellMap.put(r, list); - } - } - } - - } - return cellMap; - } - - /** - * 获取一个k的值 - * @param b - * @param k - * @return - */ - public static String getByDBObject(JSONObject b, String k) { - if (b.containsKey(k)) { - if (b.get(k) != null && b.get(k) instanceof String) { - return b.getString(k); - } - } - return null; - } - - /** - * 获取一个k的值 - * @param b - * @param k - * @return - */ - public static Object getObjectByDBObject(JSONObject b, String k) { - if (b.containsKey(k)) { - if (b.get(k) != null) { - return b.get(k); - } - } - return ""; - } - - /** - * 没有/无法转换 返回null - * @param b - * @param k - * @return - */ - public static Integer getIntByDBObject(JSONObject b, String k) { - if (b.containsKey(k)) { - if (b.get(k) != null) { - try { - String _s = b.getString(k).replace("px", ""); - Double _d = Double.parseDouble(_s); - return _d.intValue(); - } - catch (Exception ex) { - log.error(ex.getMessage()); - return null; - } - } - } - return null; - } - - /** - * 转int - * @param str - * @return - */ - private static Integer getStrToInt(Object str) { - try { - if (str != null) { - return Integer.parseInt(str.toString()); - } - return null; - } - catch (Exception ex) { - log.error("String:{};Error:{}", str, ex.getMessage()); - return null; - } - } - - private static Short getStrToShort(Object str) { - try { - if (str != null) { - return Short.parseShort(str.toString()); - } - return null; - } - catch (Exception ex) { - log.error("String:{};Error:{}", str, ex.getMessage()); - return null; - } - } - + /** + * 导出sheet + * + * @param wb + * @param sheetNum + * @param dbObject + */ + public static void exportSheet(Workbook wb, int sheetNum, JSONObject dbObject) { + Sheet sheet = wb.createSheet(); + + //设置sheet位置,名称 + if (dbObject.containsKey("name") && dbObject.get("name") != null) { + wb.setSheetName(sheetNum, dbObject.get("name").toString()); + } else { + wb.setSheetName(sheetNum, "sheet" + sheetNum); + } + //是否隐藏 + if (dbObject.containsKey("hide") && dbObject.get("hide").toString().equals("1")) { + wb.setSheetHidden(sheetNum, true); + } + //是否当前选中页 + if (dbObject.containsKey("status") && dbObject.get("status").toString().equals("1")) { + sheet.setSelected(true); + } + + + //循环数据 + if (dbObject.containsKey("celldata") && dbObject.get("celldata") != null) { + //取到所有单元格集合 + List cells_json = (List) dbObject.get("celldata"); + Map> cellMap = cellGroup(cells_json); + //循环每一行 + for (Integer r : cellMap.keySet()) { + Row row = sheet.createRow(r); + //循环每一列 + for (JSONObject col : cellMap.get(r)) { + createCell(wb, sheet, row, col); + } + } + } + + if (dbObject.containsKey("config") && dbObject.getJSONObject("config").containsKey("borderInfo")) { + JSONArray borderInfo = dbObject.getJSONObject("config").getJSONArray("borderInfo"); + setCellBoard(wb, borderInfo, sheet); + } + + + setColumAndRow(dbObject, sheet); + + } + + /** + * 每一个单元格 + * + * @param row + * @param dbObject + */ + private static void createCell(Workbook wb, Sheet sheet, Row row, JSONObject dbObject) { + if (dbObject.containsKey("c")) { + Integer c = getStrToInt(dbObject.get("c")); + if (c != null) { + Cell cell = row.createCell(c); + //取单元格中的v_json + if (dbObject.containsKey("v")) { + //获取v对象 + Object obj = dbObject.get("v"); + if (obj == null) { + //没有内容 + return; + } + //如果v对象直接是字符串 + if (obj instanceof String) { + if (((String) obj).length() > 0) { + cell.setCellValue(obj.toString()); + } + return; + } + + //转换v为对象(v是一个对象) + JSONObject v_json = (JSONObject) obj; + //样式 + CellStyle style = wb.createCellStyle(); + cell.setCellStyle(style); + + + //合并单元格 + //参数1:起始行 参数2:终止行 参数3:起始列 参数4:终止列 + //CellRangeAddress region1 = new CellRangeAddress(rowNumber, rowNumber, (short) 0, (short) 11); + + //mc 合并单元格 + if (v_json.containsKey("mc")) { + //是合并的单元格 + JSONObject mc = v_json.getJSONObject("mc"); + if (mc.containsKey("rs") && mc.containsKey("cs")) { + //合并的第一个单元格 + if (mc.containsKey("r") && mc.containsKey("c")) { + Integer _rs = getIntByDBObject(mc, "rs") - 1; + Integer _cs = getIntByDBObject(mc, "cs") - 1; + Integer _r = getIntByDBObject(mc, "r"); + Integer _c = getIntByDBObject(mc, "c"); + + CellRangeAddress region = new CellRangeAddress(_r.shortValue(), (_r.shortValue() + _rs.shortValue()), _c.shortValue(), (_c.shortValue() + _cs.shortValue())); + sheet.addMergedRegion(region); + } + } else { + //不是合并的第一个单元格 + return; + } + } + + + //取v值 (在数据类型中处理) + //ct 单元格值格式 (fa,t) + setFormatByCt(wb, cell, style, v_json); + + //font设置 + setCellStyleFont(wb, style, v_json); + + //bg 背景颜色 + if (v_json.containsKey("bg")) { + String _v = getByDBObject(v_json, "bg"); + Short _color = ColorUtil.getColorByStr(_v); + if (_color != null) { + style.setFillForegroundColor(_color); + style.setFillPattern(FillPatternType.SOLID_FOREGROUND); + } + } + + //vt 垂直对齐 垂直对齐方式(0=居中,1=上,2=下) + if (v_json.containsKey("vt")) { + Integer _v = getIntByDBObject(v_json, "vt"); + if (_v != null && _v >= 0 && _v <= 2) { + style.setVerticalAlignment(ConstantUtil.getVerticalType(_v)); + } + } else { + //默认设置居中 + style.setVerticalAlignment(ConstantUtil.getVerticalType(0)); + } + + //ht 水平对齐 水平对齐方式(0=居中,1=左对齐,2=右对齐) + if (v_json.containsKey("ht")) { + Integer _v = getIntByDBObject(v_json, "ht"); + if (_v != null && _v >= 0 && _v <= 2) { + style.setAlignment(ConstantUtil.getHorizontaltype(_v)); + } + } else { + //默认设置左对齐 + style.setAlignment(ConstantUtil.getHorizontaltype(1)); + } + + //tr 文字旋转 文字旋转角度(0=0,1=45,2=-45,3=竖排文字,4=90,5=-90) + if (v_json.containsKey("tr")) { + Integer _v = getIntByDBObject(v_json, "tr"); + if (_v != null) { + style.setRotation(ConstantUtil.getRotation(_v)); + } + } + + //tb 文本换行 0 截断、1溢出、2 自动换行 + // 2:setTextWrapped 0和1:IsTextWrapped = true + if (v_json.containsKey("tb")) { + Integer _v = getIntByDBObject(v_json, "tb"); + if (_v != null) { + if (_v >= 0 && _v <= 1) { + style.setWrapText(false); + } else { + style.setWrapText(true); + } + } + } + + //f 公式 + if (v_json.containsKey("f")) { + String _v = getByDBObject(v_json, "f"); + if (_v.length() > 0) { + try { + if (_v.startsWith("=")) { + cell.setCellFormula(_v.substring(1)); + } else { + cell.setCellFormula(_v); + } + } catch (Exception ex) { + log.error("公式 {};Error:{}", _v, ex.toString()); + } + } + } + + + } + + } + } + } + + /** + * 设置边框 + * + * @param borderInfo + * @param sheet + */ + private static void setCellBoard(Workbook wb, JSONArray borderInfo, Sheet sheet) { + + + //一定要通过 cell.getCellStyle() 不然的话之前设置的样式会丢失 + //设置边框 + for (int i = 0; i < borderInfo.size(); i++) { + JSONObject borderInfoObject = (JSONObject) borderInfo.get(i); + if (borderInfoObject.get("rangeType").equals("cell")) {//单个单元格 + JSONObject borderValueObject = borderInfoObject.getJSONObject("value"); + + JSONObject l = borderValueObject.getJSONObject("l"); + JSONObject r = borderValueObject.getJSONObject("r"); + JSONObject t = borderValueObject.getJSONObject("t"); + JSONObject b = borderValueObject.getJSONObject("b"); + + + int row_ = borderValueObject.getInteger("row_index"); + int col_ = borderValueObject.getInteger("col_index"); + + Row row = sheet.getRow(row_); + if (null == row) { + row = sheet.createRow(row_); + } + Cell cell = row.getCell(col_); + CellStyle style; + if (null == cell) { + style = wb.createCellStyle(); + cell = row.createCell(col_); + cell.setCellStyle(style); + } else { + style = cell.getCellStyle(); + } + + + if (l != null) { + style.setBorderLeft(BorderStyle.valueOf(l.getShort("style"))); //左边框 + Short color = ColorUtil.getColorByStr(l.getString("color")); + if (null != color) { + style.setLeftBorderColor(color);//左边框颜色 + } + + } + if (r != null) { + style.setBorderRight(BorderStyle.valueOf(r.getShort("style"))); //右边框 + Short color = ColorUtil.getColorByStr(r.getString("color")); + if (null != color) { + style.setRightBorderColor(color);//右边框颜色 + } + + } + if (t != null) { + style.setBorderTop(BorderStyle.valueOf(t.getShort("style"))); //顶部边框 + Short _vcolor = ColorUtil.getColorByStr(t.getString("color")); + if (null != _vcolor) { + style.setTopBorderColor(_vcolor);//顶部边框颜色 + } + + } + if (b != null) { + style.setBorderBottom(BorderStyle.valueOf(b.getShort("style"))); //底部边框 + Short _vcolor = ColorUtil.getColorByStr(b.getString("color")); + if (_vcolor != null) { + //底部边框颜色 + style.setBottomBorderColor(_vcolor); + } + } + + } else if (borderInfoObject.get("rangeType").equals("range")) { + //选区 + Short style_ = borderInfoObject.getShort("style"); + String borderType = borderInfoObject.getString("borderType"); + Short color = ColorUtil.getColorByStr(borderInfoObject.getString("color")); + JSONObject rangObject = (JSONObject) ((JSONArray) (borderInfoObject.get("range"))).get(0); + + JSONArray rowList = rangObject.getJSONArray("row"); + JSONArray columnList = rangObject.getJSONArray("column"); + + + for (int row_ = rowList.getInteger(0); row_ < rowList.getInteger(rowList.size() - 1) + 1; row_++) { + for (int col_ = columnList.getInteger(0); col_ < columnList.getInteger(columnList.size() - 1) + 1; col_++) { + Row row = sheet.getRow(row_); + if (null == row) { + row = sheet.createRow(row_); + } + Cell cell = row.getCell(col_); + CellStyle style; + if (null == cell) { + style = wb.createCellStyle(); + cell = row.createCell(col_); + cell.setCellStyle(style); + } else { + style = cell.getCellStyle(); + } + + //"border-left" | "border-right" | "border-top" | "border-bottom" | "border-all" | "border-horizontal" | "border-vertical" + // "border-outside" | "border-inside" | | "border-none" + if ("border-left".equals(borderType) || "border-all".equals(borderType)) { + style.setBorderLeft(BorderStyle.valueOf(style_)); //左边框 + style.setLeftBorderColor(color);//左边框颜色 + } + if ("border-right".equals(borderType) || "border-all".equals(borderType)) { + style.setBorderRight(BorderStyle.valueOf(style_)); //右边框 + style.setRightBorderColor(color);//右边框颜色 + } + + if ("border-top".equals(borderType) || "border-all".equals(borderType)) { + style.setBorderTop(BorderStyle.valueOf(style_)); //顶部边框 + style.setTopBorderColor(color);//顶部边框颜色 + } + + if ("border-bottom".equals(borderType) || "border-all".equals(borderType)) { + style.setBorderBottom(BorderStyle.valueOf(style_)); //底部边框 + style.setBottomBorderColor(color);//底部边框颜色 } + } + + if ("border-outside".equals(borderType)) { + //外圈边框 + if (row_ == rowList.getInteger(0)) { + style.setBorderTop(BorderStyle.valueOf(style_)); //顶部边框 + style.setTopBorderColor(color);//顶部边框颜色 + } + if (col_ == columnList.getInteger(0)) { + style.setBorderLeft(BorderStyle.valueOf(style_)); //左边框 + style.setLeftBorderColor(color);//左边框颜色 + } + if (row_ == rowList.getInteger(rowList.size() - 1)) { + style.setBorderBottom(BorderStyle.valueOf(style_)); //底部边框 + style.setBottomBorderColor(color);//底部边框颜色 } + } + if (col_ == columnList.getInteger(columnList.size() - 1)) { + style.setBorderRight(BorderStyle.valueOf(style_)); //右边框 + style.setRightBorderColor(color);//右边框颜色 + } + + } + + if ("border-horizontal".equals(borderType) || "border-inside".equals(borderType)) { + //内部横线 + if (row_ >= rowList.getInteger(0) + && row_ < rowList.getInteger(rowList.size() - 1) + && col_ >= columnList.getInteger(0) + && col_ <= columnList.getInteger(columnList.size() - 1)) { + style.setBorderBottom(BorderStyle.valueOf(style_)); //底部边框 + style.setBottomBorderColor(color);//底部边框颜色 } + } + } + + if ("border-vertical".equals(borderType) || "border-inside".equals(borderType)) { + //内部竖线 + if (row_ >= rowList.getInteger(0) + && row_ <= rowList.getInteger(rowList.size() - 1) + && col_ >= columnList.getInteger(0) + && col_ < columnList.getInteger(columnList.size() - 1)) { + style.setBorderRight(BorderStyle.valueOf(style_)); //右边框 + style.setRightBorderColor(color);//右边框颜色 + } + } + + if ("border-none".equals(borderType)) { + style.setBorderLeft(BorderStyle.NONE); //左边框 + style.setBorderRight(BorderStyle.NONE); //左边框 + style.setBorderTop(BorderStyle.NONE); //左边框 + style.setBorderBottom(BorderStyle.NONE); //左边框 + } + + } + } + + + } + } + + } + + + /** + * 设置单元格,宽、高 + * + * @param dbObject + * @param sheet + */ + private static void setColumAndRow(JSONObject dbObject, Sheet sheet) { + if (dbObject.containsKey("config")) { + JSONObject config = dbObject.getJSONObject("config"); + + if (config.containsKey("columnlen")) { + JSONObject columnlen = config.getJSONObject("columnlen"); + if (columnlen != null) { + for (String k : columnlen.keySet()) { + Integer _i = getStrToInt(k); + Integer _v = getStrToInt(columnlen.get(k).toString()); + if (_i != null && _v != null) { +// sheet.setColumnWidth(_i, MSExcelUtil.heightUnits2Pixel(_v.shortValue())); + // TODO 乘以32,有待商榷 + sheet.setColumnWidth(_i, _v * 32); + } + } + } + } + if (config.containsKey("rowlen")) { + JSONObject rowlen = config.getJSONObject("rowlen"); + if (rowlen != null) { + for (String k : rowlen.keySet()) { + Integer _i = getStrToInt(k); + Integer _v = getStrToInt(rowlen.get(k).toString()); + if (_i != null && _v != null) { + Row row = sheet.getRow(_i); + if (row != null) { +// row.setHeightInPoints(MSExcelUtil.pixel2WidthUnits(_v.shortValue())); + row.setHeightInPoints(_v.shortValue()); + } + } + } + } + } + } + } + + /** + * 单元格字体相关样式 + * + * @param wb + * @param style + * @param dbObject + */ + private static void setCellStyleFont(Workbook wb, CellStyle style, JSONObject dbObject) { + Font font = wb.createFont(); + style.setFont(font); + + //ff 字体 + if (dbObject.containsKey("ff")) { + if (dbObject.get("ff") instanceof Integer) { + Integer _v = getIntByDBObject(dbObject, "ff"); + if (_v != null && ConstantUtil.ff_IntegerToName.containsKey(_v)) { + font.setFontName(ConstantUtil.ff_IntegerToName.get(_v)); + } + } else if (dbObject.get("ff") instanceof String) { + font.setFontName(getByDBObject(dbObject, "ff")); + } + } + //fc 字体颜色 + if (dbObject.containsKey("fc")) { + String _v = getByDBObject(dbObject, "fc"); + Short _color = ColorUtil.getColorByStr(_v); + if (_color != null) { + font.setColor(_color); + } + } + //bl 粗体 + if (dbObject.containsKey("bl")) { + Integer _v = getIntByDBObject(dbObject, "bl"); + if (_v != null) { + if (_v.equals(1)) { + //是否粗体显示 + font.setBold(true); + } else { + font.setBold(false); + } + } + } + //it 斜体 + if (dbObject.containsKey("it")) { + Integer _v = getIntByDBObject(dbObject, "it"); + if (_v != null) { + if (_v.equals(1)) { + font.setItalic(true); + } else { + font.setItalic(false); + } + } + } + //fs 字体大小 + if (dbObject.containsKey("fs")) { + Integer _v = getStrToInt(getObjectByDBObject(dbObject, "fs")); + if (_v != null) { + font.setFontHeightInPoints(_v.shortValue()); + } + } + //cl 删除线 (导入没有) 0 常规 、 1 删除线 + if (dbObject.containsKey("cl")) { + Integer _v = getIntByDBObject(dbObject, "cl"); + if (_v != null) { + if (_v.equals(1)) { + font.setStrikeout(true); + } + } + } + //ul 下划线 + if (dbObject.containsKey("ul")) { + Integer _v = getIntByDBObject(dbObject, "ul"); + if (_v != null) { + if (_v.equals(1)) { + font.setUnderline(Font.U_SINGLE); + } else { + font.setUnderline(Font.U_NONE); + } + } + } + + } + + /** + * 设置cell边框颜色样式 + * + * @param style 样式 + * @param dbObject json对象 + * @param bs 样式 + * @param bc 样式 + */ + private static void setBorderStyle(CellStyle style, JSONObject dbObject, String bs, String bc) { + //bs 边框样式 + if (dbObject.containsKey(bs)) { + Integer _v = getStrToInt(getByDBObject(dbObject, bs)); + if (_v != null) { + //边框没有,不作改变 + if (bs.equals("bs") || bs.equals("bs_t")) { + style.setBorderTop(BorderStyle.valueOf(_v.shortValue())); + } + if (bs.equals("bs") || bs.equals("bs_b")) { + style.setBorderBottom(BorderStyle.valueOf(_v.shortValue())); + } + if (bs.equals("bs") || bs.equals("bs_l")) { + style.setBorderLeft(BorderStyle.valueOf(_v.shortValue())); + } + if (bs.equals("bs") || bs.equals("bs_r")) { + style.setBorderRight(BorderStyle.valueOf(_v.shortValue())); + } + + //bc 边框颜色 + String _vcolor = getByDBObject(dbObject, bc); + if (_vcolor != null) { + Short _color = ColorUtil.getColorByStr(_vcolor); + if (_color != null) { + if (bc.equals("bc") || bc.equals("bc_t")) { + style.setTopBorderColor(_color); + } + if (bc.equals("bc") || bc.equals("bc_b")) { + style.setBottomBorderColor(_color); + } + if (bc.equals("bc") || bc.equals("bc_l")) { + style.setLeftBorderColor(_color); + } + if (bc.equals("bc") || bc.equals("bc_r")) { + style.setRightBorderColor(_color); + } + } + } + } + } + } + + + /** + * 设置单元格格式 ct 单元格值格式 (fa,t) + * + * @param cell + * @param style + * @param dbObject + */ + private static void setFormatByCt(Workbook wb, Cell cell, CellStyle style, JSONObject dbObject) { + + if (!dbObject.containsKey("v") && dbObject.containsKey("ct")) { + /* 处理以下数据结构 + { + "celldata": [{ + "c": 0, + "r": 8, + "v": { + "ct": { + "s": [{ + "v": "sdsdgdf\r\ndfgdfg\r\ndsfgdfgdf\r\ndsfgdfg" + }], + "t": "inlineStr", + "fa": "General" + } + } + }] + } + */ + JSONObject ct = dbObject.getJSONObject("ct"); + if (ct.containsKey("s")) { + Object s = ct.get("s"); + if (s instanceof List && ((List) s).size() > 0) { + JSONObject _s1 = (JSONObject) ((List) s).get(0); + if (_s1.containsKey("v") && _s1.get("v") instanceof String) { + dbObject.put("v", _s1.get("v")); + style.setWrapText(true); + } + } + + } + } + + //String v = ""; //初始化 + if (dbObject.containsKey("v")) { + //v = v_json.get("v").toString(); + //取到v后,存到poi单元格对象 + //设置该单元格值 + //cell.setValue(v); + + //String v=getByDBObject(v_json,"v"); + //cell.setValue(v); + Object obj = getObjectByDBObject(dbObject, "v"); + if (obj instanceof Number) { + cell.setCellValue(Double.valueOf(obj.toString())); + } else if (obj instanceof Double) { + cell.setCellValue((Double) obj); + } else if (obj instanceof Date) { + cell.setCellValue((Date) obj); + } else if (obj instanceof Calendar) { + cell.setCellValue((Calendar) obj); + } else if (obj instanceof RichTextString) { + cell.setCellValue((RichTextString) obj); + } else if (obj instanceof String) { + cell.setCellValue((String) obj); + } else { + cell.setCellValue(obj.toString()); + } + + } + + if (dbObject.containsKey("ct")) { + JSONObject ct = dbObject.getJSONObject("ct"); + if (ct.containsKey("fa") && ct.containsKey("t")) { + //t 0=bool,1=datetime,2=error,3=null,4=numeric,5=string,6=unknown + String fa = getByDBObject(ct, "fa"); //单元格格式format定义串 + String t = getByDBObject(ct, "t"); //单元格格式type类型 + + Integer _i = ConstantUtil.getNumberFormatMap(fa); + switch (t) { + case "s": { + //字符串 + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + style.setDataFormat((short) 0); + } + cell.setCellType(org.apache.poi.ss.usermodel.CellType.STRING); + break; + } + case "d": { + //日期 + Date _d = null; + String v = getByDBObject(dbObject, "m"); + if (v.length() == 0) { + v = getByDBObject(dbObject, "v"); + } + if (v.length() > 0) { + if (v.indexOf("-") > -1) { + if (v.indexOf(":") > -1) { + _d = ConstantUtil.stringToDateTime(v); + } else { + _d = ConstantUtil.stringToDate(v); + } + } else { + _d = ConstantUtil.toDate(v); + } + } + if (_d != null) { + //能转换为日期 + cell.setCellValue(_d); + DataFormat format = wb.createDataFormat(); + style.setDataFormat(format.getFormat(fa)); + + } else { + //不能转换为日期 + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + style.setDataFormat((short) 0); + } + } + break; + } + case "b": { + //逻辑 + cell.setCellType(org.apache.poi.ss.usermodel.CellType.BOOLEAN); + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + DataFormat format = wb.createDataFormat(); + style.setDataFormat(format.getFormat(fa)); + } + break; + } + case "n": { + //数值 +// cell.setCellType(CellType.NUMERIC); + //数字转字符串 + cell.setCellType(org.apache.poi.ss.usermodel.CellType.STRING); + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + DataFormat format = wb.createDataFormat(); + style.setDataFormat(format.getFormat(fa)); + } + break; + } + case "u": + case "g": { + //general 自动类型 + //cell.setCellType(CellType._NONE); + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + DataFormat format = wb.createDataFormat(); + style.setDataFormat(format.getFormat(fa)); + } + break; + } + case "e": { + //错误 + cell.setCellType(org.apache.poi.ss.usermodel.CellType.ERROR); + if (_i >= 0) { + style.setDataFormat(_i.shortValue()); + } else { + DataFormat format = wb.createDataFormat(); + style.setDataFormat(format.getFormat(fa)); + } + break; + } + + } + + } + + } + } + + /** + * 内容按行分组 + * + * @param cells + * @return + */ + private static Map> cellGroup(List cells) { + Map> cellMap = new HashMap<>(100); + for (JSONObject dbObject : cells) { + //行号 + if (dbObject.containsKey("r")) { + Integer r = getStrToInt(dbObject.get("r")); + if (r != null) { + if (cellMap.containsKey(r)) { + cellMap.get(r).add(dbObject); + } else { + List list = new ArrayList<>(10); + list.add(dbObject); + cellMap.put(r, list); + } + } + } + + } + return cellMap; + } + + + /** + * 获取一个k的值 + * + * @param b + * @param k + * @return + */ + public static String getByDBObject(JSONObject b, String k) { + if (b.containsKey(k)) { + if (b.get(k) != null && b.get(k) instanceof String) { + return b.getString(k); + } + } + return null; + } + + /** + * 获取一个k的值 + * + * @param b + * @param k + * @return + */ + public static Object getObjectByDBObject(JSONObject b, String k) { + if (b.containsKey(k)) { + if (b.get(k) != null) { + return b.get(k); + } + } + return ""; + } + + /** + * 没有/无法转换 返回null + * + * @param b + * @param k + * @return + */ + public static Integer getIntByDBObject(JSONObject b, String k) { + if (b.containsKey(k)) { + if (b.get(k) != null) { + try { + String _s = b.getString(k).replace("px", ""); + Double _d = Double.parseDouble(_s); + return _d.intValue(); + } catch (Exception ex) { + log.error(ex.getMessage()); + return null; + } + } + } + return null; + } + + /** + * 转int + * + * @param str + * @return + */ + private static Integer getStrToInt(Object str) { + try { + if (str != null) { + return Integer.parseInt(str.toString()); + } + return null; + } catch (Exception ex) { + log.error("String:{};Error:{}", str, ex.getMessage()); + return null; + } + } + + private static Short getStrToShort(Object str) { + try { + if (str != null) { + return Short.parseShort(str.toString()); + } + return null; + } catch (Exception ex) { + log.error("String:{};Error:{}", str, ex.getMessage()); + return null; + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsUtil.java index e6eeb14e3..51ea0d3e1 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsUtil.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportexcel/util/XlsUtil.java @@ -22,458 +22,432 @@ import java.io.OutputStream; import java.util.*; /** - * 来自:https://github.com/mengshukeji/LuckysheetServer 使用poi导出xls + * 来自:https://github.com/mengshukeji/LuckysheetServer + * 使用poi导出xls * * @author Administrator */ public class XlsUtil { - private final static String MODEL = "{\"c\":0,\"r\":0,\"v\":{\"m\":\"模板\",\"v\":\"模板\",\"bl\":1,\"ct\":{\"t\":\"g\",\"fa\":\"General\"}}}"; + private final static String MODEL = "{\"c\":0,\"r\":0,\"v\":{\"m\":\"模板\",\"v\":\"模板\",\"bl\":1,\"ct\":{\"t\":\"g\",\"fa\":\"General\"}}}"; + private final static String BORDER_MODEL = "{\"rangeType\":\"cell\",\"value\":{\"b\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"r\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"col_index\":5,\"t\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"row_index\":7,\"l\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1}}}"; + /** + * 默认行数 + */ + private static final int DEFAULT_ROW_INDEX = 84; + /** + * 默认列数 + */ + private static final int DEFAULT_COLUMN_INDEX = 64; - private final static String BORDER_MODEL = "{\"rangeType\":\"cell\",\"value\":{\"b\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"r\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"col_index\":5,\"t\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1},\"row_index\":7,\"l\":{\"color\":\"rgb(0, 0, 0)\",\"style\":1}}}"; + /** + * 输出文件流 + * + * @param outputStream 流 + * @param isXlsx 是否是xlsx + * @param dbObjectList 数据 + */ + public static void exportXlsFile(OutputStream outputStream, Boolean isXlsx, List dbObjectList) throws IOException { + Workbook wb = null; + if (isXlsx) { + wb = new XSSFWorkbook(); + } else { + wb = new HSSFWorkbook(); + } + if (dbObjectList != null && dbObjectList.size() > 0) { + for (int x = 0; x < dbObjectList.size(); x++) { + XlsSheetUtil.exportSheet(wb, x, dbObjectList.get(x)); + } + } + wb.write(outputStream); + } - /** - * 默认行数 - */ - private static final int DEFAULT_ROW_INDEX = 84; + /** + * @param workbook 工作簿 + * @return Map + * @description 读取excel + * @author zhouhang + * @date 2021/4/20 + */ + public static List readExcel(Workbook workbook) { + List list = new ArrayList<>(); + Iterator sheetIterator = workbook.sheetIterator(); + int sheetIndex = 0; + while (sheetIterator.hasNext()) { + Sheet sheet = sheetIterator.next(); + //生成默认MODEL + GridRecordDataModel model; + if (Objects.equals(0, sheetIndex)) { + model = strToModel("", (sheetIndex + 1) + "", 1, sheetIndex); + } else { + model = strToModel("", (sheetIndex + 1) + "", 0, sheetIndex); + } + sheetIndex++; + //读取sheet页 + readSheet(sheet, model, workbook); + //设置sheet页名称 + model.getJson_data().put("name", sheet.getSheetName()); + list.add(model); + } + return list; + } - /** - * 默认列数 - */ - private static final int DEFAULT_COLUMN_INDEX = 64; + public static GridRecordDataModel strToModel(String list_id, String index, int status, int order) { + String strSheet = "{\"row\":84,\"name\":\"reSheetName\",\"chart\":[],\"color\":\"\",\"index\":\"reIndex\",\"order\":reOrder,\"column\":60,\"config\":{},\"status\":reStatus,\"celldata\":[],\"ch_width\":4748,\"rowsplit\":[],\"rh_height\":1790,\"scrollTop\":0,\"scrollLeft\":0,\"visibledatarow\":[],\"visibledatacolumn\":[],\"jfgird_select_save\":[],\"jfgrid_selection_range\":{}}"; + strSheet = strSheet.replace("reSheetName", "Sheet" + index).replace("reIndex", index).replace("reOrder", order + "").replace("reStatus", status + ""); - /** - * 输出文件流 - * @param outputStream 流 - * @param isXlsx 是否是xlsx - * @param dbObjectList 数据 - */ - public static void exportXlsFile(OutputStream outputStream, Boolean isXlsx, List dbObjectList) - throws IOException { - Workbook wb = null; - if (isXlsx) { - wb = new XSSFWorkbook(); - } - else { - wb = new HSSFWorkbook(); - } - if (dbObjectList != null && dbObjectList.size() > 0) { - for (int x = 0; x < dbObjectList.size(); x++) { - XlsSheetUtil.exportSheet(wb, x, dbObjectList.get(x)); - } - } - wb.write(outputStream); - } + JSONObject bson = JSONObject.parseObject(strSheet); + GridRecordDataModel model = new GridRecordDataModel(); + model.setBlock_id("fblock"); + model.setRow_col("5_5"); + model.setIndex(index); + model.setIs_delete(0); + model.setJson_data(bson); + model.setStatus(status); + model.setOrder(order); + model.setList_id(list_id); + return model; + } - /** - * @param workbook 工作簿 - * @return Map - * @description 读取excel - * @author zhouhang - * @date 2021/4/20 - */ - public static List readExcel(Workbook workbook) { - List list = new ArrayList<>(); - Iterator sheetIterator = workbook.sheetIterator(); - int sheetIndex = 0; - while (sheetIterator.hasNext()) { - Sheet sheet = sheetIterator.next(); - // 生成默认MODEL - GridRecordDataModel model; - if (Objects.equals(0, sheetIndex)) { - model = strToModel("", (sheetIndex + 1) + "", 1, sheetIndex); - } - else { - model = strToModel("", (sheetIndex + 1) + "", 0, sheetIndex); - } - sheetIndex++; - // 读取sheet页 - readSheet(sheet, model, workbook); - // 设置sheet页名称 - model.getJson_data().put("name", sheet.getSheetName()); - list.add(model); - } - return list; - } + /** + * @param sheet sheet页 + * @param model 数据存储 + * @param workbook excel + * @description 读取单个sheet页 + * @author zhouhang + * @date 2021/4/20 + */ + private static void readSheet(Sheet sheet, GridRecordDataModel model, Workbook workbook) { + //excel数据集合 + List dataList = new ArrayList<>(); + model.setDataList(dataList); + //获取行迭代器 + Iterator rowIterator = sheet.rowIterator(); + //获取合并单元格信息 + Map rangeMap = getRangeMap(sheet); + //记录最大列 + int maxCellNumber = 0; + int maxRowNumber = 0; + //列宽 + JSONObject columnLenObj = new JSONObject(); + //行高 + JSONObject rowLenObj = new JSONObject(); + //读取文档 + while (rowIterator.hasNext()) { + Row row = rowIterator.next(); + int rowLen = ((int) row.getHeight()) / 20; + if (rowLen == 0) { + rowLen = 30; + } + rowLenObj.put(row.getRowNum() + "", rowLen); + Iterator cellIterator = row.cellIterator(); + maxRowNumber = row.getRowNum(); + while (cellIterator.hasNext()) { + //"{\"c\":0,\"r\":0,\"v\":{\"m\":\"模板\",\"v\":\"模板\",\"bl\":1,\"ct\":{\"t\":\"g\",\"fa\":\"General\"}}}"; + JSONObject dataModel = JSONObject.parseObject(MODEL); + //初始化默认单元格内容 + Cell cell = cellIterator.next(); + int columnLen = sheet.getColumnWidth(cell.getColumnIndex()) / 25; + if (columnLen == 0) { + columnLen = 73; + } + columnLenObj.put(cell.getColumnIndex() + "", columnLen); + //修改最大列 + maxCellNumber = Math.max(cell.getColumnIndex(), maxCellNumber); + //设置行列 + dataModel.put("c", cell.getColumnIndex()); + dataModel.put("r", row.getRowNum()); + //获取单元格内容 + switch (cell.getCellType()) { + case STRING: + dataModel.getJSONObject("v").put("m", cell.getStringCellValue()); + dataModel.getJSONObject("v").put("v", cell.getStringCellValue()); + break; + case NUMERIC: + dataModel.getJSONObject("v").put("m", cell.getNumericCellValue()); + dataModel.getJSONObject("v").put("v", cell.getNumericCellValue()); + break; + case BLANK: + dataModel.getJSONObject("v").put("m", ""); + dataModel.getJSONObject("v").put("v", ""); + break; + case BOOLEAN: + dataModel.getJSONObject("v").put("m", cell.getBooleanCellValue()); + dataModel.getJSONObject("v").put("v", cell.getBooleanCellValue()); + break; + case ERROR: + dataModel.getJSONObject("v").put("m", cell.getErrorCellValue()); + dataModel.getJSONObject("v").put("v", cell.getErrorCellValue()); + break; + default: + dataModel.getJSONObject("v").put("m", ""); + dataModel.getJSONObject("v").put("v", ""); + } + //设置单元格合并标记 + dealWithCellMarge(rangeMap, row, cell, dataModel); + //设置单元格样式、合并单元格信息 + dealWithExcelStyle(model, dataModel, cell, sheet, workbook); + dataList.add(dataModel); + } + } + //设置最大行、列 + model.getJson_data().put("column", Math.max(maxCellNumber, DEFAULT_COLUMN_INDEX)); + model.getJson_data().put("row", Math.max(maxRowNumber, DEFAULT_ROW_INDEX)); + //设置行高、列宽 + model.getJson_data().getJSONObject("config").put("columnlen", columnLenObj); + model.getJson_data().getJSONObject("config").put("rowlen", rowLenObj); + } - public static GridRecordDataModel strToModel(String list_id, String index, int status, int order) { - String strSheet = "{\"row\":84,\"name\":\"reSheetName\",\"chart\":[],\"color\":\"\",\"index\":\"reIndex\",\"order\":reOrder,\"column\":60,\"config\":{},\"status\":reStatus,\"celldata\":[],\"ch_width\":4748,\"rowsplit\":[],\"rh_height\":1790,\"scrollTop\":0,\"scrollLeft\":0,\"visibledatarow\":[],\"visibledatacolumn\":[],\"jfgird_select_save\":[],\"jfgrid_selection_range\":{}}"; - strSheet = strSheet.replace("reSheetName", "Sheet" + index).replace("reIndex", index) - .replace("reOrder", order + "").replace("reStatus", status + ""); + /** + * @param sheet sheet页信息 + * @return Map 单元格合并信息 + * @description 获取合并单元格信息 所有合并单元的MAP + * @author zhouhang + * @date 2021/4/21 + */ + @NotNull + private static Map getRangeMap(Sheet sheet) { + List rangeAddressList = sheet.getMergedRegions(); + Map rangeMap = new HashMap<>(rangeAddressList.size() * 5); + for (CellRangeAddress cellAddresses : rangeAddressList) { + for (int i = cellAddresses.getFirstRow(); i <= cellAddresses.getLastRow(); i++) { + for (int j = cellAddresses.getFirstColumn(); j <= cellAddresses.getLastColumn(); j++) { + if (i == cellAddresses.getFirstRow() && j == cellAddresses.getFirstColumn()) { + //单元格合并初始值特殊标记 + rangeMap.put(i + "_" + j, cellAddresses.getFirstRow() + "_" + cellAddresses.getFirstColumn() + "_" + cellAddresses.getLastRow() + "_" + cellAddresses.getLastColumn()); + } else { + rangeMap.put(i + "_" + j, cellAddresses.getFirstRow() + "_" + cellAddresses.getFirstColumn()); + } + } + } + } + return rangeMap; + } - JSONObject bson = JSONObject.parseObject(strSheet); - GridRecordDataModel model = new GridRecordDataModel(); - model.setBlock_id("fblock"); - model.setRow_col("5_5"); - model.setIndex(index); - model.setIs_delete(0); - model.setJson_data(bson); - model.setStatus(status); - model.setOrder(order); - model.setList_id(list_id); - return model; - } + /** + * @param rangeMap 合并信息 + * @param row 行信息 + * @param cell 单元格 + * @param dataModel 单元格数据存储信息 + * @description 设置单元格合并标记 + * @author zhouhang + * @date 2021/4/21 + */ + private static void dealWithCellMarge(Map rangeMap, Row row, Cell cell, JSONObject dataModel) { + if (rangeMap.containsKey(row.getRowNum() + "_" + cell.getColumnIndex())) { + String margeValue = rangeMap.get(row.getRowNum() + "_" + cell.getColumnIndex()); + JSONObject mcData = new JSONObject(); + String[] s = margeValue.split("_"); + mcData.put("r", Integer.parseInt(s[0])); + mcData.put("c", Integer.parseInt(s[1])); + if (s.length == 4) { + mcData.put("rs", Integer.parseInt(s[2]) - Integer.parseInt(s[0]) + 1); + mcData.put("cs", Integer.parseInt(s[3]) - Integer.parseInt(s[1]) + 1); + } + dataModel.getJSONObject("v").put("mc", mcData); + } + } - /** - * @param sheet sheet页 - * @param model 数据存储 - * @param workbook excel - * @description 读取单个sheet页 - * @author zhouhang - * @date 2021/4/20 - */ - private static void readSheet(Sheet sheet, GridRecordDataModel model, Workbook workbook) { - // excel数据集合 - List dataList = new ArrayList<>(); - model.setDataList(dataList); - // 获取行迭代器 - Iterator rowIterator = sheet.rowIterator(); - // 获取合并单元格信息 - Map rangeMap = getRangeMap(sheet); - // 记录最大列 - int maxCellNumber = 0; - int maxRowNumber = 0; - // 列宽 - JSONObject columnLenObj = new JSONObject(); - // 行高 - JSONObject rowLenObj = new JSONObject(); - // 读取文档 - while (rowIterator.hasNext()) { - Row row = rowIterator.next(); - int rowLen = ((int) row.getHeight()) / 20; - if (rowLen == 0) { - rowLen = 30; - } - rowLenObj.put(row.getRowNum() + "", rowLen); - Iterator cellIterator = row.cellIterator(); - maxRowNumber = row.getRowNum(); - while (cellIterator.hasNext()) { - // "{\"c\":0,\"r\":0,\"v\":{\"m\":\"模板\",\"v\":\"模板\",\"bl\":1,\"ct\":{\"t\":\"g\",\"fa\":\"General\"}}}"; - JSONObject dataModel = JSONObject.parseObject(MODEL); - // 初始化默认单元格内容 - Cell cell = cellIterator.next(); - int columnLen = sheet.getColumnWidth(cell.getColumnIndex()) / 25; - if (columnLen == 0) { - columnLen = 73; - } - columnLenObj.put(cell.getColumnIndex() + "", columnLen); - // 修改最大列 - maxCellNumber = Math.max(cell.getColumnIndex(), maxCellNumber); - // 设置行列 - dataModel.put("c", cell.getColumnIndex()); - dataModel.put("r", row.getRowNum()); - // 获取单元格内容 - switch (cell.getCellType()) { - case STRING: - dataModel.getJSONObject("v").put("m", cell.getStringCellValue()); - dataModel.getJSONObject("v").put("v", cell.getStringCellValue()); - break; - case NUMERIC: - dataModel.getJSONObject("v").put("m", cell.getNumericCellValue()); - dataModel.getJSONObject("v").put("v", cell.getNumericCellValue()); - break; - case BLANK: - dataModel.getJSONObject("v").put("m", ""); - dataModel.getJSONObject("v").put("v", ""); - break; - case BOOLEAN: - dataModel.getJSONObject("v").put("m", cell.getBooleanCellValue()); - dataModel.getJSONObject("v").put("v", cell.getBooleanCellValue()); - break; - case ERROR: - dataModel.getJSONObject("v").put("m", cell.getErrorCellValue()); - dataModel.getJSONObject("v").put("v", cell.getErrorCellValue()); - break; - default: - dataModel.getJSONObject("v").put("m", ""); - dataModel.getJSONObject("v").put("v", ""); - } - // 设置单元格合并标记 - dealWithCellMarge(rangeMap, row, cell, dataModel); - // 设置单元格样式、合并单元格信息 - dealWithExcelStyle(model, dataModel, cell, sheet, workbook); - dataList.add(dataModel); - } - } - // 设置最大行、列 - model.getJson_data().put("column", Math.max(maxCellNumber, DEFAULT_COLUMN_INDEX)); - model.getJson_data().put("row", Math.max(maxRowNumber, DEFAULT_ROW_INDEX)); - // 设置行高、列宽 - model.getJson_data().getJSONObject("config").put("columnlen", columnLenObj); - model.getJson_data().getJSONObject("config").put("rowlen", rowLenObj); - } + /** + * @param model sheet页信息 + * @param dataModel 单元格信息 + * @param cell 单元格 + * @param sheet sheet页数据 + * @param workbook excel + * @description 获取单元格样式,设置单元格样式 + * @author zhouhang + * @date 2021/4/21 + */ + private static void dealWithExcelStyle(GridRecordDataModel model, JSONObject dataModel, Cell cell, Sheet sheet, Workbook workbook) { + //设置单元格合并信息 + dealWithExcelMerge(model, sheet); + //设置字体样式 + setFontStyle(dataModel, workbook, cell); + //设置单元格样式 + dealWithBorderStyle(model, cell, workbook); + } - /** - * @param sheet sheet页信息 - * @return Map 单元格合并信息 - * @description 获取合并单元格信息 所有合并单元的MAP - * @author zhouhang - * @date 2021/4/21 - */ - @NotNull - private static Map getRangeMap(Sheet sheet) { - List rangeAddressList = sheet.getMergedRegions(); - Map rangeMap = new HashMap<>(rangeAddressList.size() * 5); - for (CellRangeAddress cellAddresses : rangeAddressList) { - for (int i = cellAddresses.getFirstRow(); i <= cellAddresses.getLastRow(); i++) { - for (int j = cellAddresses.getFirstColumn(); j <= cellAddresses.getLastColumn(); j++) { - if (i == cellAddresses.getFirstRow() && j == cellAddresses.getFirstColumn()) { - // 单元格合并初始值特殊标记 - rangeMap.put(i + "_" + j, cellAddresses.getFirstRow() + "_" + cellAddresses.getFirstColumn() - + "_" + cellAddresses.getLastRow() + "_" + cellAddresses.getLastColumn()); - } - else { - rangeMap.put(i + "_" + j, cellAddresses.getFirstRow() + "_" + cellAddresses.getFirstColumn()); - } - } - } - } - return rangeMap; - } + /** + * @param model 在线表格存储单元 + * @param cell cell + * @param workbook workbook + * @description 设置单元格样式 + * @author zhouhang + * @date 2021/4/22 + */ + private static void dealWithBorderStyle(GridRecordDataModel model, Cell cell, Workbook workbook) { + CellStyle cellStyle = cell.getCellStyle(); + //判断是否存在边框 + if (cellStyle.getBorderTop().getCode() > 0 || cellStyle.getBorderBottom().getCode() > 0 || + cellStyle.getBorderLeft().getCode() > 0 || cellStyle.getBorderRight().getCode() > 0) { + JSONObject border = JSONObject.parseObject(BORDER_MODEL); + border.getJSONObject("value").put("row_index", cell.getRowIndex()); + border.getJSONObject("value").put("col_index", cell.getColumnIndex()); + //xlsx + if (cellStyle instanceof XSSFCellStyle) { + XSSFCellStyle xssfCellStyle = (XSSFCellStyle) cellStyle; + if (Objects.equals((short) 0, cellStyle.getBorderTop().getCode())) { + border.getJSONObject("value").remove("t"); + } else { + border.getJSONObject("value").getJSONObject("t").put("color", dealWithRbg(xssfCellStyle.getTopBorderXSSFColor().getRGB())); + } + if (Objects.equals((short) 0, cellStyle.getBorderRight().getCode())) { + border.getJSONObject("value").remove("r"); + } else { + border.getJSONObject("value").getJSONObject("r").put("color", dealWithRbg(xssfCellStyle.getRightBorderXSSFColor().getRGB())); + } + if (Objects.equals((short) 0, cellStyle.getBorderLeft().getCode())) { + border.getJSONObject("value").remove("l"); + } else { + border.getJSONObject("value").getJSONObject("l").put("color", dealWithRbg(xssfCellStyle.getLeftBorderXSSFColor().getRGB())); + } + if (Objects.equals((short) 0, cellStyle.getBorderBottom().getCode())) { + border.getJSONObject("value").remove("b"); + } else { + border.getJSONObject("value").getJSONObject("b").put("color", dealWithRbg(xssfCellStyle.getBottomBorderXSSFColor().getRGB())); + } + } else if (cellStyle instanceof HSSFCellStyle) { + //xls + HSSFWorkbook hssfWorkbook = (HSSFWorkbook) workbook; + HSSFCellStyle hssfCellStyle = (HSSFCellStyle) cellStyle; + if (Objects.equals((short) 0, cellStyle.getBorderTop().getCode())) { + border.getJSONObject("value").remove("t"); + } else { + HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getTopBorderColor()); + border.getJSONObject("value").getJSONObject("t").put("color", dealWithRbgShort(color.getTriplet())); + } + if (Objects.equals((short) 0, cellStyle.getBorderRight().getCode())) { + border.getJSONObject("value").remove("r"); + } else { + HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getRightBorderColor()); + border.getJSONObject("value").getJSONObject("r").put("color", dealWithRbgShort(color.getTriplet())); + } + if (Objects.equals((short) 0, cellStyle.getBorderLeft().getCode())) { + border.getJSONObject("value").remove("l"); + } else { + HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getLeftBorderColor()); + border.getJSONObject("value").getJSONObject("l").put("color", dealWithRbgShort(color.getTriplet())); + } + if (Objects.equals((short) 0, cellStyle.getBorderBottom().getCode())) { + border.getJSONObject("value").remove("b"); + } else { + HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getBottomBorderColor()); + border.getJSONObject("value").getJSONObject("b").put("color", dealWithRbgShort(color.getTriplet())); + } + } + JSONArray borderInfo = model.getJson_data().getJSONObject("config").getJSONArray("borderInfo"); + if (Objects.isNull(borderInfo)) { + borderInfo = new JSONArray(); + model.getJson_data().getJSONObject("config").put("borderInfo", borderInfo); + } + borderInfo.add(border); + } + } - /** - * @param rangeMap 合并信息 - * @param row 行信息 - * @param cell 单元格 - * @param dataModel 单元格数据存储信息 - * @description 设置单元格合并标记 - * @author zhouhang - * @date 2021/4/21 - */ - private static void dealWithCellMarge(Map rangeMap, Row row, Cell cell, JSONObject dataModel) { - if (rangeMap.containsKey(row.getRowNum() + "_" + cell.getColumnIndex())) { - String margeValue = rangeMap.get(row.getRowNum() + "_" + cell.getColumnIndex()); - JSONObject mcData = new JSONObject(); - String[] s = margeValue.split("_"); - mcData.put("r", Integer.parseInt(s[0])); - mcData.put("c", Integer.parseInt(s[1])); - if (s.length == 4) { - mcData.put("rs", Integer.parseInt(s[2]) - Integer.parseInt(s[0]) + 1); - mcData.put("cs", Integer.parseInt(s[3]) - Integer.parseInt(s[1]) + 1); - } - dataModel.getJSONObject("v").put("mc", mcData); - } - } + /** + * @param rgb RBG short + * @return rbg(0, 0, 0) + * @description 转换RBG rbg(0,0,0) + * @author zhouhang + * @date 2021/4/26 + */ + private static String dealWithRbgShort(short[] rgb) { + return getRbg(Objects.nonNull(rgb), rgb[0], rgb[1], rgb[2]); + } - /** - * @param model sheet页信息 - * @param dataModel 单元格信息 - * @param cell 单元格 - * @param sheet sheet页数据 - * @param workbook excel - * @description 获取单元格样式,设置单元格样式 - * @author zhouhang - * @date 2021/4/21 - */ - private static void dealWithExcelStyle(GridRecordDataModel model, JSONObject dataModel, Cell cell, Sheet sheet, - Workbook workbook) { - // 设置单元格合并信息 - dealWithExcelMerge(model, sheet); - // 设置字体样式 - setFontStyle(dataModel, workbook, cell); - // 设置单元格样式 - dealWithBorderStyle(model, cell, workbook); - } + @NotNull + private static String getRbg(boolean b2, short r, short b, short g) { + if (b2) { + return "rgb(" + (r & 0xFF) + ", " + (b & 0xFF) + ", " + (g & 0xFF) + ")"; + } else { + return "rgb(0, 0, 0)"; + } + } - /** - * @param model 在线表格存储单元 - * @param cell cell - * @param workbook workbook - * @description 设置单元格样式 - * @author zhouhang - * @date 2021/4/22 - */ - private static void dealWithBorderStyle(GridRecordDataModel model, Cell cell, Workbook workbook) { - CellStyle cellStyle = cell.getCellStyle(); - // 判断是否存在边框 - if (cellStyle.getBorderTop().getCode() > 0 || cellStyle.getBorderBottom().getCode() > 0 - || cellStyle.getBorderLeft().getCode() > 0 || cellStyle.getBorderRight().getCode() > 0) { - JSONObject border = JSONObject.parseObject(BORDER_MODEL); - border.getJSONObject("value").put("row_index", cell.getRowIndex()); - border.getJSONObject("value").put("col_index", cell.getColumnIndex()); - // xlsx - if (cellStyle instanceof XSSFCellStyle) { - XSSFCellStyle xssfCellStyle = (XSSFCellStyle) cellStyle; - if (Objects.equals((short) 0, cellStyle.getBorderTop().getCode())) { - border.getJSONObject("value").remove("t"); - } - else { - border.getJSONObject("value").getJSONObject("t").put("color", - dealWithRbg(xssfCellStyle.getTopBorderXSSFColor().getRGB())); - } - if (Objects.equals((short) 0, cellStyle.getBorderRight().getCode())) { - border.getJSONObject("value").remove("r"); - } - else { - border.getJSONObject("value").getJSONObject("r").put("color", - dealWithRbg(xssfCellStyle.getRightBorderXSSFColor().getRGB())); - } - if (Objects.equals((short) 0, cellStyle.getBorderLeft().getCode())) { - border.getJSONObject("value").remove("l"); - } - else { - border.getJSONObject("value").getJSONObject("l").put("color", - dealWithRbg(xssfCellStyle.getLeftBorderXSSFColor().getRGB())); - } - if (Objects.equals((short) 0, cellStyle.getBorderBottom().getCode())) { - border.getJSONObject("value").remove("b"); - } - else { - border.getJSONObject("value").getJSONObject("b").put("color", - dealWithRbg(xssfCellStyle.getBottomBorderXSSFColor().getRGB())); - } - } - else if (cellStyle instanceof HSSFCellStyle) { - // xls - HSSFWorkbook hssfWorkbook = (HSSFWorkbook) workbook; - HSSFCellStyle hssfCellStyle = (HSSFCellStyle) cellStyle; - if (Objects.equals((short) 0, cellStyle.getBorderTop().getCode())) { - border.getJSONObject("value").remove("t"); - } - else { - HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getTopBorderColor()); - border.getJSONObject("value").getJSONObject("t").put("color", dealWithRbgShort(color.getTriplet())); - } - if (Objects.equals((short) 0, cellStyle.getBorderRight().getCode())) { - border.getJSONObject("value").remove("r"); - } - else { - HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getRightBorderColor()); - border.getJSONObject("value").getJSONObject("r").put("color", dealWithRbgShort(color.getTriplet())); - } - if (Objects.equals((short) 0, cellStyle.getBorderLeft().getCode())) { - border.getJSONObject("value").remove("l"); - } - else { - HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getLeftBorderColor()); - border.getJSONObject("value").getJSONObject("l").put("color", dealWithRbgShort(color.getTriplet())); - } - if (Objects.equals((short) 0, cellStyle.getBorderBottom().getCode())) { - border.getJSONObject("value").remove("b"); - } - else { - HSSFColor color = hssfWorkbook.getCustomPalette().getColor(hssfCellStyle.getBottomBorderColor()); - border.getJSONObject("value").getJSONObject("b").put("color", dealWithRbgShort(color.getTriplet())); - } - } - JSONArray borderInfo = model.getJson_data().getJSONObject("config").getJSONArray("borderInfo"); - if (Objects.isNull(borderInfo)) { - borderInfo = new JSONArray(); - model.getJson_data().getJSONObject("config").put("borderInfo", borderInfo); - } - borderInfo.add(border); - } - } + /** + * @param rgb RBG byte + * @return rbg(0, 0, 0) + * @description 转换RBG rbg(0,0,0) + * @author zhouhang + * @date 2021/4/26 + */ + private static String dealWithRbg(byte[] rgb) { + if (Objects.isNull(rgb)) { + return "rgb(0, 0, 0)"; + } + short[] shorts = new short[]{rgb[0], rgb[1], rgb[2]}; + return getRbg(true, shorts[0], shorts[1], shorts[2]); + } - /** - * @param rgb RBG short - * @return rbg(0, 0, 0) - * @description 转换RBG rbg(0,0,0) - * @author zhouhang - * @date 2021/4/26 - */ - private static String dealWithRbgShort(short[] rgb) { - return getRbg(Objects.nonNull(rgb), rgb[0], rgb[1], rgb[2]); - } - - @NotNull - private static String getRbg(boolean b2, short r, short b, short g) { - if (b2) { - return "rgb(" + (r & 0xFF) + ", " + (b & 0xFF) + ", " + (g & 0xFF) + ")"; - } - else { - return "rgb(0, 0, 0)"; - } - } - - /** - * @param rgb RBG byte - * @return rbg(0, 0, 0) - * @description 转换RBG rbg(0,0,0) - * @author zhouhang - * @date 2021/4/26 - */ - private static String dealWithRbg(byte[] rgb) { - if (Objects.isNull(rgb)) { - return "rgb(0, 0, 0)"; - } - short[] shorts = new short[] { rgb[0], rgb[1], rgb[2] }; - return getRbg(true, shorts[0], shorts[1], shorts[2]); - } - - /** - * @param dataModel 单元格内容 - * @param workbook workbook - * @param cell cell - * @description s设置字体样式 - * @author zhouhang - * @date 2021/4/21 - */ - private static void setFontStyle(JSONObject dataModel, Workbook workbook, Cell cell) { - CellStyle cellStyle = cell.getCellStyle(); - Font font = workbook.getFontAt(cellStyle.getFontIndexAsInt()); - JSONObject v = dataModel.getJSONObject("v"); - // ht 水平对齐 水平对齐方式(0=居中,1=左对齐,2=右对齐) excel:左:1 中:2 右:3 未设置:0 - v.put("ht", ExcelCenterStyleEnum.getExcelCenterStyleByExcelCenterCode(cellStyle.getAlignment().getCode()) - .getOnlineExcelCode()); - // bl 字体加粗设置 - v.put("bl", font.getBold() ? 1 : 0); - // lt 斜体 - v.put("it", font.getItalic() ? 1 : 0); - // ff 字体 - v.put("ff", font.getFontName()); - // fc 字体颜色 - if (font instanceof HSSFFont) { - HSSFFont hssfFont = (HSSFFont) font; - HSSFColor hssfColor = hssfFont.getHSSFColor((HSSFWorkbook) workbook); - if (Objects.nonNull(hssfColor)) { - v.put("fc", ColorUtil.convertRGBToHex(hssfColor.getTriplet()[0], hssfColor.getTriplet()[1], - hssfColor.getTriplet()[2])); - } - } - else { - XSSFFont xssfFont = (XSSFFont) font; - XSSFColor xssfColor = xssfFont.getXSSFColor(); - if (Objects.nonNull(xssfColor)) { - v.put("fc", "#" + xssfColor.getARGBHex().substring(2)); - } - } - // fs 字体大小 - v.put("fs", font.getFontHeightInPoints()); - // cl 删除线 - v.put("cl", font.getStrikeout() ? 1 : 0); - // ul 下划线 - v.put("un", font.getUnderline()); - // 背景色 - String fillColorHex = ColorUtil.getFillColorHex(cell); - if (Objects.nonNull(fillColorHex)) { - v.put("bg", fillColorHex); - } - } - - /** - * @param model sheet页信息 - * @param sheet sheet页 - * @description 设置单元格合并信息 - * @author zhouhang - * @date 2021/4/21 - */ - private static void dealWithExcelMerge(GridRecordDataModel model, Sheet sheet) { - if (CollectionUtils.isNotEmpty(sheet.getMergedRegions())) { - // {"color":"","list_id":"","column":60,"index":"1","jfgird_select_save":[],"rh_height":1790,"visibledatacolumn":[],"scrollTop":0,"block_id":"fblock","rowsplit":[],"visibledatarow":[],"jfgrid_selection_range":{},"name":"Sheet1","celldata":[],"ch_width":4748,"row":84,"scrollLeft":0,"id":364598,"chart":[],"config":{},"order":0,"status":1} - JSONObject jsonObject = model.getJson_data(); - JSONObject config = jsonObject.getJSONObject("config"); - JSONObject merge = new JSONObject(); - for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { - JSONObject mergeBase = new JSONObject(); - mergeBase.put("r", mergedRegion.getFirstRow()); - mergeBase.put("c", mergedRegion.getFirstColumn()); - mergeBase.put("rs", mergedRegion.getLastRow() - mergedRegion.getFirstRow() + 1); - mergeBase.put("cs", mergedRegion.getLastColumn() - mergedRegion.getFirstColumn() + 1); - merge.put(mergedRegion.getFirstRow() + "_" + mergedRegion.getFirstColumn(), mergeBase); - } - config.put("merge", merge); - } - } + /** + * @param dataModel 单元格内容 + * @param workbook workbook + * @param cell cell + * @description s设置字体样式 + * @author zhouhang + * @date 2021/4/21 + */ + private static void setFontStyle(JSONObject dataModel, Workbook workbook, Cell cell) { + CellStyle cellStyle = cell.getCellStyle(); + Font font = workbook.getFontAt(cellStyle.getFontIndexAsInt()); + JSONObject v = dataModel.getJSONObject("v"); + //ht 水平对齐 水平对齐方式(0=居中,1=左对齐,2=右对齐) excel:左:1 中:2 右:3 未设置:0 + v.put("ht", ExcelCenterStyleEnum.getExcelCenterStyleByExcelCenterCode(cellStyle.getAlignment().getCode()).getOnlineExcelCode()); + //bl 字体加粗设置 + v.put("bl", font.getBold() ? 1 : 0); + //lt 斜体 + v.put("it", font.getItalic() ? 1 : 0); + //ff 字体 + v.put("ff", font.getFontName()); + //fc 字体颜色 + if (font instanceof HSSFFont) { + HSSFFont hssfFont = (HSSFFont) font; + HSSFColor hssfColor = hssfFont.getHSSFColor((HSSFWorkbook) workbook); + if (Objects.nonNull(hssfColor)) { + v.put("fc", ColorUtil.convertRGBToHex(hssfColor.getTriplet()[0], hssfColor.getTriplet()[1], hssfColor.getTriplet()[2])); + } + } else { + XSSFFont xssfFont = (XSSFFont) font; + XSSFColor xssfColor = xssfFont.getXSSFColor(); + if (Objects.nonNull(xssfColor)) { + v.put("fc", "#" + xssfColor.getARGBHex().substring(2)); + } + } + //fs 字体大小 + v.put("fs", font.getFontHeightInPoints()); + //cl 删除线 + v.put("cl", font.getStrikeout() ? 1 : 0); + //ul 下划线 + v.put("un", font.getUnderline()); + //背景色 + String fillColorHex = ColorUtil.getFillColorHex(cell); + if (Objects.nonNull(fillColorHex)) { + v.put("bg", fillColorHex); + } + } + /** + * @param model sheet页信息 + * @param sheet sheet页 + * @description 设置单元格合并信息 + * @author zhouhang + * @date 2021/4/21 + */ + private static void dealWithExcelMerge(GridRecordDataModel model, Sheet sheet) { + if (CollectionUtils.isNotEmpty(sheet.getMergedRegions())) { + //{"color":"","list_id":"","column":60,"index":"1","jfgird_select_save":[],"rh_height":1790,"visibledatacolumn":[],"scrollTop":0,"block_id":"fblock","rowsplit":[],"visibledatarow":[],"jfgrid_selection_range":{},"name":"Sheet1","celldata":[],"ch_width":4748,"row":84,"scrollLeft":0,"id":364598,"chart":[],"config":{},"order":0,"status":1} + JSONObject jsonObject = model.getJson_data(); + JSONObject config = jsonObject.getJSONObject("config"); + JSONObject merge = new JSONObject(); + for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { + JSONObject mergeBase = new JSONObject(); + mergeBase.put("r", mergedRegion.getFirstRow()); + mergeBase.put("c", mergedRegion.getFirstColumn()); + mergeBase.put("rs", mergedRegion.getLastRow() - mergedRegion.getFirstRow() + 1); + mergeBase.put("cs", mergedRegion.getLastColumn() - mergedRegion.getFirstColumn() + 1); + merge.put(mergedRegion.getFirstRow() + "_" + mergedRegion.getFirstColumn(), mergeBase); + } + config.put("merge", merge); + } + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java index e74868c2a..2d0304288 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/ReportShareController.java @@ -27,42 +27,43 @@ import org.springframework.web.bind.annotation.*; @Permission(code = "reportShareManage", name = "报表分享管理") public class ReportShareController extends GaeaBaseController { - @Autowired - private ReportShareService reportShareService; + @Autowired + private ReportShareService reportShareService; - @Override - public GaeaBaseService getService() { - return reportShareService; - } + @Override + public GaeaBaseService getService() { + return reportShareService; + } - @Override - public ReportShare getEntity() { - return new ReportShare(); - } + @Override + public ReportShare getEntity() { + return new ReportShare(); + } - @Override - public ReportShareDto getDTO() { - return new ReportShareDto(); - } + @Override + public ReportShareDto getDTO() { + return new ReportShareDto(); + } - @GetMapping({ "/{id}" }) - @AccessKey - @Override - @Permission(code = "detail", name = "明细") - public ResponseBean detail(@PathVariable("id") Long id) { - this.logger.info("{}根据ID查询服务开始,id为:{}", this.getClass().getSimpleName(), id); - ReportShare result = reportShareService.getDetail(id); - ReportShareDto dto = this.getDTO(); - GaeaBeanUtils.copyAndFormatter(result, dto); - ResponseBean responseBean = this.responseSuccessWithData(this.resultDtoHandle(dto)); - this.logger.info("{}根据ID查询结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); - return responseBean; - } - @GetMapping({ "/detailByCode" }) - @Permission(code = "detail", name = "明细") - public ResponseBean detailByCode(@RequestParam("shareCode") String shareCode) { - return ResponseBean.builder().data(reportShareService.detailByCode(shareCode)).build(); - } + @GetMapping({"/{id}"}) + @AccessKey + @Override + @Permission(code = "detail", name = "明细") + public ResponseBean detail(@PathVariable("id") Long id) { + this.logger.info("{}根据ID查询服务开始,id为:{}", this.getClass().getSimpleName(), id); + ReportShare result = reportShareService.getDetail(id); + ReportShareDto dto = this.getDTO(); + GaeaBeanUtils.copyAndFormatter(result, dto); + ResponseBean responseBean = this.responseSuccessWithData(this.resultDtoHandle(dto)); + this.logger.info("{}根据ID查询结束,结果:{}", this.getClass().getSimpleName(), GaeaUtils.toJSONString(responseBean)); + return responseBean; + } + + @GetMapping({"/detailByCode"}) + @Permission(code = "detail", name = "明细") + public ResponseBean detailByCode(@RequestParam("shareCode") String shareCode) { + return ResponseBean.builder().data(reportShareService.detailByCode(shareCode)).build(); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java index 8fe1e16b2..14690975a 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/dto/ReportShareDto.java @@ -1,61 +1,61 @@ package com.anjiplus.template.gaea.business.modules.reportshare.controller.dto; +import java.io.Serializable; import com.anji.plus.gaea.curd.dto.GaeaBaseDTO; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; -import java.io.Serializable; import java.util.Date; /** - * @description 报表分享 dto - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ +* +* @description 报表分享 dto +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ @Data public class ReportShareDto extends GaeaBaseDTO implements Serializable { + /** 分享编码,系统生成,默认UUID */ + @ApiModelProperty(value = "分享编码,系统生成,默认UUID") + private String shareCode; - /** 分享编码,系统生成,默认UUID */ - @ApiModelProperty(value = "分享编码,系统生成,默认UUID") - private String shareCode; + /** 分享有效期类型,DIC_NAME=SHARE_VAILD */ + @ApiModelProperty(value = "分享有效期类型,DIC_NAME=SHARE_VAILD") + @NotNull(message = "6002") + private Integer shareValidType; - /** 分享有效期类型,DIC_NAME=SHARE_VAILD */ - @ApiModelProperty(value = "分享有效期类型,DIC_NAME=SHARE_VAILD") - @NotNull(message = "6002") - private Integer shareValidType; + /** 分享有效期 */ + @ApiModelProperty(value = "分享有效期") + private Date shareValidTime; - /** 分享有效期 */ - @ApiModelProperty(value = "分享有效期") - private Date shareValidTime; + /** 分享token */ + @ApiModelProperty(value = "分享token") + private String shareToken; - /** 分享token */ - @ApiModelProperty(value = "分享token") - private String shareToken; + /** 分享url */ + @ApiModelProperty(value = "分享url") + @NotEmpty(message = "6002") + private String shareUrl; - /** 分享url */ - @ApiModelProperty(value = "分享url") - @NotEmpty(message = "6002") - private String shareUrl; + /** 报表编码 */ + @ApiModelProperty(value = "报表编码") + @NotEmpty(message = "6002") + private String reportCode; - /** 报表编码 */ - @ApiModelProperty(value = "报表编码") - @NotEmpty(message = "6002") - private String reportCode; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - @ApiModelProperty(value = "0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG") - private Integer enableFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - @ApiModelProperty(value = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG") - private Integer deleteFlag; + /** 分享码 */ + private String sharePassword; - /** 分享码 */ - private String sharePassword; - - private boolean sharePasswordFlag = false; + private boolean sharePasswordFlag = false; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java index 12b0f604d..293f8b020 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/controller/param/ReportShareParam.java @@ -7,11 +7,10 @@ import lombok.Data; import java.io.Serializable; /** - * @desc ReportShare 报表分享查询输入类 - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ +* @desc ReportShare 报表分享查询输入类 +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ @Data -public class ReportShareParam extends PageParam implements Serializable { - +public class ReportShareParam extends PageParam implements Serializable{ } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/ReportShareMapper.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/ReportShareMapper.java index c820d90d0..852490fe7 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/ReportShareMapper.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/ReportShareMapper.java @@ -3,14 +3,13 @@ package com.anjiplus.template.gaea.business.modules.reportshare.dao; import com.anji.plus.gaea.curd.mapper.GaeaBaseMapper; import com.anjiplus.template.gaea.business.modules.reportshare.dao.entity.ReportShare; import org.apache.ibatis.annotations.Mapper; - /** - * ReportShare Mapper - * - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ +* ReportShare Mapper +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ @Mapper public interface ReportShareMapper extends GaeaBaseMapper { + } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java index a26f319f2..88b4d748b 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/dao/entity/ReportShare.java @@ -7,45 +7,44 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.util.Date; - /** - * @description 报表分享 entity - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ -@TableName(keepGlobalPrefix = true, value = "gaea_report_share") +* @description 报表分享 entity +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ +@TableName(keepGlobalPrefix=true, value="gaea_report_share") @Data public class ReportShare extends GaeaBaseEntity { + /** 分享编码,系统生成,默认UUID */ + private String shareCode; - /** 分享编码,系统生成,默认UUID */ - private String shareCode; + /** 分享有效期类型,DIC_NAME=SHARE_VAILD */ + private Integer shareValidType; - /** 分享有效期类型,DIC_NAME=SHARE_VAILD */ - private Integer shareValidType; + /** 分享有效期 */ + private Date shareValidTime; - /** 分享有效期 */ - private Date shareValidTime; + /** 分享token */ + private String shareToken; - /** 分享token */ - private String shareToken; + /** 分享url */ + private String shareUrl; - /** 分享url */ - private String shareUrl; + /** 报表编码 */ + private String reportCode; - /** 报表编码 */ - private String reportCode; + /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ + private Integer enableFlag; - /** 0--已禁用 1--已启用 DIC_NAME=ENABLE_FLAG */ - private Integer enableFlag; + /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ + private Integer deleteFlag; - /** 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG */ - private Integer deleteFlag; + /** 分享码 */ + @TableField(exist = false) + private String sharePassword; - /** 分享码 */ - @TableField(exist = false) - private String sharePassword; + @TableField(exist = false) + private boolean sharePasswordFlag; - @TableField(exist = false) - private boolean sharePasswordFlag; } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/ReportShareService.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/ReportShareService.java index 1cff83ad3..e3613cbad 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/ReportShareService.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/ReportShareService.java @@ -7,21 +7,21 @@ import com.anjiplus.template.gaea.business.modules.reportshare.controller.param. import com.anjiplus.template.gaea.business.modules.reportshare.dao.entity.ReportShare; /** - * @desc ReportShare 报表分享服务接口 - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ +* @desc ReportShare 报表分享服务接口 +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ public interface ReportShareService extends GaeaBaseService { - /*** - * 查询详情 - * @param id - * @return - */ - ReportShare getDetail(Long id); + /*** + * 查询详情 + * + * @param id + * @return + */ + ReportShare getDetail(Long id); - ReportShareDto insertShare(ReportShareDto dto); - - ReportShare detailByCode(String shareCode); + ReportShareDto insertShare(ReportShareDto dto); + ReportShare detailByCode(String shareCode); } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java index 2c049c130..5a1b98194 100644 --- a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/modules/reportshare/service/impl/ReportShareServiceImpl.java @@ -23,104 +23,100 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** - * @desc ReportShare 报表分享服务实现 - * @author Raod - * @date 2021-08-18 13:37:26.663 - **/ +* @desc ReportShare 报表分享服务实现 +* @author Raod +* @date 2021-08-18 13:37:26.663 +**/ @Service public class ReportShareServiceImpl implements ReportShareService { - /** - * 默认跳转路由为aj的页面 - */ - private static final String SHARE_FLAG = "#/aj/"; + /** + * 默认跳转路由为aj的页面 + */ + private static final String SHARE_FLAG = "#/aj/"; - private static final String SHARE_URL = "#"; + private static final String SHARE_URL = "#"; - @Autowired - private ReportShareMapper reportShareMapper; + @Autowired + private ReportShareMapper reportShareMapper; - @Override - public GaeaBaseMapper getMapper() { - return reportShareMapper; - } + @Override + public GaeaBaseMapper getMapper() { + return reportShareMapper; + } - @Override - public ReportShare getDetail(Long id) { - ReportShare reportShare = this.selectOne(id); - return reportShare; - } + @Override + public ReportShare getDetail(Long id) { + ReportShare reportShare = this.selectOne(id); + return reportShare; + } - @Override - public ReportShareDto insertShare(ReportShareDto dto) { - // 设置分享码 - if (dto.isSharePasswordFlag()) { - dto.setSharePassword(UuidUtil.getRandomPwd(4)); - } + @Override + public ReportShareDto insertShare(ReportShareDto dto) { + //设置分享码 + if (dto.isSharePasswordFlag()) { + dto.setSharePassword(UuidUtil.getRandomPwd(4)); + } - ReportShareDto reportShareDto = new ReportShareDto(); - ReportShare entity = new ReportShare(); - BeanUtils.copyProperties(dto, entity); - insert(entity); - // 将分享链接返回 - reportShareDto.setShareUrl(entity.getShareUrl()); - reportShareDto.setSharePassword(dto.getSharePassword()); - return reportShareDto; - } + ReportShareDto reportShareDto = new ReportShareDto(); + ReportShare entity = new ReportShare(); + BeanUtils.copyProperties(dto, entity); + insert(entity); + //将分享链接返回 + reportShareDto.setShareUrl(entity.getShareUrl()); + reportShareDto.setSharePassword(dto.getSharePassword()); + return reportShareDto; + } - @Override - public ReportShare detailByCode(String shareCode) { - LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(ReportShare::getShareCode, shareCode); - wrapper.eq(ReportShare::getEnableFlag, EnableFlagEnum.ENABLE.getCodeValue()); - ReportShare reportShare = selectOne(wrapper); - if (null == reportShare) { - throw BusinessExceptionBuilder.build(ResponseCode.REPORT_SHARE_LINK_INVALID); - } - // 解析jwt token,获取密码 - String password = JwtUtil.getPassword(reportShare.getShareToken()); - if (StringUtils.isNotBlank(password)) { - // md5加密返回 - reportShare.setSharePassword(MD5Util.encrypt(password)); - } - return reportShare; - } + @Override + public ReportShare detailByCode(String shareCode) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(ReportShare::getShareCode, shareCode); + wrapper.eq(ReportShare::getEnableFlag, EnableFlagEnum.ENABLE.getCodeValue()); + ReportShare reportShare = selectOne(wrapper); + if (null == reportShare) { + throw BusinessExceptionBuilder.build(ResponseCode.REPORT_SHARE_LINK_INVALID); + } + //解析jwt token,获取密码 + String password = JwtUtil.getPassword(reportShare.getShareToken()); + if (StringUtils.isNotBlank(password)) { + //md5加密返回 + reportShare.setSharePassword(MD5Util.encrypt(password)); + } + return reportShare; + } - @Override - public void processBeforeOperation(ReportShare entity, BaseOperationEnum operationEnum) throws BusinessException { - switch (operationEnum) { - case INSERT: - init(entity); - break; - default: + @Override + public void processBeforeOperation(ReportShare entity, BaseOperationEnum operationEnum) throws BusinessException { + switch (operationEnum) { + case INSERT: + init(entity); + break; + default: - break; - } - } + break; + } + } - /** - * 新增初始化 - * @param entity - */ - private void init(ReportShare entity) { - // 前端地址 window.location.href - // https://report.anji-plus.com/index.html#/report/bigscreen - // 截取#之前的内容 - // http://localhost:9528/#/bigscreen/viewer?reportCode=bigScreen2 - // http://127.0.0.1:9095/reportDashboard/getData - String shareCode = UuidUtil.generateShortUuid(); - entity.setShareCode(shareCode); - if (entity.getShareUrl().contains(SHARE_URL)) { - String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); - entity.setShareUrl(prefix + SHARE_FLAG + shareCode); - } - else { - entity.setShareUrl(entity.getShareUrl() + SHARE_FLAG + shareCode); - } - - entity.setShareValidTime(DateUtil.getFutureDateTmdHms(entity.getShareValidType())); - entity.setShareToken(JwtUtil.createToken(entity.getReportCode(), shareCode, entity.getSharePassword(), - entity.getShareValidTime())); - } + /** + * 新增初始化 + * @param entity + */ + private void init(ReportShare entity) { + //前端地址 window.location.href https://report.anji-plus.com/index.html#/report/bigscreen + //截取#之前的内容 + //http://localhost:9528/#/bigscreen/viewer?reportCode=bigScreen2 + //http://127.0.0.1:9095/reportDashboard/getData + String shareCode = UuidUtil.generateShortUuid(); + entity.setShareCode(shareCode); + if (entity.getShareUrl().contains(SHARE_URL)) { + String prefix = entity.getShareUrl().substring(0, entity.getShareUrl().indexOf("#")); + entity.setShareUrl(prefix + SHARE_FLAG + shareCode); + } else { + entity.setShareUrl(entity.getShareUrl() + SHARE_FLAG + shareCode); + } + entity.setShareValidTime(DateUtil.getFutureDateTmdHms(entity.getShareValidType())); + entity.setShareToken(JwtUtil.createToken(entity.getReportCode(), shareCode, entity.getSharePassword(), entity.getShareValidTime())); + } } diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/runner/ApplicationInitRunner.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/runner/ApplicationInitRunner.java new file mode 100644 index 000000000..6beecc711 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/runner/ApplicationInitRunner.java @@ -0,0 +1,31 @@ +package com.anjiplus.template.gaea.business.runner; + +import com.anjiplus.template.gaea.business.modules.accessauthority.service.AccessAuthorityService; +import com.anjiplus.template.gaea.business.modules.dict.service.GaeaDictService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; + +/** + * @desc 启动加载器 + * @author WongBin + * @date 2019-02-17 08:50:10.009 + **/ +public class ApplicationInitRunner implements ApplicationRunner { + + @Autowired + private GaeaDictService gaeaDictService; + + @Autowired + private AccessAuthorityService accessAuthorityService; + + @Override + public void run(ApplicationArguments args) throws Exception { + + //1、数据字典刷新 + // gaeaDictService.refreshCache(null); + + //2. 建立url权限拦截体系 + accessAuthorityService.scanGaeaSecurityAuthorities(); + } +} diff --git a/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/util/RequestUtil.java b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/util/RequestUtil.java new file mode 100644 index 000000000..c0c5e9a8b --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/java/com/anjiplus/template/gaea/business/util/RequestUtil.java @@ -0,0 +1,53 @@ +package com.anjiplus.template.gaea.business.util; + +import org.apache.commons.lang3.StringUtils; + +import javax.servlet.http.HttpServletRequest; + +/** + * @author: Raod + * @since: 2022-01-21 + */ +public class RequestUtil { + + /** + * 获取ip地址 + * @param request + * @return + */ + public static String getIpAddr(HttpServletRequest request) { + String Xip = request.getHeader("X-Real-IP"); + String XFor = request.getHeader("X-Forwarded-For"); + if (StringUtils.isNotEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)) { + // 多次反向代理后会有多个ip值,第一个ip才是真实ip + int index = XFor.indexOf(","); + if (index != -1) { + return XFor.substring(0, index); + } + else { + return XFor; + } + } + XFor = Xip; + if (StringUtils.isNotEmpty(XFor) && !"unKnown".equalsIgnoreCase(XFor)) { + return XFor; + } + if (StringUtils.isBlank(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("Proxy-Client-IP"); + } + if (StringUtils.isBlank(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("WL-Proxy-Client-IP"); + } + if (StringUtils.isBlank(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("HTTP_CLIENT_IP"); + } + if (StringUtils.isBlank(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (StringUtils.isBlank(XFor) || "unknown".equalsIgnoreCase(XFor)) { + XFor = request.getRemoteAddr(); + } + return XFor; + } + +} diff --git a/pigx-visual/pigx-report-platform/src/main/resources/logback-spring.xml b/pigx-visual/pigx-report-platform/src/main/resources/logback-spring.xml index 368c41323..f2cb00fcd 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/logback-spring.xml +++ b/pigx-visual/pigx-report-platform/src/main/resources/logback-spring.xml @@ -59,7 +59,7 @@ - + diff --git a/pigx-visual/pigx-report-platform/src/main/resources/mapper/ReportDashboardMapper.xml b/pigx-visual/pigx-report-platform/src/main/resources/mapper/ReportDashboardMapper.xml index f29f60294..8fb4c3c6e 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/mapper/ReportDashboardMapper.xml +++ b/pigx-visual/pigx-report-platform/src/main/resources/mapper/ReportDashboardMapper.xml @@ -10,7 +10,6 @@ - diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/index.html b/pigx-visual/pigx-report-platform/src/main/resources/static/index.html index 099764594..3e151ce2f 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/index.html +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/index.html @@ -1 +1 @@ -AJ-Report
\ No newline at end of file +AJ-Report
\ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.02f0e6ad.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.64325dbe.css similarity index 54% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.02f0e6ad.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.64325dbe.css index 1b059a388..771a0e92f 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.02f0e6ad.css +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/app.64325dbe.css @@ -1 +1 @@ -::-webkit-scrollbar-track-piece{background:#f7f7f7;-webkit-border-radius:7px}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical{background-color:#dcdfe6;-webkit-border-radius:7px}a:focus,button:focus,input:focus,textarea:focus{outline:none}input:-webkit-autofill{box-shadow:inset 0 0 0 1000px #e5e9ee!important;-webkit-box-shadow:0 0 0 1000px #000 inset!important;border:0 solid #ccc!important;-webkit-text-fill-color:#fff}::-ms-clear,::-ms-reveal{display:none}.on-focus:focus{border:1px solid #5bc0de}.clearfix:after{content:"";width:100%}.mt10{margin-top:10px}.fr{float:right}.fl{float:left}.el-table td{padding:8px 0}.anji-card{margin-bottom:5px;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";position:relative;background:#fff;border-radius:2px;-webkit-transition:all .3s;transition:all .3s}.anji-card,.anji-card .card-head{-webkit-box-sizing:border-box;box-sizing:border-box}.anji-card .card-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:35px;padding:0 24px;color:rgba(0,0,0,.85);font-weight:500;font-size:16px;background:transparent;border-bottom:1px solid #e8e8e8;border-radius:2px 2px 0 0;zoom:1}.anji-card .card-head .main-card-header-button{position:absolute;right:20px}.anji-card .card-body{padding:24px;zoom:1}.el-form-item .el-form-item__label,.el-form-item__content,.el-input__icon{line-height:28px}.el-input--suffix .el-input__inner,.el-input .el-input__inner{height:28px;line-height:28px}.el-button{padding:7px 15px;font-size:12px;border-radius:3px}.el-dropdown-menu__item{min-width:80px;max-width:110px}.el-dropdown-menu__item .el-button--text{margin-left:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background:none!important}.el-table td{padding:6px 0}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .28s;transition:opacity .28s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform-enter-active,.fade-transform-leave-active{-webkit-transition:all .5s;transition:all .5s}.fade-transform-enter{opacity:0;-webkit-transform:translateX(-30px);transform:translateX(-30px)}.fade-transform-leave-to{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px)}.breadcrumb-enter-active,.breadcrumb-leave-active{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.breadcrumb-move{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-leave-active{position:absolute}.el-upload input[type=file]{display:none!important}.el-upload__input{display:none}.el-table--border th.gutter:last-of-type{display:block!important;width:17px!important}.el-dialog{-webkit-transform:none;transform:none;left:0;position:relative;margin:0 auto}.el-dialog .el-dialog__header{background-color:#304da7;color:#fff}.el-dialog .el-dialog__header .el-dialog__headerbtn i,.el-dialog .el-dialog__header .el-dialog__title{color:#fff}.el-tooltip__popper{max-width:80%}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}.el-input-group{display:inline-table!important}.input-with-select .el-input-group__prepend .el-select{width:105px}.el-form--inline .el-form-item{width:45%;margin-right:25px}.el-form--inline .el-form-item .el-form-item__label{font-size:12px;line-height:17px;padding:0 0 5px}.el-form--inline .el-form-item .el-form-item__content .el-input .el-input__prefix{left:0;background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;border:1px solid #dcdfe6;border-radius:4px;width:40px;height:98%;white-space:nowrap;border-top-right-radius:0;border-bottom-right-radius:0}#app .main-container{min-height:100%;-webkit-transition:margin-left .28s;transition:margin-left .28s;margin-left:180px;position:relative}#app .sidebar-container{-webkit-transition:width .28s;transition:width .28s;width:180px!important;height:100%;position:fixed;font-size:0;top:0;bottom:0;left:0;z-index:1001;overflow:hidden;-webkit-box-shadow:1px 1px 4px #e7eeff;box-shadow:1px 1px 4px #e7eeff}#app .sidebar-container .horizontal-collapse-transition{-webkit-transition:width 0s ease-in-out,padding-left 0s ease-in-out,padding-right 0s ease-in-out;transition:width 0s ease-in-out,padding-left 0s ease-in-out,padding-right 0s ease-in-out}#app .sidebar-container .el-scrollbar__bar.is-vertical{right:0}#app .sidebar-container .scrollbar-wrapper{overflow-x:hidden!important}#app .sidebar-container .scrollbar-wrapper .el-scrollbar__view{height:calc(100vh - 70px)}#app .sidebar-container .is-horizontal{display:none}#app .sidebar-container a{display:inline-block;width:100%;overflow:hidden}#app .sidebar-container .svg-icon{margin-right:16px}#app .sidebar-container .el-menu{border:none;height:100%;width:100%!important}#app .sidebar-container .is-active>.el-submenu__title{color:#333!important}#app .hideSidebar .sidebar-container{width:56px!important}#app .hideSidebar .sidebar-container .iconfont{font-size:24px;margin-left:5px}#app .hideSidebar .main-container{margin-left:56px}#app .hideSidebar .submenu-title-noDropdown{padding-left:10px!important;position:relative}#app .hideSidebar .submenu-title-noDropdown .el-tooltip{padding:0 10px!important}#app .hideSidebar .el-submenu{overflow:hidden}#app .hideSidebar .el-submenu>.el-submenu__title{padding-left:10px!important}#app .hideSidebar .el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}#app .hideSidebar .el-menu--collapse .el-submenu>.el-submenu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}#app .sidebar-container .el-submenu .el-menu-item,#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title{min-width:180px!important;background-color:#fff!important}#app .sidebar-container .el-submenu .el-menu-item:hover,#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title:hover{color:#406be0!important;font-weight:700}#app .el-menu-item.is-active{border-right:3px solid #409eff}#app .el-menu--collapse .el-menu .el-submenu{min-width:180px!important}#app .mobile .main-container{margin-left:0}#app .mobile .sidebar-container{-webkit-transition:-webkit-transform .28s;transition:-webkit-transform .28s;transition:transform .28s;transition:transform .28s,-webkit-transform .28s;width:180px!important}#app .mobile.hideSidebar .sidebar-container{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(-180px,0,0);transform:translate3d(-180px,0,0)}#app .withoutAnimation .main-container,#app .withoutAnimation .sidebar-container{-webkit-transition:none;transition:none}.el-menu--vertical>.el-menu .svg-icon{margin-right:16px}body{height:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}li,ol,ul{margin:0;padding:0}html{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{display:none}.el-image-viewer__close{color:#fff}label{font-weight:700}#app{height:100%}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}a,a:active,a:focus,a:hover,div:focus{outline:none}a,a:focus,a:hover{cursor:pointer;color:inherit;text-decoration:none}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.app-main{min-height:100%}.app-container{padding:20px;background:#fff}.filter-container{padding-bottom:10px}.filter-container .filter-item{display:inline-block;vertical-align:middle;margin-bottom:10px}.float-r{float:right}.float-l{float:left}.log .el-collapse{border-top:0;border-bottom:0}.log .el-collapse-item__header{height:40px;line-height:40px;cursor:pointer;border:1px solid #fff;background:rgba(145,163,177,.15);font-size:14px;color:#666;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0;padding:0 20px}.log .el-collapse-item__wrap{will-change:height;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #fff;background:#263c7c}.log .el-collapse-item__content{font-size:14px;color:#fff;padding:20px}.log .el-collapse-item__arrow{margin-top:14px;float:right;margin-right:-77px}.log .icon-btn_style,.log .icon-btn_style:hover{background:none;border:0;padding:0}.my-dialog .el-dialog{background:#062b69;border:1px solid #5ddaf6}.my-dialog .el-dialog__header{border-bottom:1px solid #5ddaf6;text-align:center}.my-dialog .el-dialog__title{color:#5cdcf9}.my-dialog .el-input__inner{background:#091e43;border-color:#254e97}.my-dialog .el-date-editor .el-range__icon{color:#5cdcf9}.my-dialog input{background:#091e43}.my-dialog .el-date-editor .el-range-input{color:#5cdcf9}.my-dialog .form-handle .el-form-item__label{color:#5cdcf9;font-weight:500}.my-dialog .el-form-item{margin-bottom:10px}.my-dialog .el-select:hover .el-input__inner,.my-dialog .el-textarea__inner{background-color:#091e43;border-color:#254e97;border-bottom:1px solid #254e97}.my-dialog .el-button--blue{color:#fff;background-color:#224788;border-color:#224788}.my-dialog .el-button--green{color:#fff;background-color:#2092ad;border-color:#2092ad}.el-input--prefix .el-input__inner{padding-left:45px}.el-input-group__append,.el-input-group__prepend{color:#333}.preview-form{height:auto!important;overflow-y:auto!important}.x-spreadsheet-toolbar-btns{margin-left:30px!important}.ml10{margin-left:10px}.Customized .CodeMirror{font-family:monospace;height:190px!important;color:#000;direction:ltr}.jsoneditor-vue{height:100%}.printSet{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAB2VubscD+RdXHWBIoJ2bm8muOru9vUG2dgu+T+lFjMYUVYEd1UDwL9QTXOoZnEy7czjMQkINtPSChF/lOVoZG8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAA8ElEQVRIx+WVaQ/BQBCGi1LqZt2lFHUfdSvv//9bEtpEZHZpZCV4Pk72+TC7s/Mqyn8TCkdUkkg4Sp2PaeCixQghDgEJQtCBZIokDeiEkAGydHM5IPOmkC8UGSsBZUZSBkqMFQt5/3ylipeoVTyhDjTYUxpA3RMMoPn8XZuAIUtomWY7kHC7VplCR1UtuU1/kdC1ehz6XUqwB/w5HdqEMBJN9pgQJsB0RjIF5oQg/KL6zwkLYOk4mkhYOc4SWHuFjb+G+cKV1dav7PavCIfdXe3ouieRcHLd42NZ6jL+kBA4gQJnXOAUVaLcnD6TOS2LC62MgVSUf9P3AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA0LTIyVDE1OjMzOjQyKzA4OjAwhdQCLwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNC0yMlQxNTozMzo0MiswODowMPSJupMAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2VqcHUyYnEwOHUvYmlhbnp1MTQuc3ZnqKrOEwAAAABJRU5ErkJggg==)!important}.printSet,.qrCodes{background-size:19px;background-position:0 0;background-repeat:no-repeat;position:absolute;opacity:1!important}.qrCodes{background-image:url(data:image/png;base64,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)!important}.barCodes{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAANJQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1K5a2gAAAEV0Uk5TAAZfoLi7iwGDXgUg1fYJAvHTH9hpRUQjC12hap+zprmRxX0XzWiJ9SL6/BPkK8xDtIgHCIokKkKdnrC8dRTEYtlcIdGCHuOWwgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAEeSURBVEjH7ZVbU8IwEIUDRZAKlDa9YQuKF+pdEFBQQBD2//8lo23jZsZ2hwcfHDgPZ7rbfNl2JpPD2A6rUNRKB4nKlaR5mHZKWlVX1x/V4Ef1Rtw0mqhpWsr+NeC24yby5DZpx7E5mHhGEbif/8k+hxYqj8GmfjKAEFVtcCjAgbYCuBTg7gEJdDrCjJNT4X73TPj5xeVvQC+6ih+ub4Tdwp3we3gQ/gj9+I0XDfDAJ0YBcomqHIDtgb8HhjQwxOtHkUcB43oPAfLwZQMZpxUBz9/ACwFMpsKM16/pjbeZ8PniPRfI1j8AtrwqtW0v4yp93S9hhcqCCTyQgTJO2x8yUIIlrJXQskwqstaWOlJvhTIUR2kobmQohiud7bA+AabUTRCFwiQSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA1LTA2VDE2OjA2OjI2KzA4OjAwohqyKAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNS0wNlQxNjowNjoyNiswODowMNNHCpQAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2l5MnlydGhyZ3hzL3RpYW94aW5nbWEuc3Zn7lU3WwAAAABJRU5ErkJggg==)!important;background-size:19px;background-position:0 0;background-repeat:no-repeat;position:absolute;opacity:1!important}.collapse-input-style .el-input__inner,.collapse-input-style .el-textarea__inner{background:#263445!important;border:1px solid #3f5673;color:#a8e3ff}.collapse-input-style .el-slider__runway{height:2px;background-color:#5e6b82}.collapse-input-style .el-slider__bar{height:2px}.collapse-input-style .el-slider__button-wrapper{top:-17px}.collapse-input-style .el-slider__button{width:14px;height:14px}.collapse-input-style .el-switch__core{background-color:#5e6b82;border:1px solid #3f5673}.collapse-input-style .el-input-group__append,.collapse-input-style .el-input-group__prepend,.collapse-input-style .el-input-number__decrease,.collapse-input-style .el-input-number__increase{background:#5e6b82!important;border:1px solid #3f5673;color:#a8e3ff}.collapse-input-style .el-input-number.is-controls-right .el-input-number__increase{height:15px;border-bottom:1px solid #3f5673}.collapse-input-style .el-input-number.is-controls-right .el-input-number__decrease{border-left:1px solid #3f5673}.collapse-input-style .el-form-item__label{font-size:12px;color:#bfcbd9!important;font-weight:400!important}.table-danger,.table-info,.table-primary,.table-success,.table-warning{border-radius:3px;padding:2px 5px;border-width:1px;border-style:solid}.table-primary{background:rgba(32,182,249,.1);border-color:rgba(32,182,249,.2);color:#20b6f9}.table-success{background:rgba(0,226,68,.1);border-color:rgba(0,226,68,.2);color:#00e244}.table-info{background:hsla(0,0%,84.7%,.1);border-color:hsla(0,0%,84.7%,.2);color:#d8d8d8}.table-warning{background:rgba(255,216,40,.1);border-color:rgba(255,216,40,.2);color:#f1b900}.table-danger{background:rgba(249,32,32,.1);border-color:rgba(249,32,32,.2);color:#f92020}@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.9f12627.woff2) format("woff2"),url(/static/fonts/iconfont.5d85b54.woff) format("woff"),url(/static/fonts/iconfont.f0db1f8.ttf) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icondaochu:before{content:"\E618"}.icondaoru:before{content:"\E608"}.iconduibitupu:before{content:"\E9CA"}.iconzhexian:before{content:"\E635"}.iconbianzu23:before{content:"\E621"}.iconduidietu:before{content:"\E61F"}.iconfill_folder:before{content:"\E645"}.iconzidianxiang:before{content:"\E7DF"}.iconAPIwangguan:before{content:"\E66B"}.icondatabase:before{content:"\E7B6"}.iconbaifenbi:before{content:"\E616"}.iconfolder-o:before{content:"\E70F"}.iconjinlingyingcaiwangtubiao01:before{content:"\E724"}.iconleft-copy:before{content:"\E6AF"}.iconfuzhi1:before{content:"\E626"}.iconzhongguoditu:before{content:"\E738"}.iconbiaoge:before{content:"\E625"}.icongexingzhuangban:before{content:"\E646"}.iconyibiaopan-chaobiao:before{content:"\E72E"}.iconnandinggeermeiguitu:before{content:"\E851"}.iconzhankai:before{content:"\E631"}.iconexcel:before{content:"\E650"}.iconbaocun:before{content:"\E737"}.iconguanbi:before{content:"\E6C5"}.iconpdf:before{content:"\E614"}.iconfuzhi:before{content:"\E61E"}.icon020kongxinbingtu:before{content:"\E78C"}.iconshijian:before{content:"\E662"}.iconsave:before{content:"\E6F6"}.icontupian:before{content:"\E612"}.iconzhuzhuangtu:before{content:"\E691"}.iconchaolianjie:before{content:"\E65F"}.iconziyuan:before{content:"\E605"}.iconshipin:before{content:"\ECC1"}.iconkuangjia:before{content:"\E66A"}.iconyulan:before{content:"\E728"}.iconhengxiangwenzi:before{content:"\E601"}.iconicon_tubiao_bingtu:before{content:"\E602"}.iconloudoutu:before{content:"\E6D5"}.icontubiaozhexiantu:before{content:"\E630"}.iconzhuxiantu:before{content:"\E607"}.icontupian1:before{content:"\E81D"}.iconyibiaopan:before{content:"\E706"}.icon1:before{content:"\E63B"}.iconxiazai:before{content:"\E639"}.icon11-04:before{content:"\E784"}.iconyouxiang:before{content:"\E769"}.iconbangdingshouji:before{content:"\E64D"}.iconshouji:before{content:"\E854"}.icon52-shouji:before{content:"\E871"}.iconhome:before{content:"\E610"}.iconhome2:before{content:"\E61A"}.iconKafka:before{content:"\E65A"}.iconshujujieruKafkajiqun:before{content:"\E64F"}.iconkafka:before{content:"\E6F2"}.iconelasticsearch-Elasticsearch:before{content:"\E853"}.iconapachekafka:before{content:"\EB3F"}.iconelasticsearch:before{content:"\EB85"}.iconwentifankui:before{content:"\E8D1"}.iconwentifankui1:before{content:"\E70E"}.iconwentifankui2:before{content:"\E643"}.iconalikafkaxiaoxiduilieKafka:before{content:"\E8A4"}.iconxiangmuchaxun-chakanshebei:before{content:"\E682"}.iconelasticsearchElasticsearch:before{content:"\E6A1"}.icon511tongji_shutu:before{content:"\E64A"}.iconfenxiang1:before{content:"\E615"}.iconfenxiang2:before{content:"\E60F"}.iconfenxiang_2:before{content:"\E600"}.iconNMStubiao-:before{content:"\E628"}.iconwanchenganquanshijian:before{content:"\E68A"}.iconeventbridgexiaoxishijianzongxian:before{content:"\E74D"}.iconshu:before{content:"\E629"}.iconshebeiguanji:before{content:"\E61D"}.iconhaofangtuo400iconfontduanxin:before{content:"\E6D8"}.iconnavicon-ywcs:before{content:"\E661"}.iconliebiao:before{content:"\E660"}.iconbianji:before{content:"\E60C"}.iconyoujian:before{content:"\E63A"}.iconshejiaodingding:before{content:"\E678"}.iconzidianguanli:before{content:"\E624"}.icontubiao:before{content:"\E73F"}.icondingding:before{content:"\E690"}.iconduanxin:before{content:"\E603"}.icondirectmailyoujiantuisong:before{content:"\E714"}.iconshebeisheshi:before{content:"\E61C"}.icontongzhi:before{content:"\E606"}.iconrizhi:before{content:"\E663"}.iconchufaqipeizhi-hui:before{content:"\E689"}.iconvcsshijuejisuanfuwu:before{content:"\E759"}.iconbar_icon_shebei:before{content:"\E60A"}.iconuser-before:before{content:"\E617"}.iconkemuweihutubiao:before{content:"\E60B"}.iconaccounting-subjects:before{content:"\E677"}.iconRectangleCopy:before{content:"\E6DD"}.iconchengbenshujuguanli:before{content:"\E6C7"}.iconjibenshuju:before{content:"\E71D"}.iconB-shengshiqu:before{content:"\E72D"}.iconzuzhijigou:before{content:"\E66E"}.iconanniu:before{content:"\E8C5"}.iconcaidan2:before{content:"\E61B"}.iconwenhao:before{content:"\E67F"}.iconlajitong:before{content:"\E636"}.iconzhongzhimima:before{content:"\E620"}.iconshezhi:before{content:"\E68F"}.iconzhongzhuan:before{content:"\E69B"}.iconadd:before{content:"\E6B9"}.iconminus:before{content:"\E6BA"}.iconpassword:before{content:"\E622"}.iconyonghu:before{content:"\E604"}.iconquanxian:before{content:"\E633"}.iconjiaose1:before{content:"\E64C"}.iconzidian:before{content:"\E716"}.iconcssz:before{content:"\E672"}.iconbianji1:before{content:"\E642"}.icondfzq-:before{content:"\E609"}.iconfenxiang:before{content:"\E641"}.iconshouquan1:before{content:"\E634"}.iconjiantou:before{content:"\E653"}.iconjiantou-copy-copy:before{content:"\E654"}.app-breadcrumb.el-breadcrumb[data-v-38d4f3b2]{display:inline-block;font-size:14px;line-height:50px;margin-left:10px;color:#fff}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-38d4f3b2]{color:#333;cursor:text}.hamburger[data-v-54298247]{display:inline-block;cursor:pointer;width:20px;height:19px;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transition:.38s;transition:.38s;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.hamburger.is-active[data-v-54298247]{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.navbar[data-v-0c31f83b]{height:50px;line-height:50px;border-radius:0!important;background:#fff!important}.navbar .hamburger-container[data-v-0c31f83b]{line-height:57px;height:49px;float:left;padding:0 10px;background:#fff}.navbar .screenfull[data-v-0c31f83b]{position:absolute;right:90px;top:16px;color:red}.navbar .avatar-container[data-v-0c31f83b]{height:50px;display:inline-block;position:absolute;right:35px}.navbar .avatar-container .avatar-wrapper[data-v-0c31f83b]{line-height:50px;cursor:pointer;margin-top:5px;position:relative}.navbar .avatar-container .avatar-wrapper .user-avatar[data-v-0c31f83b]{width:40px;height:40px;border-radius:10px;vertical-align:text-bottom}.navbar .avatar-container .avatar-wrapper .user-name[data-v-0c31f83b]{color:#333}.navbar .avatar-container .avatar-wrapper .el-icon-caret-bottom[data-v-0c31f83b]{color:#333;position:absolute;right:-20px;top:21px;font-size:12px}.navbar .avatar-container .avatar-wrapper .user[data-v-0c31f83b]{color:#333;font-size:16px}.password-box .password-tips[data-v-0c31f83b]{position:absolute;right:0;top:100%;line-height:1;font-size:13px;padding-top:4px}.el-popper[data-v-0c31f83b]{padding:0}.el-dropdown-menu__item--divided[data-v-0c31f83b]{margin-top:0}.el-submenu__title i[data-v-2b0b07e3]{color:#333;margin-right:5px}.el-menu-item i[data-v-2b0b07e3]{margin-right:5px}.admin-title[data-v-c0158b4a]{height:60px;line-height:60px;text-align:center;width:100%;font-weight:500;color:#333;font-size:14px;background:#fff}.admin-title[data-v-c0158b4a]:hover{cursor:pointer}.app-main[data-v-7d0fa904]{height:calc(100vh - 50px);position:relative;overflow:auto;background:#f5f8fa}.app-wrapper[data-v-11b67c86]{position:relative;height:100%;width:100%}.app-wrapper[data-v-11b67c86]:after{content:"";display:table;clear:both}.app-wrapper.mobile.openSidebar[data-v-11b67c86]{position:fixed;top:0}.drawer-bg[data-v-11b67c86]{background:#000;opacity:.3;width:100%;top:0;height:100%;position:absolute;z-index:999}.filterInput[data-v-d885e652]{margin-bottom:20px}.input_tips[data-v-c155e240]{position:absolute;margin-top:-8px}.input_tips .svg-icon[data-v-c155e240]{font-size:20px;color:#470808}.table-add-row-button[data-v-7ae3a3da]{width:100%;margin-top:0;margin-bottom:0;line-height:1.499;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-ms-touch-action:manipulation;touch-action:manipulation;height:32px;padding:0 15px;font-size:14px;border-radius:4px;color:rgba(0,0,0,.65);background-color:#fff;border:1px solid #d9d9d9}.notfull-screen[data-v-5da4db0c] .el-dialog__body{background-color:#f0f2f5;padding:5px;max-height:60vh;overflow:auto}.full-screen[data-v-5da4db0c] .el-dialog__body{background-color:#f0f2f5;padding:5px;height:calc(100vh - 110px);overflow:auto}.style-btn[data-v-31353f4a]{pointer-events:none}.page-container[data-v-31353f4a]{height:100%;position:relative}.page-container .left-container[data-v-31353f4a]{width:20%;position:absolute;top:0;left:0;background:#fff;border-radius:4px 0 0 4px;padding:20px 20px 0;overflow:hidden;overflow-y:auto;height:100%}.page-container .right-container[data-v-31353f4a]{width:calc(80% - 5px);position:absolute;top:0;right:0;background:#fff;border-radius:0 4px 4px 0;padding:20px 20px 0;height:100%}.el-table .cell[data-v-31353f4a],.el-table td div[data-v-31353f4a]{overflow:hidden;text-overflow:ellipsis}.el-dropdown[data-v-31353f4a]{font-size:12px;display:inline;color:#5887fb;cursor:pointer}.el-dropdown-menu--mini .el-dropdown-menu__item[data-v-31353f4a]{min-width:80px;max-width:110px;float:right}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--text[data-v-31353f4a]{float:right}.el-dropdown-menu--mini .el-dropdown-menu__item[data-v-31353f4a]:hover{background:none!important}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--mini[data-v-31353f4a]{float:right}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button+.el-button[data-v-31353f4a]{margin-left:0!important;float:right}.pagination[data-v-31353f4a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:20px}.anji_curd_table[data-v-31353f4a]{margin-top:20px}.filter-item[data-v-4cb1dc59]{width:100%}.uploadImage .el-upload--picture-card[data-v-d79ef60a]{width:60px;height:60px;line-height:65px}.uploadImage .el-upload-list__item[data-v-d79ef60a]{width:60px;height:60px}.hide_box[data-v-d79ef60a] .el-upload--picture-card{display:none}.el-upload-list__item[data-v-d79ef60a]{line-height:1.5}.el-upload-list--picture-card .el-upload-list__item-actions[data-v-d79ef60a]{text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.iconFont[data-v-d79ef60a],.imgBox[data-v-d79ef60a]{width:100%!important;height:100%!important} \ No newline at end of file +::-webkit-scrollbar-track-piece{background:#f7f7f7;-webkit-border-radius:7px}::-webkit-scrollbar-thumb:horizontal,::-webkit-scrollbar-thumb:vertical{background-color:#dcdfe6;-webkit-border-radius:7px}a:focus,button:focus,input:focus,textarea:focus{outline:none}input:-webkit-autofill{box-shadow:inset 0 0 0 1000px #e5e9ee!important;-webkit-box-shadow:0 0 0 1000px #000 inset!important;border:0 solid #ccc!important;-webkit-text-fill-color:#fff}::-ms-clear,::-ms-reveal{display:none}.on-focus:focus{border:1px solid #5bc0de}.clearfix:after{content:"";width:100%}.mt10{margin-top:10px}.fr{float:right}.fl{float:left}.el-table td{padding:8px 0}.anji-card{margin-bottom:5px;padding:0;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";position:relative;background:#fff;border-radius:2px;-webkit-transition:all .3s;transition:all .3s}.anji-card,.anji-card .card-head{-webkit-box-sizing:border-box;box-sizing:border-box}.anji-card .card-head{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:35px;padding:0 24px;color:rgba(0,0,0,.85);font-weight:500;font-size:16px;background:transparent;border-bottom:1px solid #e8e8e8;border-radius:2px 2px 0 0;zoom:1}.anji-card .card-head .main-card-header-button{position:absolute;right:20px}.anji-card .card-body{padding:24px;zoom:1}.el-form-item .el-form-item__label,.el-form-item__content,.el-input__icon{line-height:28px}.el-input--suffix .el-input__inner,.el-input .el-input__inner{height:28px;line-height:28px}.el-button{padding:7px 15px;font-size:12px;border-radius:3px}.el-dropdown-menu__item{min-width:80px;max-width:110px}.el-dropdown-menu__item .el-button--text{margin-left:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background:none!important}.el-table td{padding:6px 0}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .28s;transition:opacity .28s}.fade-enter,.fade-leave-active{opacity:0}.fade-transform-enter-active,.fade-transform-leave-active{-webkit-transition:all .5s;transition:all .5s}.fade-transform-enter{opacity:0;-webkit-transform:translateX(-30px);transform:translateX(-30px)}.fade-transform-leave-to{opacity:0;-webkit-transform:translateX(30px);transform:translateX(30px)}.breadcrumb-enter-active,.breadcrumb-leave-active{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-enter,.breadcrumb-leave-active{opacity:0;-webkit-transform:translateX(20px);transform:translateX(20px)}.breadcrumb-move{-webkit-transition:all .5s;transition:all .5s}.breadcrumb-leave-active{position:absolute}.el-upload input[type=file]{display:none!important}.el-upload__input{display:none}.el-table--border th.gutter:last-of-type{display:block!important;width:17px!important}.el-dialog{-webkit-transform:none;transform:none;left:0;position:relative;margin:0 auto}.el-dialog .el-dialog__header{background-color:#304da7;color:#fff}.el-dialog .el-dialog__header .el-dialog__headerbtn i,.el-dialog .el-dialog__header .el-dialog__title{color:#fff}.el-tooltip__popper{max-width:80%}.upload-container .el-upload{width:100%}.upload-container .el-upload .el-upload-dragger{width:100%;height:200px}.el-input-group{display:inline-table!important}.input-with-select .el-input-group__prepend .el-select{width:105px}.el-form--inline .el-form-item{width:45%;margin-right:25px}.el-form--inline .el-form-item .el-form-item__label{font-size:12px;line-height:17px;padding:0 0 5px}.el-form--inline .el-form-item .el-form-item__content .el-input .el-input__prefix{left:0;background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;border:1px solid #dcdfe6;border-radius:4px;width:40px;height:98%;white-space:nowrap;border-top-right-radius:0;border-bottom-right-radius:0}#app .main-container{min-height:100%;-webkit-transition:margin-left .28s;transition:margin-left .28s;margin-left:180px;position:relative}#app .sidebar-container{-webkit-transition:width .28s;transition:width .28s;width:180px!important;height:100%;position:fixed;font-size:0;top:0;bottom:0;left:0;z-index:1001;overflow:hidden;-webkit-box-shadow:1px 1px 4px #e7eeff;box-shadow:1px 1px 4px #e7eeff}#app .sidebar-container .horizontal-collapse-transition{-webkit-transition:width 0s ease-in-out,padding-left 0s ease-in-out,padding-right 0s ease-in-out;transition:width 0s ease-in-out,padding-left 0s ease-in-out,padding-right 0s ease-in-out}#app .sidebar-container .el-scrollbar__bar.is-vertical{right:0}#app .sidebar-container .scrollbar-wrapper{overflow-x:hidden!important}#app .sidebar-container .scrollbar-wrapper .el-scrollbar__view{height:calc(100vh - 70px)}#app .sidebar-container .is-horizontal{display:none}#app .sidebar-container a{display:inline-block;width:100%;overflow:hidden}#app .sidebar-container .svg-icon{margin-right:16px}#app .sidebar-container .el-menu{border:none;height:100%;width:100%!important}#app .sidebar-container .is-active>.el-submenu__title{color:#333!important}#app .hideSidebar .sidebar-container{width:56px!important}#app .hideSidebar .sidebar-container .iconfont{font-size:24px;margin-left:5px}#app .hideSidebar .main-container{margin-left:56px}#app .hideSidebar .submenu-title-noDropdown{padding-left:10px!important;position:relative}#app .hideSidebar .submenu-title-noDropdown .el-tooltip{padding:0 10px!important}#app .hideSidebar .el-submenu{overflow:hidden}#app .hideSidebar .el-submenu>.el-submenu__title{padding-left:10px!important}#app .hideSidebar .el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}#app .hideSidebar .el-menu--collapse .el-submenu>.el-submenu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}#app .sidebar-container .el-submenu .el-menu-item,#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title{min-width:180px!important;background-color:#fff!important}#app .sidebar-container .el-submenu .el-menu-item:hover,#app .sidebar-container .nest-menu .el-submenu>.el-submenu__title:hover{color:#406be0!important;font-weight:700}#app .el-menu-item.is-active{border-right:3px solid #409eff}#app .el-menu--collapse .el-menu .el-submenu{min-width:180px!important}#app .mobile .main-container{margin-left:0}#app .mobile .sidebar-container{-webkit-transition:-webkit-transform .28s;transition:-webkit-transform .28s;transition:transform .28s;transition:transform .28s,-webkit-transform .28s;width:180px!important}#app .mobile.hideSidebar .sidebar-container{-webkit-transition-duration:.3s;transition-duration:.3s;-webkit-transform:translate3d(-180px,0,0);transform:translate3d(-180px,0,0)}#app .withoutAnimation .main-container,#app .withoutAnimation .sidebar-container{-webkit-transition:none;transition:none}.el-menu--vertical>.el-menu .svg-icon{margin-right:16px}body{height:100%;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}li,ol,ul{margin:0;padding:0}html{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none}html::-webkit-scrollbar{display:none}.el-image-viewer__close{color:#fff}label{font-weight:700}#app{height:100%}*,:after,:before{-webkit-box-sizing:inherit;box-sizing:inherit}a,a:active,a:focus,a:hover,div:focus{outline:none}a,a:focus,a:hover{cursor:pointer;color:inherit;text-decoration:none}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.app-main{min-height:100%}.app-container{padding:20px;background:#fff}.filter-container{padding-bottom:10px}.filter-container .filter-item{display:inline-block;vertical-align:middle;margin-bottom:10px}.float-r{float:right}.float-l{float:left}.log .el-collapse{border-top:0;border-bottom:0}.log .el-collapse-item__header{height:40px;line-height:40px;cursor:pointer;border:1px solid #fff;background:rgba(145,163,177,.15);font-size:14px;color:#666;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0;padding:0 20px}.log .el-collapse-item__wrap{will-change:height;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #fff;background:#263c7c}.log .el-collapse-item__content{font-size:14px;color:#fff;padding:20px}.log .el-collapse-item__arrow{margin-top:14px;float:right;margin-right:-77px}.log .icon-btn_style,.log .icon-btn_style:hover{background:none;border:0;padding:0}.my-dialog .el-dialog{background:#062b69;border:1px solid #5ddaf6}.my-dialog .el-dialog__header{border-bottom:1px solid #5ddaf6;text-align:center}.my-dialog .el-dialog__title{color:#5cdcf9}.my-dialog .el-input__inner{background:#091e43;border-color:#254e97}.my-dialog .el-date-editor .el-range__icon{color:#5cdcf9}.my-dialog input{background:#091e43}.my-dialog .el-date-editor .el-range-input{color:#5cdcf9}.my-dialog .form-handle .el-form-item__label{color:#5cdcf9;font-weight:500}.my-dialog .el-form-item{margin-bottom:10px}.my-dialog .el-select:hover .el-input__inner,.my-dialog .el-textarea__inner{background-color:#091e43;border-color:#254e97;border-bottom:1px solid #254e97}.my-dialog .el-button--blue{color:#fff;background-color:#224788;border-color:#224788}.my-dialog .el-button--green{color:#fff;background-color:#2092ad;border-color:#2092ad}.el-input--prefix .el-input__inner{padding-left:45px}.el-input-group__append,.el-input-group__prepend{color:#333}.preview-form{height:auto!important;overflow-y:auto!important}.x-spreadsheet-toolbar-btns{margin-left:30px!important}.ml10{margin-left:10px}.Customized .CodeMirror{font-family:monospace;height:190px!important;color:#000;direction:ltr}.jsoneditor-vue{height:100%}.printSet{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAALpQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqyRq8wAAAD10Uk5TAB2VubscD+RdXHWBIoJ2bm8muOru9vUG2dgu+T+lFjMYUVYEd1UDwL9QTXOoZnEy7czjMQkINtPSChF/lOVoZG8AAAABYktHRACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAA8ElEQVRIx+WVaQ/BQBCGi1LqZt2lFHUfdSvv//9bEtpEZHZpZCV4Pk72+TC7s/Mqyn8TCkdUkkg4Sp2PaeCixQghDgEJQtCBZIokDeiEkAGydHM5IPOmkC8UGSsBZUZSBkqMFQt5/3ylipeoVTyhDjTYUxpA3RMMoPn8XZuAIUtomWY7kHC7VplCR1UtuU1/kdC1ehz6XUqwB/w5HdqEMBJN9pgQJsB0RjIF5oQg/KL6zwkLYOk4mkhYOc4SWHuFjb+G+cKV1dav7PavCIfdXe3ouieRcHLd42NZ6jL+kBA4gQJnXOAUVaLcnD6TOS2LC62MgVSUf9P3AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA0LTIyVDE1OjMzOjQyKzA4OjAwhdQCLwAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNC0yMlQxNTozMzo0MiswODowMPSJupMAAABKdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2VqcHUyYnEwOHUvYmlhbnp1MTQuc3ZnqKrOEwAAAABJRU5ErkJggg==)!important}.printSet,.qrCodes{background-size:19px;background-position:0 0;background-repeat:no-repeat;position:absolute;opacity:1!important}.qrCodes{background-image:url(data:image/png;base64,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)!important}.barCodes{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAANJQTFRFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1K5a2gAAAEV0Uk5TAAZfoLi7iwGDXgUg1fYJAvHTH9hpRUQjC12hap+zprmRxX0XzWiJ9SL6/BPkK8xDtIgHCIokKkKdnrC8dRTEYtlcIdGCHuOWwgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAEeSURBVEjH7ZVbU8IwEIUDRZAKlDa9YQuKF+pdEFBQQBD2//8lo23jZsZ2hwcfHDgPZ7rbfNl2JpPD2A6rUNRKB4nKlaR5mHZKWlVX1x/V4Ef1Rtw0mqhpWsr+NeC24yby5DZpx7E5mHhGEbif/8k+hxYqj8GmfjKAEFVtcCjAgbYCuBTg7gEJdDrCjJNT4X73TPj5xeVvQC+6ih+ub4Tdwp3we3gQ/gj9+I0XDfDAJ0YBcomqHIDtgb8HhjQwxOtHkUcB43oPAfLwZQMZpxUBz9/ACwFMpsKM16/pjbeZ8PniPRfI1j8AtrwqtW0v4yp93S9hhcqCCTyQgTJO2x8yUIIlrJXQskwqstaWOlJvhTIUR2kobmQohiud7bA+AabUTRCFwiQSAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDIxLTA1LTA2VDE2OjA2OjI2KzA4OjAwohqyKAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAyMS0wNS0wNlQxNjowNjoyNiswODowMNNHCpQAAABNdEVYdHN2ZzpiYXNlLXVyaQBmaWxlOi8vL2hvbWUvYWRtaW4vaWNvbi1mb250L3RtcC9pY29uX2l5MnlydGhyZ3hzL3RpYW94aW5nbWEuc3Zn7lU3WwAAAABJRU5ErkJggg==)!important;background-size:19px;background-position:0 0;background-repeat:no-repeat;position:absolute;opacity:1!important}.collapse-input-style .el-input__inner,.collapse-input-style .el-textarea__inner{background:#263445!important;border:1px solid #3f5673;color:#a8e3ff}.collapse-input-style .el-slider__runway{height:2px;background-color:#5e6b82}.collapse-input-style .el-slider__bar{height:2px}.collapse-input-style .el-slider__button-wrapper{top:-17px}.collapse-input-style .el-slider__button{width:14px;height:14px}.collapse-input-style .el-switch__core{background-color:#5e6b82;border:1px solid #3f5673}.collapse-input-style .el-input-group__append,.collapse-input-style .el-input-group__prepend,.collapse-input-style .el-input-number__decrease,.collapse-input-style .el-input-number__increase{background:#5e6b82!important;border:1px solid #3f5673;color:#a8e3ff}.collapse-input-style .el-input-number.is-controls-right .el-input-number__increase{height:15px;border-bottom:1px solid #3f5673}.collapse-input-style .el-input-number.is-controls-right .el-input-number__decrease{border-left:1px solid #3f5673}.collapse-input-style .el-form-item__label{font-size:12px;color:#bfcbd9!important;font-weight:400!important}.table-danger,.table-info,.table-primary,.table-success,.table-warning{border-radius:3px;padding:2px 5px;border-width:1px;border-style:solid}.table-primary{background:rgba(32,182,249,.1);border-color:rgba(32,182,249,.2);color:#20b6f9}.table-success{background:rgba(0,226,68,.1);border-color:rgba(0,226,68,.2);color:#00e244}.table-info{background:hsla(0,0%,84.7%,.1);border-color:hsla(0,0%,84.7%,.2);color:#d8d8d8}.table-warning{background:rgba(255,216,40,.1);border-color:rgba(255,216,40,.2);color:#f1b900}.table-danger{background:rgba(249,32,32,.1);border-color:rgba(249,32,32,.2);color:#f92020}@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.36da2e0.woff2) format("woff2"),url(/static/fonts/iconfont.1807587.woff) format("woff"),url(/static/fonts/iconfont.7f0b09e.ttf) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iconciyuntu:before{content:"\E7AF"}.icondaochu:before{content:"\E618"}.icondaoru:before{content:"\E608"}.iconduibitupu:before{content:"\E9CA"}.iconzhexian:before{content:"\E635"}.iconbianzu23:before{content:"\E621"}.iconduidietu:before{content:"\E61F"}.iconfill_folder:before{content:"\E645"}.iconzidianxiang:before{content:"\E7DF"}.iconAPIwangguan:before{content:"\E66B"}.icondatabase:before{content:"\E7B6"}.iconbaifenbi:before{content:"\E616"}.iconfolder-o:before{content:"\E70F"}.iconjinlingyingcaiwangtubiao01:before{content:"\E724"}.iconleft-copy:before{content:"\E6AF"}.iconfuzhi1:before{content:"\E626"}.iconzhongguoditu:before{content:"\E738"}.iconbiaoge:before{content:"\E625"}.icongexingzhuangban:before{content:"\E646"}.iconyibiaopan-chaobiao:before{content:"\E72E"}.iconnandinggeermeiguitu:before{content:"\E851"}.iconzhankai:before{content:"\E631"}.iconexcel:before{content:"\E650"}.iconbaocun:before{content:"\E737"}.iconguanbi:before{content:"\E6C5"}.iconpdf:before{content:"\E614"}.iconfuzhi:before{content:"\E61E"}.icon020kongxinbingtu:before{content:"\E78C"}.iconshijian:before{content:"\E662"}.iconsave:before{content:"\E6F6"}.icontupian:before{content:"\E612"}.iconzhuzhuangtu:before{content:"\E691"}.iconchaolianjie:before{content:"\E65F"}.iconziyuan:before{content:"\E605"}.iconshipin:before{content:"\ECC1"}.iconkuangjia:before{content:"\E66A"}.iconyulan:before{content:"\E728"}.iconhengxiangwenzi:before{content:"\E601"}.iconicon_tubiao_bingtu:before{content:"\E602"}.iconloudoutu:before{content:"\E6D5"}.icontubiaozhexiantu:before{content:"\E630"}.iconzhuxiantu:before{content:"\E607"}.icontupian1:before{content:"\E81D"}.iconyibiaopan:before{content:"\E706"}.icon1:before{content:"\E63B"}.iconxiazai:before{content:"\E639"}.icon11-04:before{content:"\E784"}.iconyouxiang:before{content:"\E769"}.iconbangdingshouji:before{content:"\E64D"}.iconshouji:before{content:"\E854"}.icon52-shouji:before{content:"\E871"}.iconhome:before{content:"\E610"}.iconhome2:before{content:"\E61A"}.iconKafka:before{content:"\E65A"}.iconshujujieruKafkajiqun:before{content:"\E64F"}.iconkafka:before{content:"\E6F2"}.iconelasticsearch-Elasticsearch:before{content:"\E853"}.iconapachekafka:before{content:"\EB3F"}.iconelasticsearch:before{content:"\EB85"}.iconwentifankui:before{content:"\E8D1"}.iconwentifankui1:before{content:"\E70E"}.iconwentifankui2:before{content:"\E643"}.iconalikafkaxiaoxiduilieKafka:before{content:"\E8A4"}.iconxiangmuchaxun-chakanshebei:before{content:"\E682"}.iconelasticsearchElasticsearch:before{content:"\E6A1"}.icon511tongji_shutu:before{content:"\E64A"}.iconfenxiang1:before{content:"\E615"}.iconfenxiang2:before{content:"\E60F"}.iconfenxiang_2:before{content:"\E600"}.iconNMStubiao-:before{content:"\E628"}.iconwanchenganquanshijian:before{content:"\E68A"}.iconeventbridgexiaoxishijianzongxian:before{content:"\E74D"}.iconshu:before{content:"\E629"}.iconshebeiguanji:before{content:"\E61D"}.iconhaofangtuo400iconfontduanxin:before{content:"\E6D8"}.iconnavicon-ywcs:before{content:"\E661"}.iconliebiao:before{content:"\E660"}.iconbianji:before{content:"\E60C"}.iconyoujian:before{content:"\E63A"}.iconshejiaodingding:before{content:"\E678"}.iconzidianguanli:before{content:"\E624"}.icontubiao:before{content:"\E73F"}.icondingding:before{content:"\E690"}.iconduanxin:before{content:"\E603"}.icondirectmailyoujiantuisong:before{content:"\E714"}.iconshebeisheshi:before{content:"\E61C"}.icontongzhi:before{content:"\E606"}.iconrizhi:before{content:"\E663"}.iconchufaqipeizhi-hui:before{content:"\E689"}.iconvcsshijuejisuanfuwu:before{content:"\E759"}.iconbar_icon_shebei:before{content:"\E60A"}.iconuser-before:before{content:"\E617"}.iconkemuweihutubiao:before{content:"\E60B"}.iconaccounting-subjects:before{content:"\E677"}.iconRectangleCopy:before{content:"\E6DD"}.iconchengbenshujuguanli:before{content:"\E6C7"}.iconjibenshuju:before{content:"\E71D"}.iconB-shengshiqu:before{content:"\E72D"}.iconzuzhijigou:before{content:"\E66E"}.iconanniu:before{content:"\E8C5"}.iconcaidan2:before{content:"\E61B"}.iconwenhao:before{content:"\E67F"}.iconlajitong:before{content:"\E636"}.iconzhongzhimima:before{content:"\E620"}.iconshezhi:before{content:"\E68F"}.iconzhongzhuan:before{content:"\E69B"}.iconadd:before{content:"\E6B9"}.iconminus:before{content:"\E6BA"}.iconpassword:before{content:"\E622"}.iconyonghu:before{content:"\E604"}.iconquanxian:before{content:"\E633"}.iconjiaose1:before{content:"\E64C"}.iconzidian:before{content:"\E716"}.iconcssz:before{content:"\E672"}.iconbianji1:before{content:"\E642"}.icondfzq-:before{content:"\E609"}.iconfenxiang:before{content:"\E641"}.iconshouquan1:before{content:"\E634"}.iconjiantou:before{content:"\E653"}.iconjiantou-copy-copy:before{content:"\E654"}.app-breadcrumb.el-breadcrumb[data-v-2b5df056]{display:inline-block;font-size:14px;line-height:50px;margin-left:10px;color:#fff}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-2b5df056]{color:#333;cursor:text}.hamburger[data-v-54298247]{display:inline-block;cursor:pointer;width:20px;height:19px;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-transition:.38s;transition:.38s;-webkit-transform-origin:50% 50%;transform-origin:50% 50%}.hamburger.is-active[data-v-54298247]{-webkit-transform:rotate(0deg);transform:rotate(0deg)}.navbar[data-v-1538a3b3]{height:50px;line-height:50px;border-radius:0!important;background:#fff!important}.navbar .hamburger-container[data-v-1538a3b3]{line-height:57px;height:49px;float:left;padding:0 10px;background:#fff}.navbar .screenfull[data-v-1538a3b3]{position:absolute;right:90px;top:16px;color:red}.navbar .avatar-container[data-v-1538a3b3]{height:50px;display:inline-block;position:absolute;right:35px}.navbar .avatar-container .avatar-wrapper[data-v-1538a3b3]{line-height:50px;cursor:pointer;margin-top:5px;position:relative}.navbar .avatar-container .avatar-wrapper .user-avatar[data-v-1538a3b3]{width:40px;height:40px;border-radius:10px;vertical-align:text-bottom}.navbar .avatar-container .avatar-wrapper .user-name[data-v-1538a3b3]{color:#333}.navbar .avatar-container .avatar-wrapper .el-icon-caret-bottom[data-v-1538a3b3]{color:#333;position:absolute;right:-20px;top:21px;font-size:12px}.navbar .avatar-container .avatar-wrapper .user[data-v-1538a3b3]{color:#333;font-size:16px}.password-box .password-tips[data-v-1538a3b3]{position:absolute;right:0;top:100%;line-height:1;font-size:13px;padding-top:4px}.el-popper[data-v-1538a3b3]{padding:0}.el-dropdown-menu__item--divided[data-v-1538a3b3]{margin-top:0}.el-submenu__title i[data-v-2b0b07e3]{color:#333;margin-right:5px}.el-menu-item i[data-v-2b0b07e3]{margin-right:5px}.admin-title[data-v-38cf134e]{text-align:center;width:100%;font-weight:500;color:#333;font-size:14px;background:#fff}.admin-title .con[data-v-38cf134e]{margin:auto}.admin-title .con img[data-v-38cf134e]{margin-top:10px}.admin-title .con .version[data-v-38cf134e]{display:inline-block;font-size:12px;color:#fff;background:#4fadfd;padding:2px;border-radius:10px}.admin-title[data-v-38cf134e]:hover{cursor:pointer}.app-main[data-v-7d0fa904]{height:calc(100vh - 50px);position:relative;overflow:auto;background:#f5f8fa}.app-wrapper[data-v-11b67c86]{position:relative;height:100%;width:100%}.app-wrapper[data-v-11b67c86]:after{content:"";display:table;clear:both}.app-wrapper.mobile.openSidebar[data-v-11b67c86]{position:fixed;top:0}.drawer-bg[data-v-11b67c86]{background:#000;opacity:.3;width:100%;top:0;height:100%;position:absolute;z-index:999}.filterInput[data-v-0b9e713f]{margin-bottom:20px}.input_tips[data-v-36f1f9f6]{position:absolute;margin-top:-8px}.input_tips .svg-icon[data-v-36f1f9f6]{font-size:20px;color:#470808}.table-add-row-button[data-v-563fdf1c]{width:100%;margin-top:0;margin-bottom:0;line-height:1.499;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;-webkit-box-shadow:0 2px 0 rgba(0,0,0,.015);box-shadow:0 2px 0 rgba(0,0,0,.015);cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-ms-touch-action:manipulation;touch-action:manipulation;height:32px;padding:0 15px;font-size:14px;border-radius:4px;color:rgba(0,0,0,.65);background-color:#fff;border:1px solid #d9d9d9}.notfull-screen[data-v-283ef73e] .el-dialog__body{background-color:#f0f2f5;padding:5px;max-height:60vh;overflow:auto}.full-screen[data-v-283ef73e] .el-dialog__body{background-color:#f0f2f5;padding:5px;height:calc(100vh - 110px);overflow:auto}.contentmenu[data-v-15ce4a3d]{position:fixed;z-index:99999;list-style:none;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.2);box-shadow:0 2px 6px rgba(0,0,0,.2);padding:0;background:#fff;cursor:pointer}.right-container .main_part[data-v-1b349198],.right-container[data-v-1b349198]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.right-container .main_part[data-v-1b349198]{background:#fff;border-radius:4px;padding:12px 20px;margin-top:4px;height:100%;position:relative}[data-v-1b349198] .button{-webkit-box-shadow:0 0 6px 0 rgba(0,0,0,.08);box-shadow:0 0 6px 0 rgba(0,0,0,.08);border-radius:6px}[data-v-1b349198] .el-table .cell,[data-v-1b349198] .el-table th>.cell{text-align:center}[data-v-1b349198] .elTable{margin:10px 0 50px}.el-table[data-v-1b349198] td,.el-table[data-v-1b349198] th{padding:0;height:36px}[data-v-1b349198] .el-table--striped .el-table__body tr.el-table__row--striped td{background:#f9fbfd}.screenFlex[data-v-1b349198]{display:-webkit-box;display:-ms-flexbox;display:flex}.searchFormFlex[data-v-1b349198]{-webkit-box-flex:1;-ms-flex:1;flex:1}.screenButtons[data-v-1b349198]{padding-left:20px}.style-btn[data-v-1b349198]{pointer-events:none}.page-container[data-v-1b349198]{height:100%;position:relative}.page-container .left-container[data-v-1b349198]{width:20%;position:absolute;top:0;left:0;background:#fff;border-radius:4px 0 0 4px;padding:20px 20px 0;overflow:hidden;overflow-y:auto;height:100%}.page-container .right-container[data-v-1b349198]{width:calc(80% - 5px);position:absolute;top:0;right:0;background:#fff;border-radius:0 4px 4px 0;padding:20px 20px 0;height:100%}.el-table .cell[data-v-1b349198],.el-table td div[data-v-1b349198]{overflow:hidden;text-overflow:ellipsis}.el-dropdown[data-v-1b349198]{font-size:12px;display:inline;color:#5887fb;cursor:pointer}.el-dropdown-menu--mini .el-dropdown-menu__item[data-v-1b349198]{min-width:80px;max-width:110px;float:right}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--text[data-v-1b349198]{float:right}.el-dropdown-menu--mini .el-dropdown-menu__item[data-v-1b349198]:hover{background:none!important}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--text[data-v-1b349198]:focus,.el-dropdown-menu--mini .el-dropdown-menu__item[data-v-1b349198] .el-button--text:hover{color:#799ffc!important;background-color:#ecf5ff!important;border-color:transparent}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--mini[data-v-1b349198]{float:right}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--text[data-v-1b349198]:focus,.el-dropdown-menu--mini .el-dropdown-menu__item .el-button--text[data-v-1b349198]:hover{color:#799ffc;border-color:transparent}.el-dropdown-menu--mini .el-dropdown-menu__item .el-button+.el-button[data-v-1b349198]{margin-left:0!important;float:right}.el-pagination.is-background .btn-next[data-v-1b349198],.el-pagination.is-background .el-pager li[data-v-1b349198],[data-v-1b349198] .el-pagination.is-background .btn-prev{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}[data-v-1b349198] .el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#5887fb;color:#fff;border-radius:4px}.page_bottom[data-v-1b349198]{width:100%;position:absolute;bottom:0}.pagination[data-v-1b349198]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:14px;margin-right:20px}.el-table[data-v-1b349198] .warning-row{color:red!important}.el-table[data-v-1b349198] .bgColor{background:#d9ecff}[data-v-1b349198] .edit_button{width:22px;height:22px;padding:0;margin:0 5px 0 0}[data-v-1b349198] .edit_button /deep/ i{font-size:30px}.el-form-item--mini.el-form-item[data-v-1b349198]{margin-bottom:12px}.el-table[data-v-1b349198] .success-row{background:#f9fbfd!important}.contextMenu[data-v-1b349198]{width:100px}.contextMenu .contextMenuItem[data-v-1b349198]{width:100%;font-size:12px;line-height:20px;padding:5px}.contextMenu[data-v-1b349198]:hover{background:#f9fbfd}.el-select[data-v-b32efa94]{width:100%}.el-select-dropdown__item.is-disabled[data-v-b32efa94],.el-select-dropdown__item.selected[data-v-b32efa94]{text-align:center}.uploadImage .el-upload--picture-card[data-v-94cf27d6]{width:60px;height:60px;line-height:65px}.uploadImage .el-upload-list__item[data-v-94cf27d6]{width:60px;height:60px}.hide_box .el-upload--picture-card[data-v-94cf27d6]{display:none}.el-upload-list__item[data-v-94cf27d6]{line-height:1.5}.el-upload-list--picture-card .el-upload-list__item-actions[data-v-94cf27d6]{text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.iconFont[data-v-94cf27d6],.imgBox[data-v-94cf27d6]{width:100%!important;height:100%!important} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0be3.1750914f.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0be3.1750914f.css deleted file mode 100644 index 1c4ca6720..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0be3.1750914f.css +++ /dev/null @@ -1 +0,0 @@ -.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.main-layout[data-v-d86dc16a]{padding:20px;position:relative;height:auto;background:#fff}.main-layout header[data-v-d86dc16a]{font-size:24px;text-align:center;line-height:80px}.main-layout .bg[data-v-d86dc16a]{width:100%;height:200px;position:relative;overflow:hidden;margin:10px 0;border:12px solid #fff}.main-layout .bg .bg-img[data-v-d86dc16a]{position:absolute;width:100%;height:100%;-webkit-filter:blur(6px);filter:blur(6px);z-index:2}.main-layout .content[data-v-d86dc16a]{width:100%;height:100%;position:absolute;color:#fff;left:0;top:0;z-index:3}.main-layout footer[data-v-d86dc16a]{width:100%;font-size:14px;padding:16px;line-height:30px;position:absolute;z-index:3;bottom:0}.main-layout footer .operation[data-v-d86dc16a]{float:right}.main-layout footer .operation .edit[data-v-d86dc16a],.main-layout footer .operation .view[data-v-d86dc16a]{color:#fff;font-size:14px} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0f7e.59e9fd0d.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0f7e.59e9fd0d.css new file mode 100644 index 000000000..db1677dc9 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-0f7e.59e9fd0d.css @@ -0,0 +1 @@ +.el-upload[data-v-52313b6e]{display:inline-block;margin-right:20px} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-54d3.54a1bbcb.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-191b.77582ee8.css similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-54d3.54a1bbcb.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-191b.77582ee8.css diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-293b.1df1af58.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-293b.1df1af58.css new file mode 100644 index 000000000..69a60b9aa --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-293b.1df1af58.css @@ -0,0 +1 @@ +.imagebox[data-v-92e12b86],.text[data-v-6b04e136],.text[data-v-6da4b633],.text[data-v-ed2d4c6e],a[data-v-6ebd3276]{width:100%;height:100%;overflow:hidden}.imagebox img[data-v-92e12b86]{width:100%;height:100%}.startImg[data-v-92e12b86]{-webkit-animation:turn-data-v-92e12b86 1s linear infinite;animation:turn-data-v-92e12b86 1s linear infinite}@-webkit-keyframes turn-data-v-92e12b86{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}@keyframes turn-data-v-92e12b86{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.slideBox[data-v-27e113c0]{width:450px;height:230px;overflow:hidden;position:relative}.slideBox .hd[data-v-27e113c0]{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1}.slideBox .hd ul[data-v-27e113c0]{overflow:hidden;zoom:1;float:left}.slideBox .hd ul li[data-v-27e113c0]{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff;cursor:pointer}.slideBox .hd ul li.on[data-v-27e113c0]{background:red;color:#fff}.slideBox .bd[data-v-27e113c0]{position:relative;height:100%;z-index:0}.slideBox .bd li[data-v-27e113c0]{zoom:1;vertical-align:middle}.slideBox .bd img[data-v-27e113c0]{width:450px;height:230px;display:block}.slideBox .next[data-v-27e113c0],.slideBox .prev[data-v-27e113c0]{position:absolute;left:3%;top:50%;margin-top:-25px;display:block;width:32px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAAgCAMAAADE+3+QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkYyNjE4RUVDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkYyNjE4RUZDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjI2MThFQ0NGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjI2MThFRENGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmLDzTcAAAAJUExURcHBwf///////wCiYf4AAAADdFJOU///ANfKDUEAAACjSURBVHja5JnRDUQhDMNM9h/6STfCgeKPsIBjhGgpnHPy7wLyYLUicC5IPJGtJfi5ngsSL1Q7AYgsW8QTV7YJJ6psFU1M2S6YiLJlLPFk21CiydaRaOT+7mKxhYOERDcuCBy+cheiJHBqHEYGqZzPug6d4aG7aajmDPUSQz3iUO8/9KYbeqsPzWCGZmtDM9OhWfjSH8fY31UuSMkT2UqET4ABAHo9NyVXKF5RAAAAAElFTkSuQmCC) -110px 5px no-repeat;filter:alpha(opacity=50);opacity:.5}.slideBox .next[data-v-27e113c0]{left:auto;right:3%;background-position:8px 5px}.slideBox .next[data-v-27e113c0]:hover,.slideBox .prev[data-v-27e113c0]:hover{filter:alpha(opacity=100);opacity:1}.slideBox .nextStop[data-v-27e113c0],.slideBox .prevStop[data-v-27e113c0]{display:none}.container[data-v-2d27c298]{width:100%;height:100%}video[data-v-2d27c298]{width:100%;height:100%;display:block}iframe[data-v-537c80f2]{width:100%;height:100%;border:none}.echarts[data-v-0f247c08],.echarts[data-v-2dcc2436],.echarts[data-v-3fe2ff9e],.echarts[data-v-6d3f1fb2],.echarts[data-v-0800a9a0],.echarts[data-v-a83b2528],.echarts[data-v-b6bc8966],.echarts[data-v-c05cc2de]{width:100%;height:100%;overflow:hidden}.txtScroll-top[data-v-ff48be56]{overflow:hidden;position:relative}.title[data-v-ff48be56]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%}.title>div[data-v-ff48be56]{height:50px;line-height:50px;width:100%}.txtScroll-top .bd[data-v-ff48be56]{width:100%}.txtScroll-top .infoList li[data-v-ff48be56]{height:50px;line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.txtScroll-top .infoList li>div[data-v-ff48be56]{width:100%}.echartMap[data-v-63da0746]{width:100%;height:100%}.echarts[data-v-63da0746],.echarts[data-v-6988e2c9]{width:100%;height:100%;overflow:hidden}.echartMap[data-v-82db8fb2]{width:100%;height:100%}.echarts[data-v-0a794445],.echarts[data-v-3ae5e8e1],.echarts[data-v-7b252c5b],.echarts[data-v-15a4a600],.echarts[data-v-38f574cf],.echarts[data-v-82db8fb2],.echarts[data-v-491b0d10],.echarts[data-v-72490f16]{width:100%;height:100%;overflow:hidden}.layout[data-v-76397015]{width:100%;height:100%;text-align:center}.bottom-text[data-v-76397015]{width:100%;color:#a0a0a0;position:fixed;bottom:16px;z-index:9999} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-57ab.ceb21c7f.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-306e.a1ddaa4e.css similarity index 93% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-57ab.ceb21c7f.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-306e.a1ddaa4e.css index f0dc4844d..c8eff5b1e 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-57ab.ceb21c7f.css +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-306e.a1ddaa4e.css @@ -1 +1 @@ -.verifybox{position:relative;border-radius:2px;border:1px solid #e4e7eb;background-color:#fff;-webkit-box-shadow:0 0 10px rgba(0,0,0,.3);box-shadow:0 0 10px rgba(0,0,0,.3);left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.verifybox,.verifybox-top{-webkit-box-sizing:border-box;box-sizing:border-box}.verifybox-top{padding:0 15px;height:50px;line-height:50px;text-align:left;font-size:16px;color:#45494c;border-bottom:1px solid #e4e7eb}.verifybox-bottom{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box}.verifybox-close{position:absolute;top:13px;right:9px;width:24px;height:24px;text-align:center;cursor:pointer}.mask{position:fixed;top:0;left:0;z-index:1001;width:100%;height:100vh;background:rgba(0,0,0,.3);-webkit-transition:all .5s;transition:all .5s}.verify-tips{position:absolute;left:0;bottom:0;width:100%;height:30px;line-height:30px;color:#fff}.suc-bg{background-color:rgba(92,184,92,.5);filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7f5CB85C,endcolorstr=#7f5CB85C)}.err-bg{background-color:rgba(217,83,79,.5);filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7fD9534F,endcolorstr=#7fD9534F)}.tips-enter,.tips-leave-to{bottom:-30px}.tips-enter-active,.tips-leave-active{-webkit-transition:bottom .5s;transition:bottom .5s}.verify-code{font-size:20px;text-align:center;cursor:pointer;margin-bottom:5px;border:1px solid #ddd}.cerify-code-panel{height:100%;overflow:hidden}.verify-code-area{float:left}.verify-input-area{float:left;width:60%;padding-right:10px}.verify-change-area{line-height:30px;float:left}.varify-input-code{display:inline-block;width:100%;height:25px}.verify-change-code{color:#337ab7;cursor:pointer}.verify-btn{width:200px;height:30px;background-color:#337ab7;color:#fff;border:none;margin-top:10px}.verify-bar-area{position:relative;text-align:center;border:1px solid #ddd;-webkit-border-radius:4px}.verify-bar-area,.verify-bar-area .verify-move-block{background:#fff;-webkit-box-sizing:content-box;box-sizing:content-box}.verify-bar-area .verify-move-block{position:absolute;top:0;left:0;cursor:pointer;-webkit-box-shadow:0 0 2px #888;box-shadow:0 0 2px #888;-webkit-border-radius:1px}.verify-bar-area .verify-move-block:hover{background-color:#337ab7;color:#fff}.verify-bar-area .verify-left-bar{position:absolute;top:-1px;left:-1px;background:#f0fff0;cursor:pointer;border:1px solid #ddd}.verify-bar-area .verify-left-bar,.verify-img-panel{-webkit-box-sizing:content-box;box-sizing:content-box}.verify-img-panel{margin:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-radius:3px;position:relative}.verify-img-panel .verify-refresh{width:25px;height:25px;text-align:center;padding:5px;cursor:pointer;position:absolute;top:0;right:0;z-index:2}.verify-img-panel .icon-refresh{font-size:20px;color:#fff}.verify-img-panel .verify-gap{background-color:#fff;position:relative;z-index:2;border:1px solid #fff}.verify-bar-area .verify-move-block .verify-sub-block{position:absolute;text-align:center;z-index:3}.verify-bar-area .verify-move-block .verify-icon{font-size:18px}.verify-bar-area .verify-msg{z-index:3}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-check:before{background-image:url("data:image/png;base64,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")}.icon-check:before,.icon-close:before{content:" ";display:block;width:16px;height:16px;position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;z-index:9999;background-size:contain}.icon-close:before{background-image:url("data:image/png;base64,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")}.icon-right:before{background-size:cover;background-image:url("data:image/png;base64,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")}.icon-refresh:before,.icon-right:before{content:" ";display:block;width:16px;height:16px;position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;z-index:9999;background-size:contain}.icon-refresh:before{background-image:url("data:image/png;base64,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")}.login_container .el-input input{color:#000;background:#fff}.login_container .el-input{display:inline-block;width:100%}.login_container .el-input input{-webkit-appearance:none;caret-color:rgba(0,0,0,.3);border:1px solid #fff}.login_container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #eee inset!important;box-shadow:inset 0 0 0 1000px #eee!important;-webkit-text-fill-color:#666!important}.login_container .el-form-item{border-radius:5px;color:#454545}.verifybox{position:absolute;left:auto;right:30%;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.take[data-v-75f2dc0d]{position:absolute;top:0;left:0;z-index:-1}.login_container[data-v-75f2dc0d]{height:100%;width:100%;overflow:hidden}.login_container .login_title[data-v-75f2dc0d]{width:100%;height:60px;padding:10px 60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.login_container .login_title img[data-v-75f2dc0d]{width:10%;display:block}.login_container .login_contant[data-v-75f2dc0d]{position:relative;width:100%;height:calc(100% - 60px)}.login_container .login_contant .login_img[data-v-75f2dc0d]{display:block;width:100%;height:100%}.login_container .login_contant .login_form[data-v-75f2dc0d]{position:absolute;top:50%;right:30%;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);min-width:400px;width:22%;height:460px;background-color:#fff;border-radius:11px;padding:30px;overflow:hidden}.login_container .login_contant .login_form .title_container[data-v-75f2dc0d]{position:relative}.login_container .login_contant .login_form .title_container .title[data-v-75f2dc0d]{font-size:24px;color:#1a1a1a}.login_container .login_contant .login_form .title_container .title .title_name[data-v-75f2dc0d]{margin:0;font-size:18px}.login_container .login_contant .login_form .title_container .set_language[data-v-75f2dc0d]{color:#fff;position:absolute;top:3px;font-size:18px;right:0;cursor:pointer}.login_container .login_contant .login_form .form_fields[data-v-75f2dc0d]{position:relative;width:100%;overflow:hidden;padding:5px 16px;background:#fff;border:1px solid #e0e0e0;-webkit-box-shadow:0 0 14px 4px hsla(0,2%,90%,.5);box-shadow:0 0 14px 4px hsla(0,2%,90%,.5);border-radius:4px 10px 10px 4px}.login_container .login_contant .login_form .form_fields i[data-v-75f2dc0d]{position:absolute;top:-50%;left:0;width:4px;height:50%;-webkit-transition:top .2s;transition:top .2s;background:#f5ab1b;border-radius:14px}.login_container .login_contant .login_form .form_fields b[data-v-75f2dc0d]{position:absolute;top:50%;left:0;width:100%;height:1px;background:#e0e0e0;border-radius:2px;margin-top:-.5px}.login_container .login_contant .login_form .form_fields p[data-v-75f2dc0d]{margin:0;padding:0;line-height:32px;height:32px;font-size:12px;color:#666}.login_container .login_contant .login_form .form_fields .show_pwd[data-v-75f2dc0d]{position:absolute;right:10px;top:0;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.login_container .login_contant .login_form .control[data-v-75f2dc0d]{width:100%;height:70px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px;color:#919191}.login_container .login_contant .login_form .control .remember[data-v-75f2dc0d]{width:36%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.login_container .login_contant .login_form .control .remember p[data-v-75f2dc0d]{padding-left:8px}.login_container .login_contant .login_form .control .remember>input[data-v-75f2dc0d]{position:relative;width:14px;height:14px}.login_container .login_contant .login_form .control .remember>input[data-v-75f2dc0d]:checked:before{content:"\2713";background-color:#f5ab1b;position:absolute;top:0;left:0;padding-left:1.5px;width:100%;height:100%;border:1px solid #f5ab1b;border-radius:2px;font-size:12px;color:#fff;font-weight:700}.login_container .login_contant .login_form .login_btn[data-v-75f2dc0d]{width:130px;height:40px;background:#f5ab1b;border:none;border-radius:10px;font-size:16px;color:#fff;text-align:center} \ No newline at end of file +.verifybox{position:relative;border-radius:2px;border:1px solid #e4e7eb;background-color:#fff;-webkit-box-shadow:0 0 10px rgba(0,0,0,.3);box-shadow:0 0 10px rgba(0,0,0,.3);left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.verifybox,.verifybox-top{-webkit-box-sizing:border-box;box-sizing:border-box}.verifybox-top{padding:0 15px;height:50px;line-height:50px;text-align:left;font-size:16px;color:#45494c;border-bottom:1px solid #e4e7eb}.verifybox-bottom{padding:15px;-webkit-box-sizing:border-box;box-sizing:border-box}.verifybox-close{position:absolute;top:13px;right:9px;width:24px;height:24px;text-align:center;cursor:pointer}.mask{position:fixed;top:0;left:0;z-index:1001;width:100%;height:100vh;background:rgba(0,0,0,.3);-webkit-transition:all .5s;transition:all .5s}.verify-tips{position:absolute;left:0;bottom:0;width:100%;height:30px;line-height:30px;color:#fff}.suc-bg{background-color:rgba(92,184,92,.5);filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7f5CB85C,endcolorstr=#7f5CB85C)}.err-bg{background-color:rgba(217,83,79,.5);filter:progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7fD9534F,endcolorstr=#7fD9534F)}.tips-enter,.tips-leave-to{bottom:-30px}.tips-enter-active,.tips-leave-active{-webkit-transition:bottom .5s;transition:bottom .5s}.verify-code{font-size:20px;text-align:center;cursor:pointer;margin-bottom:5px;border:1px solid #ddd}.cerify-code-panel{height:100%;overflow:hidden}.verify-code-area{float:left}.verify-input-area{float:left;width:60%;padding-right:10px}.verify-change-area{line-height:30px;float:left}.varify-input-code{display:inline-block;width:100%;height:25px}.verify-change-code{color:#337ab7;cursor:pointer}.verify-btn{width:200px;height:30px;background-color:#337ab7;color:#fff;border:none;margin-top:10px}.verify-bar-area{position:relative;text-align:center;border:1px solid #ddd;-webkit-border-radius:4px}.verify-bar-area,.verify-bar-area .verify-move-block{background:#fff;-webkit-box-sizing:content-box;box-sizing:content-box}.verify-bar-area .verify-move-block{position:absolute;top:0;left:0;cursor:pointer;-webkit-box-shadow:0 0 2px #888;box-shadow:0 0 2px #888;-webkit-border-radius:1px}.verify-bar-area .verify-move-block:hover{background-color:#337ab7;color:#fff}.verify-bar-area .verify-left-bar{position:absolute;top:-1px;left:-1px;background:#f0fff0;cursor:pointer;border:1px solid #ddd}.verify-bar-area .verify-left-bar,.verify-img-panel{-webkit-box-sizing:content-box;box-sizing:content-box}.verify-img-panel{margin:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd;border-radius:3px;position:relative}.verify-img-panel .verify-refresh{width:25px;height:25px;text-align:center;padding:5px;cursor:pointer;position:absolute;top:0;right:0;z-index:2}.verify-img-panel .icon-refresh{font-size:20px;color:#fff}.verify-img-panel .verify-gap{background-color:#fff;position:relative;z-index:2;border:1px solid #fff}.verify-bar-area .verify-move-block .verify-sub-block{position:absolute;text-align:center;z-index:3}.verify-bar-area .verify-move-block .verify-icon{font-size:18px}.verify-bar-area .verify-msg{z-index:3}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-check:before{background-image:url("data:image/png;base64,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")}.icon-check:before,.icon-close:before{content:" ";display:block;width:16px;height:16px;position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;z-index:9999;background-size:contain}.icon-close:before{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADIEAYAAAD9yHLdAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAAASAAAAEgARslrPgAADwRJREFUeNrt3V1sU+cZwPHndTAjwZ0mbZPKR/hKm0GqtiJJGZ9CIvMCawJoUksvOpC2XjSi4kMECaa2SO0qFEEhgFCQSqWOVWqJEGJJuyYYWCG9QCIOhQvYlgGCIFmatrVSUhzixO8ujNM1gSZOfPye857/7wYlfPg5xj5/n/fExyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABATizsWti1sCs/v6y0rLSsdMaMZ/Y8s+eZPZMnm54LQO6kn/fp/UB6v2B6LrdRpgcwZf7e+Xvn7505MxAIBAKBrVt1ja7RNdXVaqlaqpbOmTP0z+u9eq/ee/euFEqhFH7ySeCjwEeBj+rr299of6P9jb//3fT2AMhcWVlZWVnZ3Ln6uD6uj2/eLF3SJV1VVapW1ara6dOH/nn9hf5Cf3HzpupW3aq7qSl5LHkseay+/nLt5drLtbdvm96eXPNZQJQqn1Q+qXzS73+vN+gNesObb0q7tEv7xImZ/kv6kr6kL/X3q0PqkDpUXx/aFNoU2rRz53l1Xp1X/f2mtxTAcMv1cr1cT5jQfb37evf1ujrpkR7p2bxZ1agaVZOXl/E/WCM1UnP/vv5cf64/f+utjg87Puz4cPfu1G9qbXp7neaTgChVeqD0QOmBP/5RHVPH1LHf/CbrN1EplVLZ2iqt0iqtv/51NBqNRqP37pnecgDpI42CgtTz9OTJ1PO0sjLbt6PX6/V6/Z/+1LG5Y3PH5g0bHnzX2pBkXlyPKTtadrTs6Ouvq/fV++r9LVscu6EbckNuPPGEhCUs4UWLpsanxqfGT5yIxWKxWCyRMH0/AH40GI6whCXc3Cyn5bScDoeduj11RV1RV559dkrFlIopFX19sauxq7GrbW2m7wenBEwP4JT0OY7UV6+/nrMbjkhEIitWSIVUSEVLS0ljSWNJYyhk+v4A/GQwHHtkj+xpahp8XuaImqwmq8m7di2oXlC9oHr2bNP3h1OsDUhgfWB9YP2WLdIgDdLwgx/kfICzclbOLluW35Hfkd/x5z8PPqABOGbYEcd22S7bKypyPsiDc6v9df11/XWvvWb6fnGKtQHRj+nH9GOrV5ueY/CVz4MHNCEBsm9YOHJ8xPEo6og6oo64YD/k1PaZHiDbvruD/uYb0/MMUyEVUtHWFi+Pl8fLf/Wray9ee/Haiz09pscCvGjYUpWpI44RBE8FTwVPFRRcLLxYeLEwHjc9T7ZYdwSi2lSbavvxj03P8UgsbQHj5pqlqlFK9iZ7k70u3i+NkXUB6Tvcd7jv8H//a3qOEXGyHciY6ZPjYzXw0sBLAy95YL+UIeuWsNJK75feL71/545arBarxYWFpucZUVjCEj53LvWEqK7mfSTAt9x6jmNEi2WxLL59O3ooeih6aNYs0+Nkm3VHIIO6pEu6Pv3U9Bijxsl2YBjPhiOtUAql0EP7oQxZG5C8SXmT8ibt35++5IjpeUaNpS3As0tVabpBN+iGgQE5Lsfl+KFDpudxirUBuTT90vRL0//xj/S1qkzPkzFOtsOHvHZy/FFUsSpWxfv2pZai//Y30/M4xfpLmRR/VvxZ8Wd//Wvf7b7bfbd//vPBS454xU25KTdnz+YSKbCZ55eq0h5cE2/OB3M+mPPBb3977dq1a9eu2XstLGtPog+Vvp5/X1tfW19bU5N6V72r3v3FL0zPlTHeRwKLeOV9HCPaLbtl94UL8a/jX8e/fv55vzwvfROQNEICmEc47OC7gKQREiD3CIddfBuQNEICOI9w2Mn3AUkjJED2EQ67EZAhCAkwfoTDHwjIIxASIHOEw18IyAgICTAywuFPBGSUCAkwHOHwNwKSIUICEA6kEJAxIiTwI8KB/0dAxomQwA8IBx6GgGQJIYGNCAe+DwHJMkICGxAOjAYBcQghgRcRDmSCgDiMkMALCAfGgoDkCCGBGxEOjAcByTFCAjcgHMgGAmIIIYEJhAPZREAMIyTIBcIBJxAQlyAkcALhgJMIiMsQEmQD4UAuEBCXIiQYC8KBXCIgLkdIMBqEAyYQEI8gJHgYwgGTCIjHEBKIEA64AwHxKELiT4QDbkJAPI6Q+APhgBsREEsQEjsRDrgZAbEMIbED4YAXEBBLERJvIhzwEgJiOULiDYQDXkRAfIKQuBPhgJcREJ8hJO5AOGADAuJThMQMwgGbEBCfIyS5QThgIwICESEkTiEcsBkBwXcQkuwgHPADAoKHIiRjQzjgJwQE34uQjA7hgB8REIwKIXk4wgE/IyDICCFJIRwAAcEY+TUkhAP4FgHBuPglJIQDGI6AICtsDUl+XX5dfl0ySTiA4QgIsmrwlXpYwhJubpaIRCSyYoXpuTIWlrCEz50b/Nrr2xGRiESqq6PRaDQavXfP9FiwAwGBI6w5IvEqjjiQAwQEjiIkOUY4kEMEBDlBSBxGOGAAAUFOEZIsIxwwiIDACEIyToQDLkBAYBQhyRDhgIsQELgCIRkB4YALERC4CiEZgnDAxQgIXMn3ISEc8AACAlfzXUgIBzyEgMATrA8J4YAHERB4inUhIRzwsIDpAYBMJNYm1ibWKqUeV4+rx5X3XwCdkTNyxoLtgC/xwIUnWPN5HI/i8Ge2A04gIHA168MxFCGBhxAQuJLvwjEUIYEHEBC4iu/DMRQhgYsRELgC4RgBIYELERAYRTgyREjgIgQERhCOcSIkcAECgpwiHFlGSGAQAUFOEA6HERIYQEDgKMKRY4QEOURA4AjCYRghQQ7kmR4AdhkMR1jCEm5uliNyRI54MBxhCUv43DkpkiIpunVLbspNuTl7tumxRu2W3JJbM2cGC4IFwYKFC6fGp8anxk+ciMVisVgskTA9HuzAxRSRFcOOOCISkciKFabnylj66ril8dJ46Zo1wY3BjcGNVVV6m96mt505Y3q8jKX/HyqkQipaWkoaSxpLGkMh02PBDixhYVysWaoa4bLq1lxGnqUtZBEBwZj4JRxDERLgWwQEGfFrOIYiJAABwSgRjocjJPAzAoLvRThGh5DAjwgIHopwjA0hgZ8QEHwH4cgOQgI/ICAQEcLhFEICmxEQnyMcuUFIYCMC4lOEwwxCApsQEJ8hHO5ASGADAuIThMOdCAm8jIBYjnB4AyGBFxEQSxEObyIk8BICYhnCYQdCAi8gIJYgHHYiJHAzAuJxhMMfCAnciIB4FOHwJ0ICNyEgHkM4IEJI4A4ExCMIBx6GkMAkAuJyhAOjQUhgAgFxKcKBsSAkyCUC4jKEA9lASJALBMQlCAecQEjgJAJiGOFALhASOIGAGEI4YAIhQTYRkBwjHHADQoJsICA5QjjgRoQE4xEwPYDtbAtH4kriSuIKT1BbXCy8WHixMB6fuGzisonLVq/W2/Q2ve3MGdNzZeysnJWzy5blt+e357f/5S8ljSWNJY2hkOmxbMcRiENsDcfV7Ve3X93+zTemx4IzOCJBJghIlhEO2ICQYDQISJYQDtiIkOD7EJBxIhzwA0KChyEgY0Q44EeEBP+PgGSIcACEBCkEZJQIBzAcIfE3AjICwgGMjJD4EwF5BMIBZI6Q+AsBGYJwAONHSPyBgDxAOIDsIyR2831ACAfgPEJiJ98GhHAAuUdI7OK7gBAOwDxCYgffBIRwAO5DSLzN+oAs18v1cj1hQk95T3lP+aefpr77y1+anitje2SP7Dl7NhW+1auj0Wg0Gr13z/RYQDYMvsALS1jCzc0SkYhEVqwwPVfGKqVSKltbQ++E3gm9U1V1Xp1X51V/v+mxnGL9B0p1X+++3n29ri71FeEA3GjwcR2RiESqq1MhOXfO9FwZa5VWaa2s7DnYc7Dn4O7dpsdxmrUBKX+7/O3yt3/2M5krc2Xupk2m58lYeqkqmogmomvWEA74QfpxHtwY3BjcWFXl1U9I1Iv0Ir1o69b53fO753fPm2d6HqdYG5BkXjIvmbd1q3pOPaeemzDB9Dyjlj7i2Ck7ZeeqVZzjgB+lP2o3dU5kzRqvHZGoGlWjavLyAg2BhkDDa6+Znscp1gZEzVQz1cyqKtNzjBpLVcAwnl/aOi7H5biH9kMZsi4gCzoXdC7o/OEPZZ/sk33TppmeZ0QsVQEj8vbS1owZJY0ljSWNoZDpSbLNuoAMrBtYN7DuRz8yPceIWKoCMubVpa3Q/ND80HwP7JcyZF1ARIkS9e9/mx7jkTjiAMbNa0ckgUmBSYFJ//mP6Tmyzdr3gZTGS+Ol8Rs31FK1VC2dM8f0POkjjuCTwSeDT1ZXp19JmR4LsIFr30eyQ3bIjs7O6AvRF6IvFBebHifb7DsCeUA1qAbV0Nxseg7CATjPrSfb9VP6Kf2UC/ZDDrE2IMlkMplM7t8vNVIjNffv53yAIUtVhANwnluWtvRhfVgf7u1VL6uX1csHDpi+X5xibUAu116uvVx7+3bqqz/8IWc3nD7imBecF5y3ciUnx4HcM36yPSlJSb71VrQj2hHtuHPH9P3hlDzTAzgt1hRrijW1tU3ZMWXHlB1z5qgr6oq68uyzWb+h/bJf9re0BIuCRcGitWs54gDMi8VisVgskZganxqfGj9xInWtqvJyuSE35MYTT2T79vRJfVKfPHas4+mOpzuerq01vf1Osz4gabGWWEus5dSpaV9N+2raV4mE7JJdsmvJEmmXdmnP/J3q+pK+pC/190undErn3r1FkaJIUeR3vzv9yulXTr/S12d6ewF8Kx2S4gvFF4ovfPxxX29fb19vQYE+qo/qowsWqPfUe+q9QMYrMumlKlklq2TVm29+Nxxam95up1n7U1gjKSstKy0rnTFDr9Qr9cotW1SLalEtq1enfgy4qOjhf+vOHVkn62TdJ58M3B24O3C3vv7Lg18e/PJgZ6fp7QGQufQ18/QpfUqf2rw59d3nn0/9OmPGsL+wRJbIkn/+U7+qX9WvNjUFZgVmBWbV17cXtBe0F3R1md6eXPNtQB4l/fkEiTWJNYk1P/1p+n0lvF8D8I/BHwvWokX/5CehaCgaiv7rX6nLs/f2mp4PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtvsf2vlfs7i0WI4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTctMTItMTVUMTU6NTc6MjcrMDg6MDCiEb4vAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE3LTEyLTE1VDE1OjU3OjI3KzA4OjAw00wGkwAAAE10RVh0c3ZnOmJhc2UtdXJpAGZpbGU6Ly8vaG9tZS9hZG1pbi9pY29uLWZvbnQvdG1wL2ljb25fY2sxYnphMHpqOWpqZGN4ci9jbG9zZS5zdmdHkn2WAAAAAElFTkSuQmCC")}.icon-right:before{background-size:cover;background-image:url("data:image/png;base64,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")}.icon-refresh:before,.icon-right:before{content:" ";display:block;width:16px;height:16px;position:absolute;margin:auto;left:0;right:0;top:0;bottom:0;z-index:9999;background-size:contain}.icon-refresh:before{background-image:url("data:image/png;base64,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")}.login_container .el-input input{color:#000;background:#fff}.login_container .el-input{display:inline-block;width:100%}.login_container .el-input input{-webkit-appearance:none;caret-color:rgba(0,0,0,.3);border:1px solid #fff}.login_container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #eee inset!important;box-shadow:inset 0 0 0 1000px #eee!important;-webkit-text-fill-color:#666!important}.login_container .el-form-item{border-radius:5px;color:#454545}.verifybox{left:auto;right:30%;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%)}.take,.verifybox{position:absolute}.take{top:0;left:0;z-index:-1}.login_container{height:100%;width:100%;overflow:hidden}.login_container .login_title{width:100%;height:60px;padding:10px 60px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.login_container .login_title img{width:10%;display:block}.login_container .login_contant{position:relative;width:100%;height:calc(100% - 60px)}.login_container .login_contant .login_img{display:block;width:100%;height:100%}.login_container .login_contant .login_form{position:absolute;top:50%;right:30%;-webkit-transform:translate(50%,-50%);transform:translate(50%,-50%);min-width:400px;width:22%;height:460px;background-color:#fff;border-radius:11px;padding:30px;overflow:hidden}.login_container .login_contant .login_form .title_container{position:relative}.login_container .login_contant .login_form .title_container .title{font-size:24px;color:#1a1a1a}.login_container .login_contant .login_form .title_container .title .title_name{margin:0;font-size:18px}.login_container .login_contant .login_form .title_container .set_language{color:#fff;position:absolute;top:3px;font-size:18px;right:0;cursor:pointer}.login_container .login_contant .login_form .form_fields{position:relative;width:100%;overflow:hidden;padding:5px 16px;background:#fff;border:1px solid #e0e0e0;-webkit-box-shadow:0 0 14px 4px hsla(0,2%,90%,.5);box-shadow:0 0 14px 4px hsla(0,2%,90%,.5);border-radius:4px 10px 10px 4px}.login_container .login_contant .login_form .form_fields i{position:absolute;top:-50%;left:0;width:4px;height:50%;-webkit-transition:top .2s;transition:top .2s;background:#f5ab1b;border-radius:14px}.login_container .login_contant .login_form .form_fields b{position:absolute;top:50%;left:0;width:100%;height:1px;background:#e0e0e0;border-radius:2px;margin-top:-.5px}.login_container .login_contant .login_form .form_fields p{margin:0;padding:0;line-height:32px;height:32px;font-size:12px;color:#666}.login_container .login_contant .login_form .form_fields .show_pwd{position:absolute;right:10px;top:0;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.login_container .login_contant .login_form .control{width:100%;height:70px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:14px;color:#919191}.login_container .login_contant .login_form .control,.login_container .login_contant .login_form .control .remember{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.login_container .login_contant .login_form .control .remember{width:36%}.login_container .login_contant .login_form .control .remember p{padding-left:8px}.login_container .login_contant .login_form .control .remember>input{position:relative;width:14px;height:14px}.login_container .login_contant .login_form .control .remember>input:checked:before{content:"\2713";background-color:#f5ab1b;position:absolute;top:0;left:0;padding-left:1.5px;width:100%;height:100%;border:1px solid #f5ab1b;border-radius:2px;font-size:12px;color:#fff;font-weight:700}.login_container .login_contant .login_form .login_btn{width:130px;height:40px;background:#f5ab1b;border:none;border-radius:10px;font-size:16px;color:#fff;text-align:center} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3ab0.21aedc9d.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3ab0.21aedc9d.css deleted file mode 100644 index c91ceb56e..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3ab0.21aedc9d.css +++ /dev/null @@ -1 +0,0 @@ -.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-webkit-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt .cm-type,.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}div.jsoneditor .jsoneditor-search input{height:auto;border:inherit}div.jsoneditor .jsoneditor-search input:focus{border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}div.jsoneditor table{border-collapse:collapse;width:auto}div.jsoneditor td,div.jsoneditor th{padding:0;display:table-cell;text-align:left;vertical-align:inherit;border-radius:inherit}div.jsoneditor-field,div.jsoneditor-readonly,div.jsoneditor-value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}div.jsoneditor-field p,div.jsoneditor-value p{margin:0}div.jsoneditor-value{word-break:break-word}div.jsoneditor-readonly{min-width:16px;color:grey}div.jsoneditor-empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}div.jsoneditor-field.jsoneditor-empty:after,div.jsoneditor-value.jsoneditor-empty:after{pointer-events:none;color:#d3d3d3;font-size:8pt}div.jsoneditor-field.jsoneditor-empty:after{content:"field"}div.jsoneditor-value.jsoneditor-empty:after{content:"value"}a.jsoneditor-value.jsoneditor-url,div.jsoneditor-value.jsoneditor-url{color:green;text-decoration:underline}a.jsoneditor-value.jsoneditor-url{display:inline-block;padding:2px;margin:2px}a.jsoneditor-value.jsoneditor-url:focus,a.jsoneditor-value.jsoneditor-url:hover{color:#ee422e}div.jsoneditor td.jsoneditor-separator{padding:3px 0;vertical-align:top;color:grey}div.jsoneditor-field.jsoneditor-highlight,div.jsoneditor-field[contenteditable=true]:focus,div.jsoneditor-field[contenteditable=true]:hover,div.jsoneditor-value.jsoneditor-highlight,div.jsoneditor-value[contenteditable=true]:focus,div.jsoneditor-value[contenteditable=true]:hover{background-color:#ffffab;border:1px solid #ff0;border-radius:2px}div.jsoneditor-field.jsoneditor-highlight-active,div.jsoneditor-field.jsoneditor-highlight-active:focus,div.jsoneditor-field.jsoneditor-highlight-active:hover,div.jsoneditor-value.jsoneditor-highlight-active,div.jsoneditor-value.jsoneditor-highlight-active:focus,div.jsoneditor-value.jsoneditor-highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}div.jsoneditor-value.jsoneditor-string{color:green}div.jsoneditor-value.jsoneditor-array,div.jsoneditor-value.jsoneditor-object{min-width:16px;color:grey}div.jsoneditor-value.jsoneditor-number{color:#ee422e}div.jsoneditor-value.jsoneditor-boolean{color:#ff8c00}div.jsoneditor-value.jsoneditor-null{color:#004ed0}div.jsoneditor-value.jsoneditor-invalid{color:#000}div.jsoneditor-tree button{width:24px;height:24px;padding:0;margin:0;border:none;cursor:pointer;background:transparent url(/static/img/jsoneditor-icons.256e3ab.svg)}div.jsoneditor-mode-form tr.jsoneditor-expandable td.jsoneditor-tree,div.jsoneditor-mode-view tr.jsoneditor-expandable td.jsoneditor-tree{cursor:pointer}div.jsoneditor-tree button.jsoneditor-collapsed{background-position:0 -48px}div.jsoneditor-tree button.jsoneditor-expanded{background-position:0 -72px}div.jsoneditor-tree button.jsoneditor-contextmenu{background-position:-48px -72px}div.jsoneditor-tree button.jsoneditor-contextmenu.jsoneditor-selected,div.jsoneditor-tree button.jsoneditor-contextmenu:focus,div.jsoneditor-tree button.jsoneditor-contextmenu:hover,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu{background-position:-48px -48px}div.jsoneditor-tree :focus{outline:none}div.jsoneditor-tree button:focus{background-color:#f5f5f5;outline:1px solid #e5e5e5}div.jsoneditor-tree button.jsoneditor-invisible{visibility:hidden;background:none}div.jsoneditor{color:#1a1a1a;border:1px solid #3883fa;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:hidden;position:relative;padding:0;line-height:100%}div.jsoneditor-tree table.jsoneditor-tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}div.jsoneditor-outer{position:static;width:100%;height:100%;margin:-35px 0 0;padding:35px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.ace-jsoneditor,textarea.jsoneditor-text{min-height:150px}div.jsoneditor-tree{width:100%;height:100%;position:relative;overflow:auto}textarea.jsoneditor-text{width:100%;height:100%;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;outline-width:0;border:none;background-color:#fff;resize:none}tr.jsoneditor-highlight,tr.jsoneditor-selected{background-color:#e6e6e6}tr.jsoneditor-selected button.jsoneditor-contextmenu,tr.jsoneditor-selected button.jsoneditor-dragarea{visibility:hidden}tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea{visibility:visible}div.jsoneditor-tree button.jsoneditor-dragarea{background:url(/static/img/jsoneditor-icons.256e3ab.svg) -72px -72px;cursor:move}div.jsoneditor-tree button.jsoneditor-dragarea:focus,div.jsoneditor-tree button.jsoneditor-dragarea:hover,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea{background-position:-72px -48px}div.jsoneditor td,div.jsoneditor th,div.jsoneditor tr{padding:0;margin:0}div.jsoneditor td,div.jsoneditor td.jsoneditor-tree{vertical-align:top}.jsoneditor-schema-error,div.jsoneditor-field,div.jsoneditor-value,div.jsoneditor td,div.jsoneditor textarea,div.jsoneditor th{font-family:droid sans mono,consolas,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1a1a1a}.jsoneditor-schema-error{cursor:default;display:inline-block;height:24px;line-height:24px;position:relative;text-align:center;width:24px}div.jsoneditor-tree .jsoneditor-schema-error{width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) -168px -48px}.jsoneditor-schema-error .jsoneditor-popover{background-color:#4c4c4c;border-radius:3px;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4);box-shadow:0 0 5px rgba(0,0,0,.4);color:#fff;display:none;padding:7px 10px;position:absolute;width:200px;z-index:4}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above{bottom:32px;left:-98px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below{top:32px;left:-98px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left{top:-7px;right:32px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right{top:-7px;left:32px}.jsoneditor-schema-error .jsoneditor-popover:before{border-right:7px solid transparent;border-left:7px solid transparent;content:"";display:block;left:50%;margin-left:-7px;position:absolute}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above:before{border-top:7px solid #4c4c4c;bottom:-7px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below:before{border-bottom:7px solid #4c4c4c;top:-7px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left:before{border-left:7px solid #4c4c4c;right:-14px;left:inherit}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left:before,.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right:before{border-top:7px solid transparent;border-bottom:7px solid transparent;content:"";top:19px;margin-left:inherit;margin-top:-7px;position:absolute}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right:before{border-right:7px solid #4c4c4c;left:-14px}.jsoneditor-schema-error:focus .jsoneditor-popover,.jsoneditor-schema-error:hover .jsoneditor-popover{display:block;-webkit-animation:fade-in .3s linear 1,move-up .3s linear 1;-moz-animation:fade-in .3s linear 1,move-up .3s linear 1;-ms-animation:fade-in .3s linear 1,move-up .3s linear 1}@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}.jsoneditor .jsoneditor-text-errors{width:100%;border-collapse:collapse;background-color:#ffef8b;border-top:1px solid gold}.jsoneditor .jsoneditor-text-errors td{padding:3px 6px;vertical-align:middle}.jsoneditor-text-errors .jsoneditor-schema-error{border:none;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) -168px -48px}div.jsoneditor-contextmenu-root{position:relative;width:0;height:0}div.jsoneditor-contextmenu{position:absolute;z-index:99999}div.jsoneditor-contextmenu,div.jsoneditor-contextmenu li,div.jsoneditor-contextmenu ul{-webkit-box-sizing:content-box;box-sizing:content-box}div.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;-webkit-box-shadow:2px 2px 12px hsla(0,0%,50.2%,.3);box-shadow:2px 2px 12px hsla(0,0%,50.2%,.3);list-style:none;margin:0;padding:0}div.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:none;cursor:pointer;color:#4d4d4d;background:transparent;font-size:10pt;font-family:arial,sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:26px;text-align:left}div.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}div.jsoneditor-contextmenu ul li button:focus,div.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:none}div.jsoneditor-contextmenu ul li button.jsoneditor-default{width:92px}div.jsoneditor-contextmenu ul li button.jsoneditor-expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}div.jsoneditor-contextmenu div.jsoneditor-icon{float:left;width:24px;height:24px;border:none;padding:0;margin:0;background-image:url(/static/img/jsoneditor-icons.256e3ab.svg)}div.jsoneditor-contextmenu ul li button div.jsoneditor-expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) 0 -72px;opacity:.4}div.jsoneditor-contextmenu ul li.jsoneditor-selected div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button.jsoneditor-expand:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button.jsoneditor-expand:hover div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:hover div.jsoneditor-expand{opacity:1}div.jsoneditor-contextmenu div.jsoneditor-separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}div.jsoneditor-contextmenu button.jsoneditor-remove>div.jsoneditor-icon{background-position:-24px -24px}div.jsoneditor-contextmenu button.jsoneditor-remove:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-remove:hover>div.jsoneditor-icon{background-position:-24px 0}div.jsoneditor-contextmenu button.jsoneditor-append>div.jsoneditor-icon{background-position:0 -24px}div.jsoneditor-contextmenu button.jsoneditor-append:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-append:hover>div.jsoneditor-icon{background-position:0 0}div.jsoneditor-contextmenu button.jsoneditor-insert>div.jsoneditor-icon{background-position:0 -24px}div.jsoneditor-contextmenu button.jsoneditor-insert:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-insert:hover>div.jsoneditor-icon{background-position:0 0}div.jsoneditor-contextmenu button.jsoneditor-duplicate>div.jsoneditor-icon{background-position:-48px -24px}div.jsoneditor-contextmenu button.jsoneditor-duplicate:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-duplicate:hover>div.jsoneditor-icon{background-position:-48px 0}div.jsoneditor-contextmenu button.jsoneditor-sort-asc>div.jsoneditor-icon{background-position:-168px -24px}div.jsoneditor-contextmenu button.jsoneditor-sort-asc:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-sort-asc:hover>div.jsoneditor-icon{background-position:-168px 0}div.jsoneditor-contextmenu button.jsoneditor-sort-desc>div.jsoneditor-icon{background-position:-192px -24px}div.jsoneditor-contextmenu button.jsoneditor-sort-desc:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-sort-desc:hover>div.jsoneditor-icon{background-position:-192px 0}div.jsoneditor-contextmenu ul li button.jsoneditor-selected,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover{color:#fff;background-color:#ee422e}div.jsoneditor-contextmenu ul li{overflow:hidden}div.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:none;-webkit-box-shadow:inset 0 0 10px hsla(0,0%,50.2%,.5);box-shadow:inset 0 0 10px hsla(0,0%,50.2%,.5);padding:0 10px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}div.jsoneditor-contextmenu ul li ul li button{padding-left:24px;-webkit-animation:all 1s ease-in-out;animation:all 1s ease-in-out}div.jsoneditor-contextmenu ul li ul li button:focus,div.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}div.jsoneditor-contextmenu button.jsoneditor-type-string>div.jsoneditor-icon{background-position:-144px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-string.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-string:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-string:hover>div.jsoneditor-icon{background-position:-144px 0}div.jsoneditor-contextmenu button.jsoneditor-type-auto>div.jsoneditor-icon{background-position:-120px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-auto.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-auto:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-auto:hover>div.jsoneditor-icon{background-position:-120px 0}div.jsoneditor-contextmenu button.jsoneditor-type-object>div.jsoneditor-icon{background-position:-72px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-object.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-object:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-object:hover>div.jsoneditor-icon{background-position:-72px 0}div.jsoneditor-contextmenu button.jsoneditor-type-array>div.jsoneditor-icon{background-position:-96px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-array.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-array:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-array:hover>div.jsoneditor-icon{background-position:-96px 0}div.jsoneditor-contextmenu button.jsoneditor-type-modes>div.jsoneditor-icon{background-image:none;width:6px}div.jsoneditor-menu{width:100%;height:35px;padding:2px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;background-color:#3883fa;border-bottom:1px solid #3883fa}div.jsoneditor-menu>button,div.jsoneditor-menu>div.jsoneditor-modes>button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid transparent;background:transparent url(/static/img/jsoneditor-icons.256e3ab.svg);color:#fff;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}div.jsoneditor-menu>button:hover,div.jsoneditor-menu>div.jsoneditor-modes>button:hover{background-color:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4)}div.jsoneditor-menu>button:active,div.jsoneditor-menu>button:focus,div.jsoneditor-menu>div.jsoneditor-modes>button:active,div.jsoneditor-menu>div.jsoneditor-modes>button:focus{background-color:hsla(0,0%,100%,.3)}div.jsoneditor-menu>button:disabled,div.jsoneditor-menu>div.jsoneditor-modes>button:disabled{opacity:.5}div.jsoneditor-menu>button.jsoneditor-collapse-all{background-position:0 -96px}div.jsoneditor-menu>button.jsoneditor-expand-all{background-position:0 -120px}div.jsoneditor-menu>button.jsoneditor-undo{background-position:-24px -96px}div.jsoneditor-menu>button.jsoneditor-undo:disabled{background-position:-24px -120px}div.jsoneditor-menu>button.jsoneditor-redo{background-position:-48px -96px}div.jsoneditor-menu>button.jsoneditor-redo:disabled{background-position:-48px -120px}div.jsoneditor-menu>button.jsoneditor-compact{background-position:-72px -96px}div.jsoneditor-menu>button.jsoneditor-format{background-position:-72px -120px}div.jsoneditor-menu>div.jsoneditor-modes{display:inline-block;float:left}div.jsoneditor-menu>div.jsoneditor-modes>button{background-image:none;width:auto;padding-left:6px;padding-right:6px}div.jsoneditor-menu>button.jsoneditor-separator,div.jsoneditor-menu>div.jsoneditor-modes>button.jsoneditor-separator{margin-left:10px}div.jsoneditor-menu a{font-family:arial,sans-serif;font-size:10pt;color:#fff;opacity:.8;vertical-align:middle}div.jsoneditor-menu a:hover{opacity:1}div.jsoneditor-menu a.jsoneditor-poweredBy{font-size:8pt;position:absolute;right:0;top:0;padding:10px}table.jsoneditor-search div.jsoneditor-results,table.jsoneditor-search input{font-family:arial,sans-serif;font-size:10pt;color:#1a1a1a;background:transparent}table.jsoneditor-search div.jsoneditor-results{color:#fff;padding-right:5px;line-height:24px}table.jsoneditor-search{position:absolute;right:4px;top:4px;border-collapse:collapse;border-spacing:0}table.jsoneditor-search div.jsoneditor-frame{border:1px solid transparent;background-color:#fff;padding:0 2px;margin:0}table.jsoneditor-search div.jsoneditor-frame table{border-collapse:collapse}table.jsoneditor-search input{width:120px;border:none;outline:none;margin:1px;line-height:20px}table.jsoneditor-search button{width:16px;height:24px;padding:0;margin:0;border:none;background:url(/static/img/jsoneditor-icons.256e3ab.svg);vertical-align:top}table.jsoneditor-search button:hover{background-color:transparent}table.jsoneditor-search button.jsoneditor-refresh{width:18px;background-position:-99px -73px}table.jsoneditor-search button.jsoneditor-next{cursor:pointer;background-position:-124px -73px}table.jsoneditor-search button.jsoneditor-next:hover{background-position:-124px -49px}table.jsoneditor-search button.jsoneditor-previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}table.jsoneditor-search button.jsoneditor-previous:hover{background-position:-148px -49px}.ace_line_group[data-v-6a8ba07e]{text-align:left}.json-editor-container[data-v-6a8ba07e]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.json-editor-container .tree-mode[data-v-6a8ba07e]{width:50%}.json-editor-container .code-mode[data-v-6a8ba07e]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.jsoneditor-btns[data-v-6a8ba07e]{text-align:center;margin-top:10px}.jsoneditor-vue .jsoneditor-outer[data-v-6a8ba07e]{min-height:150px}.jsoneditor-vue div.jsoneditor-tree[data-v-6a8ba07e]{min-height:350px}.json-save-btn[data-v-6a8ba07e]{background-color:#20a0ff;border:none;color:#fff;padding:5px 10px;border-radius:5px;cursor:pointer}.json-save-btn[data-v-6a8ba07e]:focus{outline:none}.json-save-btn[disabled][data-v-6a8ba07e]{background-color:#1d8ce0;cursor:not-allowed}code[data-v-6a8ba07e]{background-color:#f5f5f5} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3bc3.039d4bf0.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5309.24c7554f.css similarity index 96% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3bc3.039d4bf0.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5309.24c7554f.css index d25f82cc3..3bf62fef0 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-3bc3.039d4bf0.css +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5309.24c7554f.css @@ -1 +1 @@ -@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.ba04816.eot);src:url(/static/fonts/iconfont.ba04816.eot#iefix) format("embedded-opentype"),url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2"),url(/static/fonts/iconfont.cf8ecfd.woff) format("woff"),url(/static/fonts/iconfont.111271f.ttf) format("truetype"),url(/static/img/iconfont.c6ec5b6.svg#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.luckysheet-iconfont-lianjie:before{content:"\E7F8"}.luckysheet-iconfont-dayinquyu:before{content:"\E7F5"}.luckysheet-iconfont-dayinyemianpeizhi:before{content:"\E7F6"}.luckysheet-iconfont-dayinbiaoti:before{content:"\E7F7"}.luckysheet-iconfont-fenyeyulan:before{content:"\E7F2"}.luckysheet-iconfont-putong:before{content:"\E7F3"}.luckysheet-iconfont-yemianbuju:before{content:"\E7F4"}.luckysheet-iconfont-biaogesuoding:before{content:"\E7EE"}.luckysheet-iconfont-zhuandao1:before{content:"\E7F1"}.luckysheet-iconfont-youjiantou:before{content:"\E7ED"}.luckysheet-iconfont-caidan2:before{content:"\E7EF"}.luckysheet-iconfont-tihuan:before{content:"\E7F0"}.luckysheet-iconfont-dongjie1:before{content:"\E7E1"}.luckysheet-iconfont-jian1:before{content:"\E7E2"}.luckysheet-iconfont-jia1:before{content:"\E7E3"}.luckysheet-iconfont-yichu1:before{content:"\E7E4"}.luckysheet-iconfont-shengxu1:before{content:"\E7E5"}.luckysheet-iconfont-neikuangxian:before{content:"\E7E6"}.luckysheet-iconfont-qingchushaixuan:before{content:"\E7E7"}.luckysheet-iconfont-wenbenxiangshang:before{content:"\E7E8"}.luckysheet-iconfont-jiangxu1:before{content:"\E7E9"}.luckysheet-iconfont-neikuanghengxian:before{content:"\E7EA"}.luckysheet-iconfont-neikuangshuxian:before{content:"\E7EB"}.luckysheet-iconfont-zidingyipaixu:before{content:"\E7EC"}.luckysheet-iconfont-logo2:before{content:"\E7DF"}.luckysheet-iconfont-logo:before{content:"\E7E0"}.luckysheet-iconfont-wenbenqingxie1:before{content:"\E7DE"}.luckysheet-iconfont-jiacu:before{content:"\E7D9"}.luckysheet-iconfont-sousuo:before{content:"\E78A"}.luckysheet-iconfont-guanbi:before{content:"\E78B"}.luckysheet-iconfont-xiayige:before{content:"\E78C"}.luckysheet-iconfont-xiala:before{content:"\E78D"}.luckysheet-iconfont-wenbenyanse:before{content:"\E78E"}.luckysheet-iconfont-shangyige:before{content:"\E78F"}.luckysheet-iconfont-shujutoushi:before{content:"\E790"}.luckysheet-iconfont-tianchong:before{content:"\E791"}.luckysheet-iconfont-zengjiaxiaoshuwei:before{content:"\E792"}.luckysheet-iconfont-bianji2:before{content:"\E793"}.luckysheet-iconfont-jieping:before{content:"\E794"}.luckysheet-iconfont-jianxiaoxiaoshuwei:before{content:"\E796"}.luckysheet-iconfont-caidan:before{content:"\E797"}.luckysheet-iconfont-shujuku:before{content:"\E798"}.luckysheet-iconfont-wubiankuang:before{content:"\E799"}.luckysheet-iconfont-bianji:before{content:"\E79A"}.luckysheet-iconfont-qingchuyangshi:before{content:"\E79B"}.luckysheet-iconfont-shanchu:before{content:"\E79C"}.luckysheet-iconfont-wenbenjuzhongduiqi:before{content:"\E79D"}.luckysheet-iconfont-dayin:before{content:"\E79E"}.luckysheet-iconfont-wenbenfenge:before{content:"\E79F"}.luckysheet-iconfont-hanshu:before{content:"\E7A0"}.luckysheet-iconfont-jiangxu:before{content:"\E7A1"}.luckysheet-iconfont-dingbuduiqi:before{content:"\E7A2"}.luckysheet-iconfont-tupian:before{content:"\E7A3"}.luckysheet-iconfont-xiangxia90:before{content:"\E7A4"}.luckysheet-iconfont-shupaiwenzi:before{content:"\E7A5"}.luckysheet-iconfont-quanjiabiankuang:before{content:"\E7A6"}.luckysheet-iconfont-shengxu:before{content:"\E7A7"}.luckysheet-iconfont-caijian:before{content:"\E7A8"}.luckysheet-iconfont-jine:before{content:"\E7A9"}.luckysheet-iconfont-caidan1:before{content:"\E7AA"}.luckysheet-iconfont-quxiaohebing:before{content:"\E7AB"}.luckysheet-iconfont-wenbenxiahuaxian:before{content:"\E7AC"}.luckysheet-iconfont-shangbiankuang:before{content:"\E7AD"}.luckysheet-iconfont-dingwei:before{content:"\E7AE"}.luckysheet-iconfont-sizhoujiabiankuang:before{content:"\E7AF"}.luckysheet-iconfont-cebianlanshouqi:before{content:"\E7B0"}.luckysheet-iconfont-hebing:before{content:"\E7B1"}.luckysheet-iconfont-xiangshangqingxie:before{content:"\E7B2"}.luckysheet-iconfont-shuipingduiqi:before{content:"\E7B3"}.luckysheet-iconfont-wenbenshanchuxian:before{content:"\E7B4"}.luckysheet-iconfont-wenbenyouduiqi:before{content:"\E7B5"}.luckysheet-iconfont-qianjin:before{content:"\E7B6"}.luckysheet-iconfont-tubiao:before{content:"\E7B7"}.luckysheet-iconfont-youbiankuang:before{content:"\E7B8"}.luckysheet-iconfont-baifenhao:before{content:"\E7B9"}.luckysheet-iconfont-geshishua:before{content:"\E7BA"}.luckysheet-iconfont-baocun:before{content:"\E7BB"}.luckysheet-iconfont-shujuyanzheng:before{content:"\E7BC"}.luckysheet-iconfont-jieduan:before{content:"\E7BD"}.luckysheet-iconfont-geshitiaojian:before{content:"\E7BE"}.luckysheet-iconfont-zidonghuanhang:before{content:"\E7BF"}.luckysheet-iconfont-cebianlanzhankai:before{content:"\E7C0"}.luckysheet-iconfont-shaixuan2:before{content:"\E7C1"}.luckysheet-iconfont-xiangxiaqingxie:before{content:"\E7C2"}.luckysheet-iconfont-yichu:before{content:"\E7C3"}.luckysheet-iconfont-chuizhihebing:before{content:"\E7C4"}.luckysheet-iconfont-wenbenfensanduiqi:before{content:"\E7C5"}.luckysheet-iconfont-zuobiankuang:before{content:"\E7C6"}.luckysheet-iconfont-fenyechakan:before{content:"\E7C7"}.luckysheet-iconfont-yunhang:before{content:"\E7C8"}.luckysheet-iconfont-lie:before{content:"\E7C9"}.luckysheet-iconfont-quanping:before{content:"\E7CA"}.luckysheet-iconfont-shaixuan:before{content:"\E7CB"}.luckysheet-iconfont-gengxin:before{content:"\E7CC"}.luckysheet-iconfont-qingchu:before{content:"\E7CD"}.luckysheet-iconfont-hang:before{content:"\E7CE"}.luckysheet-iconfont-zhushi:before{content:"\E7CF"}.luckysheet-iconfont-jian:before{content:"\E7D0"}.luckysheet-iconfont-jisuan:before{content:"\E7D1"}.luckysheet-iconfont-jia:before{content:"\E7D2"}.luckysheet-iconfont-dibuduiqi:before{content:"\E7D3"}.luckysheet-iconfont-xiangshang90:before{content:"\E7D4"}.luckysheet-iconfont-wuxuanzhuang:before{content:"\E7D5"}.luckysheet-iconfont-xianshiyincangwangge:before{content:"\E7D6"}.luckysheet-iconfont-dongjie:before{content:"\E7D7"}.luckysheet-iconfont-wenbenzuoduiqi:before{content:"\E7D8"}.luckysheet-iconfont-houtui:before{content:"\E7DA"}.luckysheet-iconfont-shuipinghebing:before{content:"\E7DB"}.luckysheet-iconfont-xiabiankuang:before{content:"\E7DC"}.luckysheet-iconfont-shezhi:before{content:"\E7DD"}.download[data-v-32761c58]{width:100%;float:left}.download button[data-v-32761c58]{color:#444;width:90px;text-align:left}.download button .svg-icon[data-v-32761c58]{font-size:16px;margin-right:10px}.block[data-v-32761c58]{position:relative;z-index:10000;top:0;background:#fff;width:100%}.block h2[data-v-32761c58]{font-size:14px;line-height:30px}.block h4[data-v-32761c58]{font-size:12px}.block .search_input[data-v-32761c58]{font-size:12px;margin-bottom:10px}.block .search_input label[data-v-32761c58]{line-height:20px}.layout[data-v-32761c58]{display:block;position:relative;margin:0;padding:0}.layout-middle[data-v-32761c58]{display:block;position:absolute;left:200px;right:0;width:calc(100% - 200px);margin:0;padding:0}.layout-middle .excel-designer[data-v-32761c58]{display:block;position:relative;margin:0;padding:0}.layout-right[data-v-32761c58]{display:block;position:absolute;top:0;left:0;padding:20px;width:200px;min-height:99.98vh;border-left:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out} \ No newline at end of file +@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.ba04816.eot);src:url(/static/fonts/iconfont.ba04816.eot#iefix) format("embedded-opentype"),url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACJQAAsAAAAAVKgAACH9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCObgqBghDoEwE2AiQDgygLgVYABCAFhG0HimMbCkZ1hhxsHACQvM8iooIUIPv/vyU3hoisQDP7oxQspFSOEhyEI964SGdpHgbZQdChvkX9Xd97nQ+VaIq7d5noG8yfVj6tSWbtWNLPqLzFBpnESCbt5xn252+nSxLNW5sNpeTh+f39/481976wz7uPRtUHGDrbrw4ZrEQ+o9sQS7AOLVwR9wAYHufsX4sltIw2UGCOWN/DZAYtWnRGXhjMYFsLlBOm6ZgkU7ixOUVm3hSYSZmdcy3Ttndf4ESBU8/fv9PPcyR7254j2T+y/RCTRQgUIXDBiWYbMHXqvsls3dZt8yP9Sr8UeI/jYBECy2DQpVnHImNkw4UQi/rrnSeKbo3ABwpVbnt7MIAxZW53t9DyQ2dMry7DVAd+ALjBeSGPOIh9Xfq3yXEPE8N0ZWvf3u79xy5A2HKIRLDVxEQAD/zfm+lMLBjA+E0Di+KU9uanlEK1W7V0DFgDrXU7yJ4lXCBcov15demKDpPSOimby7C0sjnTlu3++0jcl/hgIbgcAnwn3BBuFBeEGwh8Vjk7ve+1wbkBaZxrn1Lq5im1jRnWZJnalH2IbiaZdvxjNFLYNjjuGFPLYXaXebSkr0ZxoxJ0Q5TYn78moVKvgrRuw7Z9FDmzmGDZtcsXT1M8rfKIsqS8oZTyYT6c9itRHs+EAy+Rv59+NScRhJKM+eKuC+vPAT8+K8geLvKTY47JsOvG/iMyFJATC6ijaZbsa6IgU/laM085SuVr48fXBUURyyJFWuHz/9qJHr369BswaMiwEaPGjJswaUpBkxmmzTTLbHPMNc98Cyy0yGJLLLXMciustAqEYARlstgcLo8vEIrEEqlMrlCqyA5ptDq9wWiiOkVz2mojOedguOBye+g6Dn+yRq069Ro0atKsRas27SqVq1KtQolSZUIm8j+eVMpcWg0li2DyBubHB6OHH1/08uOHPn780a+QhKGVCLQRhXZi0EEcOklAF0noJgU9pKGXDPSRhX5yMEAeShRgkCIMUYJhyjBCBYxSCWNUwTjVMEENTFILU9TBNPUwQwPM0ghzNME8zbBACyzSCku0wTLtsKIDVnXCmi5Y1w0bemBTL2zpg239sGMAdg3CniHYNwwHRuDQKBwZg2PjcGICTk3CmSk4Nw0XZuDSLFyZg2vzEGMBbizCrSW4swz3VuDBKjxagyfr8GwDsmzCiy3IsQ2vduDNLrzbgyj78OEAPh1CA0fw5Ri+ncCPU/h1BvWcQy0XUMclZLhKi1S3hrQYdRuAPLdQ4A6K3EOJByjzCBWeoIpnqOYFaniFJG8Q5x1SfECaT0jwBRG+IcoPxPiFIH8Q4h/CBNnZNvqzb/2Hgm+XX6shAPDIDn2nEKAqnKGBUOivZA4KW0gZvafr3BQtvdGQKGOXK+jxMuHo+RqAUxEBRoTkYwZwmLuk6nyIpr4UPapkojiXpKlDRMhw0F0ARQPDTMn9UPjbkHEt+m4NOCLsVWbo7ZitUp6Nl3YnrJ8iAvij7nsIRSkYT2AfwVuji87qVBm1Q5gVmYuFsYgqpu1Vy0P4b7e3HTaoWtKXAeiIq9rtbDfJnFEJ3yZ5C9vMFqQ4rUyz9jyEsVO+bind+meT82iX3uh7WLtf/mNHA48h7jF5ypzTlCQcv5ubeehZSly2XeCJ32vWw0QsABZSz1MRvFzCulXrUUotFpgPLHGctww3N2IaitXjWLBtPW/2mW0J9wozblPnTXu/syRwarVqYG2kKhiLdIG7JvyWsZA0S5cPgxEReXFY0nvhZ941sR0MJUHkFQ7CcX3kV73dn/vD9HnX4zD1iwl79nujL6+lfhIthTEg9FMWn8HG31mJYxBFRLi2SxRsAwoSjCwtLT6/QJHjxcxpyU90trhORYQlNEVoAbGpu2GbosgBG5OkOGMFEfxEaXYgF207EO8w4/rRVbtzcBw43CthsjtfCmL0OBzGXkRcHeMaT59lMFjZVw728rXpog0WMNByJpe9kcvkvWrDIJPwkHN5yI1nKJtnLIbJvJ8CpC0DZRiQThkg5CyOqcHwGnJsLMnghmXYs53/HpcMFoqT/eerkoBVBRRvYxNPHyNNQeQAMCbForbAXiTgZZUEjueAtXnoH7H9zuDi/f636fbH3VdPrdw7eOuDvyN3Drx9st7snrvX+5YNXiGOS91Vux7s+nvhzs3tVjXr8khMzBjJllUMimyapCU9KmwhxrSFdmeVw/5mgCsEvEiy8ZkC1iTTAU42MpStqBEbthqWYkhbLgMBaFuGFwUJmsImfqFKWJCxL1r8hd02vNVOgzRus/VWrCjy4oKdpn6SKxVsiIkZw6rhBYfJ0ioZ2Yyr7KrxWsTdUMmVwKlGtwrS1ultYU0lJS1djQX9BLXJhOoliVrLa2MGmSNLpp8EEYQaEbKMOzWImr1XRLBD/hlFJXG5xhnaCoujC6vDbSYgxnlndOSqiujC2Qxl22EM0UsdJhFI0OZT0U9VILjQS2YtDWPPEV0vq8QfBoKrSKAHyyJalTzpy92Iwf5WDXQ3S/2q3vzeMmwXM+YKRAR/h9PxHVkIvwFsEtzcp+DwLBJ4+XCgqUvB6/4bz4T/Pc73+xR8db87+loFX5KsNIk0O+CSUDQjKiH6L+5+++17E/2rKYc7xznuge8C/0LnW2+dDjxMwe4J6lXQf4PD6zuA0X/0TxRc2riGZNwIx/9/llacjXLVM+x//fV0X5b0Rg803Tl6ZlCLGA4ElEGzGAlFrfbrXd/hJgPp8rNuV+c1+a1er/vwe7Xu7jetCgFvHT04vKLIQFoyXtkoqm5Vf/VgZW/mmwgdUXO134d5bvrXE1+a/NVUpZ53p2sTjcnqVPtlUiRo7hHBzVpuzpDaVDNCmVqWW25HVLJeSgtSp3EcOaIllJZKSBcICf+RFv75kffh00vkrXbCrXV/bTPYWNHBp6fg1kF4dBb9z0c6O8Bb2Qg21xD9vXmtro0S8MjcP2KMGNpoenQ72E1bWkjTZVjZvmRt7mLW37vKQOMyw4vZDtO3GVuded3LdjpJXAzjlahVT9a3OoXav3vXV2/d/cOl/f7YnwY6uvl2oD7xP35241LkqBHnj92H97tjh/3xPw9eGF/Va1d0utVZdao7gzf6EvWmvRYH5rLnK+YqfX2EgUYrd2AoN80Jtw9ZarlGYyE1x52d4/fqIPUEru+NHhlOvi8J6agxKY/J4glz+UkpF7jsMZnv/i7HCrHXkhldR60gA2NqEQBm0U7RAJic1QK4pFWF9GUBqGRNBQJ8CNrihUe0miylfnEoCRxHOMClR93J2HOqhI00VPNASU9MpGFcaFgm58huxFU7jJuGt3PZ3tpDk8P1taRoP1P7aUlYIlwOG6QmCpuboJumMlQsukPbI2cFN+egEZ0/61w+XF2hXLC2Lmej40W+LYdoKBKfSVtT0swQMvpJseQMBxjI1KBqVyywFVhYMyxzwcmtM1CLYbGwWFElDpCgiiqMKEXPBlIPSwaVjUKzllM/IVLiJIlZj+jsgDuXL25S0BWnKLJORTFz2coISy7LOIkSFzhN1z68pJA0g1KqkGlkBBAUREHAtGEin+IneJbKmjRrpB/LAgto2GDJRzPoJg1fEUpAPpsztNSLYWdVoew0be76e8sCijlqVCgZ5PMKhFDDoyYb4+0bLAEVjahP/nmqqrOcsTFjGX++lJObZLTOHDQpSTQZU1S1o1/eiiYbVAELF8jkebSh/cISZioQkoInrF2ENKuGiibeiQ32kSLQjTJWs5YFMgsAFQEzw038skAXWVcEJVHAO7VZVZTUykJGxVtZ0Tl9W/opzIh4uUzZqVExcuaNHOSbxrI2Eg4uthqa52oFfWWW2Q4heSUpiH52C642GsGGhbsRFkecw7h2mgbYSvmpSEY1nXPsZg1+aV7KBf/+4iwlzyex258/q9mj2QIvHBd26NZn7uaVRmqL4OrxYcGbauMtOztwKOj3/cGAez3ZTR+lv9Hc7bQqtBMqbMacn7IsEMBh5YURAn2N5Rk7h07xS7obDn5diqFxQh6rCDk8xkjjTYkF+bAS8poqltS3pJYMhNWhBrUstOcnaBMgHJmVemgECca+aasAoYupWuHBignS9J4SwxIAP0341LMF4jSz5vc/7xPUziYygdfZwjnK5DHnAt/tfrNfpTkSEYau5xDqt9ZFyuB+v52hLC1sqE0AMwt2kkapL5b4qUpGJZ1z7CqGpv3Cz15svDXnOfox3+6FB4Mf/eNT77PwC//z+kusDbwCLURGGwlyqJxNTa0nZfoJ0bRzWMET6jFryDx0AnJCmX64NG/Quj4xeW1qYmh6anhSA7PHAwuXrgvl0bY5Q7MW2r8kWMbi9V8hsBZsCtA4rsnxRwjm4hTqYaWHBFMjXZSAtcQEAQ+eTUuG3QhyeHFzrujQftvWxv6x1eNeDPth7aUUwlIqbDO9d/L2ofCjkoiAwhlKXN9jUGNnpS3QEUNa4WYl1OeEFEDI9eEacreOypDOYV4Ny/oY9qoY6AEI8zOzwIORYbwvlvQ/HQdHIgOmYl9YT1nhKVmRLmMsR5UkjTam5TIel1mMOUGExd5CbDSTcRZ67+rFhgwIn9LsRk4bWNNK1F9nRCGOJXWqiAnRilfl2mAVHTsoWU4vApNEqosFOOBsz9+sTdTt6lRjbmYF/AU3vJ1wz98NtuV1ss5Bc8xY3bnMoJdOqZPm2m653wgTT00+cxhlwl2wpLBzWai+ZKGtZvPfcVmho0CCAM2oXxSolLg+brA5qgE4S7xUbShb1ticnbHa9TiEZdh1Nkil1WvX6sZwVyCjRiK9tOktC+zv1jxr3RrRSqHqD74YMOwk4qnoL7YZdR9qfiVlZyzlML9goAYBzJTtBA3ASvqpTkYFnXPsZoz6y96z83f7jk/sDLpf0hHYdXvXXTiad2e1q7qP9txeI316T4aZVefu9B4LaVfdK5a1BVttbXfU5mC7pjPo8IlLtpjO4DPhHfTZ2z0nx19ME+7uuh17Ex453Xc3+vjUC7ZLZyZYMy132mzohrrrVO+dqGOTApnr7z7kHw3IvrsS6V3fY5G2b6xaTMrdbqg3FJfpAxxKXFJmyU8rfG39hsnv1isdlMFQZ3ioC4xlq4qpp+QXdl/SnW/RK5yMUgnqddd6JWU4wP496D2vOq9FRxd5e72/ohCPAEKocl+TQKz1OUxMkoF0xTZFgVI2mXg1WEtaapSJPOLfwitO+aYRV1xBgyUbvU3ekV2REZ8L7SGiE1pJaNQilbIhalQhbWOerTULv14WN0VJRfLvHvps95YNy25Nu+WNZf+Qf5TvP+afrpge7N/2vff3bf7B0/0LfN+D3DzgO6wa9h2QDQY9llXyq2f9OgiNuVxjKAjlvnq4Fa1R7xGpgMzBrNAKUq5amVMgBIOJIiAAIRqsEUEERA7hJBgiELlskRauDA8YUnYhK4DoZpII7p9r1IgMZNQWDLFasJCbLSCPEzCPBY6ntt3IJ8aCAui+tKQlftx6xOLm3UYj2U9CeVmZHJ7WUtsZwhLkqeW1fm+F7n/AY16g8WoZpMx9j67AigwPadbUh/qZhsmetTqdKqga1/x73VXq+6vXpi8/uNjww5R/n4akT/GcV6Tz8sZuz50601Oa8T2mK2jFd5UUG8FGstI6IHCYFoBTYAwgLQLx6VdJnooVUbrxVVcuK1tb+nye9/VGtZ19yZ+BxyDltEDj6uq6R6/PGhm9ZuCI2+UKHE3/9z27Y/KI3Z68PBDE+KMqoiuZypC71diyfWvWsFTju19kwZ9gE64Jej6JIO0BdjKiih6ESUq/iTW0spnFlJM3+Q7pc4Q64uOcNqrNR7j6gmGwcQJZs4tqq2lH7mHg5BBCbeYXW4brrJsT1TecGRadbwbhKkF08Yvgp4P3P3D1zkfzc5Zdv/7t3ICh6TOGgr/Ly4Nvvz0c/OkLoq4woKfn0SPwYJ+zXKI4lB5vjO5SR8KqKpU4y74+N6v5webqKjYZoh3wSQvo+SGCdAQ4RO1gBuB4vQKN19trchPY8kJ6LAi7WRECd15dUHhrS/T9ApzO+jW5CjC5cjC5CjK5CjO5CtRPLnIQNhY84Mh+wi0vLZW7SdtNjrzjM+xzh7KlgVvBKmmjbCRUjWzCSoeCMRr1StxpjMKhxAtJsgLAm4eV+gajHvRPv9ULgebHfzyuf/ftNc/t0HHbWM9r33533aNKw4LdHnfvStvapNEz4SfVdzwl+9gQs2slZPhfUAiuan97rWTgRyLrECouLX5v27sh0YE+7xU/3umvLdfKcosIXTHsf+nrprCXXy0+Vj5TO/vMZtB54kATsWbc6oOLjz860Lpk51bf4uf/33x1YE7FWOXYnK2503deXWs2xtVf2ST71eof6PP+5PCf6nW+9duyS1IS4uo2H534a3+wuizq96U6cs1F4g5cEREV7Q0fFg/mXnmeNXVDL7xW/Jwgcm9MuVds/2t2eMylrN+rV56fV8IsB8UVwz3HnwqVrdpSEB2WeyOhN/yS+N+qa2/G8PKSbWt1rUllIDtkFpIfkdtKZpU0Fk0un7Xr2mIjM+KAk7Mia73fvMFOiYceOAcFQOEjMC85vtJ76e2psQ2hK6vzLysVv/eZ+z7qjGt8fv1386an13zQ5clxrZVrW71983PekhWVFszxeKuorKzoLY85BaVFsre8tlZLWVbaQ1axpmpJlcRk6q/axALWbnvxwqbYNAOik8YCML9ha2iwxZ+DqiCKexSYUOZ8p9wZv7PvV3x+EYgwRlIMhKI5kdXjFJwceAD1+2MIwV8gDmwtMcdcq12+pQTJ5S82ZVVMPfCf8r//+eA/f/+9/4P9+69fr/cC2b5Iu1Z2Le0Lg7hqStFULQg0QvnpmcEzTwefmRE848yD4QilFHuKm8UcRyjVCpbCYRo5plpiB6qqFYWmgIXNpq640FiMR1s2PmW6+9ZnMESl2MgWah/Oe1CWEGJvDki5womJVbgULRSgWhSjyDVGWiCthIMY81tYPon8/nustCuZOdB6Zb+/nxciHRIbmF1EptQHTakxydJfLace/Dic3Ji4f5lP5ptgQYHyfx9RHt8WztB/EqE14wtXdqQuBKuk809mLvPZv4pYTnxC++9YOLLj5T/vbjGbahK86/veuJHj+aZX/qIcL5dXLgis3k3NNY0jJnDK8uWr/gazqLkluUPEG/XCWjzNQ1ykUqbIVmp/889g83LBGiAKDxWs5GFjsERtIBxExzvGyLnFdhhajG6LEAgTHYVc3ixCFWBAJpaYKECZCIZCRNoJN2EnUXrL9lAEDOJA/lnFSzmH6rFQtlObGZXEvDHBu+KAo2cSI1zUdELR0qf6kIk+dALDatG43ilcPZFToFMEa8sbLgRi8TCGBC3u/YcQAlsDBKFALwiTq2zfMko8ZFAy337xhWVWVrf+n+n9jnDHxImm9bW4PfzseMJBAlLeYxCsdwg1zwACyGapSAfQQKuyVQEVrUorkl+/Ln9EEHODSjxfF/3zZL9mHXmXB7yN2NI+CMtqTAQLiFkQwwcOjyyJhj4BRRSAURrK33xTjqJrOYYltqM1HHRhkFdxTJE48CMAvoAn6QkgsAM1fia7v+U5OTT+Kw4J/rKg0508Y2UghwGGEDAAqoEVQJqHPAj949VEi4XOyJPl09NPq3BHVXcTOah0kDsBGI7L90tDubkvN2pWVXyaX36c/QySkv9QeqV6ZHko65rDawLS1gV47quT589qkt5aEZyjmyHTrp/v7bVLmuYxt6TRHw3PaV6epS+vnrYmIKJTiMhIygpV1m+gmjwy2QDPTI90j7kXPCjQ97m2z8s7ydu7L8czOmDJKqV32OJVERkHd5fVl8UtU0as7TtSOzeGlTD6mE0b7VOFKHbDQASAooCENSuqqrnQEA5HkazOne8zcn/dsuMtGoABvHZ857rakXvcXDm6FnQNyRVsHDl5XpNO5TjoaHA0OA8e9//zSD0AtIKesGAjXeaUSNMPJkQ1dEc3xJ+1SEG5897M8+upO+UtOIiemoCT1iLADEPoAtwN+sbf08lJUdeafnDLCOMzaQG5kQtaAfz1+uAgF7PxCovM2IzMPOLNmw72u1jMngEgipJSQCEFHq3UODopmthhoyuQUrFiDWR/CAsxFceov5CCUWhSMxkYJSE53uOkxgWUikXXA4UQM3NYQqDysQoVjHnTfh6SdkIlMjBSGGUG5EWTA9VgWtpa5kgYCXuPUIqGKjyThGQ/TwE3bx4jrBGLvRkKqyqKqlHyTNY1Cq1ZC7tc0GVRuaFbwCJ+cBvUOEfHgYJAAMDIIb95Fc+z8ezyVIQkc+ob53jMe9ngNSdNI6rcKhUIsruCgCpFPsh1XBBP8CdQj+OD9DVqynuLtGpdA8ybFV1xgeYTrPMggmLA4u+TGJgARqtGqWRpWlrqs/ljKru+pSV7Jchn3zIkw6v3QrMbNtUOPLYJg5c6nL69X8FK+Lm9BidOl8clzK1OmPOZVyRZulSikxRdRYPeO+BtBcV+q1y0LA6KmpkES80lCPst0kYGkR/YxQUGmyKX2w59GzNIX9KNiWa6umosZplQMzt58gyPljnIOeggfMngUgD25nxvSGw0JhrE1XsUYKmjtOQkxh/F8zxML8gfKiycDpxGAQrqveN+sWF2PWLx5IDRvSNsMzJhADkBCSPiQ/hQrRqDY0IgRtiNMx84AQKCM6REUp/+EYexbbKDPMThGDiwBpjy/0yUWVHBKNcJSZMJU7ixUGu4pUZTy+1loQjVcqIIQm3nDQiIAmIYhEYvOu98saDwik5SU9MBc3IrFtLpC9OOKoeqJM5mPHTh6P+V0GTBIegCY2Clqe1XDmUHYadatMrCxFyiAc6rAct8bie0rk7gQQJ7hHSNOm0RrC2kp0wprKit1VWMG6ej65Nki3x1votkJlWNjvZJNTWRPXR9qOwH0WG84t/0UaRVubFbZUQdiAFuF7TyVkBzWkIGeFFY69JUOmnxEc2S+AH1wyVO/OGfZMeArQF/JQ7124ZsPzr6T4PA3cjFA4hcic+GzeaHQNyuO+97SyAKkIFAwkNercYM7n0ZmsaxxvZRq6r4Wu+hvgzXtZddVykhe3b7wfqwEboyOvrolAgozY58zO7QZes02xfP8fQ8vw0x6BObGZmfXiq69JS8iBxJVaG3d5VuUogPbu6OVfmGfVUe7qVnb2T1wtSdGkcE+FDo/N40zvcniVJy4oSF1O9vrpjrWxge7DnJesHDF7T6LAISibVHT/5dV3mR1J+52EpQ4zr9wgnwk27pIJDk7BFLQ2OjIVHck6MAg0vfPFmCcfzHPI8yCgqGdLrpQLyTgbx9obsK+0T7VOHurVvlEP2EmnDJuMzgIIMYAULO5m8rHvIb+pMdKybZ5LAiXDgGNrCc6RO/oOwdZVOBTlr5EAZjC4Fsje3Fc0f8+f7SEhsY1WCIeYzwTSC+W1EQrl08L6gDQhQnLAJd8LmSWmTG7Dkr9JTX1+YBPcekF90Yv3xS7ZF1BolMb7JQ0vpy4AJldfnR+TE04UtuIbAE+9nJWykr+aoYOw2UNJ07Z5PwCdICJ8cghmcgdqIhwNJ2P+Uk5cRb4Py+Mk9cARQrQSMvp5HnOJXiTVRqPpQgUcvvJeC7oM73BUnLrOjJmJiXPEHJATAFnIIAl3OghBGIUSY9bYz3V40SylwSSfqhhGhjl3ri0w5KML/r/qzzzZsfPBj4wQR5IgcgUFfQPCVWLWY6/yIRjYxYX8i/KYTPtz7E1CGC+KZvFityPSimBsHHspyhHY4Ea9JTVlLZD/S3cXFoua08ipA2ZUl/6YTcciN018In//sI6ZPY34t++VZ2EKMXvbh+tWZgtCwUymgLeoEHDiSfcutLTGWGYH177hb9D1eSDoC6g7nt+hB9mal0zcqQ8+dCVq4pZctvNuZQrpd3KjideBrUncm5joMNWWzkTp07HxJu2Lm3p7b+9yXhP6X9FL7k9wW1Vm5nJbNzX0D1xaE/pv0YuviPytqjezuiHvjnJFjioyGWhCnycpOIqFmzPw935F/u7KGiefzHU7PJsJIxm+oLT7vuSxDvhJvm4GU9WsmJXFwT91wVz0WxqN/4InyKPED28Oa45TfEK4vofywig9ELs37TZzIS6AFW0asBfD+Bl0ZluWtLMF5aQJPOiB5dUaw0kSuj06yKkjiPuEpYgkQyAzq9NTpoagqOtUVJmbcmPuwai9Rk+jxaZTzF58ZSHszNJBzv974QWFRdsirDUVzZbJejLnPestqahDO4su66JTY1DQfc0PEtgYeLf+LO0PVAoKypqWLhaVqr/iFb1GUViByfHX3/7fvb2PvoWTo3W/a/V+Xg24gY4h2eoXLtG0v8J6/Q5G7/4/1fXs4MXclf/tr4v9BUxr8SWIOEK6nfoKEGKi/dFKG70Q9dS1sSqyTlHs/eHcr0uDPlhpncVXCXqDLPXarcSnelKRvfvEqTO3gpr8CkJzbupN4H7lDrIzGjmbLA5K7v3SVa/e4uVZ883JUOpKYWq4ymqZdX44QQscublFMr3Kszrq4L/6DVASY3Ry75j1OgGXldVLdzv5FxYtEg/NpzjH3eT3LNvzZbhsMg+TiJxzYWLsbxsyx72g4UrVyfVuOEELHLm2QPS61wf/dx5fvif9DqAFOE7uuw/3EK9OTzuqgSMN8CJ9LlRRt+7TmiSJ/jpSe55l8ogsNlluQjfU0e21i4DOr4WSKrPqlQlE+vsuVRUGm+/hVMTlQgRUyquPCfLBIhKf+ocWTNAUSYUMaFVNpY54MwipM0y4uyqpu264dxmpd124/zup/3+0EIRlDmNyA7zeHy+AKhSCyRyuQKpUr956J3Sac3GE1mi9Vmdzhdbo/Xd4mu7CdgT7jsIBHfNOnxK5LwGpg7Is2O1qchGwKJtOpx7UkHYDNqFLareKlGvW6jB2wxqHTEdjk7Be5A6lUS9ZsmUTRrgTrgs4kUIS66zKjoYP0eJdZv9oBrk6h1Wi+CQ7YPrTeMdFFwNAS8vxHbMDU4oEdA9uGO3CAHE3tOsF34nyjNUQecB6TjXuTg9CRvZ6qinGiE7PdBrJzfbN+OHZRCH9XKaNUE0bvSGKvADWWp1UQW30lsgHXsnAQccMkB0Mm6jIjXmOYSR8tIBa0TtscZhSXwRiR01h0pa+q/xjnzhCOxPb3zvCsK95kGEzJmqYuu75oc34nPZETBkHtIT9WQvc4F5XRKN3pvO5Y/BBGL5ozyoVk98es6kBqNubiJOhLw6hGcIPio7iEyAqVNzXS4aUEBKJlmLQRtCozmvHli7F653tyaWBGHzbaolSJOwZZ4V0tFTKACGXekU6Bqm7QAed+iww8VFkX58zAzHFucbafUNjil+sP34TuWxtYKfmG7SBJFHZlAEMLiog9RNjRveXWXDVCP7ECWFoMjFSqYBqRVLiHLawKexYYOm9Up8DYOiS+8LyU406BGKXjmLXDgnszuGReg5dDtPO8bmeVfeB/4ZIth3LFCerstGoCr/aDNrFJvUtISUq8D4aJz4P79C+bBzKI4cTZp+Ld4QTOPH5WMp3CILztqe8OmOVMfVdw1NR7DqGs8k5RtPlQ2hmWME41Ku0b3VBbyKBqcBcHh7OgJAAAA") format("woff2"),url(/static/fonts/iconfont.cf8ecfd.woff) format("woff"),url(/static/fonts/iconfont.111271f.ttf) format("truetype"),url(/static/img/iconfont.c6ec5b6.svg#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.luckysheet-iconfont-lianjie:before{content:"\E7F8"}.luckysheet-iconfont-dayinquyu:before{content:"\E7F5"}.luckysheet-iconfont-dayinyemianpeizhi:before{content:"\E7F6"}.luckysheet-iconfont-dayinbiaoti:before{content:"\E7F7"}.luckysheet-iconfont-fenyeyulan:before{content:"\E7F2"}.luckysheet-iconfont-putong:before{content:"\E7F3"}.luckysheet-iconfont-yemianbuju:before{content:"\E7F4"}.luckysheet-iconfont-biaogesuoding:before{content:"\E7EE"}.luckysheet-iconfont-zhuandao1:before{content:"\E7F1"}.luckysheet-iconfont-youjiantou:before{content:"\E7ED"}.luckysheet-iconfont-caidan2:before{content:"\E7EF"}.luckysheet-iconfont-tihuan:before{content:"\E7F0"}.luckysheet-iconfont-dongjie1:before{content:"\E7E1"}.luckysheet-iconfont-jian1:before{content:"\E7E2"}.luckysheet-iconfont-jia1:before{content:"\E7E3"}.luckysheet-iconfont-yichu1:before{content:"\E7E4"}.luckysheet-iconfont-shengxu1:before{content:"\E7E5"}.luckysheet-iconfont-neikuangxian:before{content:"\E7E6"}.luckysheet-iconfont-qingchushaixuan:before{content:"\E7E7"}.luckysheet-iconfont-wenbenxiangshang:before{content:"\E7E8"}.luckysheet-iconfont-jiangxu1:before{content:"\E7E9"}.luckysheet-iconfont-neikuanghengxian:before{content:"\E7EA"}.luckysheet-iconfont-neikuangshuxian:before{content:"\E7EB"}.luckysheet-iconfont-zidingyipaixu:before{content:"\E7EC"}.luckysheet-iconfont-logo2:before{content:"\E7DF"}.luckysheet-iconfont-logo:before{content:"\E7E0"}.luckysheet-iconfont-wenbenqingxie1:before{content:"\E7DE"}.luckysheet-iconfont-jiacu:before{content:"\E7D9"}.luckysheet-iconfont-sousuo:before{content:"\E78A"}.luckysheet-iconfont-guanbi:before{content:"\E78B"}.luckysheet-iconfont-xiayige:before{content:"\E78C"}.luckysheet-iconfont-xiala:before{content:"\E78D"}.luckysheet-iconfont-wenbenyanse:before{content:"\E78E"}.luckysheet-iconfont-shangyige:before{content:"\E78F"}.luckysheet-iconfont-shujutoushi:before{content:"\E790"}.luckysheet-iconfont-tianchong:before{content:"\E791"}.luckysheet-iconfont-zengjiaxiaoshuwei:before{content:"\E792"}.luckysheet-iconfont-bianji2:before{content:"\E793"}.luckysheet-iconfont-jieping:before{content:"\E794"}.luckysheet-iconfont-jianxiaoxiaoshuwei:before{content:"\E796"}.luckysheet-iconfont-caidan:before{content:"\E797"}.luckysheet-iconfont-shujuku:before{content:"\E798"}.luckysheet-iconfont-wubiankuang:before{content:"\E799"}.luckysheet-iconfont-bianji:before{content:"\E79A"}.luckysheet-iconfont-qingchuyangshi:before{content:"\E79B"}.luckysheet-iconfont-shanchu:before{content:"\E79C"}.luckysheet-iconfont-wenbenjuzhongduiqi:before{content:"\E79D"}.luckysheet-iconfont-dayin:before{content:"\E79E"}.luckysheet-iconfont-wenbenfenge:before{content:"\E79F"}.luckysheet-iconfont-hanshu:before{content:"\E7A0"}.luckysheet-iconfont-jiangxu:before{content:"\E7A1"}.luckysheet-iconfont-dingbuduiqi:before{content:"\E7A2"}.luckysheet-iconfont-tupian:before{content:"\E7A3"}.luckysheet-iconfont-xiangxia90:before{content:"\E7A4"}.luckysheet-iconfont-shupaiwenzi:before{content:"\E7A5"}.luckysheet-iconfont-quanjiabiankuang:before{content:"\E7A6"}.luckysheet-iconfont-shengxu:before{content:"\E7A7"}.luckysheet-iconfont-caijian:before{content:"\E7A8"}.luckysheet-iconfont-jine:before{content:"\E7A9"}.luckysheet-iconfont-caidan1:before{content:"\E7AA"}.luckysheet-iconfont-quxiaohebing:before{content:"\E7AB"}.luckysheet-iconfont-wenbenxiahuaxian:before{content:"\E7AC"}.luckysheet-iconfont-shangbiankuang:before{content:"\E7AD"}.luckysheet-iconfont-dingwei:before{content:"\E7AE"}.luckysheet-iconfont-sizhoujiabiankuang:before{content:"\E7AF"}.luckysheet-iconfont-cebianlanshouqi:before{content:"\E7B0"}.luckysheet-iconfont-hebing:before{content:"\E7B1"}.luckysheet-iconfont-xiangshangqingxie:before{content:"\E7B2"}.luckysheet-iconfont-shuipingduiqi:before{content:"\E7B3"}.luckysheet-iconfont-wenbenshanchuxian:before{content:"\E7B4"}.luckysheet-iconfont-wenbenyouduiqi:before{content:"\E7B5"}.luckysheet-iconfont-qianjin:before{content:"\E7B6"}.luckysheet-iconfont-tubiao:before{content:"\E7B7"}.luckysheet-iconfont-youbiankuang:before{content:"\E7B8"}.luckysheet-iconfont-baifenhao:before{content:"\E7B9"}.luckysheet-iconfont-geshishua:before{content:"\E7BA"}.luckysheet-iconfont-baocun:before{content:"\E7BB"}.luckysheet-iconfont-shujuyanzheng:before{content:"\E7BC"}.luckysheet-iconfont-jieduan:before{content:"\E7BD"}.luckysheet-iconfont-geshitiaojian:before{content:"\E7BE"}.luckysheet-iconfont-zidonghuanhang:before{content:"\E7BF"}.luckysheet-iconfont-cebianlanzhankai:before{content:"\E7C0"}.luckysheet-iconfont-shaixuan2:before{content:"\E7C1"}.luckysheet-iconfont-xiangxiaqingxie:before{content:"\E7C2"}.luckysheet-iconfont-yichu:before{content:"\E7C3"}.luckysheet-iconfont-chuizhihebing:before{content:"\E7C4"}.luckysheet-iconfont-wenbenfensanduiqi:before{content:"\E7C5"}.luckysheet-iconfont-zuobiankuang:before{content:"\E7C6"}.luckysheet-iconfont-fenyechakan:before{content:"\E7C7"}.luckysheet-iconfont-yunhang:before{content:"\E7C8"}.luckysheet-iconfont-lie:before{content:"\E7C9"}.luckysheet-iconfont-quanping:before{content:"\E7CA"}.luckysheet-iconfont-shaixuan:before{content:"\E7CB"}.luckysheet-iconfont-gengxin:before{content:"\E7CC"}.luckysheet-iconfont-qingchu:before{content:"\E7CD"}.luckysheet-iconfont-hang:before{content:"\E7CE"}.luckysheet-iconfont-zhushi:before{content:"\E7CF"}.luckysheet-iconfont-jian:before{content:"\E7D0"}.luckysheet-iconfont-jisuan:before{content:"\E7D1"}.luckysheet-iconfont-jia:before{content:"\E7D2"}.luckysheet-iconfont-dibuduiqi:before{content:"\E7D3"}.luckysheet-iconfont-xiangshang90:before{content:"\E7D4"}.luckysheet-iconfont-wuxuanzhuang:before{content:"\E7D5"}.luckysheet-iconfont-xianshiyincangwangge:before{content:"\E7D6"}.luckysheet-iconfont-dongjie:before{content:"\E7D7"}.luckysheet-iconfont-wenbenzuoduiqi:before{content:"\E7D8"}.luckysheet-iconfont-houtui:before{content:"\E7DA"}.luckysheet-iconfont-shuipinghebing:before{content:"\E7DB"}.luckysheet-iconfont-xiabiankuang:before{content:"\E7DC"}.luckysheet-iconfont-shezhi:before{content:"\E7DD"}.download[data-v-50d7cabc]{width:100%;float:left}.download button[data-v-50d7cabc]{color:#444;width:90px;text-align:left}.download button .svg-icon[data-v-50d7cabc]{font-size:16px;margin-right:10px}.block[data-v-50d7cabc]{position:relative;z-index:10000;top:0;background:#fff;width:100%}.block h2[data-v-50d7cabc]{font-size:14px;line-height:30px}.block h4[data-v-50d7cabc]{font-size:12px}.block .search_input[data-v-50d7cabc]{font-size:12px;margin-bottom:10px}.block .search_input label[data-v-50d7cabc]{line-height:20px}.layout[data-v-50d7cabc]{display:block;position:relative;margin:0;padding:0}.layout-middle[data-v-50d7cabc]{display:block;position:absolute;left:200px;right:0;width:calc(100% - 200px);margin:0;padding:0}.layout-middle .excel-designer[data-v-50d7cabc]{display:block;position:relative;margin:0;padding:0}.layout-right[data-v-50d7cabc]{display:block;position:absolute;top:0;left:0;padding:20px;width:200px;min-height:99.98vh;border-left:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5ad2.ed5a813c.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5ad2.ed5a813c.css new file mode 100644 index 000000000..d8087c240 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-5ad2.ed5a813c.css @@ -0,0 +1 @@ +.imagebox[data-v-92e12b86],.text[data-v-6b04e136],.text[data-v-6da4b633],.text[data-v-ed2d4c6e],a[data-v-6ebd3276]{width:100%;height:100%;overflow:hidden}.imagebox img[data-v-92e12b86]{width:100%;height:100%}.startImg[data-v-92e12b86]{-webkit-animation:turn-data-v-92e12b86 1s linear infinite;animation:turn-data-v-92e12b86 1s linear infinite}@-webkit-keyframes turn-data-v-92e12b86{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}@keyframes turn-data-v-92e12b86{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.slideBox[data-v-27e113c0]{width:450px;height:230px;overflow:hidden;position:relative}.slideBox .hd[data-v-27e113c0]{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1}.slideBox .hd ul[data-v-27e113c0]{overflow:hidden;zoom:1;float:left}.slideBox .hd ul li[data-v-27e113c0]{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff;cursor:pointer}.slideBox .hd ul li.on[data-v-27e113c0]{background:red;color:#fff}.slideBox .bd[data-v-27e113c0]{position:relative;height:100%;z-index:0}.slideBox .bd li[data-v-27e113c0]{zoom:1;vertical-align:middle}.slideBox .bd img[data-v-27e113c0]{width:450px;height:230px;display:block}.slideBox .next[data-v-27e113c0],.slideBox .prev[data-v-27e113c0]{position:absolute;left:3%;top:50%;margin-top:-25px;display:block;width:32px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAAgCAMAAADE+3+QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkYyNjE4RUVDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkYyNjE4RUZDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjI2MThFQ0NGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjI2MThFRENGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmLDzTcAAAAJUExURcHBwf///////wCiYf4AAAADdFJOU///ANfKDUEAAACjSURBVHja5JnRDUQhDMNM9h/6STfCgeKPsIBjhGgpnHPy7wLyYLUicC5IPJGtJfi5ngsSL1Q7AYgsW8QTV7YJJ6psFU1M2S6YiLJlLPFk21CiydaRaOT+7mKxhYOERDcuCBy+cheiJHBqHEYGqZzPug6d4aG7aajmDPUSQz3iUO8/9KYbeqsPzWCGZmtDM9OhWfjSH8fY31UuSMkT2UqET4ABAHo9NyVXKF5RAAAAAElFTkSuQmCC) -110px 5px no-repeat;filter:alpha(opacity=50);opacity:.5}.slideBox .next[data-v-27e113c0]{left:auto;right:3%;background-position:8px 5px}.slideBox .next[data-v-27e113c0]:hover,.slideBox .prev[data-v-27e113c0]:hover{filter:alpha(opacity=100);opacity:1}.slideBox .nextStop[data-v-27e113c0],.slideBox .prevStop[data-v-27e113c0]{display:none}.container[data-v-2d27c298]{width:100%;height:100%}video[data-v-2d27c298]{width:100%;height:100%;display:block}iframe[data-v-537c80f2]{width:100%;height:100%;border:none}.echarts[data-v-0f247c08],.echarts[data-v-2dcc2436],.echarts[data-v-3fe2ff9e],.echarts[data-v-6d3f1fb2],.echarts[data-v-0800a9a0],.echarts[data-v-a83b2528],.echarts[data-v-b6bc8966],.echarts[data-v-c05cc2de]{width:100%;height:100%;overflow:hidden}.txtScroll-top[data-v-ff48be56]{overflow:hidden;position:relative}.title[data-v-ff48be56]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%}.title>div[data-v-ff48be56]{height:50px;line-height:50px;width:100%}.txtScroll-top .bd[data-v-ff48be56]{width:100%}.txtScroll-top .infoList li[data-v-ff48be56]{height:50px;line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.txtScroll-top .infoList li>div[data-v-ff48be56]{width:100%}.echartMap[data-v-63da0746]{width:100%;height:100%}.echarts[data-v-63da0746],.echarts[data-v-6988e2c9]{width:100%;height:100%;overflow:hidden}.echartMap[data-v-82db8fb2]{width:100%;height:100%}.echarts[data-v-0a794445],.echarts[data-v-3ae5e8e1],.echarts[data-v-7b252c5b],.echarts[data-v-15a4a600],.echarts[data-v-38f574cf],.echarts[data-v-82db8fb2],.echarts[data-v-491b0d10],.echarts[data-v-72490f16]{width:100%;height:100%;overflow:hidden}.vue-draggalbe[data-v-7ff527a0]{position:absolute}.widget-active[data-v-7ff527a0]{cursor:move;border:1px dashed #09f;background-color:rgba(115,170,229,.5)}.avue-draggable[data-v-7ff527a0]{padding:0!important}[data-v-173d22f8] .el-color-picker--mini,[data-v-173d22f8] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.color-box .title[data-v-c536ad68]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[data-v-c536ad68] .el-table,[data-v-c536ad68] .el-table__expanded-cell,[data-v-c536ad68] .el-table th,[data-v-c536ad68] .el-table tr{background-color:transparent!important;color:#859094!important}[data-v-c536ad68] .el-table td,[data-v-c536ad68] .el-table th.is-leaf{border-bottom:none;line-height:26px}[data-v-c536ad68] .el-table tbody tr:hover>td{background-color:#263445!important}[data-v-c536ad68] .el-table:before{height:0}[data-v-c536ad68] .el-color-picker--mini,[data-v-c536ad68] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}[data-v-c536ad68] .el-dialog{background:#1b1e25}[data-v-c536ad68] .el-dialog .el-dialog__title{color:#fff}.color-box[data-v-c536ad68]{display:inline-block;width:20px;height:20px;border-radius:5px}.editor[data-v-c536ad68]{color:#409eff;cursor:pointer}[data-v-97db715e] ::-webkit-scrollbar-track-piece{background-color:transparent}[data-v-97db715e] .el-table__body-wrapper::-webkit-scrollbar{width:0;height:8px}[data-v-97db715e] .el-table__body-wrapper::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(144,146,152,.3)}[data-v-97db715e] .el-table,[data-v-97db715e] .el-table__expanded-cell,[data-v-97db715e] .el-table th,[data-v-97db715e] .el-table tr{background-color:transparent!important;color:#859094!important;font-size:12px!important}[data-v-97db715e] .el-table td,[data-v-97db715e] .el-table th.is-leaf{border-bottom:none;line-height:26px}[data-v-97db715e] .el-table tbody tr:hover,[data-v-97db715e] .el-table tbody tr:hover>td{background-color:#263445!important}[data-v-97db715e] .el-table:before{height:0}.button-group .el-button[data-v-97db715e]{padding:0}.file[data-v-d60745ec]{position:absolute;width:100%;padding:100%;right:0;top:0;opacity:0}[data-v-d60745ec] .el-input-group__append,[data-v-d60745ec] .el-input-group__prepend{padding:0 10px!important;overflow:hidden}.iconfont[data-v-d60745ec]{font-size:12px}[data-v-4415959e] .el-form-item{margin-bottom:5px}[data-v-4415959e] .el-form-item__label{font-size:12px;color:#fff}.code-mirror[data-v-4415959e]{width:100%;height:100%!important}.el-collapse[data-v-4415959e]{border-top:none;border-bottom:none}[data-v-4415959e] .el-collapse-item__header{height:40px;line-height:40px;background:transparent;color:#bcc9d4;font-weight:300;font-size:12px;border-color:#282e3a}[data-v-4415959e] .el-collapse-item__wrap{background:transparent;border:none}[data-v-4415959e] .el-collapse-item__content{padding-bottom:0}.contentmenu[data-v-76c3e416]{width:160px;position:fixed;z-index:99999;list-style:none;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.1);box-shadow:0 2px 6px rgba(0,0,0,.1);padding:0;background:#27343e;color:#bcc9d4}.contentmenu .contentmenu__item[data-v-76c3e416]{z-index:10000;list-style:none;padding:8px 12px;cursor:pointer;position:relative;font-size:12px}.contentmenu .iconfont[data-v-76c3e416]{font-size:12px}.mr10[data-v-8c5c65fc]{margin-right:10px}.ml20[data-v-8c5c65fc]{margin-left:20px}.border-right[data-v-8c5c65fc]{border-right:1px solid #273b4d}.border-left[data-v-8c5c65fc]{border-left:1px solid #273b4d}.el-icon-arrow-down[data-v-8c5c65fc]{font-size:10px}.is-active[data-v-8c5c65fc]{background:#31455d!important;color:#bfcbd9!important}.layout[data-v-8c5c65fc]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden}.layout .layout-left[data-v-8c5c65fc],.layout[data-v-8c5c65fc]{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.layout .layout-left[data-v-8c5c65fc]{display:inline-block;border:0;background-color:#263445}.layout .layout-left .tools-item[data-v-8c5c65fc]{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%;height:48px;-ms-flex-align:center;align-items:center;-webkit-box-align:center;padding:0 6px;cursor:pointer;font-size:12px;margin-bottom:1px}.layout .layout-left .tools-item .tools-item-icon[data-v-8c5c65fc]{color:#409eff;margin-right:10px;width:53px;height:30px;line-height:30px;text-align:center;display:block;border:1px solid #3a4659;background:#282a30}.layout .layout-left-fold[data-v-8c5c65fc]{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;font-size:12px;overflow:hidden;background-color:#242a30;cursor:pointer;padding-top:26%}.layout .layout-left-fold i[data-v-8c5c65fc]{font-size:18px;width:18px;height:23px;margin-left:0;color:#bfcbd9}.layout .layout-middle[data-v-8c5c65fc]{position:relative;height:100%;background-color:#242a30;box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #242a30;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;text-align:center}.layout .layout-middle .top-button[data-v-8c5c65fc]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:40px;line-height:40px;margin-left:9px}.layout .layout-middle .top-button .btn[data-v-8c5c65fc]{color:#788994;width:55px;text-align:center;display:block;cursor:pointer}.layout .layout-middle .top-button .btn .el-icon-arrow-down[data-v-8c5c65fc]{transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.layout .layout-middle .top-button .btn[data-v-8c5c65fc]:hover{background:#191d22}.layout .layout-middle .top-button .btn:hover .el-icon-arrow-down[data-v-8c5c65fc]{transform:rotate(180deg);-ms-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-o-transform:rotate(180deg);-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.layout .layout-middle .workbench-container[data-v-8c5c65fc]{position:relative;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}.layout .layout-middle .workbench-container .vueRuler[data-v-8c5c65fc]{width:100%;padding:18px 0 0 18px}.layout .layout-middle .workbench-container .workbench[data-v-8c5c65fc]{background-color:#1e1e1e;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform-origin:0 0;transform-origin:0 0;margin:0;padding:0}.layout .layout-middle .workbench-container .bg-grid[data-v-8c5c65fc]{position:absolute;top:0;left:0;width:100%;height:100%;background-size:30px 30px,30px 30px;background-image:linear-gradient(hsla(0,0%,100%,.1) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.1) 1px,transparent 0)}.layout .layout-middle .bottom-text[data-v-8c5c65fc]{width:100%;color:#a0a0a0;font-size:16px;position:absolute;bottom:20px}.layout .layout-right[data-v-8c5c65fc]{display:inline-block;height:100%}.layout[data-v-8c5c65fc] .el-tabs--border-card{border:0}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__header .el-tabs__nav .el-tabs__item{background-color:#242f3b;border:0}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__header .el-tabs__nav .el-tabs__item.is-active{background-color:#31455d}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content{background-color:#242a30;height:calc(100vh - 39px);overflow-x:hidden;overflow-y:auto}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content .el-tab-pane{color:#bfcbd9}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar{width:5px;height:14px}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb,.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track{border-radius:1px;border:0 solid transparent}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track-piece{background:#29405c;-webkit-border-radius:7px}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track{-webkit-box-shadow:1px 1px 5px rgba(116,148,170,.5) inset;box-shadow:inset 1px 1px 5px rgba(116,148,170,.5)}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb{min-height:20px;background-clip:content-box;-webkit-box-shadow:0 0 0 5px rgba(116,148,170,.5) inset;box-shadow:inset 0 0 0 5px rgba(116,148,170,.5)}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-corner{background:transparent}.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb:horizontal,.layout[data-v-8c5c65fc] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb:vertical{background-color:#00113a;-webkit-border-radius:7px}li[data-v-8c5c65fc],ul[data-v-8c5c65fc]{list-style:none;margin:0;padding:0}.nav[data-v-8c5c65fc]{width:40px;padding:0;list-style:none;zoom:1}.nav[data-v-8c5c65fc]:after,.nav[data-v-8c5c65fc]:before{content:"";display:table}.nav[data-v-8c5c65fc]:after{clear:both}.nav>li[data-v-8c5c65fc]{width:55px;text-align:left;position:relative}.nav>li a[data-v-8c5c65fc]{float:left;padding:12px 30px;color:#999;font:700 12px;text-decoration:none}.nav>li[data-v-8c5c65fc]:hover{color:#788994}.nav>li ul[data-v-8c5c65fc]{visibility:hidden;position:absolute;z-index:1000;list-style:none;left:0;padding:0;background-color:#242a30;opacity:0;_margin:0;width:120px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nav>li:hover>ul[data-v-8c5c65fc]{opacity:1;visibility:visible;margin:0}.nav>li:hover>ul li[data-v-8c5c65fc]:hover{background-color:#191d22}.nav ul li[data-v-8c5c65fc]{float:left;display:block;border:0;width:100%;font-size:12px}.nav ul a[data-v-8c5c65fc]{padding:10px;width:100%;display:block;float:none;height:120px;border:1px solid #30445c;background-color:#191d22;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nav ul a[data-v-8c5c65fc]:hover{border:1px solid #3c5e88}.nav ul li:first-child>a[data-v-8c5c65fc]:hover:before{border-bottom-color:#04acec}.nav ul ul[data-v-8c5c65fc]{top:0;left:120px;width:400px;height:300px;overflow:auto;padding:10px;_margin:0}.nav ul ul li[data-v-8c5c65fc]{width:120px;height:120px;margin-right:3px;display:block;float:left}.nav .item[data-v-8c5c65fc]{padding:5px}[data-v-8c5c65fc] .vue-ruler-h,[data-v-8c5c65fc] .vue-ruler-v{opacity:.3} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-690c.f15e7b7e.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-690c.f15e7b7e.css new file mode 100644 index 000000000..8f2445eec --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-690c.f15e7b7e.css @@ -0,0 +1 @@ +.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.main-layout[data-v-42c0e4df]{padding:20px;position:relative;height:auto;background:#fff}.main-layout header[data-v-42c0e4df]{font-size:24px;text-align:center;line-height:80px}.main-layout .bg[data-v-42c0e4df]{width:100%;height:200px;position:relative;overflow:hidden;margin:10px 0;border:12px solid #fff}.main-layout .bg .bg-img[data-v-42c0e4df]{position:absolute;width:100%;height:100%;-webkit-filter:blur(6px);filter:blur(6px);z-index:2}.main-layout .content[data-v-42c0e4df]{width:100%;height:100%;position:absolute;color:#fff;left:0;top:0;z-index:3}.main-layout footer[data-v-42c0e4df]{width:100%;font-size:14px;padding:16px;line-height:30px;position:absolute;z-index:3;bottom:0}.main-layout footer .operation[data-v-42c0e4df]{float:right}.main-layout footer .operation .edit[data-v-42c0e4df],.main-layout footer .operation .view[data-v-42c0e4df]{color:#fff;font-size:14px} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-7482.4951b1f4.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-7482.4951b1f4.css deleted file mode 100644 index b747188a9..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-7482.4951b1f4.css +++ /dev/null @@ -1 +0,0 @@ -.el-upload[data-v-1c9fe563]{display:inline-block} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-6e86.54a1bbcb.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-7a76.77582ee8.css similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-6e86.54a1bbcb.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-7a76.77582ee8.css diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-943b.f10cfb64.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-943b.f10cfb64.css new file mode 100644 index 000000000..6e36713db --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-943b.f10cfb64.css @@ -0,0 +1 @@ +.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.main[data-v-6f01286f] .view-lines *{font-family:Consolas,Courier New,monospace!important}.code-mirror-form[data-v-47b2c5a4] .el-form-item__content{height:200px;overflow:hidden}.my-editor[data-v-47b2c5a4]{height:400px}.my-editor div.jsoneditor[data-v-47b2c5a4]{height:400px!important}.title[data-v-47b2c5a4]{width:100%;display:inline-block;text-align:left}.addSwitch ul[data-v-47b2c5a4]{list-style:none;margin:0}.addSwitch ul li[data-v-47b2c5a4]{width:200px;height:60px;padding:10px;border:1px solid #aaa;float:left;margin-right:10px;text-align:center;line-height:40px;cursor:pointer}.addSwitch ul li.add[data-v-47b2c5a4],.addSwitch ul li[data-v-47b2c5a4]:hover{border:1px solid #3385ff;color:#3385ff}.filterWrapper[data-v-47b2c5a4]{position:relative}.filterTable[data-v-47b2c5a4]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;border:1px solid #dcdfe6;border-radius:4px;padding:5px 15px 25px}.filterWrapper .addFilter[data-v-47b2c5a4]{cursor:pointer;width:150px;height:50px;border-radius:3px;border:1px solid #67c23a;margin-top:20px;background:#e4f7da;padding-left:24px}.filterWrapper .addFilter i[data-v-47b2c5a4]{font-size:20px;color:#67c23a;margin-top:16px;margin-left:16px}.filterWrapper .addFilter span[data-v-47b2c5a4]{color:#67c23a;margin-left:5px;font-size:18px}.filterBox[data-v-47b2c5a4]{width:182px;position:relative;margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.filterBox .box[data-v-47b2c5a4]{width:150px;height:50px;text-align:center;position:relative;background:#e0e8ff;border-radius:3px;border:1px solid #b8caff;float:left;padding:5px 20px}.filterBox .box .reduceFilter[data-v-47b2c5a4]{width:10px;height:10px;position:absolute;right:4px;top:4px;cursor:pointer}.filterBox .box .editor[data-v-47b2c5a4]{width:12px;height:13px;position:absolute;left:-5px;top:5px;cursor:pointer}.filterBox .rightIcon[data-v-47b2c5a4]{width:45px;height:19px;position:absolute;right:10px;top:15px}.filterTextarea[data-v-47b2c5a4] .el-textarea__inner{min-height:300px!important}.filterBox .code-selected[data-v-47b2c5a4]{width:70%;margin-top:4px}.filterBox[data-v-47b2c5a4] .el-input--suffix .el-input__inner{background:#f4f7ff;border-radius:3px;border:1px solid #b8caff;color:#89a3ee}.font-icon-right[data-v-47b2c5a4]{line-height:35px;font-size:30px}.popover-box[data-v-47b2c5a4]{width:100%;height:220px;overflow-y:auto;padding:10px}[data-v-00111258] .el-dropdown{margin-right:20px} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-a4f3.6ef35276.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-a4f3.6b88857b.css similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-a4f3.6ef35276.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-a4f3.6b88857b.css diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-b935.18d3a43b.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-b935.18d3a43b.css deleted file mode 100644 index c1978b648..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-b935.18d3a43b.css +++ /dev/null @@ -1 +0,0 @@ -.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.main[data-v-d2955d34] .view-lines *{font-family:Consolas,Courier New,monospace!important}.code-mirror-form[data-v-3c3cbae6] .el-form-item__content{height:200px;overflow:hidden}.my-editor[data-v-3c3cbae6]{height:400px}.my-editor div.jsoneditor[data-v-3c3cbae6]{height:400px!important}.title[data-v-3c3cbae6]{width:100%;display:inline-block;text-align:left}.addSwitch ul[data-v-3c3cbae6]{list-style:none;margin:0}.addSwitch ul li[data-v-3c3cbae6]{width:200px;height:60px;padding:10px;border:1px solid #aaa;float:left;margin-right:10px;text-align:center;line-height:40px;cursor:pointer}.addSwitch ul li.add[data-v-3c3cbae6],.addSwitch ul li[data-v-3c3cbae6]:hover{border:1px solid #3385ff;color:#3385ff}.filterWrapper[data-v-3c3cbae6]{position:relative}.filterTable[data-v-3c3cbae6]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;border:1px solid #dcdfe6;border-radius:4px;padding:5px 15px 25px}.filterWrapper .addFilter[data-v-3c3cbae6]{cursor:pointer;width:150px;height:50px;border-radius:3px;border:1px solid #67c23a;margin-top:20px;background:#e4f7da;padding-left:24px}.filterWrapper .addFilter i[data-v-3c3cbae6]{font-size:20px;color:#67c23a;margin-top:16px;margin-left:16px}.filterWrapper .addFilter span[data-v-3c3cbae6]{color:#67c23a;margin-left:5px;font-size:18px}.filterBox[data-v-3c3cbae6]{width:182px;position:relative;margin-top:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.filterBox .box[data-v-3c3cbae6]{width:150px;height:50px;text-align:center;position:relative;background:#e0e8ff;border-radius:3px;border:1px solid #b8caff;float:left;padding:5px 20px}.filterBox .box .reduceFilter[data-v-3c3cbae6]{width:10px;height:10px;position:absolute;right:4px;top:4px;cursor:pointer}.filterBox .box .editor[data-v-3c3cbae6]{width:12px;height:13px;position:absolute;left:-5px;top:5px;cursor:pointer}.filterBox .rightIcon[data-v-3c3cbae6]{width:45px;height:19px;position:absolute;right:10px;top:15px}.filterTextarea[data-v-3c3cbae6] .el-textarea__inner{min-height:300px!important}.filterBox .code-selected[data-v-3c3cbae6]{width:70%;margin-top:4px}.filterBox[data-v-3c3cbae6] .el-input--suffix .el-input__inner{background:#f4f7ff;border-radius:3px;border:1px solid #b8caff;color:#89a3ee}.font-icon-right[data-v-3c3cbae6]{line-height:35px;font-size:30px}.popover-box[data-v-3c3cbae6]{width:100%;height:220px;overflow-y:auto;padding:10px} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c0ac.f9962c95.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c0ac.f9962c95.css deleted file mode 100644 index bb607408e..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c0ac.f9962c95.css +++ /dev/null @@ -1 +0,0 @@ -.imagebox[data-v-888c1542],.text[data-v-00cb103e],.text[data-v-6e740432],.text[data-v-79310a83],a[data-v-a773e3d0]{width:100%;height:100%;overflow:hidden}.imagebox img[data-v-888c1542]{width:100%;height:100%}.startImg[data-v-888c1542]{-webkit-animation:turn-data-v-888c1542 1s linear infinite;animation:turn-data-v-888c1542 1s linear infinite}@-webkit-keyframes turn-data-v-888c1542{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}@keyframes turn-data-v-888c1542{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.slideBox[data-v-84d93a7c]{width:450px;height:230px;overflow:hidden;position:relative}.slideBox .hd[data-v-84d93a7c]{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1}.slideBox .hd ul[data-v-84d93a7c]{overflow:hidden;zoom:1;float:left}.slideBox .hd ul li[data-v-84d93a7c]{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff;cursor:pointer}.slideBox .hd ul li.on[data-v-84d93a7c]{background:red;color:#fff}.slideBox .bd[data-v-84d93a7c]{position:relative;height:100%;z-index:0}.slideBox .bd li[data-v-84d93a7c]{zoom:1;vertical-align:middle}.slideBox .bd img[data-v-84d93a7c]{width:450px;height:230px;display:block}.slideBox .next[data-v-84d93a7c],.slideBox .prev[data-v-84d93a7c]{position:absolute;left:3%;top:50%;margin-top:-25px;display:block;width:32px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAAgCAMAAADE+3+QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkYyNjE4RUVDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkYyNjE4RUZDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjI2MThFQ0NGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjI2MThFRENGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmLDzTcAAAAJUExURcHBwf///////wCiYf4AAAADdFJOU///ANfKDUEAAACjSURBVHja5JnRDUQhDMNM9h/6STfCgeKPsIBjhGgpnHPy7wLyYLUicC5IPJGtJfi5ngsSL1Q7AYgsW8QTV7YJJ6psFU1M2S6YiLJlLPFk21CiydaRaOT+7mKxhYOERDcuCBy+cheiJHBqHEYGqZzPug6d4aG7aajmDPUSQz3iUO8/9KYbeqsPzWCGZmtDM9OhWfjSH8fY31UuSMkT2UqET4ABAHo9NyVXKF5RAAAAAElFTkSuQmCC) -110px 5px no-repeat;filter:alpha(opacity=50);opacity:.5}.slideBox .next[data-v-84d93a7c]{left:auto;right:3%;background-position:8px 5px}.slideBox .next[data-v-84d93a7c]:hover,.slideBox .prev[data-v-84d93a7c]:hover{filter:alpha(opacity=100);opacity:1}.slideBox .nextStop[data-v-84d93a7c],.slideBox .prevStop[data-v-84d93a7c]{display:none}.container[data-v-da7c4b8c]{width:100%;height:100%}video[data-v-da7c4b8c]{width:100%;height:100%;display:block}iframe[data-v-8c8b39ae]{width:100%;height:100%;border:none}.echarts[data-v-0f726cff],.echarts[data-v-1a9ab20e],.echarts[data-v-4a03acaf],.echarts[data-v-7f6a6840],.echarts[data-v-099fad6b],.echarts[data-v-348dfa15],.echarts[data-v-6541a9fa],.echarts[data-v-30601663]{width:100%;height:100%;overflow:hidden}.txtScroll-top[data-v-3f9bc9c0]{overflow:hidden;position:relative}.title[data-v-3f9bc9c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%}.title>div[data-v-3f9bc9c0]{height:50px;line-height:50px;width:100%}.txtScroll-top .bd[data-v-3f9bc9c0]{width:100%}.txtScroll-top .infoList li[data-v-3f9bc9c0]{height:50px;line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.txtScroll-top .infoList li>div[data-v-3f9bc9c0]{width:100%}.echartMap[data-v-39ab510e]{width:100%;height:100%}.echarts[data-v-1d70fee7],.echarts[data-v-39ab510e]{width:100%;height:100%;overflow:hidden}.echartMap[data-v-4cafc378]{width:100%;height:100%}.echarts[data-v-2fcf85aa],.echarts[data-v-4a974840],.echarts[data-v-4cafc378],.echarts[data-v-606b1983],.echarts[data-v-21970a08],.echarts[data-v-b11b03d4]{width:100%;height:100%;overflow:hidden}.layout[data-v-1b319e8c]{width:100%;height:100%;text-align:center}.bottom-text[data-v-1b319e8c]{width:100%;color:#a0a0a0;position:fixed;bottom:16px;z-index:9999} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-4de3.5de35ee4.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c4fe.f732aee9.css similarity index 93% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-4de3.5de35ee4.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c4fe.f732aee9.css index f103fd73d..a4f9bfe09 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-4de3.5de35ee4.css +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c4fe.f732aee9.css @@ -1 +1 @@ -[data-v-577511ef] .el-color-picker--mini,[data-v-577511ef] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.ba04816.eot);src:url(/static/fonts/iconfont.ba04816.eot#iefix) format("embedded-opentype"),url("data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAACJQAAsAAAAAVKgAACH9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCObgqBghDoEwE2AiQDgygLgVYABCAFhG0HimMbCkZ1hhxsHACQvM8iooIUIPv/vyU3hoisQDP7oxQspFSOEhyEI964SGdpHgbZQdChvkX9Xd97nQ+VaIq7d5noG8yfVj6tSWbtWNLPqLzFBpnESCbt5xn252+nSxLNW5sNpeTh+f39/481976wz7uPRtUHGDrbrw4ZrEQ+o9sQS7AOLVwR9wAYHufsX4sltIw2UGCOWN/DZAYtWnRGXhjMYFsLlBOm6ZgkU7ixOUVm3hSYSZmdcy3Ttndf4ESBU8/fv9PPcyR7254j2T+y/RCTRQgUIXDBiWYbMHXqvsls3dZt8yP9Sr8UeI/jYBECy2DQpVnHImNkw4UQi/rrnSeKbo3ABwpVbnt7MIAxZW53t9DyQ2dMry7DVAd+ALjBeSGPOIh9Xfq3yXEPE8N0ZWvf3u79xy5A2HKIRLDVxEQAD/zfm+lMLBjA+E0Di+KU9uanlEK1W7V0DFgDrXU7yJ4lXCBcov15demKDpPSOimby7C0sjnTlu3++0jcl/hgIbgcAnwn3BBuFBeEGwh8Vjk7ve+1wbkBaZxrn1Lq5im1jRnWZJnalH2IbiaZdvxjNFLYNjjuGFPLYXaXebSkr0ZxoxJ0Q5TYn78moVKvgrRuw7Z9FDmzmGDZtcsXT1M8rfKIsqS8oZTyYT6c9itRHs+EAy+Rv59+NScRhJKM+eKuC+vPAT8+K8geLvKTY47JsOvG/iMyFJATC6ijaZbsa6IgU/laM085SuVr48fXBUURyyJFWuHz/9qJHr369BswaMiwEaPGjJswaUpBkxmmzTTLbHPMNc98Cyy0yGJLLLXMciustAqEYARlstgcLo8vEIrEEqlMrlCqyA5ptDq9wWiiOkVz2mojOedguOBye+g6Dn+yRq069Ro0atKsRas27SqVq1KtQolSZUIm8j+eVMpcWg0li2DyBubHB6OHH1/08uOHPn780a+QhKGVCLQRhXZi0EEcOklAF0noJgU9pKGXDPSRhX5yMEAeShRgkCIMUYJhyjBCBYxSCWNUwTjVMEENTFILU9TBNPUwQwPM0ghzNME8zbBACyzSCku0wTLtsKIDVnXCmi5Y1w0bemBTL2zpg239sGMAdg3CniHYNwwHRuDQKBwZg2PjcGICTk3CmSk4Nw0XZuDSLFyZg2vzEGMBbizCrSW4swz3VuDBKjxagyfr8GwDsmzCiy3IsQ2vduDNLrzbgyj78OEAPh1CA0fw5Ri+ncCPU/h1BvWcQy0XUMclZLhKi1S3hrQYdRuAPLdQ4A6K3EOJByjzCBWeoIpnqOYFaniFJG8Q5x1SfECaT0jwBRG+IcoPxPiFIH8Q4h/CBNnZNvqzb/2Hgm+XX6shAPDIDn2nEKAqnKGBUOivZA4KW0gZvafr3BQtvdGQKGOXK+jxMuHo+RqAUxEBRoTkYwZwmLuk6nyIpr4UPapkojiXpKlDRMhw0F0ARQPDTMn9UPjbkHEt+m4NOCLsVWbo7ZitUp6Nl3YnrJ8iAvij7nsIRSkYT2AfwVuji87qVBm1Q5gVmYuFsYgqpu1Vy0P4b7e3HTaoWtKXAeiIq9rtbDfJnFEJ3yZ5C9vMFqQ4rUyz9jyEsVO+bind+meT82iX3uh7WLtf/mNHA48h7jF5ypzTlCQcv5ubeehZSly2XeCJ32vWw0QsABZSz1MRvFzCulXrUUotFpgPLHGctww3N2IaitXjWLBtPW/2mW0J9wozblPnTXu/syRwarVqYG2kKhiLdIG7JvyWsZA0S5cPgxEReXFY0nvhZ941sR0MJUHkFQ7CcX3kV73dn/vD9HnX4zD1iwl79nujL6+lfhIthTEg9FMWn8HG31mJYxBFRLi2SxRsAwoSjCwtLT6/QJHjxcxpyU90trhORYQlNEVoAbGpu2GbosgBG5OkOGMFEfxEaXYgF207EO8w4/rRVbtzcBw43CthsjtfCmL0OBzGXkRcHeMaT59lMFjZVw728rXpog0WMNByJpe9kcvkvWrDIJPwkHN5yI1nKJtnLIbJvJ8CpC0DZRiQThkg5CyOqcHwGnJsLMnghmXYs53/HpcMFoqT/eerkoBVBRRvYxNPHyNNQeQAMCbForbAXiTgZZUEjueAtXnoH7H9zuDi/f636fbH3VdPrdw7eOuDvyN3Drx9st7snrvX+5YNXiGOS91Vux7s+nvhzs3tVjXr8khMzBjJllUMimyapCU9KmwhxrSFdmeVw/5mgCsEvEiy8ZkC1iTTAU42MpStqBEbthqWYkhbLgMBaFuGFwUJmsImfqFKWJCxL1r8hd02vNVOgzRus/VWrCjy4oKdpn6SKxVsiIkZw6rhBYfJ0ioZ2Yyr7KrxWsTdUMmVwKlGtwrS1ultYU0lJS1djQX9BLXJhOoliVrLa2MGmSNLpp8EEYQaEbKMOzWImr1XRLBD/hlFJXG5xhnaCoujC6vDbSYgxnlndOSqiujC2Qxl22EM0UsdJhFI0OZT0U9VILjQS2YtDWPPEV0vq8QfBoKrSKAHyyJalTzpy92Iwf5WDXQ3S/2q3vzeMmwXM+YKRAR/h9PxHVkIvwFsEtzcp+DwLBJ4+XCgqUvB6/4bz4T/Pc73+xR8db87+loFX5KsNIk0O+CSUDQjKiH6L+5+++17E/2rKYc7xznuge8C/0LnW2+dDjxMwe4J6lXQf4PD6zuA0X/0TxRc2riGZNwIx/9/llacjXLVM+x//fV0X5b0Rg803Tl6ZlCLGA4ElEGzGAlFrfbrXd/hJgPp8rNuV+c1+a1er/vwe7Xu7jetCgFvHT04vKLIQFoyXtkoqm5Vf/VgZW/mmwgdUXO134d5bvrXE1+a/NVUpZ53p2sTjcnqVPtlUiRo7hHBzVpuzpDaVDNCmVqWW25HVLJeSgtSp3EcOaIllJZKSBcICf+RFv75kffh00vkrXbCrXV/bTPYWNHBp6fg1kF4dBb9z0c6O8Bb2Qg21xD9vXmtro0S8MjcP2KMGNpoenQ72E1bWkjTZVjZvmRt7mLW37vKQOMyw4vZDtO3GVuded3LdjpJXAzjlahVT9a3OoXav3vXV2/d/cOl/f7YnwY6uvl2oD7xP35241LkqBHnj92H97tjh/3xPw9eGF/Va1d0utVZdao7gzf6EvWmvRYH5rLnK+YqfX2EgUYrd2AoN80Jtw9ZarlGYyE1x52d4/fqIPUEru+NHhlOvi8J6agxKY/J4glz+UkpF7jsMZnv/i7HCrHXkhldR60gA2NqEQBm0U7RAJic1QK4pFWF9GUBqGRNBQJ8CNrihUe0miylfnEoCRxHOMClR93J2HOqhI00VPNASU9MpGFcaFgm58huxFU7jJuGt3PZ3tpDk8P1taRoP1P7aUlYIlwOG6QmCpuboJumMlQsukPbI2cFN+egEZ0/61w+XF2hXLC2Lmej40W+LYdoKBKfSVtT0swQMvpJseQMBxjI1KBqVyywFVhYMyxzwcmtM1CLYbGwWFElDpCgiiqMKEXPBlIPSwaVjUKzllM/IVLiJIlZj+jsgDuXL25S0BWnKLJORTFz2coISy7LOIkSFzhN1z68pJA0g1KqkGlkBBAUREHAtGEin+IneJbKmjRrpB/LAgto2GDJRzPoJg1fEUpAPpsztNSLYWdVoew0be76e8sCijlqVCgZ5PMKhFDDoyYb4+0bLAEVjahP/nmqqrOcsTFjGX++lJObZLTOHDQpSTQZU1S1o1/eiiYbVAELF8jkebSh/cISZioQkoInrF2ENKuGiibeiQ32kSLQjTJWs5YFMgsAFQEzw038skAXWVcEJVHAO7VZVZTUykJGxVtZ0Tl9W/opzIh4uUzZqVExcuaNHOSbxrI2Eg4uthqa52oFfWWW2Q4heSUpiH52C642GsGGhbsRFkecw7h2mgbYSvmpSEY1nXPsZg1+aV7KBf/+4iwlzyex258/q9mj2QIvHBd26NZn7uaVRmqL4OrxYcGbauMtOztwKOj3/cGAez3ZTR+lv9Hc7bQqtBMqbMacn7IsEMBh5YURAn2N5Rk7h07xS7obDn5diqFxQh6rCDk8xkjjTYkF+bAS8poqltS3pJYMhNWhBrUstOcnaBMgHJmVemgECca+aasAoYupWuHBignS9J4SwxIAP0341LMF4jSz5vc/7xPUziYygdfZwjnK5DHnAt/tfrNfpTkSEYau5xDqt9ZFyuB+v52hLC1sqE0AMwt2kkapL5b4qUpGJZ1z7CqGpv3Cz15svDXnOfox3+6FB4Mf/eNT77PwC//z+kusDbwCLURGGwlyqJxNTa0nZfoJ0bRzWMET6jFryDx0AnJCmX64NG/Quj4xeW1qYmh6anhSA7PHAwuXrgvl0bY5Q7MW2r8kWMbi9V8hsBZsCtA4rsnxRwjm4hTqYaWHBFMjXZSAtcQEAQ+eTUuG3QhyeHFzrujQftvWxv6x1eNeDPth7aUUwlIqbDO9d/L2ofCjkoiAwhlKXN9jUGNnpS3QEUNa4WYl1OeEFEDI9eEacreOypDOYV4Ny/oY9qoY6AEI8zOzwIORYbwvlvQ/HQdHIgOmYl9YT1nhKVmRLmMsR5UkjTam5TIel1mMOUGExd5CbDSTcRZ67+rFhgwIn9LsRk4bWNNK1F9nRCGOJXWqiAnRilfl2mAVHTsoWU4vApNEqosFOOBsz9+sTdTt6lRjbmYF/AU3vJ1wz98NtuV1ss5Bc8xY3bnMoJdOqZPm2m653wgTT00+cxhlwl2wpLBzWai+ZKGtZvPfcVmho0CCAM2oXxSolLg+brA5qgE4S7xUbShb1ticnbHa9TiEZdh1Nkil1WvX6sZwVyCjRiK9tOktC+zv1jxr3RrRSqHqD74YMOwk4qnoL7YZdR9qfiVlZyzlML9goAYBzJTtBA3ASvqpTkYFnXPsZoz6y96z83f7jk/sDLpf0hHYdXvXXTiad2e1q7qP9txeI316T4aZVefu9B4LaVfdK5a1BVttbXfU5mC7pjPo8IlLtpjO4DPhHfTZ2z0nx19ME+7uuh17Ex453Xc3+vjUC7ZLZyZYMy132mzohrrrVO+dqGOTApnr7z7kHw3IvrsS6V3fY5G2b6xaTMrdbqg3FJfpAxxKXFJmyU8rfG39hsnv1isdlMFQZ3ioC4xlq4qpp+QXdl/SnW/RK5yMUgnqddd6JWU4wP496D2vOq9FRxd5e72/ohCPAEKocl+TQKz1OUxMkoF0xTZFgVI2mXg1WEtaapSJPOLfwitO+aYRV1xBgyUbvU3ekV2REZ8L7SGiE1pJaNQilbIhalQhbWOerTULv14WN0VJRfLvHvps95YNy25Nu+WNZf+Qf5TvP+afrpge7N/2vff3bf7B0/0LfN+D3DzgO6wa9h2QDQY9llXyq2f9OgiNuVxjKAjlvnq4Fa1R7xGpgMzBrNAKUq5amVMgBIOJIiAAIRqsEUEERA7hJBgiELlskRauDA8YUnYhK4DoZpII7p9r1IgMZNQWDLFasJCbLSCPEzCPBY6ntt3IJ8aCAui+tKQlftx6xOLm3UYj2U9CeVmZHJ7WUtsZwhLkqeW1fm+F7n/AY16g8WoZpMx9j67AigwPadbUh/qZhsmetTqdKqga1/x73VXq+6vXpi8/uNjww5R/n4akT/GcV6Tz8sZuz50601Oa8T2mK2jFd5UUG8FGstI6IHCYFoBTYAwgLQLx6VdJnooVUbrxVVcuK1tb+nye9/VGtZ19yZ+BxyDltEDj6uq6R6/PGhm9ZuCI2+UKHE3/9z27Y/KI3Z68PBDE+KMqoiuZypC71diyfWvWsFTju19kwZ9gE64Jej6JIO0BdjKiih6ESUq/iTW0spnFlJM3+Q7pc4Q64uOcNqrNR7j6gmGwcQJZs4tqq2lH7mHg5BBCbeYXW4brrJsT1TecGRadbwbhKkF08Yvgp4P3P3D1zkfzc5Zdv/7t3ICh6TOGgr/Ly4Nvvz0c/OkLoq4woKfn0SPwYJ+zXKI4lB5vjO5SR8KqKpU4y74+N6v5webqKjYZoh3wSQvo+SGCdAQ4RO1gBuB4vQKN19trchPY8kJ6LAi7WRECd15dUHhrS/T9ApzO+jW5CjC5cjC5CjK5CjO5CtRPLnIQNhY84Mh+wi0vLZW7SdtNjrzjM+xzh7KlgVvBKmmjbCRUjWzCSoeCMRr1StxpjMKhxAtJsgLAm4eV+gajHvRPv9ULgebHfzyuf/ftNc/t0HHbWM9r33533aNKw4LdHnfvStvapNEz4SfVdzwl+9gQs2slZPhfUAiuan97rWTgRyLrECouLX5v27sh0YE+7xU/3umvLdfKcosIXTHsf+nrprCXXy0+Vj5TO/vMZtB54kATsWbc6oOLjz860Lpk51bf4uf/33x1YE7FWOXYnK2503deXWs2xtVf2ST71eof6PP+5PCf6nW+9duyS1IS4uo2H534a3+wuizq96U6cs1F4g5cEREV7Q0fFg/mXnmeNXVDL7xW/Jwgcm9MuVds/2t2eMylrN+rV56fV8IsB8UVwz3HnwqVrdpSEB2WeyOhN/yS+N+qa2/G8PKSbWt1rUllIDtkFpIfkdtKZpU0Fk0un7Xr2mIjM+KAk7Mia73fvMFOiYceOAcFQOEjMC85vtJ76e2psQ2hK6vzLysVv/eZ+z7qjGt8fv1386an13zQ5clxrZVrW71983PekhWVFszxeKuorKzoLY85BaVFsre8tlZLWVbaQ1axpmpJlcRk6q/axALWbnvxwqbYNAOik8YCML9ha2iwxZ+DqiCKexSYUOZ8p9wZv7PvV3x+EYgwRlIMhKI5kdXjFJwceAD1+2MIwV8gDmwtMcdcq12+pQTJ5S82ZVVMPfCf8r//+eA/f/+9/4P9+69fr/cC2b5Iu1Z2Le0Lg7hqStFULQg0QvnpmcEzTwefmRE848yD4QilFHuKm8UcRyjVCpbCYRo5plpiB6qqFYWmgIXNpq640FiMR1s2PmW6+9ZnMESl2MgWah/Oe1CWEGJvDki5womJVbgULRSgWhSjyDVGWiCthIMY81tYPon8/nustCuZOdB6Zb+/nxciHRIbmF1EptQHTakxydJfLace/Dic3Ji4f5lP5ptgQYHyfx9RHt8WztB/EqE14wtXdqQuBKuk809mLvPZv4pYTnxC++9YOLLj5T/vbjGbahK86/veuJHj+aZX/qIcL5dXLgis3k3NNY0jJnDK8uWr/gazqLkluUPEG/XCWjzNQ1ykUqbIVmp/889g83LBGiAKDxWs5GFjsERtIBxExzvGyLnFdhhajG6LEAgTHYVc3ixCFWBAJpaYKECZCIZCRNoJN2EnUXrL9lAEDOJA/lnFSzmH6rFQtlObGZXEvDHBu+KAo2cSI1zUdELR0qf6kIk+dALDatG43ilcPZFToFMEa8sbLgRi8TCGBC3u/YcQAlsDBKFALwiTq2zfMko8ZFAy337xhWVWVrf+n+n9jnDHxImm9bW4PfzseMJBAlLeYxCsdwg1zwACyGapSAfQQKuyVQEVrUorkl+/Ln9EEHODSjxfF/3zZL9mHXmXB7yN2NI+CMtqTAQLiFkQwwcOjyyJhj4BRRSAURrK33xTjqJrOYYltqM1HHRhkFdxTJE48CMAvoAn6QkgsAM1fia7v+U5OTT+Kw4J/rKg0508Y2UghwGGEDAAqoEVQJqHPAj949VEi4XOyJPl09NPq3BHVXcTOah0kDsBGI7L90tDubkvN2pWVXyaX36c/QySkv9QeqV6ZHko65rDawLS1gV47quT589qkt5aEZyjmyHTrp/v7bVLmuYxt6TRHw3PaV6epS+vnrYmIKJTiMhIygpV1m+gmjwy2QDPTI90j7kXPCjQ97m2z8s7ydu7L8czOmDJKqV32OJVERkHd5fVl8UtU0as7TtSOzeGlTD6mE0b7VOFKHbDQASAooCENSuqqrnQEA5HkazOne8zcn/dsuMtGoABvHZ857rakXvcXDm6FnQNyRVsHDl5XpNO5TjoaHA0OA8e9//zSD0AtIKesGAjXeaUSNMPJkQ1dEc3xJ+1SEG5897M8+upO+UtOIiemoCT1iLADEPoAtwN+sbf08lJUdeafnDLCOMzaQG5kQtaAfz1+uAgF7PxCovM2IzMPOLNmw72u1jMngEgipJSQCEFHq3UODopmthhoyuQUrFiDWR/CAsxFceov5CCUWhSMxkYJSE53uOkxgWUikXXA4UQM3NYQqDysQoVjHnTfh6SdkIlMjBSGGUG5EWTA9VgWtpa5kgYCXuPUIqGKjyThGQ/TwE3bx4jrBGLvRkKqyqKqlHyTNY1Cq1ZC7tc0GVRuaFbwCJ+cBvUOEfHgYJAAMDIIb95Fc+z8ezyVIQkc+ob53jMe9ngNSdNI6rcKhUIsruCgCpFPsh1XBBP8CdQj+OD9DVqynuLtGpdA8ybFV1xgeYTrPMggmLA4u+TGJgARqtGqWRpWlrqs/ljKru+pSV7Jchn3zIkw6v3QrMbNtUOPLYJg5c6nL69X8FK+Lm9BidOl8clzK1OmPOZVyRZulSikxRdRYPeO+BtBcV+q1y0LA6KmpkES80lCPst0kYGkR/YxQUGmyKX2w59GzNIX9KNiWa6umosZplQMzt58gyPljnIOeggfMngUgD25nxvSGw0JhrE1XsUYKmjtOQkxh/F8zxML8gfKiycDpxGAQrqveN+sWF2PWLx5IDRvSNsMzJhADkBCSPiQ/hQrRqDY0IgRtiNMx84AQKCM6REUp/+EYexbbKDPMThGDiwBpjy/0yUWVHBKNcJSZMJU7ixUGu4pUZTy+1loQjVcqIIQm3nDQiIAmIYhEYvOu98saDwik5SU9MBc3IrFtLpC9OOKoeqJM5mPHTh6P+V0GTBIegCY2Clqe1XDmUHYadatMrCxFyiAc6rAct8bie0rk7gQQJ7hHSNOm0RrC2kp0wprKit1VWMG6ej65Nki3x1votkJlWNjvZJNTWRPXR9qOwH0WG84t/0UaRVubFbZUQdiAFuF7TyVkBzWkIGeFFY69JUOmnxEc2S+AH1wyVO/OGfZMeArQF/JQ7124ZsPzr6T4PA3cjFA4hcic+GzeaHQNyuO+97SyAKkIFAwkNercYM7n0ZmsaxxvZRq6r4Wu+hvgzXtZddVykhe3b7wfqwEboyOvrolAgozY58zO7QZes02xfP8fQ8vw0x6BObGZmfXiq69JS8iBxJVaG3d5VuUogPbu6OVfmGfVUe7qVnb2T1wtSdGkcE+FDo/N40zvcniVJy4oSF1O9vrpjrWxge7DnJesHDF7T6LAISibVHT/5dV3mR1J+52EpQ4zr9wgnwk27pIJDk7BFLQ2OjIVHck6MAg0vfPFmCcfzHPI8yCgqGdLrpQLyTgbx9obsK+0T7VOHurVvlEP2EmnDJuMzgIIMYAULO5m8rHvIb+pMdKybZ5LAiXDgGNrCc6RO/oOwdZVOBTlr5EAZjC4Fsje3Fc0f8+f7SEhsY1WCIeYzwTSC+W1EQrl08L6gDQhQnLAJd8LmSWmTG7Dkr9JTX1+YBPcekF90Yv3xS7ZF1BolMb7JQ0vpy4AJldfnR+TE04UtuIbAE+9nJWykr+aoYOw2UNJ07Z5PwCdICJ8cghmcgdqIhwNJ2P+Uk5cRb4Py+Mk9cARQrQSMvp5HnOJXiTVRqPpQgUcvvJeC7oM73BUnLrOjJmJiXPEHJATAFnIIAl3OghBGIUSY9bYz3V40SylwSSfqhhGhjl3ri0w5KML/r/qzzzZsfPBj4wQR5IgcgUFfQPCVWLWY6/yIRjYxYX8i/KYTPtz7E1CGC+KZvFityPSimBsHHspyhHY4Ea9JTVlLZD/S3cXFoua08ipA2ZUl/6YTcciN018In//sI6ZPY34t++VZ2EKMXvbh+tWZgtCwUymgLeoEHDiSfcutLTGWGYH177hb9D1eSDoC6g7nt+hB9mal0zcqQ8+dCVq4pZctvNuZQrpd3KjideBrUncm5joMNWWzkTp07HxJu2Lm3p7b+9yXhP6X9FL7k9wW1Vm5nJbNzX0D1xaE/pv0YuviPytqjezuiHvjnJFjioyGWhCnycpOIqFmzPw935F/u7KGiefzHU7PJsJIxm+oLT7vuSxDvhJvm4GU9WsmJXFwT91wVz0WxqN/4InyKPED28Oa45TfEK4vofywig9ELs37TZzIS6AFW0asBfD+Bl0ZluWtLMF5aQJPOiB5dUaw0kSuj06yKkjiPuEpYgkQyAzq9NTpoagqOtUVJmbcmPuwai9Rk+jxaZTzF58ZSHszNJBzv974QWFRdsirDUVzZbJejLnPestqahDO4su66JTY1DQfc0PEtgYeLf+LO0PVAoKypqWLhaVqr/iFb1GUViByfHX3/7fvb2PvoWTo3W/a/V+Xg24gY4h2eoXLtG0v8J6/Q5G7/4/1fXs4MXclf/tr4v9BUxr8SWIOEK6nfoKEGKi/dFKG70Q9dS1sSqyTlHs/eHcr0uDPlhpncVXCXqDLPXarcSnelKRvfvEqTO3gpr8CkJzbupN4H7lDrIzGjmbLA5K7v3SVa/e4uVZ883JUOpKYWq4ymqZdX44QQscublFMr3Kszrq4L/6DVASY3Ry75j1OgGXldVLdzv5FxYtEg/NpzjH3eT3LNvzZbhsMg+TiJxzYWLsbxsyx72g4UrVyfVuOEELHLm2QPS61wf/dx5fvif9DqAFOE7uuw/3EK9OTzuqgSMN8CJ9LlRRt+7TmiSJ/jpSe55l8ogsNlluQjfU0e21i4DOr4WSKrPqlQlE+vsuVRUGm+/hVMTlQgRUyquPCfLBIhKf+ocWTNAUSYUMaFVNpY54MwipM0y4uyqpu264dxmpd124/zup/3+0EIRlDmNyA7zeHy+AKhSCyRyuQKpUr956J3Sac3GE1mi9Vmdzhdbo/Xd4mu7CdgT7jsIBHfNOnxK5LwGpg7Is2O1qchGwKJtOpx7UkHYDNqFLareKlGvW6jB2wxqHTEdjk7Be5A6lUS9ZsmUTRrgTrgs4kUIS66zKjoYP0eJdZv9oBrk6h1Wi+CQ7YPrTeMdFFwNAS8vxHbMDU4oEdA9uGO3CAHE3tOsF34nyjNUQecB6TjXuTg9CRvZ6qinGiE7PdBrJzfbN+OHZRCH9XKaNUE0bvSGKvADWWp1UQW30lsgHXsnAQccMkB0Mm6jIjXmOYSR8tIBa0TtscZhSXwRiR01h0pa+q/xjnzhCOxPb3zvCsK95kGEzJmqYuu75oc34nPZETBkHtIT9WQvc4F5XRKN3pvO5Y/BBGL5ozyoVk98es6kBqNubiJOhLw6hGcIPio7iEyAqVNzXS4aUEBKJlmLQRtCozmvHli7F653tyaWBGHzbaolSJOwZZ4V0tFTKACGXekU6Bqm7QAed+iww8VFkX58zAzHFucbafUNjil+sP34TuWxtYKfmG7SBJFHZlAEMLiog9RNjRveXWXDVCP7ECWFoMjFSqYBqRVLiHLawKexYYOm9Up8DYOiS+8LyU406BGKXjmLXDgnszuGReg5dDtPO8bmeVfeB/4ZIth3LFCerstGoCr/aDNrFJvUtISUq8D4aJz4P79C+bBzKI4cTZp+Ld4QTOPH5WMp3CILztqe8OmOVMfVdw1NR7DqGs8k5RtPlQ2hmWME41Ku0b3VBbyKBqcBcHh7OgJAAAA") format("woff2"),url(/static/fonts/iconfont.cf8ecfd.woff) format("woff"),url(/static/fonts/iconfont.111271f.ttf) format("truetype"),url(/static/img/iconfont.c6ec5b6.svg#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.luckysheet-iconfont-lianjie:before{content:"\E7F8"}.luckysheet-iconfont-dayinquyu:before{content:"\E7F5"}.luckysheet-iconfont-dayinyemianpeizhi:before{content:"\E7F6"}.luckysheet-iconfont-dayinbiaoti:before{content:"\E7F7"}.luckysheet-iconfont-fenyeyulan:before{content:"\E7F2"}.luckysheet-iconfont-putong:before{content:"\E7F3"}.luckysheet-iconfont-yemianbuju:before{content:"\E7F4"}.luckysheet-iconfont-biaogesuoding:before{content:"\E7EE"}.luckysheet-iconfont-zhuandao1:before{content:"\E7F1"}.luckysheet-iconfont-youjiantou:before{content:"\E7ED"}.luckysheet-iconfont-caidan2:before{content:"\E7EF"}.luckysheet-iconfont-tihuan:before{content:"\E7F0"}.luckysheet-iconfont-dongjie1:before{content:"\E7E1"}.luckysheet-iconfont-jian1:before{content:"\E7E2"}.luckysheet-iconfont-jia1:before{content:"\E7E3"}.luckysheet-iconfont-yichu1:before{content:"\E7E4"}.luckysheet-iconfont-shengxu1:before{content:"\E7E5"}.luckysheet-iconfont-neikuangxian:before{content:"\E7E6"}.luckysheet-iconfont-qingchushaixuan:before{content:"\E7E7"}.luckysheet-iconfont-wenbenxiangshang:before{content:"\E7E8"}.luckysheet-iconfont-jiangxu1:before{content:"\E7E9"}.luckysheet-iconfont-neikuanghengxian:before{content:"\E7EA"}.luckysheet-iconfont-neikuangshuxian:before{content:"\E7EB"}.luckysheet-iconfont-zidingyipaixu:before{content:"\E7EC"}.luckysheet-iconfont-logo2:before{content:"\E7DF"}.luckysheet-iconfont-logo:before{content:"\E7E0"}.luckysheet-iconfont-wenbenqingxie1:before{content:"\E7DE"}.luckysheet-iconfont-jiacu:before{content:"\E7D9"}.luckysheet-iconfont-sousuo:before{content:"\E78A"}.luckysheet-iconfont-guanbi:before{content:"\E78B"}.luckysheet-iconfont-xiayige:before{content:"\E78C"}.luckysheet-iconfont-xiala:before{content:"\E78D"}.luckysheet-iconfont-wenbenyanse:before{content:"\E78E"}.luckysheet-iconfont-shangyige:before{content:"\E78F"}.luckysheet-iconfont-shujutoushi:before{content:"\E790"}.luckysheet-iconfont-tianchong:before{content:"\E791"}.luckysheet-iconfont-zengjiaxiaoshuwei:before{content:"\E792"}.luckysheet-iconfont-bianji2:before{content:"\E793"}.luckysheet-iconfont-jieping:before{content:"\E794"}.luckysheet-iconfont-jianxiaoxiaoshuwei:before{content:"\E796"}.luckysheet-iconfont-caidan:before{content:"\E797"}.luckysheet-iconfont-shujuku:before{content:"\E798"}.luckysheet-iconfont-wubiankuang:before{content:"\E799"}.luckysheet-iconfont-bianji:before{content:"\E79A"}.luckysheet-iconfont-qingchuyangshi:before{content:"\E79B"}.luckysheet-iconfont-shanchu:before{content:"\E79C"}.luckysheet-iconfont-wenbenjuzhongduiqi:before{content:"\E79D"}.luckysheet-iconfont-dayin:before{content:"\E79E"}.luckysheet-iconfont-wenbenfenge:before{content:"\E79F"}.luckysheet-iconfont-hanshu:before{content:"\E7A0"}.luckysheet-iconfont-jiangxu:before{content:"\E7A1"}.luckysheet-iconfont-dingbuduiqi:before{content:"\E7A2"}.luckysheet-iconfont-tupian:before{content:"\E7A3"}.luckysheet-iconfont-xiangxia90:before{content:"\E7A4"}.luckysheet-iconfont-shupaiwenzi:before{content:"\E7A5"}.luckysheet-iconfont-quanjiabiankuang:before{content:"\E7A6"}.luckysheet-iconfont-shengxu:before{content:"\E7A7"}.luckysheet-iconfont-caijian:before{content:"\E7A8"}.luckysheet-iconfont-jine:before{content:"\E7A9"}.luckysheet-iconfont-caidan1:before{content:"\E7AA"}.luckysheet-iconfont-quxiaohebing:before{content:"\E7AB"}.luckysheet-iconfont-wenbenxiahuaxian:before{content:"\E7AC"}.luckysheet-iconfont-shangbiankuang:before{content:"\E7AD"}.luckysheet-iconfont-dingwei:before{content:"\E7AE"}.luckysheet-iconfont-sizhoujiabiankuang:before{content:"\E7AF"}.luckysheet-iconfont-cebianlanshouqi:before{content:"\E7B0"}.luckysheet-iconfont-hebing:before{content:"\E7B1"}.luckysheet-iconfont-xiangshangqingxie:before{content:"\E7B2"}.luckysheet-iconfont-shuipingduiqi:before{content:"\E7B3"}.luckysheet-iconfont-wenbenshanchuxian:before{content:"\E7B4"}.luckysheet-iconfont-wenbenyouduiqi:before{content:"\E7B5"}.luckysheet-iconfont-qianjin:before{content:"\E7B6"}.luckysheet-iconfont-tubiao:before{content:"\E7B7"}.luckysheet-iconfont-youbiankuang:before{content:"\E7B8"}.luckysheet-iconfont-baifenhao:before{content:"\E7B9"}.luckysheet-iconfont-geshishua:before{content:"\E7BA"}.luckysheet-iconfont-baocun:before{content:"\E7BB"}.luckysheet-iconfont-shujuyanzheng:before{content:"\E7BC"}.luckysheet-iconfont-jieduan:before{content:"\E7BD"}.luckysheet-iconfont-geshitiaojian:before{content:"\E7BE"}.luckysheet-iconfont-zidonghuanhang:before{content:"\E7BF"}.luckysheet-iconfont-cebianlanzhankai:before{content:"\E7C0"}.luckysheet-iconfont-shaixuan2:before{content:"\E7C1"}.luckysheet-iconfont-xiangxiaqingxie:before{content:"\E7C2"}.luckysheet-iconfont-yichu:before{content:"\E7C3"}.luckysheet-iconfont-chuizhihebing:before{content:"\E7C4"}.luckysheet-iconfont-wenbenfensanduiqi:before{content:"\E7C5"}.luckysheet-iconfont-zuobiankuang:before{content:"\E7C6"}.luckysheet-iconfont-fenyechakan:before{content:"\E7C7"}.luckysheet-iconfont-yunhang:before{content:"\E7C8"}.luckysheet-iconfont-lie:before{content:"\E7C9"}.luckysheet-iconfont-quanping:before{content:"\E7CA"}.luckysheet-iconfont-shaixuan:before{content:"\E7CB"}.luckysheet-iconfont-gengxin:before{content:"\E7CC"}.luckysheet-iconfont-qingchu:before{content:"\E7CD"}.luckysheet-iconfont-hang:before{content:"\E7CE"}.luckysheet-iconfont-zhushi:before{content:"\E7CF"}.luckysheet-iconfont-jian:before{content:"\E7D0"}.luckysheet-iconfont-jisuan:before{content:"\E7D1"}.luckysheet-iconfont-jia:before{content:"\E7D2"}.luckysheet-iconfont-dibuduiqi:before{content:"\E7D3"}.luckysheet-iconfont-xiangshang90:before{content:"\E7D4"}.luckysheet-iconfont-wuxuanzhuang:before{content:"\E7D5"}.luckysheet-iconfont-xianshiyincangwangge:before{content:"\E7D6"}.luckysheet-iconfont-dongjie:before{content:"\E7D7"}.luckysheet-iconfont-wenbenzuoduiqi:before{content:"\E7D8"}.luckysheet-iconfont-houtui:before{content:"\E7DA"}.luckysheet-iconfont-shuipinghebing:before{content:"\E7DB"}.luckysheet-iconfont-xiabiankuang:before{content:"\E7DC"}.luckysheet-iconfont-shezhi:before{content:"\E7DD"}.position[data-v-7b24b628]{position:absolute;z-index:100}#barCode[data-v-7b24b628],#qrCode[data-v-7b24b628]{display:none}.yulancopy[data-v-7b24b628]{font-size:16px}.baocun[data-v-7b24b628]{font-size:17px}.el-collapse[data-v-7b24b628]{position:relative;border-top:0 solid #e6ebf5;border-bottom:0 solid #e6ebf5}.el-collapse-item__header[data-v-7b24b628]{border-bottom:0 solid #e6ebf5!important}.delect-all[data-v-7b24b628]{position:absolute;top:10px;right:30px;color:#333}.push_btn[data-v-7b24b628]{position:absolute;z-index:100;top:5px;left:3px}.push_btn .iconfont[data-v-7b24b628]{color:#000}.add-collection[data-v-7b24b628]{line-height:30px}.add-collection .el-button[data-v-7b24b628]{font-size:16px!important;vertical-align:middle;margin-left:20px}.layout[data-v-7b24b628]{display:block;position:relative;margin:0;padding:0;border:1px solid #d7dde4}.layout-left[data-v-7b24b628]{display:block;position:absolute;padding:20px;width:230px;min-height:99.98vh;border-right:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;top:0;left:0}.layout-left .field-container[data-v-7b24b628]{display:block;position:relative;width:100%;margin:0;cursor:pointer;line-height:30px}.layout-left .field-container .aRow[data-v-7b24b628]{padding:0 10px}.layout-left .field-container .aRow .operation[data-v-7b24b628]{float:right;display:none}.layout-left .field-container .aRow .operation .el-button--text[data-v-7b24b628]{color:#333!important}.layout-left .field-container .aRow[data-v-7b24b628]:hover{background:#f7fafd}.layout-left .field-container .aRow:hover .operation[data-v-7b24b628]{display:block}.layout-middle[data-v-7b24b628]{display:block;position:absolute;left:230px;right:230px;width:calc(100% - 460px);margin:0;padding:0}.layout-middle .excel-designer[data-v-7b24b628]{display:block;position:relative;margin:0;padding:0}.layout-right[data-v-7b24b628]{display:block;position:absolute;top:0;right:0;padding:20px;width:230px;min-height:99.98vh;border-left:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out} \ No newline at end of file +[data-v-57fe9f5c] .el-color-picker--mini,[data-v-57fe9f5c] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}@font-face{font-family:iconfont;src:url(/static/fonts/iconfont.ba04816.eot);src:url(/static/fonts/iconfont.ba04816.eot#iefix) format("embedded-opentype"),url("data:application/x-font-woff2;charset=utf-8;base64,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") format("woff2"),url(/static/fonts/iconfont.cf8ecfd.woff) format("woff"),url(/static/fonts/iconfont.111271f.ttf) format("truetype"),url(/static/img/iconfont.c6ec5b6.svg#iconfont) format("svg")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.luckysheet-iconfont-lianjie:before{content:"\E7F8"}.luckysheet-iconfont-dayinquyu:before{content:"\E7F5"}.luckysheet-iconfont-dayinyemianpeizhi:before{content:"\E7F6"}.luckysheet-iconfont-dayinbiaoti:before{content:"\E7F7"}.luckysheet-iconfont-fenyeyulan:before{content:"\E7F2"}.luckysheet-iconfont-putong:before{content:"\E7F3"}.luckysheet-iconfont-yemianbuju:before{content:"\E7F4"}.luckysheet-iconfont-biaogesuoding:before{content:"\E7EE"}.luckysheet-iconfont-zhuandao1:before{content:"\E7F1"}.luckysheet-iconfont-youjiantou:before{content:"\E7ED"}.luckysheet-iconfont-caidan2:before{content:"\E7EF"}.luckysheet-iconfont-tihuan:before{content:"\E7F0"}.luckysheet-iconfont-dongjie1:before{content:"\E7E1"}.luckysheet-iconfont-jian1:before{content:"\E7E2"}.luckysheet-iconfont-jia1:before{content:"\E7E3"}.luckysheet-iconfont-yichu1:before{content:"\E7E4"}.luckysheet-iconfont-shengxu1:before{content:"\E7E5"}.luckysheet-iconfont-neikuangxian:before{content:"\E7E6"}.luckysheet-iconfont-qingchushaixuan:before{content:"\E7E7"}.luckysheet-iconfont-wenbenxiangshang:before{content:"\E7E8"}.luckysheet-iconfont-jiangxu1:before{content:"\E7E9"}.luckysheet-iconfont-neikuanghengxian:before{content:"\E7EA"}.luckysheet-iconfont-neikuangshuxian:before{content:"\E7EB"}.luckysheet-iconfont-zidingyipaixu:before{content:"\E7EC"}.luckysheet-iconfont-logo2:before{content:"\E7DF"}.luckysheet-iconfont-logo:before{content:"\E7E0"}.luckysheet-iconfont-wenbenqingxie1:before{content:"\E7DE"}.luckysheet-iconfont-jiacu:before{content:"\E7D9"}.luckysheet-iconfont-sousuo:before{content:"\E78A"}.luckysheet-iconfont-guanbi:before{content:"\E78B"}.luckysheet-iconfont-xiayige:before{content:"\E78C"}.luckysheet-iconfont-xiala:before{content:"\E78D"}.luckysheet-iconfont-wenbenyanse:before{content:"\E78E"}.luckysheet-iconfont-shangyige:before{content:"\E78F"}.luckysheet-iconfont-shujutoushi:before{content:"\E790"}.luckysheet-iconfont-tianchong:before{content:"\E791"}.luckysheet-iconfont-zengjiaxiaoshuwei:before{content:"\E792"}.luckysheet-iconfont-bianji2:before{content:"\E793"}.luckysheet-iconfont-jieping:before{content:"\E794"}.luckysheet-iconfont-jianxiaoxiaoshuwei:before{content:"\E796"}.luckysheet-iconfont-caidan:before{content:"\E797"}.luckysheet-iconfont-shujuku:before{content:"\E798"}.luckysheet-iconfont-wubiankuang:before{content:"\E799"}.luckysheet-iconfont-bianji:before{content:"\E79A"}.luckysheet-iconfont-qingchuyangshi:before{content:"\E79B"}.luckysheet-iconfont-shanchu:before{content:"\E79C"}.luckysheet-iconfont-wenbenjuzhongduiqi:before{content:"\E79D"}.luckysheet-iconfont-dayin:before{content:"\E79E"}.luckysheet-iconfont-wenbenfenge:before{content:"\E79F"}.luckysheet-iconfont-hanshu:before{content:"\E7A0"}.luckysheet-iconfont-jiangxu:before{content:"\E7A1"}.luckysheet-iconfont-dingbuduiqi:before{content:"\E7A2"}.luckysheet-iconfont-tupian:before{content:"\E7A3"}.luckysheet-iconfont-xiangxia90:before{content:"\E7A4"}.luckysheet-iconfont-shupaiwenzi:before{content:"\E7A5"}.luckysheet-iconfont-quanjiabiankuang:before{content:"\E7A6"}.luckysheet-iconfont-shengxu:before{content:"\E7A7"}.luckysheet-iconfont-caijian:before{content:"\E7A8"}.luckysheet-iconfont-jine:before{content:"\E7A9"}.luckysheet-iconfont-caidan1:before{content:"\E7AA"}.luckysheet-iconfont-quxiaohebing:before{content:"\E7AB"}.luckysheet-iconfont-wenbenxiahuaxian:before{content:"\E7AC"}.luckysheet-iconfont-shangbiankuang:before{content:"\E7AD"}.luckysheet-iconfont-dingwei:before{content:"\E7AE"}.luckysheet-iconfont-sizhoujiabiankuang:before{content:"\E7AF"}.luckysheet-iconfont-cebianlanshouqi:before{content:"\E7B0"}.luckysheet-iconfont-hebing:before{content:"\E7B1"}.luckysheet-iconfont-xiangshangqingxie:before{content:"\E7B2"}.luckysheet-iconfont-shuipingduiqi:before{content:"\E7B3"}.luckysheet-iconfont-wenbenshanchuxian:before{content:"\E7B4"}.luckysheet-iconfont-wenbenyouduiqi:before{content:"\E7B5"}.luckysheet-iconfont-qianjin:before{content:"\E7B6"}.luckysheet-iconfont-tubiao:before{content:"\E7B7"}.luckysheet-iconfont-youbiankuang:before{content:"\E7B8"}.luckysheet-iconfont-baifenhao:before{content:"\E7B9"}.luckysheet-iconfont-geshishua:before{content:"\E7BA"}.luckysheet-iconfont-baocun:before{content:"\E7BB"}.luckysheet-iconfont-shujuyanzheng:before{content:"\E7BC"}.luckysheet-iconfont-jieduan:before{content:"\E7BD"}.luckysheet-iconfont-geshitiaojian:before{content:"\E7BE"}.luckysheet-iconfont-zidonghuanhang:before{content:"\E7BF"}.luckysheet-iconfont-cebianlanzhankai:before{content:"\E7C0"}.luckysheet-iconfont-shaixuan2:before{content:"\E7C1"}.luckysheet-iconfont-xiangxiaqingxie:before{content:"\E7C2"}.luckysheet-iconfont-yichu:before{content:"\E7C3"}.luckysheet-iconfont-chuizhihebing:before{content:"\E7C4"}.luckysheet-iconfont-wenbenfensanduiqi:before{content:"\E7C5"}.luckysheet-iconfont-zuobiankuang:before{content:"\E7C6"}.luckysheet-iconfont-fenyechakan:before{content:"\E7C7"}.luckysheet-iconfont-yunhang:before{content:"\E7C8"}.luckysheet-iconfont-lie:before{content:"\E7C9"}.luckysheet-iconfont-quanping:before{content:"\E7CA"}.luckysheet-iconfont-shaixuan:before{content:"\E7CB"}.luckysheet-iconfont-gengxin:before{content:"\E7CC"}.luckysheet-iconfont-qingchu:before{content:"\E7CD"}.luckysheet-iconfont-hang:before{content:"\E7CE"}.luckysheet-iconfont-zhushi:before{content:"\E7CF"}.luckysheet-iconfont-jian:before{content:"\E7D0"}.luckysheet-iconfont-jisuan:before{content:"\E7D1"}.luckysheet-iconfont-jia:before{content:"\E7D2"}.luckysheet-iconfont-dibuduiqi:before{content:"\E7D3"}.luckysheet-iconfont-xiangshang90:before{content:"\E7D4"}.luckysheet-iconfont-wuxuanzhuang:before{content:"\E7D5"}.luckysheet-iconfont-xianshiyincangwangge:before{content:"\E7D6"}.luckysheet-iconfont-dongjie:before{content:"\E7D7"}.luckysheet-iconfont-wenbenzuoduiqi:before{content:"\E7D8"}.luckysheet-iconfont-houtui:before{content:"\E7DA"}.luckysheet-iconfont-shuipinghebing:before{content:"\E7DB"}.luckysheet-iconfont-xiabiankuang:before{content:"\E7DC"}.luckysheet-iconfont-shezhi:before{content:"\E7DD"}.position[data-v-1682d268]{position:absolute;z-index:100}#barCode[data-v-1682d268],#qrCode[data-v-1682d268]{display:none}.yulancopy[data-v-1682d268]{font-size:16px}.baocun[data-v-1682d268]{font-size:17px}.el-collapse[data-v-1682d268]{position:relative;border-top:0 solid #e6ebf5;border-bottom:0 solid #e6ebf5}.el-collapse-item__header[data-v-1682d268]{border-bottom:0 solid #e6ebf5!important}.delect-all[data-v-1682d268]{position:absolute;top:10px;right:30px;color:#333}.push_btn[data-v-1682d268]{position:absolute;z-index:100;top:5px;left:3px}.push_btn .iconfont[data-v-1682d268]{color:#000}.add-collection[data-v-1682d268]{line-height:30px}.add-collection .el-button[data-v-1682d268]{font-size:16px!important;vertical-align:middle;margin-left:20px}.layout[data-v-1682d268]{display:block;position:relative;margin:0;padding:0;border:1px solid #d7dde4}.layout-left[data-v-1682d268]{display:block;position:absolute;padding:20px;width:230px;min-height:99.98vh;border-right:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;top:0;left:0}.layout-left .field-container[data-v-1682d268]{display:block;position:relative;width:100%;margin:0;cursor:pointer;line-height:30px}.layout-left .field-container .aRow[data-v-1682d268]{padding:0 10px}.layout-left .field-container .aRow .operation[data-v-1682d268]{float:right;display:none}.layout-left .field-container .aRow .operation .el-button--text[data-v-1682d268]{color:#333!important}.layout-left .field-container .aRow[data-v-1682d268]:hover{background:#f7fafd}.layout-left .field-container .aRow:hover .operation[data-v-1682d268]{display:block}.layout-middle[data-v-1682d268]{display:block;position:absolute;left:230px;right:230px;width:calc(100% - 460px);margin:0;padding:0}.layout-middle .excel-designer[data-v-1682d268]{display:block;position:relative;margin:0;padding:0}.layout-right[data-v-1682d268]{display:block;position:absolute;top:0;right:0;padding:20px;width:230px;min-height:99.98vh;border-left:1px solid;border-color:#e8eaec;background:#fff;border-radius:4px;font-size:14px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c9fa.c831efc9.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c9fa.c831efc9.css deleted file mode 100644 index 67d80a492..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-c9fa.c831efc9.css +++ /dev/null @@ -1 +0,0 @@ -.imagebox[data-v-888c1542],.text[data-v-00cb103e],.text[data-v-6e740432],.text[data-v-79310a83],a[data-v-a773e3d0]{width:100%;height:100%;overflow:hidden}.imagebox img[data-v-888c1542]{width:100%;height:100%}.startImg[data-v-888c1542]{-webkit-animation:turn-data-v-888c1542 1s linear infinite;animation:turn-data-v-888c1542 1s linear infinite}@-webkit-keyframes turn-data-v-888c1542{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}@keyframes turn-data-v-888c1542{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(90deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(270deg)}to{-webkit-transform:rotate(1turn)}}.slideBox[data-v-84d93a7c]{width:450px;height:230px;overflow:hidden;position:relative}.slideBox .hd[data-v-84d93a7c]{height:15px;overflow:hidden;position:absolute;right:5px;bottom:5px;z-index:1}.slideBox .hd ul[data-v-84d93a7c]{overflow:hidden;zoom:1;float:left}.slideBox .hd ul li[data-v-84d93a7c]{float:left;margin-right:2px;width:15px;height:15px;line-height:14px;text-align:center;background:#fff;cursor:pointer}.slideBox .hd ul li.on[data-v-84d93a7c]{background:red;color:#fff}.slideBox .bd[data-v-84d93a7c]{position:relative;height:100%;z-index:0}.slideBox .bd li[data-v-84d93a7c]{zoom:1;vertical-align:middle}.slideBox .bd img[data-v-84d93a7c]{width:450px;height:230px;display:block}.slideBox .next[data-v-84d93a7c],.slideBox .prev[data-v-84d93a7c]{position:absolute;left:3%;top:50%;margin-top:-25px;display:block;width:32px;height:40px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAAAgCAMAAADE+3+QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MkYyNjE4RUVDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MkYyNjE4RUZDRjgxMTFFMjk1ODhDQkIzNDg3MjdGNUEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjI2MThFQ0NGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoyRjI2MThFRENGODExMUUyOTU4OENCQjM0ODcyN0Y1QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmLDzTcAAAAJUExURcHBwf///////wCiYf4AAAADdFJOU///ANfKDUEAAACjSURBVHja5JnRDUQhDMNM9h/6STfCgeKPsIBjhGgpnHPy7wLyYLUicC5IPJGtJfi5ngsSL1Q7AYgsW8QTV7YJJ6psFU1M2S6YiLJlLPFk21CiydaRaOT+7mKxhYOERDcuCBy+cheiJHBqHEYGqZzPug6d4aG7aajmDPUSQz3iUO8/9KYbeqsPzWCGZmtDM9OhWfjSH8fY31UuSMkT2UqET4ABAHo9NyVXKF5RAAAAAElFTkSuQmCC) -110px 5px no-repeat;filter:alpha(opacity=50);opacity:.5}.slideBox .next[data-v-84d93a7c]{left:auto;right:3%;background-position:8px 5px}.slideBox .next[data-v-84d93a7c]:hover,.slideBox .prev[data-v-84d93a7c]:hover{filter:alpha(opacity=100);opacity:1}.slideBox .nextStop[data-v-84d93a7c],.slideBox .prevStop[data-v-84d93a7c]{display:none}.container[data-v-da7c4b8c]{width:100%;height:100%}video[data-v-da7c4b8c]{width:100%;height:100%;display:block}iframe[data-v-8c8b39ae]{width:100%;height:100%;border:none}.echarts[data-v-0f726cff],.echarts[data-v-1a9ab20e],.echarts[data-v-4a03acaf],.echarts[data-v-7f6a6840],.echarts[data-v-099fad6b],.echarts[data-v-348dfa15],.echarts[data-v-6541a9fa],.echarts[data-v-30601663]{width:100%;height:100%;overflow:hidden}.txtScroll-top[data-v-3f9bc9c0]{overflow:hidden;position:relative}.title[data-v-3f9bc9c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;width:100%}.title>div[data-v-3f9bc9c0]{height:50px;line-height:50px;width:100%}.txtScroll-top .bd[data-v-3f9bc9c0]{width:100%}.txtScroll-top .infoList li[data-v-3f9bc9c0]{height:50px;line-height:50px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.txtScroll-top .infoList li>div[data-v-3f9bc9c0]{width:100%}.echartMap[data-v-39ab510e]{width:100%;height:100%}.echarts[data-v-1d70fee7],.echarts[data-v-39ab510e]{width:100%;height:100%;overflow:hidden}.echartMap[data-v-4cafc378]{width:100%;height:100%}.echarts[data-v-2fcf85aa],.echarts[data-v-4a974840],.echarts[data-v-4cafc378],.echarts[data-v-606b1983],.echarts[data-v-21970a08],.echarts[data-v-b11b03d4]{width:100%;height:100%;overflow:hidden}.vue-draggalbe[data-v-1c0e43aa]{position:absolute}.widget-active[data-v-1c0e43aa]{cursor:move;border:1px dashed #09f;background-color:rgba(115,170,229,.5)}.avue-draggable[data-v-1c0e43aa]{padding:0!important}[data-v-577511ef] .el-color-picker--mini,[data-v-577511ef] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}.app-breadcrumb.el-breadcrumb[data-v-23d4be90]{display:inline-block;font-size:14px;line-height:50px;margin-left:8px}.app-breadcrumb.el-breadcrumb .no-redirect[data-v-23d4be90]{color:#97a8be;cursor:text}.color-box .title[data-v-01252583]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}[data-v-01252583] .el-table,[data-v-01252583] .el-table__expanded-cell,[data-v-01252583] .el-table th,[data-v-01252583] .el-table tr{background-color:transparent!important;color:#859094!important}[data-v-01252583] .el-table td,[data-v-01252583] .el-table th.is-leaf{border-bottom:none;line-height:26px}[data-v-01252583] .el-table tbody tr:hover>td{background-color:#263445!important}[data-v-01252583] .el-table:before{height:0}[data-v-01252583] .el-color-picker--mini,[data-v-01252583] .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}[data-v-01252583] .el-dialog{background:#1b1e25}[data-v-01252583] .el-dialog .el-dialog__title{color:#fff}.color-box[data-v-01252583]{display:inline-block;width:20px;height:20px;border-radius:5px}.editor[data-v-01252583]{color:#409eff;cursor:pointer}[data-v-2d1f2908] ::-webkit-scrollbar-track-piece{background-color:transparent}[data-v-2d1f2908] .el-table__body-wrapper::-webkit-scrollbar{width:0;height:8px}[data-v-2d1f2908] .el-table__body-wrapper::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(144,146,152,.3)}[data-v-2d1f2908] .el-table,[data-v-2d1f2908] .el-table__expanded-cell,[data-v-2d1f2908] .el-table th,[data-v-2d1f2908] .el-table tr{background-color:transparent!important;color:#859094!important;font-size:12px!important}[data-v-2d1f2908] .el-table td,[data-v-2d1f2908] .el-table th.is-leaf{border-bottom:none;line-height:26px}[data-v-2d1f2908] .el-table tbody tr:hover,[data-v-2d1f2908] .el-table tbody tr:hover>td{background-color:#263445!important}[data-v-2d1f2908] .el-table:before{height:0}.button-group .el-button[data-v-2d1f2908]{padding:0}.file[data-v-115d1f22]{position:absolute;width:100%;padding:100%;right:0;top:0;opacity:0}[data-v-115d1f22] .el-input-group__append,[data-v-115d1f22] .el-input-group__prepend{padding:0 10px!important;overflow:hidden}.iconfont[data-v-115d1f22]{font-size:12px}[data-v-216c8d95] .el-form-item{margin-bottom:5px}[data-v-216c8d95] .el-form-item__label{font-size:12px;color:#fff}.code-mirror[data-v-216c8d95]{width:100%;height:100%!important}.el-collapse[data-v-216c8d95]{border-top:none;border-bottom:none}[data-v-216c8d95] .el-collapse-item__header{height:40px;line-height:40px;background:transparent;color:#bcc9d4;font-weight:300;font-size:12px;border-color:#282e3a}[data-v-216c8d95] .el-collapse-item__wrap{background:transparent;border:none}[data-v-216c8d95] .el-collapse-item__content{padding-bottom:0}.contentmenu[data-v-7019ee82]{width:160px;position:fixed;z-index:99999;list-style:none;-webkit-box-shadow:0 2px 6px rgba(0,0,0,.1);box-shadow:0 2px 6px rgba(0,0,0,.1);padding:0;background:#27343e;color:#bcc9d4}.contentmenu .contentmenu__item[data-v-7019ee82]{z-index:10000;list-style:none;padding:8px 12px;cursor:pointer;position:relative;font-size:12px}.contentmenu .iconfont[data-v-7019ee82]{font-size:12px}.mr10[data-v-f8c5c2b0]{margin-right:10px}.ml20[data-v-f8c5c2b0]{margin-left:20px}.border-right[data-v-f8c5c2b0]{border-right:1px solid #273b4d}.border-left[data-v-f8c5c2b0]{border-left:1px solid #273b4d}.el-icon-arrow-down[data-v-f8c5c2b0]{font-size:10px}.is-active[data-v-f8c5c2b0]{background:#31455d!important;color:#bfcbd9!important}.layout[data-v-f8c5c2b0]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;overflow:hidden}.layout .layout-left[data-v-f8c5c2b0],.layout[data-v-f8c5c2b0]{height:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.layout .layout-left[data-v-f8c5c2b0]{display:inline-block;border:0;background-color:#263445}.layout .layout-left .tools-item[data-v-f8c5c2b0]{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;width:100%;height:48px;-ms-flex-align:center;align-items:center;-webkit-box-align:center;padding:0 6px;cursor:pointer;font-size:12px;margin-bottom:1px}.layout .layout-left .tools-item .tools-item-icon[data-v-f8c5c2b0]{color:#409eff;margin-right:10px;width:53px;height:30px;line-height:30px;text-align:center;display:block;border:1px solid #3a4659;background:#282a30}.layout .layout-left-fold[data-v-f8c5c2b0]{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;font-size:12px;overflow:hidden;background-color:#242a30;cursor:pointer;padding-top:26%}.layout .layout-left-fold i[data-v-f8c5c2b0]{font-size:18px;width:18px;height:23px;margin-left:0;color:#bfcbd9}.layout .layout-middle[data-v-f8c5c2b0]{position:relative;height:100%;background-color:#242a30;box-sizing:border-box;-webkit-box-sizing:border-box;border:1px solid #242a30;-webkit-box-align:center;-ms-flex-align:center;align-items:center;vertical-align:middle;text-align:center}.layout .layout-middle .top-button[data-v-f8c5c2b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;height:40px;line-height:40px;margin-left:9px}.layout .layout-middle .top-button .btn[data-v-f8c5c2b0]{color:#788994;width:55px;text-align:center;display:block;cursor:pointer}.layout .layout-middle .top-button .btn .el-icon-arrow-down[data-v-f8c5c2b0]{transform:rotate(0deg);-ms-transform:rotate(0deg);-moz-transform:rotate(0deg);-webkit-transform:rotate(0deg);-o-transform:rotate(0deg);-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.layout .layout-middle .top-button .btn[data-v-f8c5c2b0]:hover{background:#191d22}.layout .layout-middle .top-button .btn:hover .el-icon-arrow-down[data-v-f8c5c2b0]{transform:rotate(180deg);-ms-transform:rotate(180deg);-moz-transform:rotate(180deg);-webkit-transform:rotate(180deg);-o-transform:rotate(180deg);-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.layout .layout-middle .workbench-container[data-v-f8c5c2b0]{position:relative;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}.layout .layout-middle .workbench-container .vueRuler[data-v-f8c5c2b0]{width:100%;padding:18px 0 0 18px}.layout .layout-middle .workbench-container .workbench[data-v-f8c5c2b0]{background-color:#1e1e1e;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform-origin:0 0;transform-origin:0 0;margin:0;padding:0}.layout .layout-middle .workbench-container .bg-grid[data-v-f8c5c2b0]{position:absolute;top:0;left:0;width:100%;height:100%;background-size:30px 30px,30px 30px;background-image:linear-gradient(hsla(0,0%,100%,.1) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.1) 1px,transparent 0)}.layout .layout-middle .bottom-text[data-v-f8c5c2b0]{width:100%;color:#a0a0a0;font-size:16px;position:absolute;bottom:20px}.layout .layout-right[data-v-f8c5c2b0]{display:inline-block;height:100%}.layout[data-v-f8c5c2b0] .el-tabs--border-card{border:0}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__header .el-tabs__nav .el-tabs__item{background-color:#242f3b;border:0}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__header .el-tabs__nav .el-tabs__item.is-active{background-color:#31455d}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content{background-color:#242a30;height:calc(100vh - 39px);overflow-x:hidden;overflow-y:auto}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content .el-tab-pane{color:#bfcbd9}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar{width:5px;height:14px}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb,.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track{border-radius:1px;border:0 solid transparent}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track-piece{background:#29405c;-webkit-border-radius:7px}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-track{-webkit-box-shadow:1px 1px 5px rgba(116,148,170,.5) inset;box-shadow:inset 1px 1px 5px rgba(116,148,170,.5)}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb{min-height:20px;background-clip:content-box;-webkit-box-shadow:0 0 0 5px rgba(116,148,170,.5) inset;box-shadow:inset 0 0 0 5px rgba(116,148,170,.5)}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-corner{background:transparent}.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb:horizontal,.layout[data-v-f8c5c2b0] .el-tabs--border-card .el-tabs__content::-webkit-scrollbar-thumb:vertical{background-color:#00113a;-webkit-border-radius:7px}li[data-v-f8c5c2b0],ul[data-v-f8c5c2b0]{list-style:none;margin:0;padding:0}.nav[data-v-f8c5c2b0]{width:40px;padding:0;list-style:none;zoom:1}.nav[data-v-f8c5c2b0]:after,.nav[data-v-f8c5c2b0]:before{content:"";display:table}.nav[data-v-f8c5c2b0]:after{clear:both}.nav>li[data-v-f8c5c2b0]{width:55px;text-align:left;position:relative}.nav>li a[data-v-f8c5c2b0]{float:left;padding:12px 30px;color:#999;font:700 12px;text-decoration:none}.nav>li[data-v-f8c5c2b0]:hover{color:#788994}.nav>li ul[data-v-f8c5c2b0]{visibility:hidden;position:absolute;z-index:1000;list-style:none;left:0;padding:0;background-color:#242a30;opacity:0;_margin:0;width:120px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nav>li:hover>ul[data-v-f8c5c2b0]{opacity:1;visibility:visible;margin:0}.nav>li:hover>ul li[data-v-f8c5c2b0]:hover{background-color:#191d22}.nav ul li[data-v-f8c5c2b0]{float:left;display:block;border:0;width:100%;font-size:12px}.nav ul a[data-v-f8c5c2b0]{padding:10px;width:100%;display:block;float:none;height:120px;border:1px solid #30445c;background-color:#191d22;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.nav ul a[data-v-f8c5c2b0]:hover{border:1px solid #3c5e88}.nav ul li:first-child>a[data-v-f8c5c2b0]:hover:before{border-bottom-color:#04acec}.nav ul ul[data-v-f8c5c2b0]{top:0;left:120px;width:400px;height:300px;overflow:auto;padding:10px;_margin:0}.nav ul ul li[data-v-f8c5c2b0]{width:120px;height:120px;margin-right:3px;display:block;float:left}.nav .item[data-v-f8c5c2b0]{padding:5px}[data-v-f8c5c2b0] .vue-ruler-h,[data-v-f8c5c2b0] .vue-ruler-v{opacity:.3} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-09c4.f11d2d3d.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-dd63.4ca639eb.css similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-09c4.f11d2d3d.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-dd63.4ca639eb.css diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-f259.672e16c3.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-f259.672e16c3.css new file mode 100644 index 000000000..11308ebfd --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-f259.672e16c3.css @@ -0,0 +1 @@ +.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-webkit-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.cm-s-cobalt.CodeMirror{background:#002240;color:#fff}.cm-s-cobalt div.CodeMirror-selected{background:#b36539}.cm-s-cobalt .CodeMirror-line::selection,.cm-s-cobalt .CodeMirror-line>span::selection,.cm-s-cobalt .CodeMirror-line>span>span::selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-line::-moz-selection,.cm-s-cobalt .CodeMirror-line>span::-moz-selection,.cm-s-cobalt .CodeMirror-line>span>span::-moz-selection{background:rgba(179,101,57,.99)}.cm-s-cobalt .CodeMirror-gutters{background:#002240;border-right:1px solid #aaa}.cm-s-cobalt .CodeMirror-guttermarker{color:#ffee80}.cm-s-cobalt .CodeMirror-guttermarker-subtle,.cm-s-cobalt .CodeMirror-linenumber{color:#d0d0d0}.cm-s-cobalt .CodeMirror-cursor{border-left:1px solid #fff}.cm-s-cobalt span.cm-comment{color:#08f}.cm-s-cobalt span.cm-atom{color:#845dc4}.cm-s-cobalt span.cm-attribute,.cm-s-cobalt span.cm-number{color:#ff80e1}.cm-s-cobalt span.cm-keyword{color:#ffee80}.cm-s-cobalt span.cm-string{color:#3ad900}.cm-s-cobalt span.cm-meta{color:#ff9d00}.cm-s-cobalt span.cm-tag,.cm-s-cobalt span.cm-variable-2{color:#9effff}.cm-s-cobalt .cm-type,.cm-s-cobalt span.cm-def,.cm-s-cobalt span.cm-variable-3{color:#fff}.cm-s-cobalt span.cm-bracket{color:#d8d8d8}.cm-s-cobalt span.cm-builtin,.cm-s-cobalt span.cm-special{color:#ff9e59}.cm-s-cobalt span.cm-link{color:#845dc4}.cm-s-cobalt span.cm-error{color:#9d1e15}.cm-s-cobalt .CodeMirror-activeline-background{background:#002d57}.cm-s-cobalt .CodeMirror-matchingbracket{outline:1px solid grey;color:#fff!important}div.jsoneditor .jsoneditor-search input{height:auto;border:inherit}div.jsoneditor .jsoneditor-search input:focus{border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}div.jsoneditor table{border-collapse:collapse;width:auto}div.jsoneditor td,div.jsoneditor th{padding:0;display:table-cell;text-align:left;vertical-align:inherit;border-radius:inherit}div.jsoneditor-field,div.jsoneditor-readonly,div.jsoneditor-value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}div.jsoneditor-field p,div.jsoneditor-value p{margin:0}div.jsoneditor-value{word-break:break-word}div.jsoneditor-readonly{min-width:16px;color:grey}div.jsoneditor-empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}div.jsoneditor-field.jsoneditor-empty:after,div.jsoneditor-value.jsoneditor-empty:after{pointer-events:none;color:#d3d3d3;font-size:8pt}div.jsoneditor-field.jsoneditor-empty:after{content:"field"}div.jsoneditor-value.jsoneditor-empty:after{content:"value"}a.jsoneditor-value.jsoneditor-url,div.jsoneditor-value.jsoneditor-url{color:green;text-decoration:underline}a.jsoneditor-value.jsoneditor-url{display:inline-block;padding:2px;margin:2px}a.jsoneditor-value.jsoneditor-url:focus,a.jsoneditor-value.jsoneditor-url:hover{color:#ee422e}div.jsoneditor td.jsoneditor-separator{padding:3px 0;vertical-align:top;color:grey}div.jsoneditor-field.jsoneditor-highlight,div.jsoneditor-field[contenteditable=true]:focus,div.jsoneditor-field[contenteditable=true]:hover,div.jsoneditor-value.jsoneditor-highlight,div.jsoneditor-value[contenteditable=true]:focus,div.jsoneditor-value[contenteditable=true]:hover{background-color:#ffffab;border:1px solid #ff0;border-radius:2px}div.jsoneditor-field.jsoneditor-highlight-active,div.jsoneditor-field.jsoneditor-highlight-active:focus,div.jsoneditor-field.jsoneditor-highlight-active:hover,div.jsoneditor-value.jsoneditor-highlight-active,div.jsoneditor-value.jsoneditor-highlight-active:focus,div.jsoneditor-value.jsoneditor-highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}div.jsoneditor-value.jsoneditor-string{color:green}div.jsoneditor-value.jsoneditor-array,div.jsoneditor-value.jsoneditor-object{min-width:16px;color:grey}div.jsoneditor-value.jsoneditor-number{color:#ee422e}div.jsoneditor-value.jsoneditor-boolean{color:#ff8c00}div.jsoneditor-value.jsoneditor-null{color:#004ed0}div.jsoneditor-value.jsoneditor-invalid{color:#000}div.jsoneditor-tree button{width:24px;height:24px;padding:0;margin:0;border:none;cursor:pointer;background:transparent url(/static/img/jsoneditor-icons.256e3ab.svg)}div.jsoneditor-mode-form tr.jsoneditor-expandable td.jsoneditor-tree,div.jsoneditor-mode-view tr.jsoneditor-expandable td.jsoneditor-tree{cursor:pointer}div.jsoneditor-tree button.jsoneditor-collapsed{background-position:0 -48px}div.jsoneditor-tree button.jsoneditor-expanded{background-position:0 -72px}div.jsoneditor-tree button.jsoneditor-contextmenu{background-position:-48px -72px}div.jsoneditor-tree button.jsoneditor-contextmenu.jsoneditor-selected,div.jsoneditor-tree button.jsoneditor-contextmenu:focus,div.jsoneditor-tree button.jsoneditor-contextmenu:hover,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu{background-position:-48px -48px}div.jsoneditor-tree :focus{outline:none}div.jsoneditor-tree button:focus{background-color:#f5f5f5;outline:1px solid #e5e5e5}div.jsoneditor-tree button.jsoneditor-invisible{visibility:hidden;background:none}div.jsoneditor{color:#1a1a1a;border:1px solid #3883fa;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:hidden;position:relative;padding:0;line-height:100%}div.jsoneditor-tree table.jsoneditor-tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}div.jsoneditor-outer{position:static;width:100%;height:100%;margin:-35px 0 0;padding:35px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.ace-jsoneditor,textarea.jsoneditor-text{min-height:150px}div.jsoneditor-tree{width:100%;height:100%;position:relative;overflow:auto}textarea.jsoneditor-text{width:100%;height:100%;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;outline-width:0;border:none;background-color:#fff;resize:none}tr.jsoneditor-highlight,tr.jsoneditor-selected{background-color:#e6e6e6}tr.jsoneditor-selected button.jsoneditor-contextmenu,tr.jsoneditor-selected button.jsoneditor-dragarea{visibility:hidden}tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea{visibility:visible}div.jsoneditor-tree button.jsoneditor-dragarea{background:url(/static/img/jsoneditor-icons.256e3ab.svg) -72px -72px;cursor:move}div.jsoneditor-tree button.jsoneditor-dragarea:focus,div.jsoneditor-tree button.jsoneditor-dragarea:hover,tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea{background-position:-72px -48px}div.jsoneditor td,div.jsoneditor th,div.jsoneditor tr{padding:0;margin:0}div.jsoneditor td,div.jsoneditor td.jsoneditor-tree{vertical-align:top}.jsoneditor-schema-error,div.jsoneditor-field,div.jsoneditor-value,div.jsoneditor td,div.jsoneditor textarea,div.jsoneditor th{font-family:droid sans mono,consolas,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1a1a1a}.jsoneditor-schema-error{cursor:default;display:inline-block;height:24px;line-height:24px;position:relative;text-align:center;width:24px}div.jsoneditor-tree .jsoneditor-schema-error{width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) -168px -48px}.jsoneditor-schema-error .jsoneditor-popover{background-color:#4c4c4c;border-radius:3px;-webkit-box-shadow:0 0 5px rgba(0,0,0,.4);box-shadow:0 0 5px rgba(0,0,0,.4);color:#fff;display:none;padding:7px 10px;position:absolute;width:200px;z-index:4}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above{bottom:32px;left:-98px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below{top:32px;left:-98px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left{top:-7px;right:32px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right{top:-7px;left:32px}.jsoneditor-schema-error .jsoneditor-popover:before{border-right:7px solid transparent;border-left:7px solid transparent;content:"";display:block;left:50%;margin-left:-7px;position:absolute}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-above:before{border-top:7px solid #4c4c4c;bottom:-7px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-below:before{border-bottom:7px solid #4c4c4c;top:-7px}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left:before{border-left:7px solid #4c4c4c;right:-14px;left:inherit}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-left:before,.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right:before{border-top:7px solid transparent;border-bottom:7px solid transparent;content:"";top:19px;margin-left:inherit;margin-top:-7px;position:absolute}.jsoneditor-schema-error .jsoneditor-popover.jsoneditor-right:before{border-right:7px solid #4c4c4c;left:-14px}.jsoneditor-schema-error:focus .jsoneditor-popover,.jsoneditor-schema-error:hover .jsoneditor-popover{display:block;-webkit-animation:fade-in .3s linear 1,move-up .3s linear 1;-moz-animation:fade-in .3s linear 1,move-up .3s linear 1;-ms-animation:fade-in .3s linear 1,move-up .3s linear 1}@-webkit-keyframes fade-in{0%{opacity:0}to{opacity:1}}.jsoneditor .jsoneditor-text-errors{width:100%;border-collapse:collapse;background-color:#ffef8b;border-top:1px solid gold}.jsoneditor .jsoneditor-text-errors td{padding:3px 6px;vertical-align:middle}.jsoneditor-text-errors .jsoneditor-schema-error{border:none;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) -168px -48px}div.jsoneditor-contextmenu-root{position:relative;width:0;height:0}div.jsoneditor-contextmenu{position:absolute;z-index:99999}div.jsoneditor-contextmenu,div.jsoneditor-contextmenu li,div.jsoneditor-contextmenu ul{-webkit-box-sizing:content-box;box-sizing:content-box}div.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;-webkit-box-shadow:2px 2px 12px hsla(0,0%,50.2%,.3);box-shadow:2px 2px 12px hsla(0,0%,50.2%,.3);list-style:none;margin:0;padding:0}div.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:none;cursor:pointer;color:#4d4d4d;background:transparent;font-size:10pt;font-family:arial,sans-serif;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:26px;text-align:left}div.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}div.jsoneditor-contextmenu ul li button:focus,div.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:none}div.jsoneditor-contextmenu ul li button.jsoneditor-default{width:92px}div.jsoneditor-contextmenu ul li button.jsoneditor-expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}div.jsoneditor-contextmenu div.jsoneditor-icon{float:left;width:24px;height:24px;border:none;padding:0;margin:0;background-image:url(/static/img/jsoneditor-icons.256e3ab.svg)}div.jsoneditor-contextmenu ul li button div.jsoneditor-expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(/static/img/jsoneditor-icons.256e3ab.svg) 0 -72px;opacity:.4}div.jsoneditor-contextmenu ul li.jsoneditor-selected div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button.jsoneditor-expand:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button.jsoneditor-expand:hover div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:focus div.jsoneditor-expand,div.jsoneditor-contextmenu ul li button:hover div.jsoneditor-expand{opacity:1}div.jsoneditor-contextmenu div.jsoneditor-separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}div.jsoneditor-contextmenu button.jsoneditor-remove>div.jsoneditor-icon{background-position:-24px -24px}div.jsoneditor-contextmenu button.jsoneditor-remove:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-remove:hover>div.jsoneditor-icon{background-position:-24px 0}div.jsoneditor-contextmenu button.jsoneditor-append>div.jsoneditor-icon{background-position:0 -24px}div.jsoneditor-contextmenu button.jsoneditor-append:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-append:hover>div.jsoneditor-icon{background-position:0 0}div.jsoneditor-contextmenu button.jsoneditor-insert>div.jsoneditor-icon{background-position:0 -24px}div.jsoneditor-contextmenu button.jsoneditor-insert:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-insert:hover>div.jsoneditor-icon{background-position:0 0}div.jsoneditor-contextmenu button.jsoneditor-duplicate>div.jsoneditor-icon{background-position:-48px -24px}div.jsoneditor-contextmenu button.jsoneditor-duplicate:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-duplicate:hover>div.jsoneditor-icon{background-position:-48px 0}div.jsoneditor-contextmenu button.jsoneditor-sort-asc>div.jsoneditor-icon{background-position:-168px -24px}div.jsoneditor-contextmenu button.jsoneditor-sort-asc:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-sort-asc:hover>div.jsoneditor-icon{background-position:-168px 0}div.jsoneditor-contextmenu button.jsoneditor-sort-desc>div.jsoneditor-icon{background-position:-192px -24px}div.jsoneditor-contextmenu button.jsoneditor-sort-desc:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-sort-desc:hover>div.jsoneditor-icon{background-position:-192px 0}div.jsoneditor-contextmenu ul li button.jsoneditor-selected,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:focus,div.jsoneditor-contextmenu ul li button.jsoneditor-selected:hover{color:#fff;background-color:#ee422e}div.jsoneditor-contextmenu ul li{overflow:hidden}div.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:none;-webkit-box-shadow:inset 0 0 10px hsla(0,0%,50.2%,.5);box-shadow:inset 0 0 10px hsla(0,0%,50.2%,.5);padding:0 10px;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}div.jsoneditor-contextmenu ul li ul li button{padding-left:24px;-webkit-animation:all 1s ease-in-out;animation:all 1s ease-in-out}div.jsoneditor-contextmenu ul li ul li button:focus,div.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}div.jsoneditor-contextmenu button.jsoneditor-type-string>div.jsoneditor-icon{background-position:-144px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-string.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-string:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-string:hover>div.jsoneditor-icon{background-position:-144px 0}div.jsoneditor-contextmenu button.jsoneditor-type-auto>div.jsoneditor-icon{background-position:-120px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-auto.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-auto:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-auto:hover>div.jsoneditor-icon{background-position:-120px 0}div.jsoneditor-contextmenu button.jsoneditor-type-object>div.jsoneditor-icon{background-position:-72px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-object.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-object:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-object:hover>div.jsoneditor-icon{background-position:-72px 0}div.jsoneditor-contextmenu button.jsoneditor-type-array>div.jsoneditor-icon{background-position:-96px -24px}div.jsoneditor-contextmenu button.jsoneditor-type-array.jsoneditor-selected>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-array:focus>div.jsoneditor-icon,div.jsoneditor-contextmenu button.jsoneditor-type-array:hover>div.jsoneditor-icon{background-position:-96px 0}div.jsoneditor-contextmenu button.jsoneditor-type-modes>div.jsoneditor-icon{background-image:none;width:6px}div.jsoneditor-menu{width:100%;height:35px;padding:2px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;background-color:#3883fa;border-bottom:1px solid #3883fa}div.jsoneditor-menu>button,div.jsoneditor-menu>div.jsoneditor-modes>button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid transparent;background:transparent url(/static/img/jsoneditor-icons.256e3ab.svg);color:#fff;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}div.jsoneditor-menu>button:hover,div.jsoneditor-menu>div.jsoneditor-modes>button:hover{background-color:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.4)}div.jsoneditor-menu>button:active,div.jsoneditor-menu>button:focus,div.jsoneditor-menu>div.jsoneditor-modes>button:active,div.jsoneditor-menu>div.jsoneditor-modes>button:focus{background-color:hsla(0,0%,100%,.3)}div.jsoneditor-menu>button:disabled,div.jsoneditor-menu>div.jsoneditor-modes>button:disabled{opacity:.5}div.jsoneditor-menu>button.jsoneditor-collapse-all{background-position:0 -96px}div.jsoneditor-menu>button.jsoneditor-expand-all{background-position:0 -120px}div.jsoneditor-menu>button.jsoneditor-undo{background-position:-24px -96px}div.jsoneditor-menu>button.jsoneditor-undo:disabled{background-position:-24px -120px}div.jsoneditor-menu>button.jsoneditor-redo{background-position:-48px -96px}div.jsoneditor-menu>button.jsoneditor-redo:disabled{background-position:-48px -120px}div.jsoneditor-menu>button.jsoneditor-compact{background-position:-72px -96px}div.jsoneditor-menu>button.jsoneditor-format{background-position:-72px -120px}div.jsoneditor-menu>div.jsoneditor-modes{display:inline-block;float:left}div.jsoneditor-menu>div.jsoneditor-modes>button{background-image:none;width:auto;padding-left:6px;padding-right:6px}div.jsoneditor-menu>button.jsoneditor-separator,div.jsoneditor-menu>div.jsoneditor-modes>button.jsoneditor-separator{margin-left:10px}div.jsoneditor-menu a{font-family:arial,sans-serif;font-size:10pt;color:#fff;opacity:.8;vertical-align:middle}div.jsoneditor-menu a:hover{opacity:1}div.jsoneditor-menu a.jsoneditor-poweredBy{font-size:8pt;position:absolute;right:0;top:0;padding:10px}table.jsoneditor-search div.jsoneditor-results,table.jsoneditor-search input{font-family:arial,sans-serif;font-size:10pt;color:#1a1a1a;background:transparent}table.jsoneditor-search div.jsoneditor-results{color:#fff;padding-right:5px;line-height:24px}table.jsoneditor-search{position:absolute;right:4px;top:4px;border-collapse:collapse;border-spacing:0}table.jsoneditor-search div.jsoneditor-frame{border:1px solid transparent;background-color:#fff;padding:0 2px;margin:0}table.jsoneditor-search div.jsoneditor-frame table{border-collapse:collapse}table.jsoneditor-search input{width:120px;border:none;outline:none;margin:1px;line-height:20px}table.jsoneditor-search button{width:16px;height:24px;padding:0;margin:0;border:none;background:url(/static/img/jsoneditor-icons.256e3ab.svg);vertical-align:top}table.jsoneditor-search button:hover{background-color:transparent}table.jsoneditor-search button.jsoneditor-refresh{width:18px;background-position:-99px -73px}table.jsoneditor-search button.jsoneditor-next{cursor:pointer;background-position:-124px -73px}table.jsoneditor-search button.jsoneditor-next:hover{background-position:-124px -49px}table.jsoneditor-search button.jsoneditor-previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}table.jsoneditor-search button.jsoneditor-previous:hover{background-position:-148px -49px}.ace_line_group[data-v-6a8ba07e]{text-align:left}.json-editor-container[data-v-6a8ba07e]{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%}.json-editor-container .tree-mode[data-v-6a8ba07e]{width:50%}.json-editor-container .code-mode[data-v-6a8ba07e]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.jsoneditor-btns[data-v-6a8ba07e]{text-align:center;margin-top:10px}.jsoneditor-vue .jsoneditor-outer[data-v-6a8ba07e]{min-height:150px}.jsoneditor-vue div.jsoneditor-tree[data-v-6a8ba07e]{min-height:350px}.json-save-btn[data-v-6a8ba07e]{background-color:#20a0ff;border:none;color:#fff;padding:5px 10px;border-radius:5px;cursor:pointer}.json-save-btn[data-v-6a8ba07e]:focus{outline:none}.json-save-btn[disabled][data-v-6a8ba07e]{background-color:#1d8ce0;cursor:not-allowed}code[data-v-6a8ba07e]{background-color:#f5f5f5} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-fd33.ad50b7f7.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-fd33.278be50e.css similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-fd33.ad50b7f7.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-fd33.278be50e.css diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.4c2595ee.css b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.7f32c9ff.css similarity index 77% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.4c2595ee.css rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.7f32c9ff.css index 09c9d5d03..77ab35fb6 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.4c2595ee.css +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/css/chunk-libs.7f32c9ff.css @@ -1,2 +1,2 @@ @charset "UTF-8";.el-pagination--small .arrow.disabled,.el-table--hidden,.el-table .el-table__cell.is-hidden>*,.el-table .hidden-columns{visibility:hidden}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}@font-face{font-family:element-icons;src:url(/static/fonts/element-icons.535877f.woff) format("woff"),url(/static/fonts/element-icons.732389d.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\E6A0"}.el-icon-ice-cream-square:before{content:"\E6A3"}.el-icon-lollipop:before{content:"\E6A4"}.el-icon-potato-strips:before{content:"\E6A5"}.el-icon-milk-tea:before{content:"\E6A6"}.el-icon-ice-drink:before{content:"\E6A7"}.el-icon-ice-tea:before{content:"\E6A9"}.el-icon-coffee:before{content:"\E6AA"}.el-icon-orange:before{content:"\E6AB"}.el-icon-pear:before{content:"\E6AC"}.el-icon-apple:before{content:"\E6AD"}.el-icon-cherry:before{content:"\E6AE"}.el-icon-watermelon:before{content:"\E6AF"}.el-icon-grape:before{content:"\E6B0"}.el-icon-refrigerator:before{content:"\E6B1"}.el-icon-goblet-square-full:before{content:"\E6B2"}.el-icon-goblet-square:before{content:"\E6B3"}.el-icon-goblet-full:before{content:"\E6B4"}.el-icon-goblet:before{content:"\E6B5"}.el-icon-cold-drink:before{content:"\E6B6"}.el-icon-coffee-cup:before{content:"\E6B8"}.el-icon-water-cup:before{content:"\E6B9"}.el-icon-hot-water:before{content:"\E6BA"}.el-icon-ice-cream:before{content:"\E6BB"}.el-icon-dessert:before{content:"\E6BC"}.el-icon-sugar:before{content:"\E6BD"}.el-icon-tableware:before{content:"\E6BE"}.el-icon-burger:before{content:"\E6BF"}.el-icon-knife-fork:before{content:"\E6C1"}.el-icon-fork-spoon:before{content:"\E6C2"}.el-icon-chicken:before{content:"\E6C3"}.el-icon-food:before{content:"\E6C4"}.el-icon-dish-1:before{content:"\E6C5"}.el-icon-dish:before{content:"\E6C6"}.el-icon-moon-night:before{content:"\E6EE"}.el-icon-moon:before{content:"\E6F0"}.el-icon-cloudy-and-sunny:before{content:"\E6F1"}.el-icon-partly-cloudy:before{content:"\E6F2"}.el-icon-cloudy:before{content:"\E6F3"}.el-icon-sunny:before{content:"\E6F6"}.el-icon-sunset:before{content:"\E6F7"}.el-icon-sunrise-1:before{content:"\E6F8"}.el-icon-sunrise:before{content:"\E6F9"}.el-icon-heavy-rain:before{content:"\E6FA"}.el-icon-lightning:before{content:"\E6FB"}.el-icon-light-rain:before{content:"\E6FC"}.el-icon-wind-power:before{content:"\E6FD"}.el-icon-baseball:before{content:"\E712"}.el-icon-soccer:before{content:"\E713"}.el-icon-football:before{content:"\E715"}.el-icon-basketball:before{content:"\E716"}.el-icon-ship:before{content:"\E73F"}.el-icon-truck:before{content:"\E740"}.el-icon-bicycle:before{content:"\E741"}.el-icon-mobile-phone:before{content:"\E6D3"}.el-icon-service:before{content:"\E6D4"}.el-icon-key:before{content:"\E6E2"}.el-icon-unlock:before{content:"\E6E4"}.el-icon-lock:before{content:"\E6E5"}.el-icon-watch:before{content:"\E6FE"}.el-icon-watch-1:before{content:"\E6FF"}.el-icon-timer:before{content:"\E702"}.el-icon-alarm-clock:before{content:"\E703"}.el-icon-map-location:before{content:"\E704"}.el-icon-delete-location:before{content:"\E705"}.el-icon-add-location:before{content:"\E706"}.el-icon-location-information:before{content:"\E707"}.el-icon-location-outline:before{content:"\E708"}.el-icon-location:before{content:"\E79E"}.el-icon-place:before{content:"\E709"}.el-icon-discover:before{content:"\E70A"}.el-icon-first-aid-kit:before{content:"\E70B"}.el-icon-trophy-1:before{content:"\E70C"}.el-icon-trophy:before{content:"\E70D"}.el-icon-medal:before{content:"\E70E"}.el-icon-medal-1:before{content:"\E70F"}.el-icon-stopwatch:before{content:"\E710"}.el-icon-mic:before{content:"\E711"}.el-icon-copy-document:before{content:"\E718"}.el-icon-full-screen:before{content:"\E719"}.el-icon-switch-button:before{content:"\E71B"}.el-icon-aim:before{content:"\E71C"}.el-icon-crop:before{content:"\E71D"}.el-icon-odometer:before{content:"\E71E"}.el-icon-time:before{content:"\E71F"}.el-icon-bangzhu:before{content:"\E724"}.el-icon-close-notification:before{content:"\E726"}.el-icon-microphone:before{content:"\E727"}.el-icon-turn-off-microphone:before{content:"\E728"}.el-icon-position:before{content:"\E729"}.el-icon-postcard:before{content:"\E72A"}.el-icon-message:before{content:"\E72B"}.el-icon-chat-line-square:before{content:"\E72D"}.el-icon-chat-dot-square:before{content:"\E72E"}.el-icon-chat-dot-round:before{content:"\E72F"}.el-icon-chat-square:before{content:"\E730"}.el-icon-chat-line-round:before{content:"\E731"}.el-icon-chat-round:before{content:"\E732"}.el-icon-set-up:before{content:"\E733"}.el-icon-turn-off:before{content:"\E734"}.el-icon-open:before{content:"\E735"}.el-icon-connection:before{content:"\E736"}.el-icon-link:before{content:"\E737"}.el-icon-cpu:before{content:"\E738"}.el-icon-thumb:before{content:"\E739"}.el-icon-female:before{content:"\E73A"}.el-icon-male:before{content:"\E73B"}.el-icon-guide:before{content:"\E73C"}.el-icon-news:before{content:"\E73E"}.el-icon-price-tag:before{content:"\E744"}.el-icon-discount:before{content:"\E745"}.el-icon-wallet:before{content:"\E747"}.el-icon-coin:before{content:"\E748"}.el-icon-money:before{content:"\E749"}.el-icon-bank-card:before{content:"\E74A"}.el-icon-box:before{content:"\E74B"}.el-icon-present:before{content:"\E74C"}.el-icon-sell:before{content:"\E6D5"}.el-icon-sold-out:before{content:"\E6D6"}.el-icon-shopping-bag-2:before{content:"\E74D"}.el-icon-shopping-bag-1:before{content:"\E74E"}.el-icon-shopping-cart-2:before{content:"\E74F"}.el-icon-shopping-cart-1:before{content:"\E750"}.el-icon-shopping-cart-full:before{content:"\E751"}.el-icon-smoking:before{content:"\E752"}.el-icon-no-smoking:before{content:"\E753"}.el-icon-house:before{content:"\E754"}.el-icon-table-lamp:before{content:"\E755"}.el-icon-school:before{content:"\E756"}.el-icon-office-building:before{content:"\E757"}.el-icon-toilet-paper:before{content:"\E758"}.el-icon-notebook-2:before{content:"\E759"}.el-icon-notebook-1:before{content:"\E75A"}.el-icon-files:before{content:"\E75B"}.el-icon-collection:before{content:"\E75C"}.el-icon-receiving:before{content:"\E75D"}.el-icon-suitcase-1:before{content:"\E760"}.el-icon-suitcase:before{content:"\E761"}.el-icon-film:before{content:"\E763"}.el-icon-collection-tag:before{content:"\E765"}.el-icon-data-analysis:before{content:"\E766"}.el-icon-pie-chart:before{content:"\E767"}.el-icon-data-board:before{content:"\E768"}.el-icon-data-line:before{content:"\E76D"}.el-icon-reading:before{content:"\E769"}.el-icon-magic-stick:before{content:"\E76A"}.el-icon-coordinate:before{content:"\E76B"}.el-icon-mouse:before{content:"\E76C"}.el-icon-brush:before{content:"\E76E"}.el-icon-headset:before{content:"\E76F"}.el-icon-umbrella:before{content:"\E770"}.el-icon-scissors:before{content:"\E771"}.el-icon-mobile:before{content:"\E773"}.el-icon-attract:before{content:"\E774"}.el-icon-monitor:before{content:"\E775"}.el-icon-search:before{content:"\E778"}.el-icon-takeaway-box:before{content:"\E77A"}.el-icon-paperclip:before{content:"\E77D"}.el-icon-printer:before{content:"\E77E"}.el-icon-document-add:before{content:"\E782"}.el-icon-document:before{content:"\E785"}.el-icon-document-checked:before{content:"\E786"}.el-icon-document-copy:before{content:"\E787"}.el-icon-document-delete:before{content:"\E788"}.el-icon-document-remove:before{content:"\E789"}.el-icon-tickets:before{content:"\E78B"}.el-icon-folder-checked:before{content:"\E77F"}.el-icon-folder-delete:before{content:"\E780"}.el-icon-folder-remove:before{content:"\E781"}.el-icon-folder-add:before{content:"\E783"}.el-icon-folder-opened:before{content:"\E784"}.el-icon-folder:before{content:"\E78A"}.el-icon-edit-outline:before{content:"\E764"}.el-icon-edit:before{content:"\E78C"}.el-icon-date:before{content:"\E78E"}.el-icon-c-scale-to-original:before{content:"\E7C6"}.el-icon-view:before{content:"\E6CE"}.el-icon-loading:before{content:"\E6CF"}.el-icon-rank:before{content:"\E6D1"}.el-icon-sort-down:before{content:"\E7C4"}.el-icon-sort-up:before{content:"\E7C5"}.el-icon-sort:before{content:"\E6D2"}.el-icon-finished:before{content:"\E6CD"}.el-icon-refresh-left:before{content:"\E6C7"}.el-icon-refresh-right:before{content:"\E6C8"}.el-icon-refresh:before{content:"\E6D0"}.el-icon-video-play:before{content:"\E7C0"}.el-icon-video-pause:before{content:"\E7C1"}.el-icon-d-arrow-right:before{content:"\E6DC"}.el-icon-d-arrow-left:before{content:"\E6DD"}.el-icon-arrow-up:before{content:"\E6E1"}.el-icon-arrow-down:before{content:"\E6DF"}.el-icon-arrow-right:before{content:"\E6E0"}.el-icon-arrow-left:before{content:"\E6DE"}.el-icon-top-right:before{content:"\E6E7"}.el-icon-top-left:before{content:"\E6E8"}.el-icon-top:before{content:"\E6E6"}.el-icon-bottom:before{content:"\E6EB"}.el-icon-right:before{content:"\E6E9"}.el-icon-back:before{content:"\E6EA"}.el-icon-bottom-right:before{content:"\E6EC"}.el-icon-bottom-left:before{content:"\E6ED"}.el-icon-caret-top:before{content:"\E78F"}.el-icon-caret-bottom:before{content:"\E790"}.el-icon-caret-right:before{content:"\E791"}.el-icon-caret-left:before{content:"\E792"}.el-icon-d-caret:before{content:"\E79A"}.el-icon-share:before{content:"\E793"}.el-icon-menu:before{content:"\E798"}.el-icon-s-grid:before{content:"\E7A6"}.el-icon-s-check:before{content:"\E7A7"}.el-icon-s-data:before{content:"\E7A8"}.el-icon-s-opportunity:before{content:"\E7AA"}.el-icon-s-custom:before{content:"\E7AB"}.el-icon-s-claim:before{content:"\E7AD"}.el-icon-s-finance:before{content:"\E7AE"}.el-icon-s-comment:before{content:"\E7AF"}.el-icon-s-flag:before{content:"\E7B0"}.el-icon-s-marketing:before{content:"\E7B1"}.el-icon-s-shop:before{content:"\E7B4"}.el-icon-s-open:before{content:"\E7B5"}.el-icon-s-management:before{content:"\E7B6"}.el-icon-s-ticket:before{content:"\E7B7"}.el-icon-s-release:before{content:"\E7B8"}.el-icon-s-home:before{content:"\E7B9"}.el-icon-s-promotion:before{content:"\E7BA"}.el-icon-s-operation:before{content:"\E7BB"}.el-icon-s-unfold:before{content:"\E7BC"}.el-icon-s-fold:before{content:"\E7A9"}.el-icon-s-platform:before{content:"\E7BD"}.el-icon-s-order:before{content:"\E7BE"}.el-icon-s-cooperation:before{content:"\E7BF"}.el-icon-bell:before{content:"\E725"}.el-icon-message-solid:before{content:"\E799"}.el-icon-video-camera:before{content:"\E772"}.el-icon-video-camera-solid:before{content:"\E796"}.el-icon-camera:before{content:"\E779"}.el-icon-camera-solid:before{content:"\E79B"}.el-icon-download:before{content:"\E77C"}.el-icon-upload2:before{content:"\E77B"}.el-icon-upload:before{content:"\E7C3"}.el-icon-picture-outline-round:before{content:"\E75F"}.el-icon-picture-outline:before{content:"\E75E"}.el-icon-picture:before{content:"\E79F"}.el-icon-close:before{content:"\E6DB"}.el-icon-check:before{content:"\E6DA"}.el-icon-plus:before{content:"\E6D9"}.el-icon-minus:before{content:"\E6D8"}.el-icon-help:before{content:"\E73D"}.el-icon-s-help:before{content:"\E7B3"}.el-icon-circle-close:before{content:"\E78D"}.el-icon-circle-check:before{content:"\E720"}.el-icon-circle-plus-outline:before{content:"\E723"}.el-icon-remove-outline:before{content:"\E722"}.el-icon-zoom-out:before{content:"\E776"}.el-icon-zoom-in:before{content:"\E777"}.el-icon-error:before{content:"\E79D"}.el-icon-success:before{content:"\E79C"}.el-icon-circle-plus:before{content:"\E7A0"}.el-icon-remove:before{content:"\E7A2"}.el-icon-info:before{content:"\E7A1"}.el-icon-question:before{content:"\E7A4"}.el-icon-warning-outline:before{content:"\E6C9"}.el-icon-warning:before{content:"\E7A3"}.el-icon-goods:before{content:"\E7C2"}.el-icon-s-goods:before{content:"\E7B2"}.el-icon-star-off:before{content:"\E717"}.el-icon-star-on:before{content:"\E797"}.el-icon-more-outline:before{content:"\E6CC"}.el-icon-more:before{content:"\E794"}.el-icon-phone-outline:before{content:"\E6CB"}.el-icon-phone:before{content:"\E795"}.el-icon-user:before{content:"\E6E3"}.el-icon-user-solid:before{content:"\E7A5"}.el-icon-setting:before{content:"\E6CA"}.el-icon-s-tools:before{content:"\E7AC"}.el-icon-delete:before{content:"\E6D7"}.el-icon-delete-solid:before{content:"\E7C9"}.el-icon-eleme:before{content:"\E7C7"}.el-icon-platform-eleme:before{content:"\E7CA"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409eff}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:50% no-repeat #fff;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409eff}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409eff}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.el-dialog,.el-pager li{background:#fff;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-date-table,.el-pager,.el-table th.el-table__cell{-webkit-user-select:none;-moz-user-select:none}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409eff}.el-pager li.active{color:#409eff;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409eff}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:hsla(0,0%,100%,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled):before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #ebeef5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:1px solid #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0}.el-menu,.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:1px solid #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409eff;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409eff;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #e4e7ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409eff}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409eff}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409eff}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #409eff;box-shadow:-1px 0 0 0 #409eff}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409eff}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#409eff;background-color:#409eff}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409eff;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"\E6DA";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#409eff;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409eff}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotate(180deg);transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotate(0);transform:rotate(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotate(180deg);transform:rotate(180deg);border-radius:100%;color:#c0c4cc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-select .el-input.is-focus .el-input__inner{border-color:#409eff}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;top:0;color:#fff;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#fff}.el-select .el-tag__close.el-icon-close:before{display:block;-webkit-transform:translateY(.5px);transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#f5f7fa}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini .el-table__cell{padding:6px 0}.el-table--border .el-table__cell:first-child .cell,.el-table .cell{padding-left:10px}.el-table tr{background-color:#fff}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:#fff}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409eff}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #ebeef5}.el-table--border th.el-table__cell,.el-table--border th.el-table__cell.gutter:last-of-type,.el-table__fixed-right-patch{border-bottom:1px solid #ebeef5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409eff}.el-table .descending .sort-caret.descending{border-top-color:#409eff}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#f5f7fa}.el-table__body tr.current-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #ebeef5;border-radius:2px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409eff;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #ebeef5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div,.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-table-filter__bottom button:hover{color:#409eff}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;text-align:center;cursor:pointer;position:relative}.el-date-table td,.el-date-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td div{padding:3px 0}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409eff;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#409eff}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#409eff}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409eff}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#409eff;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:1px solid #ebeef5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409eff;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409eff}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#409eff}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409eff}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409eff;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409eff}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #ebeef5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409eff}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409eff;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input:-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409eff}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-moz-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel,.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409eff}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409eff}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409eff}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409eff}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #e4e7ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-slider__button,.el-slider__button-wrapper,.el-time-panel{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:66.66667%}.el-time-panel__content.has-seconds:before{padding-left:33.33333%}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409eff}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #e4e7ed}.el-popover{position:absolute;background:#fff;min-width:150px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #ebeef5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409eff}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67c23a}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#e6a23c}.el-message-box__status.el-icon-error{color:#f56c6c}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#f56c6c;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:#409eff;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409eff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-collapse-item__arrow,.el-tabs__nav{-webkit-transition:-webkit-transform .3s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8);transform:scale(.8)}.el-tabs__new-tab:hover{color:#409eff}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409eff inset;box-shadow:inset 0 0 2px 2px #409eff;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#409eff}.el-tabs__item:hover{color:#409eff;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409eff;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409eff}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #dcdfe6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border:1px solid #e4e7ed;border-bottom:none;border-left:none;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #e4e7ed;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:none;border-top:1px solid #e4e7ed;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #e4e7ed;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #e4e7ed}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #e4e7ed;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:none;border-top:1px solid #e4e7ed;border-left:1px solid #fff}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #e4e7ed;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409eff}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409eff;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#f5f7fa}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67c23a}.el-alert--success.is-light .el-alert__description{color:#67c23a}.el-alert--success.is-dark{background-color:#67c23a;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#e6a23c}.el-alert--warning.is-light .el-alert__description{color:#e6a23c}.el-alert--warning.is-dark{background-color:#e6a23c;color:#fff}.el-alert--error.is-light{background-color:#fef0f0;color:#f56c6c}.el-alert--error.is-light .el-alert__description{color:#f56c6c}.el-alert--error.is-dark{background-color:#f56c6c;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67c23a}.el-notification .el-icon-error{color:#f56c6c}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#e6a23c}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409eff}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409eff}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #dcdfe6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #dcdfe6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #dcdfe6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #dcdfe6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-progress-bar__inner:after,.el-row:after,.el-row:before,.el-slider:after,.el-slider:before,.el-slider__button-wrapper:after,.el-upload-cover:after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{vertical-align:middle;display:inline-block}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409eff;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper:after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409eff;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;user-select:none}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px}.el-slider.is-vertical .el-slider__button-wrapper,.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #dcdfe6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409eff}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:hsla(0,0%,100%,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-2,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-push-0,.el-col-push-1,.el-col-push-2,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#409eff;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409eff;stroke-linecap:round}.el-loading-spinner i{color:#409eff}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row:after,.el-row:before{display:table}.el-row:after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409eff;color:#409eff}.el-upload:focus .el-upload-dragger{border-color:#409eff}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #dcdfe6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.el-upload-dragger:hover{border-color:#409eff}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409eff}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67c23a}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409eff}.el-upload-list__item:hover{background-color:#f5f7fa}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409eff;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409eff}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner:after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-progress.is-warning .el-progress__text{color:#e6a23c}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409eff;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner:after{height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#f56c6c;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409eff}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border:1px solid #ebeef5;background-color:#fff;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#67c23a;border-color:#67c23a}.el-step__head.is-error{color:#f56c6c;border-color:#f56c6c}.el-step__head.is-finish{color:#409eff;border-color:#409eff}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border:1px solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#409eff}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#67c23a}.el-step__description.is-error{color:#f56c6c}.el-step__description.is-finish{color:#409eff}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item--card,.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active,.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active,.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45);transform:scale(.45)}.collapse-transition{-webkit-transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out;transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out}.horizontal-collapse-transition{-webkit-transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out;transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409eff}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-cascader__tags,.el-collapse-item__wrap,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecf5ff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409eff;border:1px solid #d9ecff;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409eff}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67c23a}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#409eff;color:#fff}.el-tag--dark,.el-tag--dark.is-hit{border-color:#409eff}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67c23a}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409eff}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409eff}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#409eff;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#c0c4cc}.el-cascader__search-input:-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-moz-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{font-size:12px;margin-top:8px;width:280px}.el-color-predefine,.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex}.el-color-predefine__colors{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409eff;box-shadow:0 0 3px 2px #409eff}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(0deg,#000,transparent)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409eff;border-color:#409eff}.el-color-dropdown__link-btn{cursor:pointer;color:#409eff;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409eff,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:hsla(0,0%,100%,.7)}.el-color-picker__trigger{display:inline-block;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;cursor:pointer}.el-color-picker__color,.el-color-picker__trigger{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-color-picker__color{display:block;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999}.el-color-picker__empty,.el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;color:#fff;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #dcdfe6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:0;border-color:#409eff}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#f56c6c}.el-textarea.is-exceed .el-input__count{color:#f56c6c}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:normal;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#c0c4cc;text-align:center}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409eff;outline:0}.el-input__suffix{right:5px;-webkit-transition:all .3s;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px}.el-input__icon,.el-input__prefix{-webkit-transition:all .3s;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#409eff;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409eff}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #ebeef5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-aside,.el-container,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px}.el-aside,.el-header{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;padding:20px}.el-footer,.el-main{-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #e4e7ed}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409eff}.el-timeline-item__node--success{background-color:#67c23a}.el-timeline-item__node--warning{background-color:#e6a23c}.el-timeline-item__node--danger{background-color:#f56c6c}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409eff}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409eff}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409eff}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#409eff}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#c0c4cc;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;user-select:none}.el-button,.el-checkbox,.el-image-viewer__btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#409eff;color:#409eff}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#fff;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#409eff;border-color:#409eff}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409eff;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409eff;border-color:#409eff;color:#fff}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#fff;background-color:#67c23a;border-color:#67c23a}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#fff}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67c23a;border-color:#67c23a;color:#fff}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#fff}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#fff}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#e6a23c;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#e6a23c;border-color:#e6a23c;color:#fff}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#fff}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#fff}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#f56c6c;border-color:#f56c6c;color:#fff}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#409eff;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;background-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ebeef5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-backtop,.el-calendar-table td.is-today{color:#409eff}.el-calendar-table td{border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table tr:first-child td{border-top:1px solid #ebeef5}.el-calendar-table tr td:first-child{border-left:1px solid #ebeef5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{line-height:24px}.el-page-header,.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex}.el-page-header__left{cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#dcdfe6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409eff}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner:after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409eff}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409eff}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #dcdfe6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409eff}.el-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409eff}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;white-space:nowrap;outline:0}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409eff}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409eff}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;cursor:pointer;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409eff}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409eff;background:#409eff}.el-radio__input.is-checked .el-radio__inner:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409eff}.el-radio__input.is-focus .el-radio__inner{border-color:#409eff}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409eff}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:background-color .3s;transition:background-color .3s}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #e4e7ed;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:1px solid #e4e7ed}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-avatar,.el-drawer{-webkit-box-sizing:border-box;overflow:hidden}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409eff;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-drawer,.el-drawer__header{display:-webkit-box;display:-ms-flexbox}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}.el-drawer.ltr,.el-drawer.rtl,.el-drawer__container{top:0;bottom:0;height:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);outline:0}.el-drawer,.el-drawer__body>*,.el-empty{-webkit-box-sizing:border-box}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child,.el-drawer__title{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{width:100%;left:0;right:0}.el-drawer__container{position:relative}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-empty,.el-skeleton__image{display:-webkit-box;display:-ms-flexbox}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#dcdde0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#dcdde0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#fff}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #ebeef5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__label.has-colon:after{content:":";position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67c23a}.el-result .icon-error{fill:#f56c6c}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#e6a23c} -/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}.echarts{width:600px;height:400px}.avue-affix{position:fixed;z-index:10}.avue-sign{padding:5px}.avue-sign__canvas{border:1px solid #ccc}.avue-carousel--fullscreen{height:100%}.avue-carousel--fullscreen .el-carousel,.avue-carousel--fullscreen .el-carousel__container{height:90%}.avue-carousel__item{position:relative;width:100%;height:100%}.avue-carousel__item a{width:100%;height:100%;display:block}.avue-carousel__img{height:100%;background-size:cover;background-position:50%}.avue-carousel__title{z-index:1024;position:absolute;left:0;bottom:0;width:100%;height:50px;line-height:50px;font-size:16px;text-align:center;color:#fff;background-color:rgba(0,0,0,.6)}.avue-article__title{margin-bottom:15px;font-size:32px;line-height:32px;font-weight:400}.avue-article__meta{display:block;margin-bottom:20px;font-size:12px;color:#999}.avue-article__lead{color:#666;font-size:14px;line-height:22px;border:1px solid #dedede;border-radius:2px;background:#f9f9f9;padding:10px}.avue-article__body,.avue-comment__body{background:#fff;font-family:Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif}.avue-article__body{padding-top:10px;color:#333;font-size:14px}.avue-article blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-avatar{font-size:14px;font-variant:tabular-nums;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:32px;height:32px;line-height:32px;border-radius:50%}.avue-avatar__images{width:100%;height:100%}.avue-avatar__icon{font-size:18px}.avue-avatar__string{position:absolute;left:50%;-webkit-transform-origin:0 center;transform-origin:0 center}.avue-avatar--lg{width:40px;height:40px;line-height:40px;border-radius:50%;font-size:24px}.avue-avatar--sm{width:24px;height:24px;line-height:24px;border-radius:50%;font-size:14px}.avue-avatar--square{border-radius:4px}.avue-skeleton__avatar{width:40px;height:40px;line-height:40px;display:inline-block;border-radius:50%;background:#f2f2f2}.avue-skeleton__header{display:table-cell;vertical-align:top;padding-right:16px}.avue-skeleton__content{display:table-cell;vertical-align:top;width:100%}.avue-skeleton__title{margin-top:16px;height:16px;width:40%;background:#f2f2f2}.avue-skeleton__item{padding-top:16px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.avue-skeleton__item:last-child{border-bottom:none}.avue-skeleton__li{margin-bottom:10px;height:16px;background:#f2f2f2;list-style:none;width:100%}.avue-skeleton__li:last-child{width:50%}.avue-skeleton__loading{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);-webkit-animation:avue-skeleton-loading 1.4s ease infinite;animation:avue-skeleton-loading 1.4s ease infinite;background-size:400% 100%}@-webkit-keyframes avue-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes avue-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.avue-crud{margin:0 auto;width:100%}.avue-crud .el-card+.el-card{margin-top:8px}.avue-crud--card .el-card{border:none}.avue-crud--card .el-card__body{padding:0}.avue-crud--card .el-card+.el-card{margin-top:0}.avue-crud .el-table .el-form-item{margin-bottom:0;display:inline-block;width:100%}.avue-crud .el-table .el-form-item__label{position:absolute;left:2px}.avue-crud .el-table .el-form-item__content{line-height:inherit;font-size:inherit}.avue-crud .el-table .el-form-item__error{width:100%;text-align:left;position:relative}.avue-crud .el-dropdown+.el-button{margin-left:10px}.avue-crud .el-checkbox:last-of-type{margin-right:0}.avue-crud .el-range-editor--mini{height:28px}.avue-crud__img{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__img img,.avue-crud__img video{height:40px;margin-left:5px;-o-object-fit:contain;object-fit:contain}.avue-crud__column .el-checkbox{margin-bottom:10px;cursor:move}.avue-crud__menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;width:100%;min-height:40px;height:auto;overflow:hidden;margin-bottom:5px;background-color:#fff}.avue-crud__search .el-form-item--medium.el-form-item{margin-bottom:22px}.avue-crud__search .el-form-item--mini.el-form-item,.avue-crud__search .el-form-item--small.el-form-item{margin-bottom:14px}.avue-crud .el-table--mini .avue-crud__color{width:20px;height:20px}.avue-crud .el-table--mini .avue-crud__icon{font-size:20px}.avue-crud .el-table--small .avue-crud__color{width:30px;height:30px}.avue-crud .el-table--small .avue-crud__icon{font-size:30px}.avue-crud th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud table td{line-height:26px}.avue-crud--indeterminate .is-indeterminate .el-checkbox__inner{background-color:#fff;border-color:#dcdfe6}.avue-crud .el-table th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud__color{margin:0 auto;width:40px;height:40px;border-radius:5px;display:block}.avue-crud__icon{font-size:45px}.avue-crud__icon--small{font-size:20px;width:20px;height:20px}.avue-crud__ghost{cursor:move;opacity:.4}.avue-crud__pagination{position:relative;padding:25px 0 20px 20px;text-align:right}.avue-crud__pagination .el-pagination{display:inline-block}.avue-crud__tip,.avue-crud__title{display:-ms-flexbox;-webkit-box-align:center}.avue-crud__form{padding:0 8px}.avue-crud__empty{padding:60px 0}.avue-crud__header{margin-bottom:10px}.avue-crud__header>.el-button{padding:12px 25px}.avue-crud__title{font-weight:700;margin-bottom:20px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:22px}.avue-crud__tip,.avue-crud__title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.avue-crud__tip{margin:0 0 8px;font-size:12px}.avue-crud__tip-name{margin-right:10px}.avue-crud__tip-count{font-size:16px;font-weight:600}.avue-crud__tip .el-button{margin-bottom:0}.avue-crud__filter-item{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__filter-menu{padding:0 5px;margin-bottom:20px}.avue-crud__filter-label{margin:0 5px;width:120px!important}.avue-crud__filter-symbol{margin:0 5px;width:80px!important}.avue-crud__filter-value{margin:0 5px;width:150px!important}.avue-crud__filter-value .el-date-editor.el-input,.avue-crud__filter-value .el-date-editor.el-input__inner{width:100%}.avue-crud__filter-icon{margin-left:10px}.avue-crud__dialog__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-crud__dialog__menu{padding-right:20px}.avue-crud__dialog__menu i{color:#909399;font-size:15px}.avue-crud__dialog__menu i:hover{color:#409eff}.avue-crud__dialog .el-dialog__body{padding:20px 20px 5px 10px}.avue-crud__dialog .el-scrollbar__wrap{overflow-x:hidden}.avue-crud__dialog .avue-form__menu{padding-top:15px}.avue-card__item{margin-bottom:16px;border:1px solid #e8e8e8;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.65);font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";cursor:pointer;height:200px}.avue-card__item:hover{border-color:rgba(0,0,0,.09);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.09);box-shadow:0 2px 8px rgba(0,0,0,.09)}.avue-card__item--add{border:1px dashed #d9d9d9;width:100%;color:rgba(0,0,0,.45);background-color:#fff;border-radius:2px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px}.avue-card__item--add i{margin-right:10px}.avue-card__item--add:hover{color:#40a9ff;background-color:#fff;border-color:#40a9ff}.avue-card__body{display:-webkit-box;display:-ms-flexbox;display:flex;padding:24px}.avue-card__detail{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-card__avatar{width:48px;height:48px;border-radius:48px;overflow:hidden;margin-right:12px}.avue-card__avatar img{width:100%;height:100%}.avue-card__title{color:rgba(0,0,0,.85);margin-bottom:12px;font-size:16px}.avue-card__title:hover{color:#1890ff}.avue-card__info,.avue-card__menu{display:-webkit-box;color:rgba(0,0,0,.45)}.avue-card__info{-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;height:64px}.avue-card__menu{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-pack:distribute;justify-content:space-around;height:50px;background:#f7f9fa;text-align:center;line-height:50px}.avue-card__menu:hover{color:#1890ff}.avue-comment{margin-bottom:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.avue-comment--reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.avue-comment--reverse .avue-comment__main:after,.avue-comment--reverse .avue-comment__main:before{left:auto;right:-8px;border-width:8px 0 8px 8px}.avue-comment--reverse .avue-comment__main:before{border-left-color:#dedede}.avue-comment--reverse .avue-comment__main:after{border-left-color:#f8f8f8;margin-right:1px;margin-left:auto}.avue-comment__avatar{width:48px;height:48px;border-radius:50%;border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.avue-comment__header{padding:5px 15px;background:#f8f8f8;border-bottom:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-comment__author{font-weight:700;font-size:14px;color:#999}.avue-comment__main{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 20px;position:relative;border:1px solid #dedede;border-radius:2px}.avue-comment__main:after,.avue-comment__main:before{position:absolute;top:10px;left:-8px;right:100%;width:0;height:0;display:block;content:" ";border-color:transparent;border-style:solid solid outset;border-width:8px 8px 8px 0;pointer-events:none}.avue-comment__main:before{border-right-color:#dedede;z-index:1}.avue-comment__main:after{border-right-color:#f8f8f8;margin-left:1px;z-index:2}.avue-comment__body{padding:15px;overflow:hidden;color:#333;font-size:14px}.avue-comment blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-chat{-webkit-box-shadow:1px 2px 10px #eee;box-shadow:1px 2px 10px #eee;position:relative;background-color:#fcfcfc}.avue-chat li,.avue-chat ul{padding:0;margin:0}.avue-chat li{list-style:none;cursor:pointer}.avue-chat .web__content{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.avue-chat .web__main{height:calc(100% - 200px);padding:15px 15px 20px;overflow-x:hidden;overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__logo{background-color:#409eff;display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 12px;margin:0 auto;vertical-align:middle}.avue-chat .web__logo-img{margin-top:3px;width:35px;height:35px;border-radius:100%;-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,.1);box-shadow:0 3px 3px 0 rgba(0,0,0,.1)}.avue-chat .web__logo-info{margin-left:10px}.avue-chat .web__logo-name{position:relative;margin-top:5px;font-size:13px}.avue-chat .web__logo-dept{margin-top:1px;font-size:12px}.avue-chat .web__logo-dept,.avue-chat .web__logo-name{color:#fff;margin:0;padding:0;width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.avue-chat .web__main-item{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.avue-chat .web__main-text,.avue-chat .web__main-user{display:inline-block;vertical-align:top;font-size:14px}.avue-chat .web__main-user{position:absolute;left:3px}.avue-chat .web__main-user img{width:40px;height:40px;border-radius:100%}.avue-chat .web__main-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.avue-chat .web__main-user cite i{padding-left:15px;font-style:normal}.avue-chat .web__main-text{position:relative;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#f3f3f3;border-radius:3px;border:1px solid #f0f0f0;color:#000;word-break:break-all}.avue-chat .web__main-arrow{top:6px;left:-8px;border-color:transparent #ebeef5 transparent transparent;border-width:8px 8px 8px 0}.avue-chat .web__main-arrow,.avue-chat .web__main-arrow:after{position:absolute;display:block;width:0;height:0;border-style:solid}.avue-chat .web__main-arrow:after{content:" ";top:-7px;left:1px;border-color:transparent #fff transparent transparent;border-width:7px 7px 7px 0}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow{left:auto;right:-5px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:8px 0 8px 8px}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow:after{left:auto;right:-2px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:7px 0 7px 7px}.avue-chat .web__main-list{margin:10px 0}.avue-chat .web__main-list li{height:30px;color:#409eff;line-height:30px}.avue-chat .web__main-item--mine{text-align:right;padding-left:0;padding-right:60px}.avue-chat .web__main-item--mine .web__main-user{left:auto;right:3px}.avue-chat .web__main-item--mine .web__main-user cite{left:auto;right:60px;text-align:right}.avue-chat .web__main-item--mine .web__main-user cite i{padding-left:0;padding-right:15px}.avue-chat .web__main-item--mine .web__main-text{margin-left:0;text-align:left;background-color:#409eff;color:#fff}.avue-chat .web__footer{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);position:absolute;left:0;bottom:0;width:100%;background-color:#fff}.avue-chat .web__msg{padding:10px;height:auto;overflow:hidden}.avue-chat .web__msg--file,.avue-chat .web__msg--img,.avue-chat .web__msg--video{position:relative;max-width:250px;min-width:200px;width:100%;margin:10px 0;border:1px solid #eee;overflow:hidden;border-radius:5px;cursor:pointer;display:block}.avue-chat .web__msg--file span,.avue-image-preview__box,.avue-img--center{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.avue-chat .web__msg--file{height:140px;background-color:#fff}.avue-chat .web__msg--file span{-webkit-box-sizing:border-box;box-sizing:border-box;padding:3px 5px;color:#333;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:calc(100% - 80px);overflow:hidden;font-size:13px;text-align:center}.avue-chat .web__msg--file h2{margin:0;width:100%;text-align:center;line-height:80px;background-color:#409eff;color:#fff}.avue-chat .web__msg--map{height:160px}.avue-chat .web__msg-input{display:block;width:100%;height:60px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;outline:0;background-color:#fff;border:0;word-break:break-all;font-size:13px;line-height:17px;-webkit-appearance:none}.avue-chat .web__msg-input,.avue-chat .web__tools,.avue-form,.avue-form__menu{-webkit-box-sizing:border-box}.avue-chat .web__msg-submit{float:right;display:block;outline:0;cursor:pointer;text-align:center}.avue-chat .web__tools{padding:8px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__tools i{margin-right:12px;font-size:20px;color:#888a91}.avue-chat .web__tools i:hover{color:#76b1f9}.avue-draggable{padding:10px;position:absolute;cursor:move;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-draggable__focus{opacity:0;position:absolute!important;top:0;left:0;z-index:-1024}.avue-draggable__mask{width:100%;height:100%;border:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.avue-draggable--active{cursor:move;border:1px dashed #09f;background-color:rgba(115,170,229,.5)}.avue-draggable--move{opacity:.6;background-color:rgba(115,170,229,.5)}.avue-draggable--click{cursor:pointer}.avue-draggable__line--left{position:absolute;border-top:1px dashed #09f;width:10000px;height:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.avue-draggable__line--top{position:absolute;border-left:1px dashed #09f;width:0;height:10000px;left:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.avue-draggable__line--label{top:-5px;left:-8px;position:absolute;padding:5px;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);color:#09f;font-size:18px;white-space:nowrap;cursor:move}.avue-draggable__menu,.avue-image-preview .el-image-viewer__close i,.avue-image-preview__file a{color:#fff}.avue-draggable__menu{position:absolute;top:0;left:0;background-color:#409eff;font-size:25px;z-index:9999;cursor:pointer}.avue-draggable__range{position:absolute;width:10px;height:10px;border-radius:100%;z-index:9999;background-color:#09f}.avue-draggable__range--left,.avue-draggable__range--right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.avue-draggable__range--left:hover,.avue-draggable__range--right:hover{cursor:ew-resize}.avue-draggable__range--left{left:-6px}.avue-draggable__range--right{right:-6px}.avue-draggable__range--bottom,.avue-draggable__range--top{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.avue-draggable__range--bottom:hover,.avue-draggable__range--top:hover{cursor:ns-resize}.avue-draggable__range--top{top:-6px}.avue-draggable__range--bottom{bottom:-6px}.avue-draggable__range--bottom-right:hover,.avue-draggable__range--top-left:hover{cursor:nwse-resize}.avue-draggable__range--bottom-left:hover,.avue-draggable__range--top-right:hover{cursor:nesw-resize}.avue-draggable__range--top-right{top:-6px;right:-6px}.avue-draggable__range--top-left{top:-6px;left:-6px}.avue-draggable__range--bottom-right{bottom:-6px;right:-6px}.avue-draggable__range--bottom-left{bottom:-6px;left:-6px}.avue-img--center{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-img--fullscreen .el-dialog__body{height:100%}.avue-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;-webkit-transition:all .5s;transition:all .5s;z-index:9998}.avue-image-preview .el-image-viewer__btn{z-index:1024}.avue-image-preview img{-webkit-transition:all .5s;transition:all .5s;cursor:pointer}.avue-image-preview__file{text-align:center}.avue-image-preview__file i{font-size:80px}.avue-image-preview__mask{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.avue-image-preview__box{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-image-preview__box .el-carousel{width:90%;height:100%}.avue-image-preview__box .el-carousel__container{height:100%}.avue-image-preview__box .el-carousel__item{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-input-tree .el-tag__close{display:none!important}.avue-input-tree__desc{float:right;color:#8492a6;font-size:13px}.avue-input-table__crud .avue-crud__pagination{padding:10px 0 2px 10px;margin:0}.amap-icon img,.amap-marker-content img{width:25px;height:34px}.avue-input-map__marker{position:absolute;top:-20px;right:-118px;color:#fff;padding:4px 10px;-webkit-box-shadow:1px 1px 1px rgba(10,10,10,.2);box-shadow:1px 1px 1px rgba(10,10,10,.2);white-space:nowrap;font-size:12px;background-color:#25a5f7;border-radius:3px}.avue-input-map__content-input{margin-bottom:10px}.avue-input-map__content-box{position:relative}.avue-input-map__content-container{width:100%;height:450px}.avue-input-map__content-result{display:block!important;position:absolute;top:0;right:-8px;width:250px;height:450px;overflow-y:auto}.avue-input-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.avue-input-icon__item{text-align:center;width:60px;padding:10px 20px 0;-webkit-transition:all .2s;transition:all .2s}.avue-input-icon__item p{font-size:12px;margin-top:5px}.avue-input-icon__item--active,.avue-input-icon__item:hover{-webkit-transform:scale(1.4);transform:scale(1.4)}.avue-input-icon__item--active{color:#409eff}.avue-input-icon__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-input-icon__icon{font-size:32px!important}.avue-input-icon__icon-symbol{width:32px;height:32px;margin:0 auto;fill:currentColor;overflow:hidden}.avue-upload--upload .el-upload,.avue-upload--upload .el-upload__tip{display:none}.avue-upload--upload .el-upload--picture-img{display:inline-block}.avue-upload--upload .el-upload-list{margin-top:-6px}.avue-upload--list .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avue-upload--list .el-upload:hover{border-color:#409eff}.avue-upload__dialog .el-dialog__header{display:none}.avue-upload__dialog .el-dialog__body{padding:10px}.avue-upload__dialog .el-dialog__body,.avue-upload__menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-upload__menu{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1024}.avue-form,.avue-form__group .el-col{position:relative}.avue-upload__menu i{color:#fff;margin:0 8px;font-size:20px}.avue-upload__icon{font-size:28px;color:#8c939d;width:178px;height:178px;line-height:178px;text-align:center}.avue-upload__avatar{width:178px;height:178px;display:block}.avue-form{margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__item--top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-form__item--top .el-form-item__label{width:100%!important;text-align:left!important}.avue-form__item--top .el-form-item__content{margin-left:0!important}.avue-form__item--left .el-form-item__label{text-align:left!important}.avue-empty,.avue-flow__node-body,.avue-form__menu--center{text-align:center}.avue-form__menu{padding:5px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__menu--center .el-button{margin:0 5px}.avue-form__menu--left{text-align:left}.avue-form__menu--right{text-align:right}.avue-form__tabs{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__group{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto}.avue-form__group--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-form__line{display:inline-block;height:100%}.avue-form__row--block{width:100%;display:block}.avue-flow__node,.avue-flow__node-body{display:-webkit-box;display:-ms-flexbox}.avue-form__row--cursor{cursor:pointer}.avue-form__option{position:absolute;right:0;top:-10px;z-index:999}.avue-flow,.avue-flow__node,.avue-tree{position:relative}.avue-form__option i{color:#666}.avue-form__option i+i{margin-left:10px}.el-drawer .avue-form{padding:0 20px}.avue-flow .avue-draggable{padding:0}.avue-flow__node{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:200px;height:80px;border-radius:5px;-webkit-box-shadow:"#66a6e0 0px 0px 12px 0px";box-shadow:"#66a6e0 0px 0px 12px 0px";border:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.avue-flow__node--active{border-width:2px;border-color:#f56c6c}.avue-flow__node-drag{margin:0 5px;display:inline-block}.avue-flow__node-header{-webkit-box-flex:1;-ms-flex:1;flex:1;background-color:#66a6e0}.avue-flow__node-body{-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1.5;-ms-flex:1.5;flex:1.5;background:#fff}.avue-date__group,.avue-flow__node-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.avue-date__group{-ms-flex-align:center}.avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0;border-right:0}.avue-group .el-collapse,.avue-group .el-collapse-item__wrap,.data-card .item{border-color:#fff}.avue-date__date{width:300px}.avue-date__date .el-date-editor{border-top-left-radius:0;border-bottom-left-radius:0}.avue-empty{margin:0 8px;font-size:14px;line-height:22px}.avue-checkbox .el-checkbox+.el-checkbox,.avue-crud .avue-crud__left .el-button+.el-button,.avue-crud .avue-crud__right .el-button+.el-button,.avue-form .avue-crud__left .el-button+.el-button,.avue-form .avue-crud__right .el-button+.el-button,.avue-radio .el-radio+.el-radio{margin-left:0}.avue-checkbox .el-checkbox,.avue-radio .el-radio{margin-right:10px}.avue-empty__image{height:100px;margin-bottom:8px}.avue-empty__image img{height:100%;vertical-align:middle;border-style:none}.avue-empty__desc{color:rgba(0,0,0,.65)}.avue-select .sortable-ghost{opacity:.8;color:#fff!important;background:#409eff!important}.avue-select .el-tag{cursor:pointer}.avue-select__desc{float:right;color:#8492a6;font-size:13px}.el-select-dropdown .avue-select__check{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:right;width:100%;padding:3px 20px 3px 0}.avue-group{width:100%}.avue-group .el-collapse-item__header{height:inherit;border:none;border-bottom:1px solid #eee;margin-bottom:20px}.avue-group .el-collapse-item__content,.avue-group .van-collapse-item__content{padding-bottom:0}.avue-group .van-collapse-item__content{padding:0 2px}.avue-group--arrow .el-collapse-item__arrow,.avue-group--arrow .van-icon-arrow,.avue-group .van-hairline--top-bottom:after,.avue-group .van-hairline-unset--top-bottom:after{display:none}.avue-group .van-collapse-item__title{padding:0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-group .van-collapse-item__title:after{left:0!important}.avue-group--none{margin:0!important;border:none!important}.avue-group--header .el-collapse-item__header,.avue-group--header .van-collapse-item__title{display:none}.avue-group--collapse .el-collapse-item__arrow,.avue-group--collapse .el-collapse-item__header{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.avue-group__header,.avue-tree__filter{display:-webkit-box;display:-ms-flexbox}.avue-group__item{margin-bottom:10px;background-color:#fff;border-bottom:1px solid #eee;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__item:last-child{border-bottom:none}.avue-group__header{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:50px;line-height:50px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__icon{margin-right:8px;font-size:20px;color:rgba(0,0,0,.85)}.avue-group__title{font-size:16px;font-weight:500;color:rgba(0,0,0,.85)}.avue-tree__menu{width:200px;position:fixed;z-index:1024;-ms-flex-wrap:wrap;flex-wrap:wrap;background-color:#fff}.avue-tree__item,.avue-video{position:relative;overflow:hidden}.avue-tree__dialog .el-dialog__body{padding:30px 20px 0}.avue-tree__item{height:34px;line-height:34px;outline:0;padding:0 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;color:#666}.avue-tree__item:hover{cursor:pointer;color:#409eff}.avue-tree__filter{margin-bottom:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-notice__item,.avue-search__item{display:-ms-flexbox;-webkit-box-align:start}.avue-tree__content{padding:5px 0;height:calc(100% - 32px)}.avue-title p{font-weight:700;font-size:18px;margin:5px 10px}.avue-search{padding:0 20px}.avue-search__item{padding:20px 0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start;border-bottom:1px dashed #e8e8e8}.avue-search__item:last-child{border-bottom:none}.avue-search__tags{padding:0 12px;margin-right:24px;margin-bottom:12px;font-size:14px;color:rgba(0,0,0,.65);cursor:pointer;white-space:nowrap;display:inline-block}.avue-search__tags:hover{color:#1890ff}.avue-search__tags--active{color:#fff;background-color:#1890ff;border-radius:5px}.avue-search__tags--active:hover{opacity:.85;color:#fff}.avue-search__title{margin:0;padding:0 20px;width:120px;font-size:14px;text-align:right;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-search__content{width:calc(100% - 190px);display:inline-block}.avue-search__content .el-tag{margin-right:10px;margin-bottom:10px}.avue-video{width:500px}.avue-video__border span{position:absolute;width:30px;height:30px;border-width:4px;color:#0073eb;border-style:solid}.avue-video__border span:first-child{left:15px;top:15px;border-right:0;border-bottom:0}.avue-video__border span:nth-child(2){right:15px;top:15px;border-left:0;border-bottom:0}.avue-video__border span:nth-child(3){bottom:15px;left:15px;border-right:0;border-top:0}.avue-video__border span:nth-child(4){bottom:15px;right:15px;border-left:0;border-top:0}.avue-video__img{width:100px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.avue-video__main{width:100%}.avue-dynamic__item{margin-bottom:10px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-dynamic__header{padding-left:40px}.avue-dynamic__row{position:relative;border-top:1px dashed #eee;padding-top:13px}.avue-dynamic__row:first-child{border-top:0}.avue-dynamic__menu{position:absolute;right:0;z-index:1024}.avue-dynamic__input{margin-right:8px;width:100%}.avue-dynamic__button{margin-bottom:0!important}.avue-verify__item{padding:5px 10px;display:inline-block;margin:0 4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e1e1e1;font-size:64px;text-align:center}.avue-text-ellipsis__more{padding:0 2px}.avue-login .el-form-item{margin-bottom:18px}.avue-login .el-input-group__append{padding:0;overflow:hidden}.avue-login__send{min-width:150px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-login__send:hover{color:#c0c4cc!important;border-color:#ebeef5!important;background-color:#f5f7fa!important}.avue-login__submit{width:100%}.avue-keyboard--default .akeyboard-keyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--default .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--default .akeyboard-keyboard-keys:hover,.avue-keyboard--default .keyboard-keyboard-keys-focus{background:#1e9fff;color:#fff}.avue-keyboard--default .akeyboard-keyboard-keys-Delete,.avue-keyboard--default .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--default .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--default .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--default .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--default .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--default .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--default .akeyboard-numberKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--default .akeyboard-mobileKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--green .akeyboard-keyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--green .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#cc9;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--green .akeyboard-keyboard-keys:hover,.avue-keyboard--green .keyboard-keyboard-keys-focus{background:#693;color:#fff}.avue-keyboard--green .akeyboard-keyboard-keys-Delete,.avue-keyboard--green .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--green .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--green .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--green .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--green .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--green .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--green .akeyboard-numberKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--green .akeyboard-mobileKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#cc9;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys:hover{background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-focus{background:#693!important;color:#fff}.avue-keyboard--dark .akeyboard-keyboard{height:100%;width:100%;background:#000;color:#fff;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--dark .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#393d49;color:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--dark .akeyboard-keyboard-keys:hover,.avue-keyboard--dark .keyboard-keyboard-keys-focus{background:#1e9fff}.avue-keyboard--dark .akeyboard-keyboard-keys-Delete,.avue-keyboard--dark .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--dark .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--dark .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--dark .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--dark .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--dark .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--dark .akeyboard-numberKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--dark .akeyboard-mobileKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#393d49;color:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--classic .akeyboard-keyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--classic .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--classic .akeyboard-keyboard-keys:hover,.avue-keyboard--classic .keyboard-keyboard-keys-focus{background:#c2c2c2;color:#fff}.avue-keyboard--classic .akeyboard-keyboard-keys-Delete,.avue-keyboard--classic .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--classic .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--classic .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--classic .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--classic .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--classic .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--classic .akeyboard-numberKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--classic .akeyboard-mobileKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-data-operatext .item,.avue-data-operatext .item-row,.avue-data-tabs .item,.data-box .item,.data-card .item-text{-webkit-box-sizing:border-box}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys:hover{background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-focus{background:#c2c2c2!important;color:#fff}.avue-notice__item{padding:12px 24px;border-bottom:1px solid #e8eaec;cursor:pointer;-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:start;-webkit-box-align:start;align-items:flex-start}.avue-array__input,.avue-data-tabs .item-tip,.data-box .item a{display:-webkit-box;display:-ms-flexbox}.avue-notice__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-notice__img{width:38px;height:38px;border-radius:100%;margin-top:5px;margin-right:10px;overflow:hidden}.avue-notice__img img{width:100%;height:100%}.avue-notice__name{line-height:25px}.avue-notice__title{font-size:14px;font-weight:400;line-height:22px;color:#515a6e;margin-bottom:4px}.avue-notice__tag{float:right;margin-top:2px}.avue-notice__subtitle{font-size:12px;color:#808695}.avue-notice__more{cursor:pointer;color:#2d8cf0;text-align:center;padding:10px 0}.avue-array__item{margin-bottom:5px}.avue-array__input{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-array__input .el-input{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.avue-array__input .el-button{margin-left:5px}.avue-data-tabs .item{position:relative;margin:15px;padding:12px;height:160px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#fff}.avue-data-tabs .item a{color:#fff}.avue-data-tabs .item-header{position:relative}.avue-data-tabs .item-header>p{color:#fff;margin:0;font-size:14px}.avue-data-tabs .item-header>span{position:absolute;right:0;top:0;padding:2px 8px;border-radius:4px;font-size:12px;background:hsla(0,0%,100%,.3)}.avue-data-tabs .item-body .h2{color:#fff;margin:0;font-size:32px;line-height:60px;font-weight:700}.avue-data-tabs .item-footer{padding-top:8px;line-height:20px}.avue-data-tabs .item-footer>span{font-size:10px}.avue-data-tabs .item-footer>p{color:#fff;margin:0;font-size:12px}.avue-data-tabs .item-tip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;width:80px;height:80px;bottom:10px;right:10px;border:2px solid #fff;border-radius:100%;font-size:48px;-webkit-transform:rotate(-40deg);transform:rotate(-40deg);opacity:.1}.avue-data-cardText .item{padding:20px 25px;margin:10px 20px;background:#f8f8f8;border-radius:6px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-cardText .item-header{position:relative}.avue-data-cardText .item-header i{font-size:26px;color:#009688}.avue-data-cardText .item-header a{font-size:16px;margin-left:6px;position:absolute;bottom:4px}.avue-data-cardText .item-footer,.data-box .item,.data-card .item{position:relative}.avue-data-cardText .item-content{margin-top:8PX;font-size:14px;line-height:22px;color:#333}.avue-data-cardText .item-footer span:first-child{color:#777;font-size:12px;text-overflow:ellipsis;word-break:break-all}.avue-data-cardText .item-footer span:nth-child(2){color:#ccc;font-size:12px;line-height:24px;position:absolute;right:0}.data-box .item{margin:0 auto 10px;width:96%;height:100px;overflow:hidden;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.data-box .item:hover .item-text{top:0}.data-box .item-icon,.data-box .item a{display:-webkit-box;display:-ms-flexbox;display:flex}.data-box .item-icon{width:100px;height:100px;color:#fff;text-align:center;line-height:100px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.data-box .item-icon i{font-size:48px!important}.data-box .item-info{border-radius:0 5px 5px 0;border:1px solid #eee;border-left:none;background-color:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-box .item-info .title{font-size:30px;line-height:40px;text-align:center}.data-box .item-info .info{color:#999;font-size:14px;text-align:center}.data-progress .item{margin:10px}.data-progress .item-header{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.data-progress .item-count{line-height:26px;font-size:26px;color:#666}.data-progress .item-title{color:#999;font-size:14px}.data-icons .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:90%;margin:10px 15px}.data-icons .item-icon{margin-top:3px;margin-right:0!important;text-align:center}.data-icons .item-icon>i{font-size:46px!important}.data-icons .item-info{text-align:center;padding:10px 0}.data-icons .item-info>span{display:block;padding:5px 0;color:#999;font-size:12px}.data-icons .item-info .count{font-size:20px;line-height:25px}.data-icons .item--easy{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-icons .item--easy>.item-icon{margin:0}.data-icons .item--easy>.item-info{margin-top:-15px}.data-icons .item--easy>.item-info>span{font-size:14px}.data-card .item{margin:0 auto 50px;width:230px;height:340px;overflow:hidden;border-radius:5px;border-width:1px;border-style:solid}.data-card .item:hover .item-text{top:0}.data-card .item-img{width:100%;border-radius:5px 5px 0 0}.data-card .item-text{position:absolute;top:150px;padding:20px 15px;width:100%;height:340px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:0 0 5px 5px;opacity:.9;-webkit-transition:top .4s;transition:top .4s}.data-card .item-text>p{font-size:12px;line-height:25px;text-indent:2em}.avue-data-display .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:5px 0;text-align:center}.avue-data-display .count{display:block;margin:8px 0 15px;font-weight:700;font-size:32px;color:#15a0ff}.avue-data-display .title{line-height:32px;color:#999}.avue-data-display .splitLine{display:block;margin:0 auto;width:24px;height:1px;background:#9b9b9b}.avue-data-imgtext .item{position:relative;height:340px;width:240px;margin:10px auto 50px;border-radius:5px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-imgtext .item-header img{width:100%;height:170px;background:red;border-radius:5px 5px 0 0}.avue-data-imgtext .item-content{padding:10px 15px;color:#333!important}.avue-data-imgtext .item-content span{font-size:20px}.avue-data-imgtext .item-content:hover span{color:#1890ff}.avue-data-imgtext .item-content p{font-size:14px;height:60px;margin:6px 0;overflow:hidden}.avue-data-imgtext .item-footer{padding:10px 15px;position:relative}.avue-data-imgtext .item-footer img{height:20px;width:20px;border-radius:50%}.avue-data-imgtext .item-footer div{display:inline-block}.avue-data-imgtext .item-footer div li,.avue-data-imgtext .item-footer div ul{padding:0;margin:0 0 0 -8px;list-style:none;display:inline-block;border:2px solid #fff;border-radius:50%}.avue-data-imgtext .item-footer div:first-child{font-size:14px;color:#ccc!important}.avue-data-imgtext .item-footer div:nth-child(2){position:absolute;right:15px}.avue-data-operatext .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;border-radius:3px;background:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1)}.avue-data-operatext .item a{color:#333}.avue-data-operatext .item-header{padding:20px 20px 60px;border-top-right-radius:3px;border-top-left-radius:3px;color:#fff;background-position:50%}.avue-data-operatext .item-title{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,.2);display:block}.avue-data-operatext .item-subtitle{font-size:14px;font-weight:400}.avue-data-operatext .item-content{border-top:1px solid #f4f4f4;padding:10px 10px 20px;background-color:#fff;border-radius:0 0 3px 3px}.avue-data-operatext .item-img{margin:-60px auto 5px;width:90px;height:90px;border-radius:100%;overflow:hidden;border:4px solid #fff}.avue-data-operatext .item-img img{width:100%;height:100%}.avue-data-operatext .item-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-data-operatext .item-row{-webkit-box-sizing:border-box;box-sizing:border-box;width:33.33%;text-align:center}.avue-data-operatext .item-label{margin-bottom:5px;display:block;font-weight:600;font-size:16px}.avue-data-operatext .item-value{display:block;font-weight:300;text-transform:uppercase}.avue-data-rotate .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;color:#fff;border-radius:3px}.avue-data-rotate .item-box{padding:10px 20px}.avue-data-rotate .item-count{margin-bottom:5px;font-size:38px;white-space:nowrap;font-weight:300;display:block}.avue-data-rotate .item-title{font-size:15px}.avue-data-rotate .item-icon{-webkit-transition:all .3s linear;transition:all .3s linear;position:absolute;top:20px;right:20px;font-size:65px;color:rgba(0,0,0,.15)}.avue-data-rotate .item-icon:hover{font-size:70px}.avue-data-rotate .item-more{position:relative;text-align:center;padding:3px 0;color:#fff;color:hsla(0,0%,100%,.8);display:block;z-index:10;font-size:14px;letter-spacing:2px;background:rgba(0,0,0,.1);text-decoration:none}.avue-data-pay .item{margin:0 auto;padding-bottom:16px;width:80%;position:relative;border-radius:4px;background-color:#fff;min-height:670px;-webkit-box-shadow:1px 2px 10px #eee;box-shadow:1px 2px 10px #eee}.avue-data-pay .top{width:100%;height:6px;position:absolute;top:0;left:0;border-radius:4px 4px 0 0}.avue-data-pay .header{margin-bottom:40px;text-align:center}.avue-data-pay .title{text-align:center;padding:20px 0 10px;font-size:20px;font-weight:200}.avue-data-pay .money span{margin-right:5px;font-size:14px}.avue-data-pay .money .b{margin-right:2px;font-size:20px;font-weight:700}.avue-data-pay .money s{margin-right:3px;font-size:12px}.avue-data-pay .money em{font-size:14px;font-style:normal}.avue-data-pay .img{width:50px}.avue-data-pay .line{width:60%;height:1px;background:hsla(0,0%,58.8%,.1);margin:20px auto}.avue-data-pay .btn{display:block;width:120px;height:32px;line-height:32px;margin:0 auto;text-align:center;border-radius:32px;color:#fff;cursor:pointer;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.avue-data-pay .list-item{list-style:none;padding-left:20px;margin-bottom:12px;color:#666;font-size:14px}.avue-data-pay .list-item a{color:#666}.avue-data-pay .list-item-icon{color:#515a6e;margin-right:8px}.avue-data-pay .list-item--link{font-size:12px;color:#2d8cf0}.avue-data-pay .list-item--no,.avue-data-pay .list-item--no+span{color:#c5c8ce}.data-price .item{margin:0 20px;text-align:center;-webkit-box-shadow:2px 3px 15px #eee;box-shadow:2px 3px 15px #eee}.data-price .item:hover{border:1px solid #00a680}.data-price .item:hover .body{color:#fff;background-color:#00a680}.data-price .item:hover .body:after{border-top-color:#00a680}.data-price .item:hover .list{color:#00a680}.data-price .item:hover .price{color:#fff}.data-price .item .title{height:80px;line-height:80px;font-size:18px;color:#333}.data-price .item .price{padding:0 8px;margin:0 0 50px;line-height:120px;height:120px;font-size:42px;color:#6b6b6b}.data-price .item .append{font-size:16px}.data-price .item .body{position:relative;padding:0;margin:0 0 50px;background-color:#f4f4f4;line-height:120px;height:120px;font-size:42px;color:#6b6b6b}.data-price .item .body:before{content:"\A5";font-size:16px;font-weight:400}.data-price .item .body:after{content:"";position:absolute;display:block;width:0;height:0;bottom:-15px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-color:#f4f4f4 transparent transparent;border-style:solid;border-width:20px 30px 0}.data-price .item .list{padding-bottom:30px;color:#666;font-size:14px}.avue-data-panel .item{padding:0 30px;margin:0 20px;cursor:pointer;height:108px;font-size:12px;position:relative;overflow:hidden;color:#666;background:#fff;-webkit-box-shadow:4px 4px 40px rgba(0,0,0,.05);box-shadow:4px 4px 40px rgba(0,0,0,.05);border-color:rgba(0,0,0,.05);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-data-panel .item-icon{font-size:52px}.avue-data-panel .item-info{text-align:center}.avue-data-panel .item-title{line-height:18px;color:rgba(0,0,0,.45);font-size:16px;margin-bottom:12px}.avue-data-panel .item-count{font-size:20px}[class^=avue-data-] a,[class^=data-] a{text-decoration:none}.avue-checkbox__mobile .avue__tag,.avue-radio__mobile .avue__tag{margin-right:5px;margin-bottom:2px}.avue-grid__mobile{padding:30px 0 0}.avue-grid__mobile .avue-grid__icon{width:50px;height:50px;line-height:50px;text-align:center}.avue-grid__mobile .avue-grid__icon i{line-height:50px;font-size:26px;color:#fff}.avue-grid__mobile .avue-grid__item{margin-bottom:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-grid__mobile .avue-grid__img{width:50px;height:50px}.avue-grid__mobile .avue-grid__title{line-height:30px;font-size:13px}.avue-swipe__mobile .avue-swipe__item{position:relative}.avue-swipe__mobile .avue-swipe__title{width:100%;padding:8px 0;position:absolute;left:0;bottom:0;background-color:rgba(0,0,0,.5);color:#fff;font-size:14px;text-align:center}.avue-swipe__mobile .avue-swipe__img{-o-object-fit:cover;object-fit:cover}.avue-cell__mobile .avue-cell__icon{margin-right:5px;font-size:20px}.avue-cell__mobile .avue-cell__icon--color{width:30px;height:30px;text-align:center;line-height:30px;border-radius:3px;color:#fff}.van-cell:after{display:block!important}.avue--detail .avue-checkbox__all,.avue--detail .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.avue--detail .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before,.avue--detail .el-input-number__decrease,.avue--detail .el-input-number__increase,.avue--detail .el-input__prefix,.avue--detail .el-input__suffix,.avue-canvas{display:none}.van-image-preview{z-index:9999!important}.van-field__control{-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-crud__mobile .avue-crud__page{margin-top:10px;background-color:#fff}.avue-crud__mobile .van-cell-group{margin-bottom:10px}body{font-family:Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}*{outline:0}.avue-ghost{opacity:.5;background:#c8ebfb}.avue--disabled{color:#ccc}.avue--detail .hover-row td{background-color:#fff!important}.avue--detail .avue-group__header{padding-left:10px}.avue--detail .el-collapse-item__header{margin-bottom:0}.avue--detail .el-input.is-disabled .el-input__inner,.avue--detail .el-range-editor.is-disabled,.avue--detail .el-range-editor.is-disabled input,.avue--detail .el-textarea.is-disabled .el-textarea__inner{color:#606266;background-color:#fff;padding-left:0}.avue--detail .el-input-group__append,.avue--detail .el-input-group__prepend{background-color:transparent;border:none}.avue--detail .el-input__inner,.avue--detail .el-textarea__inner{border:none}.avue--detail .el-input__inner::-webkit-input-placeholder,.avue--detail .el-textarea__inner::-webkit-input-placeholder{color:transparent!important}.avue--detail .el-input__inner::-moz-placeholder,.avue--detail .el-textarea__inner::-moz-placeholder{color:transparent!important}.avue--detail .el-input__inner::-ms-input-placeholder,.avue--detail .el-textarea__inner::-ms-input-placeholder{color:transparent!important}.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#fff}.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#409eff;border-color:#409eff}.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#fff}.avue--detail .el-checkbox__input.is-disabled+span.el-checkbox__label,.avue--detail .el-radio__input.is-disabled+span.el-radio__label{color:#606266}.avue--detail .el-row{border-top:1px solid #ebeef5;border-left:1px solid #ebeef5}.avue--detail .el-col{padding:0!important;border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5}.avue--detail .el-form-item--mini.el-form-item,.avue--detail .el-form-item--small.el-form-item{margin:0;background:#fafafa}.avue--detail .el-form-item__content,.avue--detail .el-form-item__label{padding:2px 0}.avue--detail .el-form-item__label{padding-right:20px;color:#909399;-webkit-box-sizing:border-box;box-sizing:border-box}.avue--detail .el-tag{margin-left:0!important;margin-right:6px!important}.avue--detail .el-form-item__content{border-left:1px solid #ebeef5;padding-left:20px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.avue--detail__column .el-form-item{background-color:#fff}.avue--detail__column .el-form-item__label{padding-right:12px}.avue--detail__column .el-form-item__content{padding-left:0;border-left:none}.avue-grid{position:absolute;width:100%;background-size:20px 20px,20px 20px;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 0)}.avue-grid,.avue-mask{top:0;left:0;height:100%}.avue-mask{position:fixed;bottom:0;right:0;background-color:rgba(55,55,55,.6);z-index:1000}.avue--card{-webkit-box-shadow:2px 1px 8px rgba(0,0,0,.15);box-shadow:2px 1px 8px rgba(0,0,0,.15);border-radius:5px}.avue-dialog{overflow:visible;top:15%}.avue-dialog .el-dialog{min-height:180px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0!important;position:absolute;top:0;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%);border-radius:2px;max-height:calc(100% - 100px);max-width:calc(100% - 100px)}.avue-dialog .el-dialog__header{padding:16px 24px;min-height:20px;border-bottom:1px solid #f0f0f0}.avue-dialog .el-dialog__title,.avue-dialog .el-drawer__header{color:rgba(0,0,0,.85);font-weight:500;word-wrap:break-word}.avue-dialog .el-dialog__body{margin-bottom:50px}.avue-dialog .el-dialog .el-dialog__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;overflow-y:auto}.avue-dialog .el-drawer{position:absolute;right:0;top:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-dialog .el-drawer__header{margin:0;min-height:20px;padding:16px 10px 16px 24px;border-bottom:1px solid #f0f0f0}.avue-dialog .el-drawer,.avue-dialog .el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.avue-dialog .el-drawer__body{padding:30px 10px 60px 30px}.avue-dialog__footer{display:block;padding:10px 16px;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #f0f0f0;width:100%;position:absolute;left:0;bottom:0;background-color:#fff;text-align:right}.avue-dialog__footer--left{text-align:left}.avue-dialog__footer--center{text-align:center}.avue-dialog--fullscreen .el-dialog{left:0;top:0;-webkit-transform:translate(0);transform:translate(0);width:100%!important;height:100%;max-width:100%;max-height:100%}.avue-crud .el-tooltip__popper,.avue-form .el-tooltip__popper,.el-tooltip__popper{max-width:60%}.avue-dialog--top .el-dialog{top:15%}.avue-dialog--none .el-dialog__body{margin-bottom:0}.avue-queue--block{display:inline-block}.avue-opacity{opacity:0}.avue-opacity--active{opacity:1}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.avue-crud .avue-input-number,.avue-crud .el-cascader,.avue-crud .el-date-editor.el-input,.avue-crud .el-date-editor.el-input__inner,.avue-crud .el-select,.avue-form .avue-input-number,.avue-form .el-cascader,.avue-form .el-date-editor.el-input,.avue-form .el-date-editor.el-input__inner,.avue-form .el-select{width:100%!important}.avue-crud .el-input-number .el-input__inner,.avue-form .el-input-number .el-input__inner{text-align:left}.avue-crud .avue-crud__left .el-button,.avue-crud .avue-crud__right .el-button,.avue-form .avue-crud__left .el-button,.avue-form .avue-crud__right .el-button{margin-right:5px;margin-bottom:0}.avue-crud .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content,.avue-form .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:#409eff}.avue-crud .el-tree-node__label,.avue-form .el-tree-node__label{margin-left:8px}.avue-crud .el-input__inner,.avue-form .el-input__inner{height:38px;line-height:38px}.avue-crud .el-range-editor--small,.avue-form .el-range-editor--small{height:32px;line-height:32px}.avue-crud .el-range-editor--mini,.avue-form .el-range-editor--mini{height:28px;line-height:28px}.avue-crud .el-input--small input,.avue-form .el-input--small input{height:32px;line-height:32px}.avue-crud .el-input--mini input,.avue-form .el-input--mini input{height:28px;line-height:28px}.avue-crud .el-table--medium td,.avue-form .el-table--medium td{padding:7px 0!important}.avue-crud .el-dropdown-menu__item,.avue-form .el-dropdown-menu__item{line-height:25px}.avue-crud .el-table-filter__list,.avue-form .el-table-filter__list{width:100%;height:300px;overflow-y:auto}.el-form-item--mini .el-color-picker--mini,.el-form-item--mini .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}.el-dropdown-menu .el-button--text{width:100%!important}.el-pagination__editor.el-input .el-input__inner{line-height:28px}.el-drawer__body{height:100%}.el-checkbox:last-of-type{margin-right:8px}.el-table colgroup.gutter,.el-table th.gutter{display:table-cell!important}.el-input-number .el-input__suffix{display:none}.el-input-number__decrease,.el-input-number__increase{background-color:transparent}.el-tree-node.is-current>.el-tree-node__content{color:#409eff;background-color:#f5f7fa}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item{height:auto;padding:0}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item>span{padding:0 20px}.el-select-dropdown__item.selected{font-weight:400}.el-select-dropdown ul li>>>.el-tree .el-tree-node__content{height:auto;padding:0 20px}.el-select-dropdown .el-tree-node__label{font-weight:400}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__label{color:#409eff;font-weight:700}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__children .el-tree-node__label{color:#606266;font-weight:400}.el-form-item.is-error .avue-dynamic{border:1px solid #f56c6c;border-radius:3px}.el-dropdown-menu__item{padding-top:3px!important;padding-bottom:3px!important}.avue-theme--dark body{background:#000}.avue-theme--dark .el-pagination.is-background .btn-next,.avue-theme--dark .el-pagination.is-background .btn-prev,.avue-theme--dark .el-pagination.is-background .el-pager li{background-color:#151518;color:#525256;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #313135}.avue-theme--dark .el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#151518;border-color:#409eff}.avue-theme--dark .el-cascader-menu{border-right:1px solid #313135}.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected,.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#151518}.avue-theme--dark .el-cascader__dropdown,.avue-theme--dark .el-input__inner,.avue-theme--dark .el-range-input,.avue-theme--dark .el-select-dropdown{background-color:#151518;color:#999;border:1px solid #313135}.avue-theme--dark .el-cascader__dropdown:hover,.avue-theme--dark .el-input__inner:hover,.avue-theme--dark .el-range-input:hover,.avue-theme--dark .el-select-dropdown:hover{border-color:#409eff}.avue-theme--dark .el-cascader__dropdown::-webkit-input-placeholder,.avue-theme--dark .el-input__inner::-webkit-input-placeholder,.avue-theme--dark .el-range-input::-webkit-input-placeholder,.avue-theme--dark .el-select-dropdown::-webkit-input-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-moz-placeholder,.avue-theme--dark .el-cascader__dropdown::-moz-placeholder,.avue-theme--dark .el-input__inner:-moz-placeholder,.avue-theme--dark .el-input__inner::-moz-placeholder,.avue-theme--dark .el-range-input:-moz-placeholder,.avue-theme--dark .el-range-input::-moz-placeholder,.avue-theme--dark .el-select-dropdown:-moz-placeholder,.avue-theme--dark .el-select-dropdown::-moz-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-ms-input-placeholder,.avue-theme--dark .el-input__inner:-ms-input-placeholder,.avue-theme--dark .el-range-input:-ms-input-placeholder,.avue-theme--dark .el-select-dropdown:-ms-input-placeholder{color:#525256}.avue-theme--dark .el-form-item__label{color:#9a9a9f}.avue-theme--dark .el-switch__core{background:#151518;border-color:#151518}.avue-theme--dark .avue-group__item{background-color:#000}.avue-theme--dark .el-table--border,.avue-theme--dark .el-table--group{border-color:#313135}.avue-theme--dark .el-table__body tr.current-row>td,.avue-theme--dark .el-table__body tr.hover-row>td{background-color:#151518}.avue-theme--dark .el-table--border td,.avue-theme--dark .el-table--border th,.avue-theme--dark .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-color:#999}.avue-theme--dark .avue-crud .el-table th,.avue-theme--dark .el-table,.avue-theme--dark .el-table__fixed-footer-wrapper tbody td,.avue-theme--dark .el-table__footer-wrapper tbody td,.avue-theme--dark .el-table__header-wrapper tbody td,.avue-theme--dark .el-table th,.avue-theme--dark .el-table tr{background-color:#151518;color:#999;border-color:#999}@media screen and (max-width:992px){.el-dialog__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-button+.el-button{margin-left:0}.avue-upload__avatar,.avue-upload__icon,.el-upload--picture-card,.el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px;line-height:100px}.avue-crud .el-form-item,.avue-crud__title .avue-date__radio,.avue-crud__title .avue-date__radio .el-radio-group .el-radio-button__inner,.avue-crud__title .avue-date__radio .el-radio-group label{width:100%}.avue-tip{display:none}.avue-crud__menu,.avue-crud__title{display:block!important}.avue-crud .el-form-item__label{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-crud .el-form-item__content{-webkit-box-flex:5;-ms-flex:5;flex:5}.avue-crud__searchMenu{text-align:center}.avue-crud__title p{margin-bottom:20px}.avue-crud__title .avue-date__group{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__title .avue-date__date{display:none}.avue-crud__title .avue-date__radio .el-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-crud__title .avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0;border-right:1px solid #dcdfe6}}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #29d,0 0 5px #29d;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} \ No newline at end of file +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}[hidden],template{display:none}.echarts{width:600px;height:400px}.avue-article__body,.avue-comment__body{font-family:Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif}.avue-avatar,.avue-card__item{font-variant:tabular-nums;list-style:none}.avue-affix{position:fixed;z-index:10}.avue-sign{padding:5px}.avue-sign__canvas{border:1px solid #ccc}.avue-carousel--fullscreen{height:100%}.avue-carousel--fullscreen .el-carousel,.avue-carousel--fullscreen .el-carousel__container{height:90%}.avue-carousel__item{position:relative;width:100%;height:100%}.avue-carousel__item a{width:100%;height:100%;display:block}.avue-carousel__img{height:100%;background-size:cover;background-position:50%}.avue-carousel__title{z-index:1024;position:absolute;left:0;bottom:0;width:100%;height:50px;line-height:50px;font-size:16px;text-align:center;color:#fff;background-color:rgba(0,0,0,.6)}.avue-article__title{margin-bottom:15px;font-size:32px;line-height:32px;font-weight:400}.avue-article__meta{display:block;margin-bottom:20px;font-size:12px;color:#999}.avue-article__lead{color:#666;font-size:14px;line-height:22px;border:1px solid #dedede;border-radius:2px;background:#f9f9f9;padding:10px}.avue-article__body{padding-top:10px;background:#fff;color:#333;font-size:14px}.avue-article blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-avatar{font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:32px;height:32px;line-height:32px;border-radius:50%}.avue-avatar__images{width:100%;height:100%}.avue-avatar__icon{font-size:18px}.avue-avatar__string{position:absolute;left:50%;-webkit-transform-origin:0 center;transform-origin:0 center}.avue-avatar--lg{width:40px;height:40px;line-height:40px;border-radius:50%;font-size:24px}.avue-avatar--sm{width:24px;height:24px;line-height:24px;border-radius:50%;font-size:14px}.avue-avatar--square{border-radius:4px}.avue-skeleton__avatar{width:40px;height:40px;line-height:40px;display:inline-block;border-radius:50%;background:#f2f2f2}.avue-skeleton__header{display:table-cell;vertical-align:top;padding-right:16px}.avue-skeleton__content{display:table-cell;vertical-align:top;width:100%}.avue-skeleton__title{margin-top:16px;height:16px;width:40%;background:#f2f2f2}.avue-skeleton__item{padding-top:16px;padding-bottom:16px;border-bottom:1px solid #e8e8e8}.avue-skeleton__item:last-child{border-bottom:none}.avue-skeleton__li{margin-bottom:10px;height:16px;background:#f2f2f2;list-style:none;width:100%}.avue-skeleton__li:last-child{width:50%}.avue-skeleton__loading{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);-webkit-animation:avue-skeleton-loading 1.4s ease infinite;animation:avue-skeleton-loading 1.4s ease infinite;background-size:400% 100%}@-webkit-keyframes avue-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes avue-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.avue-crud{margin:0 auto;width:100%}.avue-crud .el-card+.el-card{margin-top:8px}.avue-crud--card .el-card{border:none}.avue-crud--card .el-card__body{padding:0}.avue-crud--card .el-card+.el-card{margin-top:0}.avue-crud .el-table .el-form-item{margin-bottom:0;display:inline-block;width:100%}.avue-crud .el-table .el-form-item__label{position:absolute;left:2px}.avue-crud .el-table .el-form-item__content{line-height:inherit;font-size:inherit}.avue-crud .el-table .el-form-item__error{width:100%;text-align:left;position:relative}.avue-crud .el-dropdown+.el-button{margin-left:10px}.avue-crud .el-checkbox:last-of-type{margin-right:0}.avue-crud .el-range-editor--mini{height:28px}.avue-crud__img{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__img img,.avue-crud__img video{height:40px;margin-left:5px;-o-object-fit:contain;object-fit:contain}.avue-crud__column .el-checkbox{margin-bottom:10px;cursor:move}.avue-crud__menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;position:relative;width:100%;min-height:40px;height:auto;overflow:hidden;margin-bottom:5px;background-color:#fff}.avue-crud__search .el-form-item--medium.el-form-item{margin-bottom:22px}.avue-crud__search .el-form-item--mini.el-form-item,.avue-crud__search .el-form-item--small.el-form-item{margin-bottom:14px}.avue-crud .el-table--mini .avue-crud__color{width:20px;height:20px}.avue-crud .el-table--mini .avue-crud__icon{font-size:20px}.avue-crud .el-table--small .avue-crud__color{width:30px;height:30px}.avue-crud .el-table--small .avue-crud__icon{font-size:30px}.avue-crud th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud table td{line-height:26px}.avue-crud--indeterminate .is-indeterminate .el-checkbox__inner{background-color:#fff;border-color:#dcdfe6}.avue-crud .el-table th{word-break:break-word;color:rgba(0,0,0,.85);background-color:#fafafa}.avue-crud__color{margin:0 auto;width:40px;height:40px;border-radius:5px;display:block}.avue-crud__icon{font-size:45px}.avue-crud__icon--small{font-size:20px;width:20px;height:20px}.avue-crud__ghost{cursor:move;opacity:.4}.avue-crud__pagination{position:relative;padding:25px 0 20px 20px;text-align:right}.avue-crud__pagination .el-pagination{display:inline-block}.avue-crud__tip,.avue-crud__title{display:-ms-flexbox;-webkit-box-align:center}.avue-crud__form{padding:0 8px}.avue-crud__empty{padding:60px 0}.avue-crud__header{margin-bottom:10px}.avue-crud__header>.el-button{padding:12px 25px}.avue-crud__title{font-weight:700;margin-bottom:20px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;font-size:22px}.avue-crud__tip,.avue-crud__title{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.avue-crud__tip{margin:0 0 8px;font-size:12px}.avue-crud__tip-name{margin-right:10px}.avue-crud__tip-count{font-size:16px;font-weight:600}.avue-crud__tip .el-button{margin-bottom:0}.avue-crud__filter-item{margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__filter-menu{padding:0 5px;margin-bottom:20px}.avue-crud__filter-label{margin:0 5px;width:120px!important}.avue-crud__filter-symbol{margin:0 5px;width:80px!important}.avue-crud__filter-value{margin:0 5px;width:150px!important}.avue-crud__filter-value .el-date-editor.el-input,.avue-crud__filter-value .el-date-editor.el-input__inner{width:100%}.avue-crud__filter-icon{margin-left:10px}.avue-crud__dialog__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-crud__dialog__menu{padding-right:20px}.avue-crud__dialog__menu i{color:#909399;font-size:15px}.avue-crud__dialog__menu i:hover{color:#409eff}.avue-crud__dialog .el-dialog__body{padding:20px 20px 5px 10px}.avue-crud__dialog .el-scrollbar__wrap{overflow-x:hidden}.avue-crud__dialog .avue-form__menu{padding-top:15px}.avue-card__item{margin-bottom:16px;border:1px solid #e8e8e8;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.65);font-size:14px;line-height:1.5;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";cursor:pointer;height:200px}.avue-card__item:hover{border-color:rgba(0,0,0,.09);-webkit-box-shadow:0 2px 8px rgba(0,0,0,.09);box-shadow:0 2px 8px rgba(0,0,0,.09)}.avue-chat,.avue-data-pay .item{-webkit-box-shadow:1px 2px 10px #eee}.avue-card__item--add{border:1px dashed #d9d9d9;width:100%;color:rgba(0,0,0,.45);background-color:#fff;border-radius:2px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:16px}.avue-card__item--add i{margin-right:10px}.avue-card__item--add:hover{color:#40a9ff;background-color:#fff;border-color:#40a9ff}.avue-card__body{display:-webkit-box;display:-ms-flexbox;display:flex;padding:24px}.avue-card__detail{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-card__avatar{width:48px;height:48px;border-radius:48px;overflow:hidden;margin-right:12px}.avue-card__avatar img{width:100%;height:100%}.avue-card__title{color:rgba(0,0,0,.85);margin-bottom:12px;font-size:16px}.avue-card__title:hover{color:#1890ff}.avue-card__info,.avue-card__menu{display:-webkit-box;color:rgba(0,0,0,.45)}.avue-card__info{-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;height:64px}.avue-card__menu{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-pack:distribute;justify-content:space-around;height:50px;background:#f7f9fa;text-align:center;line-height:50px}.avue-card__menu:hover{color:#1890ff}.avue-comment{margin-bottom:30px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.avue-comment--reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.avue-comment--reverse .avue-comment__main:after,.avue-comment--reverse .avue-comment__main:before{left:auto;right:-8px;border-width:8px 0 8px 8px}.avue-comment--reverse .avue-comment__main:before{border-left-color:#dedede}.avue-comment--reverse .avue-comment__main:after{border-left-color:#f8f8f8;margin-right:1px;margin-left:auto}.avue-comment__avatar{width:48px;height:48px;border-radius:50%;border:1px solid transparent;-webkit-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.avue-comment__header{padding:5px 15px;background:#f8f8f8;border-bottom:1px solid #eee;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue-comment__author{font-weight:700;font-size:14px;color:#999}.avue-comment__main{-webkit-box-flex:1;-ms-flex:1;flex:1;margin:0 20px;position:relative;border:1px solid #dedede;border-radius:2px}.avue-comment__main:after,.avue-comment__main:before{position:absolute;top:10px;left:-8px;right:100%;width:0;height:0;display:block;content:" ";border-color:transparent;border-style:solid solid outset;border-width:8px 8px 8px 0;pointer-events:none}.avue-comment__main:before{border-right-color:#dedede;z-index:1}.avue-comment__main:after{border-right-color:#f8f8f8;margin-left:1px;z-index:2}.avue-comment__body{padding:15px;overflow:hidden;background:#fff;color:#333;font-size:14px}.avue-comment blockquote{margin:0;font-family:Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif;padding:1px 0 1px 15px;border-left:4px solid #ddd}.avue-chat{-webkit-box-shadow:1px 2px 10px #eee;box-shadow:1px 2px 10px #eee;position:relative;background-color:#fcfcfc}.avue-chat li,.avue-chat ul{padding:0;margin:0}.avue-chat li{list-style:none;cursor:pointer}.avue-chat .web__content{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.avue-chat .web__main{height:calc(100% - 200px);padding:15px 15px 20px;overflow-x:hidden;overflow-y:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__logo{background-color:#409eff;display:-webkit-box;display:-ms-flexbox;display:flex;padding:15px 12px;margin:0 auto;vertical-align:middle}.avue-chat .web__logo-img{margin-top:3px;width:35px;height:35px;border-radius:100%;-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,.1);box-shadow:0 3px 3px 0 rgba(0,0,0,.1)}.avue-chat .web__logo-info{margin-left:10px}.avue-chat .web__logo-name{position:relative;margin-top:5px;font-size:13px}.avue-chat .web__logo-dept{margin-top:1px;font-size:12px}.avue-chat .web__logo-dept,.avue-chat .web__logo-name{color:#fff;margin:0;padding:0;width:175px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.avue-chat .web__main-item{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.avue-chat .web__main-text,.avue-chat .web__main-user{display:inline-block;vertical-align:top;font-size:14px}.avue-chat .web__main-user{position:absolute;left:3px}.avue-chat .web__main-user img{width:40px;height:40px;border-radius:100%}.avue-chat .web__main-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.avue-chat .web__main-user cite i{padding-left:15px;font-style:normal}.avue-chat .web__main-text{position:relative;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#f3f3f3;border-radius:3px;border:1px solid #f0f0f0;color:#000;word-break:break-all}.avue-chat .web__main-arrow{top:6px;left:-8px;border-color:transparent #ebeef5 transparent transparent;border-width:8px 8px 8px 0}.avue-chat .web__main-arrow,.avue-chat .web__main-arrow:after{position:absolute;display:block;width:0;height:0;border-style:solid}.avue-chat .web__main-arrow:after{content:" ";top:-7px;left:1px;border-color:transparent #fff transparent transparent;border-width:7px 7px 7px 0}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow{left:auto;right:-5px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:8px 0 8px 8px}.avue-chat .web__main-item--mine .web__main-text .web__main-arrow:after{left:auto;right:-2px;border-color:transparent transparent transparent #409eff;border-style:solid;border-width:7px 0 7px 7px}.avue-chat .web__main-list{margin:10px 0}.avue-chat .web__main-list li{height:30px;color:#409eff;line-height:30px}.avue-chat .web__main-item--mine{text-align:right;padding-left:0;padding-right:60px}.avue-chat .web__main-item--mine .web__main-user{left:auto;right:3px}.avue-chat .web__main-item--mine .web__main-user cite{left:auto;right:60px;text-align:right}.avue-chat .web__main-item--mine .web__main-user cite i{padding-left:0;padding-right:15px}.avue-chat .web__main-item--mine .web__main-text{margin-left:0;text-align:left;background-color:#409eff;color:#fff}.avue-chat .web__footer{-webkit-box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);box-shadow:0 -1px 0 0 rgba(0,0,0,.04),0 -2px 0 0 rgba(0,0,0,.01);position:absolute;left:0;bottom:0;width:100%;background-color:#fff}.avue-chat .web__msg{padding:10px;height:auto;overflow:hidden}.avue-chat .web__msg--file,.avue-chat .web__msg--img,.avue-chat .web__msg--video{position:relative;max-width:250px;min-width:200px;width:100%;margin:10px 0;border:1px solid #eee;overflow:hidden;border-radius:5px;cursor:pointer;display:block}.avue-chat .web__msg--file span,.avue-image-preview__box,.avue-img--center{display:-webkit-box;display:-ms-flexbox;-webkit-box-align:center}.avue-chat .web__msg--file{height:140px;background-color:#fff}.avue-chat .web__msg--file span{-webkit-box-sizing:border-box;box-sizing:border-box;padding:3px 5px;color:#333;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:calc(100% - 80px);overflow:hidden;font-size:13px;text-align:center}.avue-chat .web__msg--file h2{margin:0;width:100%;text-align:center;line-height:80px;background-color:#409eff;color:#fff}.avue-chat .web__msg--map{height:160px}.avue-chat .web__msg-input{display:block;width:100%;height:60px;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;outline:0;background-color:#fff;border:0;word-break:break-all;font-size:13px;line-height:17px;-webkit-appearance:none}.avue-chat .web__msg-input,.avue-chat .web__tools,.avue-form,.avue-form__menu{-webkit-box-sizing:border-box}.avue-chat .web__msg-submit{float:right;display:block;outline:0;cursor:pointer;text-align:center}.avue-chat .web__tools{padding:8px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-chat .web__tools i{margin-right:12px;font-size:20px;color:#888a91}.avue-chat .web__tools i:hover{color:#76b1f9}.avue-draggable{padding:10px;position:absolute;cursor:move;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-draggable__focus{opacity:0;position:absolute!important;top:0;left:0;z-index:-1024}.avue-draggable__mask{width:100%;height:100%;border:0;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.avue-draggable--active{cursor:move;border:1px dashed #09f;background-color:rgba(115,170,229,.5)}.avue-draggable--move{opacity:.6;background-color:rgba(115,170,229,.5)}.avue-draggable--click{cursor:pointer}.avue-draggable__line--left{position:absolute;border-top:1px dashed #09f;width:10000px;height:0;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.avue-draggable__line--top{position:absolute;border-left:1px dashed #09f;width:0;height:10000px;left:0;-webkit-transform:translateY(-100%);transform:translateY(-100%)}.avue-draggable__line--label{top:-5px;left:-8px;position:absolute;padding:5px;-webkit-transform:translate(-100%,-100%);transform:translate(-100%,-100%);color:#09f;font-size:18px;white-space:nowrap;cursor:move}.avue-draggable__menu,.avue-image-preview .el-image-viewer__close i,.avue-image-preview__file a{color:#fff}.avue-draggable__menu{position:absolute;top:0;left:0;background-color:#409eff;font-size:25px;z-index:9999;cursor:pointer}.avue-draggable__range{position:absolute;width:10px;height:10px;border-radius:100%;z-index:9999;background-color:#09f}.avue-draggable__range--left,.avue-draggable__range--right{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.avue-draggable__range--left:hover,.avue-draggable__range--right:hover{cursor:ew-resize}.avue-draggable__range--left{left:-6px}.avue-draggable__range--right{right:-6px}.avue-draggable__range--bottom,.avue-draggable__range--top{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.avue-draggable__range--bottom:hover,.avue-draggable__range--top:hover{cursor:ns-resize}.avue-draggable__range--top{top:-6px}.avue-draggable__range--bottom{bottom:-6px}.avue-draggable__range--bottom-right:hover,.avue-draggable__range--top-left:hover{cursor:nwse-resize}.avue-draggable__range--bottom-left:hover,.avue-draggable__range--top-right:hover{cursor:nesw-resize}.avue-draggable__range--top-right{top:-6px;right:-6px}.avue-draggable__range--top-left{top:-6px;left:-6px}.avue-draggable__range--bottom-right{bottom:-6px;right:-6px}.avue-draggable__range--bottom-left{bottom:-6px;left:-6px}.avue-img--center{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-img--fullscreen .el-dialog__body{height:100%}.avue-image-preview{position:fixed;top:0;left:0;width:100%;height:100%;-webkit-transition:all .5s;transition:all .5s;z-index:9998}.avue-image-preview .el-image-viewer__btn{z-index:1024}.avue-image-preview img{-webkit-transition:all .5s;transition:all .5s;cursor:pointer}.avue-image-preview__file{text-align:center}.avue-image-preview__file i{font-size:80px}.avue-image-preview__mask{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.avue-image-preview__box{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-image-preview__box .el-carousel{width:90%;height:100%}.avue-image-preview__box .el-carousel__container{height:100%}.avue-image-preview__box .el-carousel__item{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-input-tree .el-tag__close{display:none!important}.avue-input-tree__desc{float:right;color:#8492a6;font-size:13px}.avue-input-table__crud .avue-crud__pagination{padding:10px 0 2px 10px;margin:0}.amap-icon img,.amap-marker-content img{width:25px;height:34px}.avue-input-map__marker{position:absolute;top:-20px;right:-118px;color:#fff;padding:4px 10px;-webkit-box-shadow:1px 1px 1px rgba(10,10,10,.2);box-shadow:1px 1px 1px rgba(10,10,10,.2);white-space:nowrap;font-size:12px;background-color:#25a5f7;border-radius:3px}.avue-input-map__content-input{margin-bottom:10px}.avue-input-map__content-box{position:relative}.avue-input-map__content-container{width:100%;height:450px}.avue-input-map__content-result{display:block!important;position:absolute;top:0;right:-8px;width:250px;height:450px;overflow-y:auto}.avue-input-icon{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:distribute;justify-content:space-around}.avue-input-icon__item{text-align:center;width:60px;padding:10px 20px 0;-webkit-transition:all .2s;transition:all .2s}.avue-input-icon__item p{font-size:12px;margin-top:5px}.avue-input-icon__item--active,.avue-input-icon__item:hover{-webkit-transform:scale(1.4);transform:scale(1.4)}.avue-input-icon__item--active{color:#409eff}.avue-input-icon__list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-input-icon__icon{font-size:32px!important}.avue-input-icon__icon-symbol{width:32px;height:32px;margin:0 auto;fill:currentColor;overflow:hidden}.avue-upload--upload .el-upload,.avue-upload--upload .el-upload__tip{display:none}.avue-upload--upload .el-upload--picture-img{display:inline-block}.avue-upload--upload .el-upload-list{margin-top:-6px}.avue-upload--list .el-upload{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avue-upload--list .el-upload:hover{border-color:#409eff}.avue-upload__dialog .el-dialog__header{display:none}.avue-upload__dialog .el-dialog__body{padding:10px}.avue-upload__dialog .el-dialog__body,.avue-upload__menu{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-upload__menu{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);-webkit-box-align:center;-ms-flex-align:center;align-items:center;z-index:1024}.avue-form,.avue-form__group .el-col{position:relative}.avue-upload__menu i{color:#fff;margin:0 8px;font-size:20px}.avue-upload__icon{font-size:28px;color:#8c939d;width:178px;height:178px;line-height:178px;text-align:center}.avue-upload__avatar{width:178px;height:178px;display:block}.avue-form{margin:0 auto;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__item--top{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-form__item--top .el-form-item__label{width:100%!important;text-align:left!important}.avue-form__item--top .el-form-item__content{margin-left:0!important}.avue-form__item--left .el-form-item__label{text-align:left!important}.avue-empty,.avue-flow__node-body,.avue-form__menu--center{text-align:center}.avue-form__menu{padding:5px 10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__menu--center .el-button{margin:0 5px}.avue-form__menu--left{text-align:left}.avue-form__menu--right{text-align:right}.avue-form__tabs{padding:0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-form__group{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;height:auto}.avue-form__group--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-form__line{display:inline-block;height:100%}.avue-form__row--block{width:100%;display:block}.avue-flow__node,.avue-flow__node-body{display:-webkit-box;display:-ms-flexbox}.avue-form__row--cursor{cursor:pointer}.avue-form__option{position:absolute;right:0;top:-10px;z-index:999}.avue-flow,.avue-flow__node,.avue-tree{position:relative}.avue-form__option i{color:#666}.avue-form__option i+i{margin-left:10px}.el-drawer .avue-form{padding:0 20px}.avue-flow .avue-draggable{padding:0}.avue-flow__node{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:200px;height:80px;border-radius:5px;-webkit-box-shadow:"#66a6e0 0px 0px 12px 0px";box-shadow:"#66a6e0 0px 0px 12px 0px";border:1px solid #eee;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.avue-flow__node--active{border-width:2px;border-color:#f56c6c}.avue-flow__node-drag{margin:0 5px;display:inline-block}.avue-flow__node-header{-webkit-box-flex:1;-ms-flex:1;flex:1;background-color:#66a6e0}.avue-flow__node-body{-ms-flex-align:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-flex:1.5;-ms-flex:1.5;flex:1.5;background:#fff}.avue-date__group,.avue-flow__node-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;align-items:center}.avue-date__group{-ms-flex-align:center}.avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0;border-right:0}.avue-date__date{width:300px}.avue-date__date .el-date-editor{border-top-left-radius:0;border-bottom-left-radius:0}.avue-empty{margin:0 8px;font-size:14px;line-height:22px}.avue-checkbox .el-checkbox+.el-checkbox,.avue-crud .avue-crud__left .el-button+.el-button,.avue-crud .avue-crud__right .el-button+.el-button,.avue-form .avue-crud__left .el-button+.el-button,.avue-form .avue-crud__right .el-button+.el-button,.avue-radio .el-radio+.el-radio{margin-left:0}.avue-checkbox .el-checkbox,.avue-radio .el-radio{margin-right:10px}.avue-empty__image{height:100px;margin-bottom:8px}.avue-empty__image img{height:100%;vertical-align:middle;border-style:none}.avue-empty__desc{color:rgba(0,0,0,.65)}.avue-select .sortable-ghost{opacity:.8;color:#fff!important;background:#409eff!important}.avue-select .el-tag{cursor:pointer}.avue-select__desc{float:right;color:#8492a6;font-size:13px}.el-select-dropdown .avue-select__check{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:right;width:100%;padding:3px 20px 3px 0}.avue-group{width:100%}.avue-group .el-collapse,.avue-group .el-collapse-item__wrap{border-color:#fff}.avue-group .el-collapse-item__header{height:inherit;border:none;border-bottom:1px solid #eee;margin-bottom:20px}.avue-group .el-collapse-item__content,.avue-group .van-collapse-item__content{padding-bottom:0}.avue-group .van-collapse-item__content{padding:0 2px}.avue-group--arrow .el-collapse-item__arrow,.avue-group--arrow .van-icon-arrow,.avue-group .van-hairline--top-bottom:after,.avue-group .van-hairline-unset--top-bottom:after{display:none}.avue-group .van-collapse-item__title{padding:0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-group .van-collapse-item__title:after{left:0!important}.avue-group--none{margin:0!important;border:none!important}.avue-group--header .el-collapse-item__header,.avue-group--header .van-collapse-item__title{display:none}.avue-group--collapse .el-collapse-item__arrow,.avue-group--collapse .el-collapse-item__header{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.avue-group__header,.avue-tree__filter{display:-webkit-box;display:-ms-flexbox}.avue-group__item{margin-bottom:10px;background-color:#fff;border-bottom:1px solid #eee;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__item:last-child{border-bottom:none}.avue-group__header{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:50px;line-height:50px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-group__icon{margin-right:8px;font-size:20px;color:rgba(0,0,0,.85)}.avue-group__title{font-size:16px;font-weight:500;color:rgba(0,0,0,.85)}.avue-tree__menu{width:200px;position:fixed;z-index:1024;-ms-flex-wrap:wrap;flex-wrap:wrap;background-color:#fff}.avue-tree__item,.avue-video{position:relative;overflow:hidden}.avue-tree__dialog .el-dialog__body{padding:30px 20px 0}.avue-tree__item{height:34px;line-height:34px;outline:0;padding:0 10px;white-space:nowrap;text-overflow:ellipsis;width:100%;color:#666}.avue-tree__item:hover{cursor:pointer;color:#409eff}.avue-tree__filter{margin-bottom:5px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-tree__content{padding:5px 0;height:calc(100% - 32px)}.avue-title p{font-weight:700;font-size:18px;margin:5px 10px}.avue-search{padding:0 20px}.avue-search__item{padding:20px 0 10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;border-bottom:1px dashed #e8e8e8}.avue-search__item:last-child{border-bottom:none}.avue-search__tags{padding:0 12px;margin-right:24px;margin-bottom:12px;font-size:14px;color:rgba(0,0,0,.65);cursor:pointer;white-space:nowrap;display:inline-block}.avue-search__tags:hover{color:#1890ff}.avue-search__tags--active{color:#fff;background-color:#1890ff;border-radius:5px}.avue-search__tags--active:hover{opacity:.85;color:#fff}.avue-search__title{margin:0;padding:0 20px;width:120px;font-size:14px;text-align:right;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-search__content{width:calc(100% - 190px);display:inline-block}.avue-search__content .el-tag{margin-right:10px;margin-bottom:10px}.avue-video{width:500px}.avue-video__border span{position:absolute;width:30px;height:30px;border-width:4px;color:#0073eb;border-style:solid}.avue-video__border span:first-child{left:15px;top:15px;border-right:0;border-bottom:0}.avue-video__border span:nth-child(2){right:15px;top:15px;border-left:0;border-bottom:0}.avue-video__border span:nth-child(3){bottom:15px;left:15px;border-right:0;border-top:0}.avue-video__border span:nth-child(4){bottom:15px;right:15px;border-left:0;border-top:0}.avue-video__img{width:100px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.avue-video__main{width:100%}.avue-dynamic__item{margin-bottom:10px;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.avue-dynamic__header{padding-left:40px}.avue-dynamic__row{position:relative;border-top:1px dashed #eee;padding-top:13px}.avue-dynamic__row:first-child{border-top:0}.avue-dynamic__menu{position:absolute;right:0;z-index:1024}.avue-dynamic__input{margin-right:8px;width:100%}.avue-dynamic__button{margin-bottom:0!important}.avue-verify__item{padding:5px 10px;display:inline-block;margin:0 4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e1e1e1;font-size:64px;text-align:center}.avue-text-ellipsis__more{padding:0 2px}.avue-login .el-form-item{margin-bottom:18px}.avue-login .el-input-group__append{padding:0;overflow:hidden}.avue-login__send{min-width:150px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-login__send:hover{color:#c0c4cc!important;border-color:#ebeef5!important;background-color:#f5f7fa!important}.avue-login__submit{width:100%}.avue-keyboard--default .akeyboard-keyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--default .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--default .akeyboard-keyboard-keys:hover,.avue-keyboard--default .keyboard-keyboard-keys-focus{background:#1e9fff;color:#fff}.avue-keyboard--default .akeyboard-keyboard-keys-Delete,.avue-keyboard--default .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--default .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--default .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--default .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--default .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--default .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--default .akeyboard-numberKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--default .akeyboard-mobileKeyboard{height:100%;width:100%;background:#f0f0f0;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--default .akeyboard-mobileKeyboard-keys,.avue-keyboard--green .akeyboard-keyboard-keys{padding:0 10px;-moz-user-select:none;-ms-user-select:none;text-align:center;cursor:pointer;display:inline-block}.avue-keyboard--default .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;border-radius:3px;background:#fff;line-height:25px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--default .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--default .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--green .akeyboard-keyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--green .akeyboard-keyboard-keys{height:40px;min-width:40px;border-radius:5px;background:#cc9;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--green .akeyboard-keyboard-keys:hover,.avue-keyboard--green .keyboard-keyboard-keys-focus{background:#693;color:#fff}.avue-keyboard--green .akeyboard-keyboard-keys-Delete,.avue-keyboard--green .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--green .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--green .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--green .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--green .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--green .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--green .akeyboard-numberKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--green .akeyboard-mobileKeyboard{height:100%;width:100%;background:#030;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--green .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#cc9;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys:hover{background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--green .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#693!important;color:#fff}.avue-keyboard--green .akeyboard-mobileKeyboard-keys-focus{background:#693!important;color:#fff}.avue-keyboard--dark .akeyboard-keyboard{height:100%;width:100%;background:#000;color:#fff;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--dark .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#393d49;color:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--dark .akeyboard-keyboard-keys:hover,.avue-keyboard--dark .keyboard-keyboard-keys-focus{background:#1e9fff}.avue-keyboard--dark .akeyboard-keyboard-keys-Delete,.avue-keyboard--dark .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--dark .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--dark .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--dark .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--dark .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--dark .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--dark .akeyboard-numberKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--dark .akeyboard-mobileKeyboard{height:100%;width:100%;background:#000;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#393d49;color:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys:hover{background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#1e9fff!important;color:#fff}.avue-keyboard--dark .akeyboard-mobileKeyboard-keys-focus{background:#1e9fff!important;color:#fff}.avue-keyboard--classic .akeyboard-keyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:9px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-keyboard-innerKeys{text-align:center}.avue-keyboard--classic .akeyboard-keyboard-keys{height:40px;min-width:40px;padding:0 10px;border-radius:5px;background:#fff;display:inline-block;line-height:40px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.avue-keyboard--classic .akeyboard-keyboard-keys:hover,.avue-keyboard--classic .keyboard-keyboard-keys-focus{background:#c2c2c2;color:#fff}.avue-keyboard--classic .akeyboard-keyboard-keys-Delete,.avue-keyboard--classic .akeyboard-keyboard-keys-Tab{width:80px}.avue-keyboard--classic .akeyboard-keyboard-keys-Caps{width:77px}.avue-keyboard--classic .akeyboard-keyboard-keys-Enter{width:90px}.avue-keyboard--classic .akeyboard-keyboard-keys-Shift{width:106px}.avue-keyboard--classic .akeyboard-keyboard-keys-Space{width:350px}.avue-keyboard--classic .akeyboard-keyboard-fixedBottomCenter{width:100%!important;height:auto!important;position:fixed;bottom:0;left:0;border-radius:0!important}.avue-keyboard--classic .akeyboard-numberKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:10px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-numberKeyboard-keys-Enter{height:40px;width:100px}.avue-keyboard--classic .akeyboard-mobileKeyboard{height:100%;width:100%;background:#2f4056;border-radius:5px;padding:11px 5px 5px;-webkit-box-sizing:border-box;box-sizing:border-box}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys{height:25px;min-width:25px;padding:0 10px;border-radius:3px;background:#fff;display:inline-block;line-height:25px;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:3px 2px 2px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-size:10px}.avue-array__input,.avue-notice__item{display:-webkit-box;display:-ms-flexbox}.avue-data-operatext .item,.avue-data-operatext .item-row,.avue-data-tabs .item,.data-box .item,.data-card .item-text{-webkit-box-sizing:border-box}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys:hover{background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇦,.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-⇧{width:25px;background-color:#999faf}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Space{height:28px;width:100px;line-height:28px;margin-left:55px}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-Enter{height:28px;width:55px;line-height:28px;background:#c2c2c2!important;color:#fff}.avue-keyboard--classic .akeyboard-mobileKeyboard-keys-focus{background:#c2c2c2!important;color:#fff}.avue-notice__item{padding:12px 24px;border-bottom:1px solid #e8eaec;cursor:pointer;-webkit-transition:background-color .2s ease-in-out;transition:background-color .2s ease-in-out;text-align:left;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.avue-notice__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-notice__img{width:38px;height:38px;border-radius:100%;margin-top:5px;margin-right:10px;overflow:hidden}.avue-notice__img img{width:100%;height:100%}.avue-notice__name{line-height:25px}.avue-notice__title{font-size:14px;font-weight:400;line-height:22px;color:#515a6e;margin-bottom:4px}.avue-notice__tag{float:right;margin-top:2px}.avue-notice__subtitle{font-size:12px;color:#808695}.avue-notice__more{cursor:pointer;color:#2d8cf0;text-align:center;padding:10px 0}.avue-array__item{margin-bottom:5px}.avue-array__input{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-array__input .el-input{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.avue-array__input .el-button{margin-left:5px}.avue-data-tabs .item{position:relative;margin:15px;padding:12px;height:160px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;color:#fff}.avue-data-tabs .item a{color:#fff}.avue-data-tabs .item-header{position:relative}.avue-data-tabs .item-header>p{color:#fff;margin:0;font-size:14px}.avue-data-tabs .item-header>span{position:absolute;right:0;top:0;padding:2px 8px;border-radius:4px;font-size:12px;background:hsla(0,0%,100%,.3)}.avue-data-tabs .item-body .h2{color:#fff;margin:0;font-size:32px;line-height:60px;font-weight:700}.avue-data-tabs .item-footer{padding-top:8px;line-height:20px}.avue-data-tabs .item-footer>span{font-size:10px}.avue-data-tabs .item-footer>p{color:#fff;margin:0;font-size:12px}.avue-data-tabs .item-tip{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;position:absolute;width:80px;height:80px;bottom:10px;right:10px;border:2px solid #fff;border-radius:100%;font-size:48px;-webkit-transform:rotate(-40deg);transform:rotate(-40deg);opacity:.1}.avue-data-cardText .item{padding:20px 25px;margin:10px 20px;background:#f8f8f8;border-radius:6px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-cardText .item-header{position:relative}.avue-data-cardText .item-header i{font-size:26px;color:#009688}.avue-data-cardText .item-header a{font-size:16px;margin-left:6px;position:absolute;bottom:4px}.avue-data-cardText .item-content{margin-top:8PX;font-size:14px;line-height:22px;color:#333}.avue-data-cardText .item-footer{position:relative}.avue-data-cardText .item-footer span:first-child{color:#777;font-size:12px;text-overflow:ellipsis;word-break:break-all}.avue-data-cardText .item-footer span:nth-child(2){color:#ccc;font-size:12px;line-height:24px;position:absolute;right:0}.data-box .item{position:relative;margin:0 auto 10px;width:96%;height:100px;overflow:hidden;border-radius:5px;-webkit-box-sizing:border-box;box-sizing:border-box}.data-box .item:hover .item-text{top:0}.data-box .item-icon,.data-box .item a{display:-webkit-box;display:-ms-flexbox;display:flex}.data-box .item-icon{width:100px;height:100px;color:#fff;text-align:center;line-height:100px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.data-box .item-icon i{font-size:48px!important}.data-box .item-info{border-radius:0 5px 5px 0;border:1px solid #eee;border-left:none;background-color:#fff;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-box .item-info .title{font-size:30px;line-height:40px;text-align:center}.data-box .item-info .info{color:#999;font-size:14px;text-align:center}.data-progress .item{margin:10px}.data-progress .item-header{margin-bottom:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.data-progress .item-count{line-height:26px;font-size:26px;color:#666}.data-progress .item-title{color:#999;font-size:14px}.data-icons .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:90%;margin:10px 15px}.data-icons .item-icon{margin-top:3px;margin-right:0!important;text-align:center}.data-icons .item-icon>i{font-size:46px!important}.data-icons .item-info{text-align:center;padding:10px 0}.data-icons .item-info>span{display:block;padding:5px 0;color:#999;font-size:12px}.data-icons .item-info .count{font-size:20px;line-height:25px}.data-icons .item--easy{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.data-icons .item--easy>.item-icon{margin:0}.data-icons .item--easy>.item-info{margin-top:-15px}.data-icons .item--easy>.item-info>span{font-size:14px}.data-card .item{position:relative;margin:0 auto 50px;width:230px;height:340px;overflow:hidden;border-radius:5px;border:1px solid #fff}.data-card .item:hover .item-text{top:0}.data-card .item-img{width:100%;border-radius:5px 5px 0 0}.data-card .item-text{position:absolute;top:150px;padding:20px 15px;width:100%;height:340px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:0 0 5px 5px;opacity:.9;-webkit-transition:top .4s;transition:top .4s}.data-card .item-text>p{font-size:12px;line-height:25px;text-indent:2em}.avue-data-display .item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:5px 0;text-align:center}.avue-data-display .count{display:block;margin:8px 0 15px;font-weight:700;font-size:32px;color:#15a0ff}.avue-data-display .title{line-height:32px;color:#999}.avue-data-display .splitLine{display:block;margin:0 auto;width:24px;height:1px;background:#9b9b9b}.avue-data-imgtext .item{position:relative;height:340px;width:240px;margin:10px auto 50px;border-radius:5px;-webkit-box-shadow:2px 2px 20px #ccc;box-shadow:2px 2px 20px #ccc}.avue-data-imgtext .item-header img{width:100%;height:170px;background:red;border-radius:5px 5px 0 0}.avue-data-imgtext .item-content{padding:10px 15px;color:#333!important}.avue-data-imgtext .item-content span{font-size:20px}.avue-data-imgtext .item-content:hover span{color:#1890ff}.avue-data-imgtext .item-content p{font-size:14px;height:60px;margin:6px 0;overflow:hidden}.avue-data-imgtext .item-footer{padding:10px 15px;position:relative}.avue-data-imgtext .item-footer img{height:20px;width:20px;border-radius:50%}.avue-data-imgtext .item-footer div{display:inline-block}.avue-data-imgtext .item-footer div li,.avue-data-imgtext .item-footer div ul{padding:0;margin:0 0 0 -8px;list-style:none;display:inline-block;border:2px solid #fff;border-radius:50%}.avue-data-imgtext .item-footer div:first-child{font-size:14px;color:#ccc!important}.avue-data-imgtext .item-footer div:nth-child(2){position:absolute;right:15px}.avue-data-operatext .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;border-radius:3px;background:#fff;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.1);box-shadow:0 1px 1px rgba(0,0,0,.1)}.avue-data-operatext .item a{color:#333}.avue-data-operatext .item-header{padding:20px 20px 60px;border-top-right-radius:3px;border-top-left-radius:3px;color:#fff;background-position:50%}.avue-data-operatext .item-title{margin-top:0;margin-bottom:5px;font-size:25px;font-weight:300;text-shadow:0 1px 1px rgba(0,0,0,.2);display:block}.avue-data-operatext .item-subtitle{font-size:14px;font-weight:400}.avue-data-operatext .item-content{border-top:1px solid #f4f4f4;padding:10px 10px 20px;background-color:#fff;border-radius:0 0 3px 3px}.avue-data-operatext .item-img{margin:-60px auto 5px;width:90px;height:90px;border-radius:100%;overflow:hidden;border:4px solid #fff}.avue-data-operatext .item-img img{width:100%;height:100%}.avue-data-operatext .item-list{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.avue-data-operatext .item-row{-webkit-box-sizing:border-box;box-sizing:border-box;width:33.33%;text-align:center}.avue-data-operatext .item-label{margin-bottom:5px;display:block;font-weight:600;font-size:16px}.avue-data-operatext .item-value{display:block;font-weight:300;text-transform:uppercase}.avue-data-rotate .item{margin:5px 10px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;color:#fff;border-radius:3px}.avue-data-rotate .item-box{padding:10px 20px}.avue-data-rotate .item-count{margin-bottom:5px;font-size:38px;white-space:nowrap;font-weight:300;display:block}.avue-data-rotate .item-title{font-size:15px}.avue-data-rotate .item-icon{-webkit-transition:all .3s linear;transition:all .3s linear;position:absolute;top:20px;right:20px;font-size:65px;color:rgba(0,0,0,.15)}.avue-data-rotate .item-icon:hover{font-size:70px}.avue-data-rotate .item-more{position:relative;text-align:center;padding:3px 0;color:#fff;color:hsla(0,0%,100%,.8);display:block;z-index:10;font-size:14px;letter-spacing:2px;background:rgba(0,0,0,.1);text-decoration:none}.avue-data-pay .item{margin:0 auto;padding-bottom:16px;width:80%;position:relative;border-radius:4px;background-color:#fff;min-height:670px;-webkit-box-shadow:1px 2px 10px #eee;box-shadow:1px 2px 10px #eee}.avue-data-pay .top{width:100%;height:6px;position:absolute;top:0;left:0;border-radius:4px 4px 0 0}.avue-data-pay .header{margin-bottom:40px;text-align:center}.avue-data-pay .title{text-align:center;padding:20px 0 10px;font-size:20px;font-weight:200}.avue-data-pay .money span{margin-right:5px;font-size:14px}.avue-data-pay .money .b{margin-right:2px;font-size:20px;font-weight:700}.data-price .item .body:before,.el-select-dropdown .el-tree-node__label,.el-select-dropdown__item.selected{font-weight:400}.avue-data-pay .money s{margin-right:3px;font-size:12px}.avue-data-pay .money em{font-size:14px;font-style:normal}.avue-data-pay .img{width:50px}.avue-data-pay .line{width:60%;height:1px;background:hsla(0,0%,58.8%,.1);margin:20px auto}.avue-data-pay .btn{display:block;width:120px;height:32px;line-height:32px;margin:0 auto;text-align:center;border-radius:32px;color:#fff;cursor:pointer;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.avue-data-pay .list-item{list-style:none;padding-left:20px;margin-bottom:12px;color:#666;font-size:14px}.avue-data-pay .list-item a{color:#666}.avue-data-pay .list-item-icon{color:#515a6e;margin-right:8px}.avue-data-pay .list-item--link{font-size:12px;color:#2d8cf0}.avue-data-pay .list-item--no,.avue-data-pay .list-item--no+span{color:#c5c8ce}.data-price .item{margin:0 20px;text-align:center;-webkit-box-shadow:2px 3px 15px #eee;box-shadow:2px 3px 15px #eee}.data-price .item:hover{border:1px solid #00a680}.data-price .item:hover .body{color:#fff;background-color:#00a680}.data-price .item:hover .body:after{border-top-color:#00a680}.data-price .item:hover .list{color:#00a680}.data-price .item:hover .price{color:#fff}.data-price .item .title{height:80px;line-height:80px;font-size:18px;color:#333}.data-price .item .body,.data-price .item .price{margin:0 0 50px;line-height:120px;height:120px;color:#6b6b6b}.data-price .item .price{padding:0 8px;font-size:42px}.data-price .item .append{font-size:16px}.data-price .item .body{position:relative;padding:0;background-color:#f4f4f4;font-size:42px}.data-price .item .body:before{content:"\A5";font-size:16px}.data-price .item .body:after{content:"";position:absolute;display:block;width:0;height:0;bottom:-15px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-color:#f4f4f4 transparent transparent;border-style:solid;border-width:20px 30px 0}.data-price .item .list{padding-bottom:30px;color:#666;font-size:14px}.avue-data-panel .item{padding:0 30px;margin:0 20px;cursor:pointer;height:108px;font-size:12px;position:relative;overflow:hidden;color:#666;background:#fff;-webkit-box-shadow:4px 4px 40px rgba(0,0,0,.05);box-shadow:4px 4px 40px rgba(0,0,0,.05);border-color:rgba(0,0,0,.05);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.avue--detail .avue-checkbox__all,.avue--detail .el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.avue--detail .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before,.avue--detail .el-input-number__decrease,.avue--detail .el-input-number__increase,.avue--detail .el-input__prefix,.avue--detail .el-input__suffix,.avue-canvas{display:none}.avue-data-panel .item-icon{font-size:52px}.avue-data-panel .item-info{text-align:center}.avue-data-panel .item-title{line-height:18px;color:rgba(0,0,0,.45);font-size:16px;margin-bottom:12px}.avue-data-panel .item-count{font-size:20px}[class^=avue-data-] a,[class^=data-] a{text-decoration:none}body{font-family:Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}*{outline:0}.avue-ghost{opacity:.5;background:#c8ebfb}.avue--disabled{color:#ccc}.avue--detail .hover-row td{background-color:#fff!important}.avue--detail .avue-group__header{padding-left:10px}.avue--detail .el-collapse-item__header{margin-bottom:0}.avue--detail .el-input.is-disabled .el-input__inner,.avue--detail .el-range-editor.is-disabled,.avue--detail .el-range-editor.is-disabled input,.avue--detail .el-textarea.is-disabled .el-textarea__inner{color:#606266;background-color:#fff;padding-left:0}.avue--detail .el-input-group__append,.avue--detail .el-input-group__prepend{background-color:transparent;border:none}.avue--detail .el-input__inner,.avue--detail .el-textarea__inner{border:none}.avue--detail .el-input__inner::-webkit-input-placeholder,.avue--detail .el-textarea__inner::-webkit-input-placeholder{color:transparent!important}.avue--detail .el-input__inner::-moz-placeholder,.avue--detail .el-textarea__inner::-moz-placeholder{color:transparent!important}.avue--detail .el-input__inner::-ms-input-placeholder,.avue--detail .el-textarea__inner::-ms-input-placeholder{color:transparent!important}.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.avue--detail .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#fff}.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#409eff;border-color:#409eff}.avue--detail .el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#fff}.avue--detail .el-checkbox__input.is-disabled+span.el-checkbox__label,.avue--detail .el-radio__input.is-disabled+span.el-radio__label{color:#606266}.avue--detail .el-row{border-top:1px solid #ebeef5;border-left:1px solid #ebeef5}.avue--detail .el-col{padding:0!important;border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5}.avue--detail .el-form-item--mini.el-form-item,.avue--detail .el-form-item--small.el-form-item{margin:0;background:#fafafa}.avue--detail .el-form-item__content,.avue--detail .el-form-item__label{padding:2px 0}.avue--detail .el-form-item__label{padding-right:20px;color:#909399;-webkit-box-sizing:border-box;box-sizing:border-box}.avue--detail .el-tag{margin-left:0!important;margin-right:6px!important}.avue--detail .el-form-item__content{border-left:1px solid #ebeef5;padding-left:20px;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.avue--detail__column .el-form-item{background-color:#fff}.avue--detail__column .el-form-item__label{padding-right:12px}.avue--detail__column .el-form-item__content{padding-left:0;border-left:none}.avue-grid{position:absolute;width:100%;background-size:20px 20px,20px 20px;background-image:linear-gradient(rgba(0,0,0,.1) 1px,transparent 0),linear-gradient(90deg,rgba(0,0,0,.1) 1px,transparent 0)}.avue-grid,.avue-mask{top:0;left:0;height:100%}.avue-mask{position:fixed;bottom:0;right:0;background-color:rgba(55,55,55,.6);z-index:1000}.avue--card{-webkit-box-shadow:2px 1px 8px rgba(0,0,0,.15);box-shadow:2px 1px 8px rgba(0,0,0,.15);border-radius:5px}.avue-dialog{overflow:visible;top:15%}.avue-dialog .el-dialog{min-height:180px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:0!important;position:absolute;top:0;left:50%;-webkit-transform:translate(-50%);transform:translate(-50%);border-radius:2px;max-height:calc(100% - 100px);max-width:calc(100% - 100px)}.avue-dialog .el-dialog__header{padding:16px 24px;min-height:20px;border-bottom:1px solid #f0f0f0}.avue-dialog .el-dialog__title,.avue-dialog .el-drawer__header{color:rgba(0,0,0,.85);font-weight:500;word-wrap:break-word}.avue-dialog .el-dialog__body{margin-bottom:50px}.avue-dialog .el-dialog .el-dialog__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;overflow-y:auto}.avue-dialog .el-drawer{position:absolute;right:0;top:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.avue-dialog .el-drawer__header{margin:0;min-height:20px;padding:16px 10px 16px 24px;border-bottom:1px solid #f0f0f0}.avue-dialog .el-drawer,.avue-dialog .el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.avue-dialog .el-drawer__body{padding:30px 10px 60px 30px}.avue-dialog__footer{display:block;padding:10px 16px;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:1px solid #f0f0f0;width:100%;position:absolute;left:0;bottom:0;background-color:#fff;text-align:right}.avue-dialog__footer--left{text-align:left}.avue-dialog__footer--center{text-align:center}.avue-dialog--fullscreen .el-dialog{left:0;top:0;-webkit-transform:translate(0);transform:translate(0);width:100%!important;height:100%;max-width:100%;max-height:100%}.avue-crud .el-tooltip__popper,.avue-form .el-tooltip__popper,.el-tooltip__popper{max-width:60%}.avue-dialog--top .el-dialog{top:15%}.avue-dialog--none .el-dialog__body{margin-bottom:0}.avue-queue--block{display:inline-block}.avue-opacity{opacity:0}.avue-opacity--active{opacity:1}.fade-enter-active,.fade-leave-active{-webkit-transition:opacity .3s;transition:opacity .3s}.fade-enter,.fade-leave-to{opacity:0}.avue-crud .avue-input-number,.avue-crud .el-cascader,.avue-crud .el-date-editor.el-input,.avue-crud .el-date-editor.el-input__inner,.avue-crud .el-select,.avue-form .avue-input-number,.avue-form .el-cascader,.avue-form .el-date-editor.el-input,.avue-form .el-date-editor.el-input__inner,.avue-form .el-select{width:100%!important}.avue-crud .el-input-number .el-input__inner,.avue-form .el-input-number .el-input__inner{text-align:left}.avue-crud .avue-crud__left .el-button,.avue-crud .avue-crud__right .el-button,.avue-form .avue-crud__left .el-button,.avue-form .avue-crud__right .el-button{margin-right:5px;margin-bottom:0}.avue-crud .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content,.avue-form .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{color:#409eff}.avue-crud .el-tree-node__label,.avue-form .el-tree-node__label{margin-left:8px}.avue-crud .el-input__inner,.avue-form .el-input__inner{height:38px;line-height:38px}.avue-crud .el-range-editor--small,.avue-form .el-range-editor--small{height:32px;line-height:32px}.avue-crud .el-range-editor--mini,.avue-form .el-range-editor--mini{height:28px;line-height:28px}.avue-crud .el-input--small input,.avue-form .el-input--small input{height:32px;line-height:32px}.avue-crud .el-input--mini input,.avue-form .el-input--mini input{height:28px;line-height:28px}.avue-crud .el-table--medium td,.avue-form .el-table--medium td{padding:7px 0!important}.avue-crud .el-dropdown-menu__item,.avue-form .el-dropdown-menu__item{line-height:25px}.avue-crud .el-table-filter__list,.avue-form .el-table-filter__list{width:100%;height:300px;overflow-y:auto}.el-form-item--mini .el-color-picker--mini,.el-form-item--mini .el-color-picker--mini .el-color-picker__trigger{width:23px;height:23px}.el-dropdown-menu .el-button--text{width:100%!important}.el-pagination__editor.el-input .el-input__inner{line-height:28px}.el-drawer__body{height:100%}.el-checkbox:last-of-type{margin-right:8px}.el-table colgroup.gutter,.el-table th.gutter{display:table-cell!important}.el-input-number .el-input__suffix{display:none}.el-input-number__decrease,.el-input-number__increase{background-color:transparent}.el-tree-node.is-current>.el-tree-node__content{color:#409eff;background-color:#f5f7fa}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item{height:auto;padding:0}.el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item>span{padding:0 20px}.el-select-dropdown ul li>>>.el-tree .el-tree-node__content{height:auto;padding:0 20px}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__label{color:#409eff;font-weight:700}.el-select-dropdown .el-tree>>>.is-current .el-tree-node__children .el-tree-node__label{color:#606266;font-weight:400}.el-form-item.is-error .avue-dynamic{border:1px solid #f56c6c;border-radius:3px}.el-dropdown-menu__item{padding-top:3px!important;padding-bottom:3px!important}.avue-theme--dark body{background:#000}.avue-theme--dark .el-pagination.is-background .btn-next,.avue-theme--dark .el-pagination.is-background .btn-prev,.avue-theme--dark .el-pagination.is-background .el-pager li{background-color:#151518;color:#525256;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #313135}.avue-theme--dark .el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#151518;border-color:#409eff}.avue-theme--dark .el-cascader-menu{border-right:1px solid #313135}.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected,.avue-theme--dark .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#151518}.avue-theme--dark .el-cascader__dropdown,.avue-theme--dark .el-input__inner,.avue-theme--dark .el-range-input,.avue-theme--dark .el-select-dropdown{background-color:#151518;color:#999;border:1px solid #313135}.avue-theme--dark .el-cascader__dropdown:hover,.avue-theme--dark .el-input__inner:hover,.avue-theme--dark .el-range-input:hover,.avue-theme--dark .el-select-dropdown:hover{border-color:#409eff}.avue-theme--dark .el-cascader__dropdown::-webkit-input-placeholder,.avue-theme--dark .el-input__inner::-webkit-input-placeholder,.avue-theme--dark .el-range-input::-webkit-input-placeholder,.avue-theme--dark .el-select-dropdown::-webkit-input-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-moz-placeholder,.avue-theme--dark .el-cascader__dropdown::-moz-placeholder,.avue-theme--dark .el-input__inner:-moz-placeholder,.avue-theme--dark .el-input__inner::-moz-placeholder,.avue-theme--dark .el-range-input:-moz-placeholder,.avue-theme--dark .el-range-input::-moz-placeholder,.avue-theme--dark .el-select-dropdown:-moz-placeholder,.avue-theme--dark .el-select-dropdown::-moz-placeholder{color:#525256}.avue-theme--dark .el-cascader__dropdown:-ms-input-placeholder,.avue-theme--dark .el-input__inner:-ms-input-placeholder,.avue-theme--dark .el-range-input:-ms-input-placeholder,.avue-theme--dark .el-select-dropdown:-ms-input-placeholder{color:#525256}.avue-theme--dark .el-form-item__label{color:#9a9a9f}.avue-theme--dark .el-switch__core{background:#151518;border-color:#151518}.avue-theme--dark .avue-group__item{background-color:#000}.avue-theme--dark .el-table--border,.avue-theme--dark .el-table--group{border-color:#313135}.avue-theme--dark .el-table__body tr.current-row>td,.avue-theme--dark .el-table__body tr.hover-row>td{background-color:#151518}.avue-theme--dark .el-table--border td,.avue-theme--dark .el-table--border th,.avue-theme--dark .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-color:#999}.avue-theme--dark .avue-crud .el-table th,.avue-theme--dark .el-table,.avue-theme--dark .el-table__fixed-footer-wrapper tbody td,.avue-theme--dark .el-table__footer-wrapper tbody td,.avue-theme--dark .el-table__header-wrapper tbody td,.avue-theme--dark .el-table th,.avue-theme--dark .el-table tr{background-color:#151518;color:#999;border-color:#999}@media screen and (max-width:992px){.el-dialog__footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-button+.el-button{margin-left:0}.avue-upload__avatar,.avue-upload__icon,.el-upload--picture-card,.el-upload-list--picture-card .el-upload-list__item{width:100px;height:100px;line-height:100px}.avue-crud .el-form-item,.avue-crud__title .avue-date__radio,.avue-crud__title .avue-date__radio .el-radio-group .el-radio-button__inner,.avue-crud__title .avue-date__radio .el-radio-group label{width:100%}.avue-tip{display:none}.avue-crud__menu,.avue-crud__title{display:block!important}.avue-crud .el-form-item__label{-webkit-box-flex:1;-ms-flex:1;flex:1}.avue-crud .el-form-item__content{-webkit-box-flex:5;-ms-flex:5;flex:5}.avue-crud__searchMenu{text-align:center}.avue-crud__title p{margin-bottom:20px}.avue-crud__title .avue-date__group{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.avue-crud__title .avue-date__date{display:none}.avue-crud__title .avue-date__radio .el-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex}.avue-crud__title .avue-date__radio .el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0;border-right:1px solid #dcdfe6}}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;-webkit-box-shadow:0 0 10px #29d,0 0 5px #29d;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translateY(-4px);transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;-webkit-box-sizing:border-box;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}} \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.1807587.woff b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.1807587.woff new file mode 100644 index 000000000..872c64e85 Binary files /dev/null and b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.1807587.woff differ diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.36da2e0.woff2 b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.36da2e0.woff2 new file mode 100644 index 000000000..bba1797f1 Binary files /dev/null and b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.36da2e0.woff2 differ diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.5d85b54.woff b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.5d85b54.woff deleted file mode 100644 index acd85fd5d..000000000 Binary files a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.5d85b54.woff and /dev/null differ diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.f0db1f8.ttf b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.7f0b09e.ttf similarity index 83% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.f0db1f8.ttf rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.7f0b09e.ttf index 9856bd234..89cfba039 100644 Binary files a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.f0db1f8.ttf and b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.7f0b09e.ttf differ diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.9f12627.woff2 b/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.9f12627.woff2 deleted file mode 100644 index 755e17ab4..000000000 Binary files a/pigx-visual/pigx-report-platform/src/main/resources/static/static/fonts/iconfont.9f12627.woff2 and /dev/null differ diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/img/jsoneditor-icons.256e3ab.svg b/pigx-visual/pigx-report-platform/src/main/resources/static/static/img/jsoneditor-icons.256e3ab.svg index c809363f8..1b40068aa 100644 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/img/jsoneditor-icons.256e3ab.svg +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/img/jsoneditor-icons.256e3ab.svg @@ -1,17 +1,18 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="216" + height="144" + id="svg4136" + version="1.1" + inkscape:version="0.91 r" + sodipodi:docname="jsoneditor-icons.svg"> JSON Editor Icons 0&&(r=i.map(function(e){return e.dictCode})),t.next=5,m(r);case 5:if(n=t.sent,"200"==n.code){t.next=9;break}return t.abrupt("return");case 9:e.$message.success("刷新成功");case 10:case"end":return t.stop()}},t,e)}))()},itemRefresh:function(e){var t=this;return d()(a.a.mark(function i(){var r,n,d;return a.a.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return r=e.msg,n=[],r.length>0&&(n=r.map(function(e){return e.dictCode})),i.next=5,m(n);case 5:if(d=i.sent,"200"==d.code){i.next=9;break}return i.abrupt("return");case 9:t.$message.success("刷新成功");case 10:case"end":return i.stop()}},i,t)}))()},editItem:function(e){this.$router.push({path:"/system/dictItem",query:{dictCode:e.msg.dictCode,project:this.$store.state.user.project}})}}},b=i("ZrdR"),g=Object(b.a)(f,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("anji-crud",{ref:"listPage",attrs:{option:e.crudOption},scopedSlots:e._u([{key:"buttonLeftOnTable",fn:function(){return[i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictManage:fresh",expression:"'dictManage:fresh'"}],attrs:{type:"primary",icon:"el-icon-edit"},on:{click:e.dictRefresh}},[e._v("刷新字典项\n ")])]},proxy:!0},{key:"rowButton",fn:function(t){return[i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictItemManage:query",expression:"'dictItemManage:query'"}],attrs:{type:"text"},on:{click:function(i){return e.editItem(t)}}},[e._v("编辑字典项")]),e._v(" "),i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictManage:fresh",expression:"'dictManage:fresh'"}],attrs:{type:"text"},on:{click:function(i){return e.itemRefresh(t)}}},[e._v("刷新字典项")])]}}])})},[],!1,null,null,null);g.options.__file="index.vue";t.default=g.exports}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([["MiWS"],{MiWS:function(e,t,i){"use strict";i.r(t);var r=i("cLjf"),a=i.n(r),n=i("hDQ3"),d=i.n(n),s=i("t3Un");function u(e){return Object(s.a)({url:"/gaeaDict/pageList",method:"GET",params:e})}function c(e){return Object(s.a)({url:"/gaeaDict",method:"POST",data:e})}function l(e){return Object(s.a)({url:"/gaeaDict",method:"PUT",data:e})}function o(e){return Object(s.a)({url:"/gaeaDict/"+e.id,method:"get",params:{accessKey:e.accessKey}})}function p(e){return Object(s.a)({url:"/gaeaDict/delete/batch",method:"POST",data:e})}function m(e){return Object(s.a)({url:"/gaeaDict/freshDict",method:"POST",data:e})}var f={name:"Dict",components:{anjiCrud:i("sYqA").default},data:function(){var e=this;return{crudOption:{title:"数据字典",labelWidth:"120px",queryFormFields:[{inputType:"input",label:"字典名称",field:"dictName"},{inputType:"input",label:"字典编码",field:"dictCode"}],queryFormChange:function(t,i,r){t.project&&e.$store.commit("user/SET_PROJECT",t.project)},buttons:{query:{api:u,permission:"dictManage:query"},queryByPrimarykey:{api:o,permission:"dictManage:query"},add:{api:c,permission:"dictManage:insert"},delete:{api:p,permission:"dictManage:delete"},edit:{api:l,permission:"dictManage:update"},customButton:{operationWidth:160}},columns:[{label:"",field:"id",primaryKey:!0,tableHide:!0,editHide:!0},{label:"字典名称",placeholder:"",field:"dictName",editField:"dictName",inputType:"input",rules:[{required:!0,message:"字典名称不能为空",trigger:"blur"},{min:1,max:64,message:"不超过64个字符",trigger:"blur"}],disabled:!1},{label:"字典编码",placeholder:"",field:"dictCode",editField:"dictCode",inputType:"input",rules:[{required:!0,message:"字典编码不能为空",trigger:"blur"},{min:1,max:64,message:"不超过64个字符",trigger:"blur"}],disabled:"disableOnEdit"},{label:"描述",placeholder:"",field:"remark",editField:"remark",inputType:"input",rules:[{min:1,max:64,message:"不超过64个字符",trigger:"blur"}],disabled:!1},{label:"创建时间",placeholder:"",field:"createTime",editField:"createTime",inputType:"input",disabled:!1,editHide:!0},{label:"创建人",placeholder:"",field:"createBy",editField:"createBy",inputType:"input",disabled:!1,editHide:!0},{label:"更新时间",placeholder:"",field:"updateTime",editField:"updateTime",inputType:"input",disabled:!1,editHide:!0},{label:"更新人",placeholder:"",field:"updateBy",editField:"updateBy",inputType:"input",disabled:!1,editHide:!0}]}}},methods:{dictRefresh:function(){var e=this;return d()(a.a.mark(function t(){var i,r,n;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return i=e.$refs.listPage.checkRecords,r=[],i.length>0&&(r=i.map(function(e){return e.dictCode})),t.next=5,m(r);case 5:if(n=t.sent,"200"==n.code){t.next=9;break}return t.abrupt("return");case 9:e.$message.success("刷新成功");case 10:case"end":return t.stop()}},t,e)}))()},itemRefresh:function(e){var t=this;return d()(a.a.mark(function i(){var r,n,d;return a.a.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:return r=e.msg,n=[],r.length>0&&(n=r.map(function(e){return e.dictCode})),i.next=5,m(n);case 5:if(d=i.sent,"200"==d.code){i.next=9;break}return i.abrupt("return");case 9:t.$message.success("刷新成功");case 10:case"end":return i.stop()}},i,t)}))()},editItem:function(e){this.$router.push({path:"/system/dictItem",query:{dictCode:e.msg.dictCode,project:this.$store.state.user.project}})}}},b=i("ZrdR"),g=Object(b.a)(f,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("anji-crud",{ref:"listPage",attrs:{option:e.crudOption},scopedSlots:e._u([{key:"buttonLeftOnTable",fn:function(){return[i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictManage:fresh",expression:"'dictManage:fresh'"}],attrs:{type:"primary",icon:"el-icon-edit"},on:{click:e.dictRefresh}},[e._v("刷新字典项\n ")])]},proxy:!0},{key:"rowButtonInMore",fn:function(t){return[i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictItemManage:query",expression:"'dictItemManage:query'"}],attrs:{type:"text"},on:{click:function(i){return e.editItem(t)}}},[e._v("编辑字典项")]),e._v(" "),i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"dictManage:fresh",expression:"'dictManage:fresh'"}],attrs:{type:"text"},on:{click:function(i){return e.itemRefresh(t)}}},[e._v("刷新字典项")])]}}])})},[],!1,null,null,null);g.options.__file="index.vue";t.default=g.exports}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.3b9265ac.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.3b9265ac.js deleted file mode 100644 index f38a3dfac..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.3b9265ac.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["app"],{"/PmC":function(e,t,n){"use strict";var i=n("W6Hj");n.n(i).a},"38Ur":function(e,t,n){"use strict";var i=n("l9ec");n.n(i).a},"5Flq":function(e,t,n){"use strict";var i=n("Tq6x");n.n(i).a},"7Qib":function(e,t,n){"use strict";n.d(t,"c",function(){return i}),n.d(t,"a",function(){return l}),n.d(t,"b",function(){return s});n("EPZ6"),n("Q2cO");function i(e){return/^(https?:|mailto:|tel:)/.test(e)}var r=n("6Cps"),o=r.enc.Utf8.parse("1234123412ABCDEF"),a=r.enc.Utf8.parse("ABCDEF1234123412");function l(e){var t=r.enc.Hex.parse(e),n=r.enc.Base64.stringify(t),i=r.AES.decrypt(n,o,{iv:a,mode:r.mode.CBC,padding:r.pad.Pkcs7}).toString(r.enc.Utf8).toString(),l=i.substr(-32);return i.split(l)[0]}function s(e){var t=r.enc.Utf8.parse(e+function(){var e=(new Date).getTime();return window.performance&&"function"==typeof window.performance.now&&(e+=performance.now()),"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:3&n|8).toString(16)})}());return r.AES.encrypt(t,o,{iv:a,mode:r.mode.CBC,padding:r.pad.Pkcs7}).ciphertext.toString().toUpperCase()}},"8q53":function(e,t,n){"use strict";var i=n("wihr");n.n(i).a},APij:function(e,t,n){"use strict";var i=n("p1WJ");n.n(i).a},Bsjf:function(e,t,n){},HiAn:function(e,t,n){},INx1:function(e,t,n){},L48I:function(e,t,n){"use strict";var i=n("lnxG");n.n(i).a},PAdZ:function(e,t,n){},Q2AE:function(e,t,n){"use strict";var i=n("AmEZ"),r=n("8t5x"),o={},a={state:{cacheViews:[]},mutations:{ADD_CACHEVIEW:function(e,t){e.cacheViews.includes(t.name)||t.meta&&t.meta.keepAlive&&e.cacheViews.push(t.name)}},actions:{addCachedView:function(e,t){(0,e.commit)("ADD_CACHEVIEW",t)}}},l={sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},accessUser:function(e){return e.user.accessUser},cacheViews:function(e){return e.cacheView.cacheViews}},s={},u=n("jJIE"),c=n.n(u),d={state:{sidebar:{opened:!+c.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},mutations:{TOGGLE_SIDEBAR:function(e){e.sidebar.opened?c.a.set("sidebarStatus",1):c.a.set("sidebarStatus",0),e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1},CLOSE_SIDEBAR:function(e,t){c.a.set("sidebarStatus",1),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},actions:{ToggleSideBar:function(e){(0,e.commit)("TOGGLE_SIDEBAR")},CloseSideBar:function(e,t){(0,e.commit)("CLOSE_SIDEBAR",t.withoutAnimation)},ToggleDevice:function(e,t){(0,e.commit)("TOGGLE_DEVICE",t)}}},p=n("Asgo"),f=n.n(p),h=n("fe1z"),m=n("X4fA"),b={state:{token:"",accessUser:{}},mutations:{SET_TOKEN:function(e,t){e.token=t,Object(m.j)(t)},SET_ACCESSUSER:function(e,t){e.accessUser=t,Object(m.h)(t)}},actions:{Login:function(e,t){var n=e.commit,i={userName:t.userName.trim(),password:t.password.trim(),captchaVerification:t.captchaVerification.trim()};return new f.a(function(e,t){Object(h.a)(i).then(function(i){var r=i.repCode,o=i.repData;"0000"===r?(n("SET_TOKEN",o.token),n("SET_ACCESSUSER",o.accessUser),e(i)):t(i.repMsg)}).catch(function(e){t(e)})})},LogOut:function(e){var t=e.commit,n=e.state;return new f.a(function(e,i){Object(h.b)(n.token).then(function(){t("SET_TOKEN",""),t("SET_ACCESSUSER",{}),Object(m.c)(),Object(m.b)(),Object(m.a)(),e()}).catch(function(e){i(e)})})},FedLogOut:function(e){var t=e.commit;return new f.a(function(e){t("SET_TOKEN",""),t("SET_ACCESSUSER",{}),Object(m.c)(),Object(m.b)(),Object(m.a)(),e()})}}},v={state:{id:0,val:"",title:""},mutations:{setCategory:function(e,t){e.id=0,e.val=t.value,e.title=t.label}}};i.default.use(r.a);var g=new r.a.Store({modules:{app:d,user:b,cacheView:a,help:v},state:{},plugins:[function(e){}],actions:o,mutations:s,getters:l});t.a=g},RAPo:function(e,t,n){"use strict";var i=n("Bsjf");n.n(i).a},S0BH:function(e,t,n){"use strict";var i=n("PAdZ");n.n(i).a},SiB1:function(e,t,n){"use strict";var i=n("INx1");n.n(i).a},TaLv:function(e,t,n){},Tq6x:function(e,t,n){},Vtdi:function(e,t,n){"use strict";n.r(t);var i={};n.r(i),n.d(i,"basecode",function(){return le}),n.d(i,"getDataByCode",function(){return se}),n.d(i,"fixed",function(){return ue}),n.d(i,"formatTimestamp",function(){return ce}),n.d(i,"formatDate",function(){return de});var r=n("EPZ6"),o=n.n(r),a=n("AmEZ"),l=n("VCIm"),s=n.n(l),u=(n("6bc2"),n("A7+3")),c=n.n(u),d=(n("qpO2"),n("HiAn"),n("aGE4"),n("vjVy"),n("sm2R")),p={name:"App",provide:function(){return{reload:this.reload}},data:function(){return{isRouterAlive:!1}},watch:{$route:function(e,t){"/login"==e.path&&this.queryDictName()}},computed:{},created:function(){this.queryDictName()},methods:{queryDictName:function(){var e=this;Object(d.b)(function(){e.isRouterAlive=!0})},reload:function(){this.isRouterAlive=!1,this.$nextTick(function(){this.isRouterAlive=!0})}}},f=n("ZrdR"),h=Object(f.a)(p,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[this.isRouterAlive?t("router-view"):this._e()],1)},[],!1,null,null,null);h.options.__file="App.vue";var m=h.exports,b=n("uOVN"),v=n("bS4n"),g=n.n(v),y=n("cLjf"),w=n.n(y),x=n("hDQ3"),F=n.n(x),S=n("8t5x"),k=n("wu4H"),C=n.n(k),_={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},computed:{levelListArr:function(){return this.levelList.filter(function(e){return e.meta&&e.meta.title})}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.params,t=this.$route.matched.filter(function(t){if(t.name){var n=C.a.compile(t.path);return t.path=n(e),!0}});this.levelList=t}}},j=(n("38Ur"),Object(f.a)(_,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelListArr,function(t,i){return n("el-breadcrumb-item",{key:t.path},["noredirect"===t.redirect||i==e.levelListArr.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("router-link",{staticClass:"no-redirect",attrs:{to:t.redirect||t.path}},[e._v(e._s(t.meta.title))])],1)}),1)],1)},[],!1,null,"38d4f3b2",null));j.options.__file="index.vue";var O=j.exports,q={name:"Hamburger",props:{isActive:{type:Boolean,default:!1},toggleClick:{type:Function,default:null}}},T=(n("S0BH"),Object(f.a)(q,function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("svg",{staticClass:"hamburger",class:{"is-active":this.isActive},attrs:{t:"1492500959545",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1691","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"64",height:"64"},on:{click:this.toggleClick}},[t("path",{attrs:{d:"M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z","p-id":"1692",fill:"#333"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z","p-id":"1693",fill:"#333"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z","p-id":"1694",fill:"#333"}})])])},[],!1,null,"54298247",null));T.options.__file="index.vue";var D=T.exports,E=n("XS0u"),B=n("fe1z"),P=n("sxct"),$={data:function(){var e=this;return{wordVisible:!1,form:{oldPassword:"",password:"",confirmPassword:""},rules:{oldPassword:[{required:!0,validator:function(e,t,n){t.length<6||t.length>30?n(new Error("请输入原密码")):n()},trigger:"blur"}],password:[{required:!0,message:"请选择新密码",trigger:"blur"}],confirmPassword:[{required:!0,validator:function(t,n,i){""===n?i(new Error("请再次输入密码")):n!==e.form.password?i(new Error("两次输入密码不一致!")):n.length<6||n.length>20?i(new Error("密码长度需要再6-20之间!")):i()},trigger:"blur"}]}}},components:{Breadcrumb:O,Hamburger:D},computed:g()({},Object(S.c)(["sidebar"])),created:function(){},methods:{toggleSideBar:function(){this.$store.dispatch("ToggleSideBar")},logout:function(){var e=this;this.$confirm("确定要退出吗","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){sessionStorage.clear(),localStorage.clear(),e.$router.push("/login")})},updatePassword:function(){var e=this;this.wordVisible=!0,this.$nextTick(function(){e.$refs.form&&e.$refs.form.resetFields()})},confrimUpdate:function(){var e=this;this.$refs.form.validate(function(){var t=F()(w.a.mark(function t(n){var i,r,o,a,l,s;return w.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!n){t.next=16;break}return i=e.form,r=i.oldPassword,o=i.password,a=i.confirmPassword,l={oldPassword:Object(P.a)(r),password:Object(P.a)(o),confirmPassword:Object(P.a)(a)},t.next=5,Object(B.c)(l);case 5:if(s=t.sent,"200"==s.code){t.next=9;break}return t.abrupt("return");case 9:e.wordVisible=!1,e.$message.success("修改密码成功,请重新登录"),sessionStorage.clear(),localStorage.clear(),e.$router.push("/login"),t.next=17;break;case 16:return t.abrupt("return",!1);case 17:case"end":return t.stop()}},t,e)}));return function(e){return t.apply(this,arguments)}}())},helpCenter:function(){var e=Object(E.b)("helpCategory");this.$router.push({path:"/helpCenList/list",query:{id:0,val:e[0].value,title:e[0].label}})}}},A=(n("/PmC"),Object(f.a)($,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-menu",{staticClass:"navbar",attrs:{mode:"horizontal"}},[n("hamburger",{staticClass:"hamburger-container",attrs:{"toggle-click":e.toggleSideBar,"is-active":e.sidebar.opened}}),e._v(" "),n("breadcrumb")],1),e._v(" "),n("el-dialog",{staticClass:"password-box",attrs:{title:"修改密码",visible:e.wordVisible,width:"40%","close-on-click-modal":!1,top:"20vh"},on:{"update:visible":function(t){e.wordVisible=t}}},[n("el-form",{ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules,"close-on-click-modal":!1}},[n("el-form-item",{attrs:{label:"原密码",prop:"oldPassword"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.oldPassword,callback:function(t){e.$set(e.form,"oldPassword","string"==typeof t?t.trim():t)},expression:"form.oldPassword"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"新密码",prop:"password"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password","string"==typeof t?t.trim():t)},expression:"form.password"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"确认新密码",prop:"confirmPassword"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.confirmPassword,callback:function(t){e.$set(e.form,"confirmPassword","string"==typeof t?t.trim():t)},expression:"form.confirmPassword"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.wordVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:e.confrimUpdate}},[e._v("确 定")])],1)],1)],1)},[],!1,null,"0c31f83b",null));A.options.__file="Navbar.vue";var I=A.exports,N=n("YmYf"),R=n.n(N),L=n("7Qib"),U={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,i=n.icon,r=n.title,o=[];return i&&o.push(e("i",{class:"iconfont "+i})),r&&o.push(e("span",{slot:"title"},[r])),o}},V=Object(f.a)(U,void 0,void 0,!1,null,null,null);V.options.__file="Item.vue";var M=V.exports,z={props:{to:{type:String,required:!0}},methods:{isExternalLink:function(e){return Object(L.c)(e)},linkProps:function(e){return this.isExternalLink(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},Q=Object(f.a)(z,function(){var e=this.$createElement;return(this._self._c||e)("component",this._b({},"component",this.linkProps(this.to),!1),[this._t("default")],2)},[],!1,null,null,null);Q.options.__file="Link.vue";var H={name:"SidebarItem",components:{Item:M,AppLink:Q.exports},props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return{onlyOneChild:null}},computed:{},methods:{hasOneShowingChild:function(e,t){var n=this,i=e.filter(function(e){return!e.hidden&&(n.onlyOneChild=e,!0)});return 1===i.length||0===i.length&&(this.onlyOneChild=g()({},t,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return this.isExternalLink(e)?e:R.a.resolve(this.basePath,e)},isExternalLink:function(e){return Object(L.c)(e)}}},W=(n("L48I"),Object(f.a)(H,function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.item.hidden&&e.item.children?n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?[e.hasPermission(e.item.meta.permission)?n("el-submenu",{attrs:{index:e.resolvePath(e.item.path)}},[n("template",{slot:"title"},[n("item",{attrs:{icon:e.item.meta.icon,title:e.item.meta.title}})],1),e._v(" "),e._l(e.item.children,function(t){return[e.hasPermission(t.meta.permission)&&1!=t.hidden?[t.children&&t.children.length>0?n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}}):e._e(),e._v(" "),n("app-link",{key:t.name,attrs:{to:e.resolvePath(t.path)}},[n("el-menu-item",{attrs:{index:e.resolvePath(t.path)}},[t.meta?n("item",{attrs:{icon:t.meta.icon,title:t.meta.title}}):e._e()],1)],1)]:e._e()]})],2):e._e()]:[n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[e.onlyOneChild.meta?n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta.icon,title:e.onlyOneChild.meta.title}}):e._e()],1)],1)]],2):e._e()},[],!1,null,"2b0b07e3",null));W.options.__file="SidebarItem.vue";var J={components:{SidebarItem:W.exports},computed:g()({},Object(S.c)(["sidebar"]),{routes:function(){return this.$router.options.routes},isCollapse:function(){return!this.sidebar.opened}}),methods:{goBigScreen:function(){var e=this.$router.resolve({path:"/report/bigScreen"});window.open(e.href,"_blank")}}},G=(n("keUL"),Object(f.a)(J,function(){var e=this.$createElement,t=this._self._c||e;return t("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[t("el-menu",{attrs:{"show-timeout":200,"default-active":this.$route.path,collapse:this.isCollapse,mode:"vertical"}},this._l(this.routes,function(e){return t("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)},[],!1,null,"c0158b4a",null));G.options.__file="index.vue";var K=G.exports,X={name:"AppMain",computed:g()({},Object(S.c)(["cacheViews"]),{key:function(){return void 0!==this.$route.name?this.$route.name+ +new Date:this.$route+ +new Date}})},Z=(n("SiB1"),Object(f.a)(X,function(){var e=this.$createElement,t=this._self._c||e;return t("section",{staticClass:"app-main"},[t("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[t("keep-alive",{attrs:{include:this.cacheViews}},[t("router-view")],1)],1)],1)},[],!1,null,"7d0fa904",null));Z.options.__file="AppMain.vue";var Y=Z.exports,ee=n("Q2AE"),te=document.body,ne={name:"Layout",components:{Navbar:I,Sidebar:K,AppMain:Y},watch:{$route:{handler:function(e,t){"realTimeLog"!=e.name&&"deviceInfo"!=e.name&&Object(E.a)("deviceInfo"),"helpCenter"!=e.name&&"helpCenterEdit"!=e.name&&Object(E.a)("helpCenterDetail"),this.addCachedView(e)},immediate:!0}},mixins:[{watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&ee.a.dispatch("CloseSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.resizeHandler)},mounted:function(){this.isMobile()&&(ee.a.dispatch("ToggleDevice","mobile"),ee.a.dispatch("CloseSideBar",{withoutAnimation:!0}))},methods:{isMobile:function(){return te.getBoundingClientRect().width-3<1024},resizeHandler:function(){if(!document.hidden){var e=this.isMobile();ee.a.dispatch("ToggleDevice",e?"mobile":"desktop"),e&&ee.a.dispatch("CloseSideBar",{withoutAnimation:!0})}}}}],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:g()({},Object(S.b)(["addCachedView"]),{handleClickOutside:function(){this.$store.dispatch("CloseSideBar",{withoutAnimation:!1})}})},ie=(n("8q53"),Object(f.a)(ne,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("navbar"),e._v(" "),n("app-main")],1)],1)},[],!1,null,"11b67c86",null));ie.options.__file="Layout.vue";var re=ie.exports;a.default.use(b.a);var oe=[{path:"/login",component:function(){return n.e("chunk-57ab").then(n.bind(null,"3Xui"))},hidden:!0},{path:"/aj/**",component:function(){return n.e("chunk-be10").then(n.bind(null,"n+eF"))},hidden:!0},{path:"/index",component:re,name:"index",meta:{title:"首页",icon:"iconhome2"},children:[{path:"",component:function(){return n.e("chunk-a4f3").then(n.bind(null,"er4n"))},meta:{title:"首页",icon:"iconhome2",keepAlive:!0,requireAuth:!0}}]},{path:"/report",name:"report",component:re,meta:{title:"报表设计",icon:"iconnavicon-ywcs",requireAuth:!0,permission:"datasourceManage|resultsetManage|reportManage|bigScreenManage"},children:[{path:"datasource",name:"datasource",component:function(){return n.e("chunk-6e86").then(n.bind(null,"oQ5X"))},meta:{title:"数据源",icon:"icondatabase",keepAlive:!0,requireAuth:!0,permission:"datasourceManage"}},{path:"resultset",name:"resultset",component:function(){return Promise.all([n.e("chunk-3ab0"),n.e("chunk-09c4"),n.e("chunk-b935")]).then(n.bind(null,"z9F4"))},meta:{title:"数据集",icon:"iconAPIwangguan",keepAlive:!0,requireAuth:!0,permission:"resultsetManage"}},{path:"report",name:"reportIndex",component:function(){return n.e("chunk-54d3").then(n.bind(null,"qO0n"))},meta:{title:"报表管理",icon:"iconnavicon-ywcs",keepAlive:!0,requireAuth:!0,permission:"reportManage"}},{path:"bigscreen",name:"bigscreen",component:function(){return n.e("chunk-0be3").then(n.bind(null,"fNM/"))},meta:{title:"大屏报表",icon:"iconchufaqipeizhi-hui",keepAlive:!0,requireAuth:!0,permission:"bigScreenManage"}}]},{path:"/system",name:"system",component:re,meta:{title:"报表元数据",icon:"iconshezhi",requireAuth:!0,permission:"fileManage|dictManage|dictItemManage"},children:[{path:"file",name:"file",component:function(){return n.e("chunk-7482").then(n.bind(null,"Qfeb"))},meta:{title:"文件管理",icon:"iconfill_folder",keepAlive:!0,requireAuth:!0,permission:"fileManage"}},{path:"dict",name:"dict",component:function(){return n.e("MiWS").then(n.bind(null,"MiWS"))},meta:{title:"数据字典",icon:"iconzidian",keepAlive:!0,requireAuth:!0,permission:"dictManage"}},{path:"dictItem",name:"dictItem",component:function(){return n.e("gJ75").then(n.bind(null,"gJ75"))},hidden:!0,meta:{title:"字典项",icon:"iconzidianxiang",keepAlive:!0,requireAuth:!0,permission:"dictItemManage"}}]},{path:"/bigscreen/viewer",component:function(){return Promise.all([n.e("chunk-6b46"),n.e("chunk-c0ac")]).then(n.bind(null,"BS10"))},hidden:!0,meta:{requireAuth:!0}},{path:"/bigscreen/designer",component:function(){return Promise.all([n.e("chunk-3ab0"),n.e("chunk-f079"),n.e("chunk-6b46"),n.e("chunk-487f"),n.e("chunk-c9fa")]).then(n.bind(null,"NbeQ"))},hidden:!0,meta:{requireAuth:!0}},{path:"/excelreport/viewer",component:function(){return n.e("chunk-3bc3").then(n.bind(null,"NL6D"))},hidden:!0,meta:{requireAuth:!0}},{path:"/excelreport/designer",component:function(){return Promise.all([n.e("chunk-f079"),n.e("chunk-4de3")]).then(n.bind(null,"/zj/"))},hidden:!0,meta:{requireAuth:!0}},{path:"/404",component:function(){return n.e("chunk-fd33").then(n.bind(null,"jNvO"))},hidden:!0},{path:"*",redirect:"/index",hidden:!0}],ae=new b.a({scrollBehavior:function(){return{y:0}},routes:oe});function le(e,t){if(void 0===e||null===e)return"";if(void 0===t||null===t)return e;for(var n=Object(E.b)("queryForCodeSelect")[t],i=e,r=0;rr?1:0}},getObjectType:function(e){var t=Object.prototype.toString;return e instanceof Element?"element":{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[t.call(e)]},isNumber:function(e){return"number"==this.getObjectType(e)},isString:function(e){return"string"==this.getObjectType(e)},isArray:function(e){return"array"==this.getObjectType(e)},hasOwn:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},isNotBlank:function(e){return!this.isBlank(e)}},be()(pe,"isBlank",function(e){if(this.isNull(e))return!0;if("string"==typeof e)return""==e.trim();if("object"===(void 0===e?"undefined":ke()(e))){for(var t in e)return!1;return!0}return!1}),be()(pe,"isNotNull",function(e){return!this.isNull(e)}),be()(pe,"isNull",function(e){if(e&&0===parseInt(e))return!1;if(e instanceof Date||"boolean"==typeof e||"number"==typeof e)return!1;if(!(e instanceof Array)){if(e instanceof Object){for(var t in e=this.deepClone(e),["$parent"].forEach(function(t){delete e[t]}),e)return!1;return!0}return"null"===e||null==e||"undefined"===e||void 0===e||""===e}return 0===e.length}),be()(pe,"deepClone",function(e){var t,n=this.getObjectType(e);if("array"===n)t=[];else{if("object"!==n)return e;t={}}if("array"===n)for(var i=0,r=e.length;i=0?n[i]=e[i]:n[i]=this.urlEncode(e[i]));return n}),be()(pe,"getDictItemByCode",function(e,t){var n=Object(E.b)("gaeaDict");if(!n.hasOwnProperty(e))return null;for(var i=n[e],r=0;r0&&(null==this.option&&console.log("url-"+this.url.substring(this.url.indexOf("?"))),this.label),this.url):null!=this.dictCode&&""!=this.dictCode.trim()?"/meta/gaeaDict/select/"+this.dictCode:null}},watch:{value:function(e,t){null!=this.multiple?this.value?this.selectValue=this.value:this.selectValue=[]:null!=this.value&&void 0!=this.value?this.selectValue=this.value:this.selectValue=""},url:function(){var e=this;setTimeout(function(){e.queryData()},500)}},created:function(){null!=this.multiple?this.selectValue=this.value:null!=this.value&&(this.selectValue=this.value)},mounted:function(){null!=this.requestUrl?this.queryData():this.options=this.localOptions},methods:{isDisabledOption:function(e){if(null==e||null==this.disabledOptions||0==this.disabledOptions.length)return!1;var t=e[this.option];return this.disabledOptions.indexOf(t)>=0},change:function(e){var t=this;""===e&&(e=null),this.$emit("input",e);var n=this.options.find(function(n){return n[t.option]==e});this.$emit("change",e,n)},getItemLabel:function(e,t){if(t.indexOf("${")<0&&t.indexOf(!1))return e[t];for(var n=t.match(/\$\{[a-zA-Z0-9]*\}/g),i=t,r=0;r1?n("el-option",{attrs:{label:"搜索更多",value:"",disabled:""}}):e._e()],2)],1)},[],!1,null,"4cb1dc59",null));Le.options.__file="anji-select.vue";var Ue=Le.exports,Ve={props:{upLoadUrl:{type:String,default:function(){return""}},viewUrl:{type:String,default:function(){return".//file/download/"}},limit:{type:Number,default:function(){return 1}},value:{type:String,default:function(){return""}}},data:function(){return{imageUploadUrl:"",dialogVisibleImageUpload:!1,fileList:[]}},computed:{requestUrl:function(){return null!=this.upLoadUrl&&""!=this.upLoadUrl.trim()?"./"+this.upLoadUrl:".//file/upload"},headers:function(){return{}}},watch:{value:{handler:function(e){this.echoUpload(this.value)},immediate:!0}},mounted:function(){this.echoUpload(this.value)},methods:{handleRemove:function(e){this.fileList=[],this.change()},handlePictureCardPreview:function(e){this.imageUploadUrl=e.url,this.dialogVisibleImageUpload=!0},handleSuccess:function(e,t,n){200==e.code?(this.fileList.push({url:t.response.data.urlPath}),this.change()):this.$message.error("上传失败")},change:function(){var e=this.fileList.length>0&&this.fileList[0].url||"";this.$emit("input",e),this.$emit("change",e)},handleBeforeUpload:function(e){var t=e.name.split(".")[e.name.split(".").length-1].toLowerCase();return!(["png","jpg","gif","icon"].indexOf(t)<0)||(this.$message.warning("请上传正确的格式文件"),!1)},echoUpload:function(e){if(e){var t=[{url:e}];this.fileList=t}else this.fileList=[]}}},Me=(n("Zj+I"),Object(f.a)(Ve,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"uploadImage"},[n("el-upload",{class:e.fileList&&e.fileList.length>=e.limit?"hide_box":"",attrs:{headers:e.headers,limit:e.limit,action:e.requestUrl,"list-type":"picture-card","file-list":e.fileList,"on-preview":e.handlePictureCardPreview,"on-remove":e.handleRemove,"on-success":e.handleSuccess,"show-file-list":!0,"before-upload":e.handleBeforeUpload}},[n("i",{staticClass:"el-icon-plus"})]),e._v(" "),n("el-dialog",{attrs:{visible:e.dialogVisibleImageUpload,modal:!1},on:{"update:visible":function(t){e.dialogVisibleImageUpload=t}}},[n("img",{attrs:{width:"100%",src:e.imageUploadUrl,alt:""}})])],1)},[],!1,null,"d79ef60a",null));Me.options.__file="anji-upload.vue";var ze=Me.exports,Qe=n("OLzz"),He=n.n(Qe);n("cOfl");ae.beforeEach(function(e,t,n){He.a.start(),n()}),ae.afterEach(function(){He.a.done()});var We={inserted:function(e,t,n){var i=t.value;0==Object(fe.g)(i)&&e.parentNode&&e.parentNode.removeChild(e)}},Je=function(e){e.directive("permission",We)};window.Vue&&(window.permission=We,Vue.use(Je)),We.install=Je;var Ge=We,Ke=n("UzzT"),Xe=n.n(Ke);n("SMlE");a.default.component("v-chart",Ae.a),a.default.component("anji-upload",ze),a.default.component("anji-crud",Ie.default),a.default.component("anji-select",Ue),a.default.use(Ge),a.default.use(Xe.a),a.default.use(s.a,{zhLocale:c.a}),o()(i).forEach(function(e){a.default.filter(e,i[e])}),a.default.mixin($e),a.default.prototype.$pageSizeAll=[10,50,100,200,500],a.default.config.productionTip=!1,new a.default({el:"#app",router:ae,store:ee.a,render:function(e){return e(m)}})},W6Hj:function(e,t,n){},"X+DR":function(e,t,n){"use strict";var i=n("eLh4");n.n(i).a},X4fA:function(e,t,n){"use strict";n.d(t,"f",function(){return l}),n.d(t,"e",function(){return s}),n.d(t,"j",function(){return u}),n.d(t,"i",function(){return c}),n.d(t,"c",function(){return d}),n.d(t,"b",function(){return p}),n.d(t,"d",function(){return f}),n.d(t,"h",function(){return h}),n.d(t,"a",function(){return m}),n.d(t,"g",function(){return b});var i=n("XS0u"),r="token",o="shareToken",a="gaeaUser";function l(){return Object(i.b)(r)}function s(){return null==Object(i.b)(o)?"":Object(i.b)(o)}function u(e){return Object(i.c)(r,e)}function c(e){return Object(i.c)(o,e)}function d(){return Object(i.a)(r)}function p(){return Object(i.a)(o)}function f(){return Object(i.b)(a)}function h(e){return Object(i.c)(a,e)}function m(){return Object(i.a)(a)}function b(e){return!0}},XS0u:function(e,t,n){"use strict";n.d(t,"c",function(){return l}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return u});var i=n("omC7"),r=n.n(i),o=n("Q2cO"),a=n.n(o);n("jJIE");function l(e,t){if(void 0!==t&&null!=t){var n=t;"object"==(void 0===t?"undefined":a()(t))&&(n=r()(t)),localStorage.setItem(e,n)}}function s(e){var t=localStorage.getItem(e);try{return JSON.parse(t)}catch(e){return t}}function u(e){localStorage.removeItem(e)}},"Zj+I":function(e,t,n){"use strict";var i=n("a5Yb");n.n(i).a},a5Yb:function(e,t,n){},aGE4:function(e,t,n){},"ba/L":function(e,t,n){"use strict";n.d(t,"e",function(){return u}),n.d(t,"b",function(){return c}),n.d(t,"f",function(){return d}),n.d(t,"a",function(){return p}),n.d(t,"d",function(){return f}),n.d(t,"c",function(){return h});var i=n("Asgo"),r=n.n(i),o=n("t3Un"),a=n("X4fA"),l=n("f0Pt"),s=n.n(l);function u(e){return Object(o.a)({url:"reportDashboard",method:"post",data:e})}function c(e){return Object(o.a)({url:"reportDashboard/"+e,headers:{"Share-Token":Object(a.e)()},method:"get"})}function d(e){return Object(o.a)({url:"dataSet/queryAllDataSet",method:"get"})}function p(e){return Object(o.a)({url:"dataSet/detailBysetId/"+e,method:"get"})}function f(e){return Object(o.a)({url:"reportDashboard/getData",method:"post",headers:{"Share-Token":Object(a.e)()},data:e})}function h(e){return new r.a(function(t){s()({method:"get",url:".//reportDashboard/export",params:e,responseType:"blob"}).then(function(e){t(e.data)}).catch(function(e){t("error")})})}},eLh4:function(e,t,n){},fe1z:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return a});var i=n("t3Un");function r(e){return Object(i.a)({url:"accessUser/login",method:"post",data:e})}function o(){return Object(i.a)({url:"accessUser/logout",method:"post"})}function a(e){return Object(i.a)({url:"/accessUser/updatePassword",method:"post",data:e})}},keUL:function(e,t,n){"use strict";var i=n("x6dc");n.n(i).a},l9ec:function(e,t,n){},lnxG:function(e,t,n){},oDwZ:function(e,t,n){"use strict";var i=n("qqtV");n.n(i).a},p1WJ:function(e,t,n){},qqtV:function(e,t,n){},sYqA:function(e,t,n){"use strict";n.r(t);var i=n("cLjf"),r=n.n(i),o=n("hDQ3"),a=n.n(o),l=n("t3Un"),s={components:{},props:{url:{type:[String],default:function(){return""}},id:{type:[String],default:function(){return"id"}},label:{type:[String],default:function(){return""}},value:{type:[String],default:function(){return""}},labelName:String,enableFilter:Boolean,isOpen:Boolean},data:function(){return{filterText:"",treeData:[]}},computed:{},watch:{filterText:function(e){this.$refs.table_tree.filter(e)}},mounted:function(){this.queryData()},methods:{filterNode:function(e,t){return!e||-1!==t.label.indexOf(e)},queryData:function(){var e=this;this.isBlank(this.url)||Object(l.a)({url:this.url,method:"GET"}).then(function(t){"200"==t.code&&(e.treeData="[object Array]"==Object.prototype.toString.call(t.data)?t.data:t.data.tree||t.data.menuTree)})},nodeClick:function(e){this.$emit("input",e.id),this.$emit("node-click",e.id)},checkedEvent:function(e,t){var n=t.checkedKeys.toString();this.$emit("input",n)}}},u=(n("APij"),n("ZrdR")),c=Object(u.a)(s,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.enableFilter?n("el-input",{staticClass:"filterInput",attrs:{placeholder:"搜索"},model:{value:e.filterText,callback:function(t){e.filterText=t},expression:"filterText"}}):e._e(),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.labelName))]),e._v(" "),n("el-tree",{ref:"table_tree",attrs:{data:e.treeData,"node-key":"id","default-expand-all":e.isOpen,"expand-on-click-node":!1,"filter-node-method":e.filterNode},on:{"node-click":e.nodeClick,check:e.checkedEvent}})],1)},[],!1,null,"d885e652",null);c.options.__file="anji-tree.vue";var d=c.exports,p=n("omC7"),f=n.n(p),h={components:{},props:{modelType:String,showDialog:Boolean,option:{type:[Object],default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[],formChange:function(e,t,n,i){}}}},relateData:{type:[Object],default:function(){return{}}},value:{type:[Object],default:function(){return{}}}},data:function(){return{cardRowColNum:2,editForm:{}}},computed:{primaryKeyFieldName:function(){var e=this.option.columns.find(function(e){return 1==e.primaryKey});return null!=e?e.field:null},joinColumn:function(){var e=this.option.joinColumn;return this.isBlank(e)&&(console.warn("在joinEntity中查找joinColumn属性失败,会导致查询详情和删除失败"),e=""),e},formFields:function(){var e=this;if(null==this.option.columns)return[];var t=this.deepClone(this.option.columns);return t=t.map(function(t){return e.isBlank(t.editField)&&(t.editField=t.field),e.isBlank(t.group)&&(t.group="其它"),t})},cardRowColSpan:function(){return 24/this.cardRowColNum},columnGroups:function(){return this.isBlank(this.formFields)?[]:this.formFields.map(function(e){return e.group}).filter(function(e,t,n){return n.indexOf(e)==t})},groupFormFields:function(){if(this.showDialog){var e={};return this.columnGroups.forEach(function(t,n,i){e[t]=[]}),this.formFields.forEach(function(t,n,i){e[t.group].push(t)}),e}return[]},groupModel:function(){return this.columnGroups.length>1}},created:function(){this.$watch(function(){return this.value},function(e,t){this.editForm=e,this.formChange()}),this.$watch(function(){return this.relateData[this.joinColumn]},function(e,t){if(this.isBlank(this.relateData))return this.cardRowColNum=2,void(this.editForm={});this.isNotBlank(e)&&this.queryDetail()})},mounted:function(){this.isNotBlank(this.value)&&(this.editForm=this.value,this.formChange()),this.isNotBlank(this.relateData)&&this.isNotBlank(this.relateData[this.joinColumn])&&this.queryDetail()},methods:{fieldIsHide:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("hideOnAdd")>=0;if("view"==this.modelType)return e.indexOf("hideOnView")>=0;if("edit"==this.modelType)return e.indexOf("hideOnEdit")>=0}return!1},fieldIsDisable:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("disableOnAdd")>=0;if("view"==this.modelType)return e.indexOf("disableOnView")>=0;if("edit"==this.modelType)return e.indexOf("disableOnEdit")>=0}return!1},handleSetRowColNum:function(e){this.cardRowColNum=e,this.$emit("changeRowColNum",e)},queryDetail:function(){var e=this;return a()(r.a.mark(function t(){var n,i,o;return r.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.relateData,t.next=3,e.option.buttons.queryByPrimarykey.api(n);case 3:if(i=t.sent,o=i.data,"200"==i.code){t.next=8;break}return t.abrupt("return");case 8:e.editForm=o,e.formChange();case 10:case"end":return t.stop()}},t,e)}))()},validate:function(e){var t=this;this.$refs.editForm.validate(function(){var n=a()(r.a.mark(function n(i,o){return r.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:null!=e&&e(i);case 1:case"end":return t.stop()}},n,t)}));return function(e,t){return n.apply(this,arguments)}}())},handleSave:function(e){var t=this;this.$refs.editForm.validate(function(){var n=a()(r.a.mark(function n(i,o){var a,l,s,u,c,d;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!i){n.next=20;break}if("add"!=t.modelType){n.next=11;break}return"function"==typeof t.option.beforeInsert&&t.option.beforeInsert(t.relateData,t.editForm),n.next=5,t.option.buttons.add.api(t.editForm);case 5:a=n.sent,l=a.code,s=a.message,"200"==l?null!=e&&e():console.log("提交表单调用新增接口失败:"+s),n.next=18;break;case 11:return"function"==typeof t.option.beforeUpdate&&t.option.beforeUpdate(t.relateData,t.editForm),n.next=14,t.option.buttons.edit.api(t.editForm);case 14:u=n.sent,c=u.code,d=u.message,"200"==c?null!=e&&e():console.log("提交表单调用更新接口失败:"+d);case 18:n.next=21;break;case 20:console.log("表单校验失败");case 21:case"end":return n.stop()}},n,t)}));return function(e,t){return n.apply(this,arguments)}}())},formChange:function(e,t,n){this.$emit("input",this.editForm),"function"==typeof this.option.formChange&&this.option.formChange(this.editForm,e,t,n)}}},m=(n("X+DR"),Object(u.a)(h,function(){var e=this,t=e.$createElement,n=e._self._c||t;return null==e.option.hide||0==e.option.hide?n("div",{staticClass:"anji-card"},[n("div",{staticClass:"card-head"},[e._v("\n "+e._s(e.option.title)+"\n "),n("div",{staticClass:"main-card-header-button"},[n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(4)}}},[e._v("||||")]),e._v(" "),n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(3)}}},[e._v("|||")]),e._v(" "),n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(2)}}},[e._v("||")])],1)]),e._v(" "),n("div",{staticClass:"card-body"},[n("el-form",{ref:"editForm",attrs:{model:e.editForm,"label-width":e.option.labelWidth||"100px"}},[e._l(e.columnGroups,function(t){return[e.groupModel?n("el-divider",{key:t,attrs:{"content-position":"left"}},[e._v(e._s(t))]):e._e(),e._v(" "),n("el-row",{key:t,staticClass:"form_table"},[e._l(e.groupFormFields[t],function(t){return[0==e.fieldIsHide(t.editHide)?n("el-col",{key:t.editField,attrs:{span:null==t.rowColSpan?e.cardRowColSpan:t.rowColSpan}},[n("el-form-item",{attrs:{label:t.label,rules:t.rules,prop:t.editField,disabled:t.disabled}},[""!=t.tips&&null!=t.tips?n("span",{staticClass:"input_tips",style:{"margin-left":"-13px"}},[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.tips,placement:"top-start"}},[n("svg-icon",{attrs:{"icon-class":"tishi-yiwen"}})],1)],1):e._e(),e._v(" "),"input"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"switch"==t.inputType?n("el-switch",{attrs:{disabled:e.fieldIsDisable(t.disabled),"active-value":1,"inactive-value":0,"inactive-color":"#ccc","active-color":"#5887fb"},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"input-number"==t.inputType?n("el-input-number",{attrs:{min:t.inputNumberOption.min,max:t.inputNumberOption.max,placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-input"==t.inputType?n("anji-input",{attrs:{unit:t.anjiInput.unit,conversion:t.anjiInput.conversion,"keep-point":t.anjiInput.keepPoint,rounding:t.anjiInput.rounding,placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-select"==t.inputType?n("anji-select",{attrs:{multiple:t.anjiSelectOption.multiple,disabled:e.fieldIsDisable(t.disabled),"dict-code":t.anjiSelectOption.dictCode,placeholder:t.placeholder,url:t.anjiSelectOption.url,method:t.anjiSelectOption.method,"query-param":t.anjiSelectOption.queryParam,"merge-label":t.anjiSelectOption.mergeLabel,option:t.anjiSelectOption.option,label:t.anjiSelectOption.label,"remote-filter":t.anjiSelectOption.remoteFilter,"disabled-options":t.anjiSelectOption.disabledOptions},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):t.inputType.indexOf("date")>=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,format:t.format,"value-format":t.valueFormat,disabled:e.fieldIsDisable(t.disabled),clearable:!1!==t.clearable},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,n)},expression:"editForm[item.editField]"}}):"checkbox"==t.inputType?n("anji-checkbox",{attrs:{"dict-code":t.anjiCheckbox.dictCode,label:t.anjiCheckbox.label,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-cascader"==t.inputType?n("anji-cascader",{attrs:{disabled:e.fieldIsDisable(t.disabled),url:t.anjiCascader.url},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-upload"==t.inputType?n("anji-upload",{attrs:{"up-load-url":t.anjiUpload.upLoadUrl,"view-url":t.anjiUpload.viewUrl,"upload-type":t.anjiUpload.uploadType,limit:t.anjiUpload.limit},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-autocomplete"==t.inputType?n("anji-autocomplete",{attrs:{disabled:e.fieldIsDisable(t.disabled),label:t.anjiAutocomplete.label,option:t.anjiAutocomplete.option,"appoint-value":t.anjiAutocomplete.appointValue,url:t.anjiAutocomplete.url},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"textarea"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled),type:"textarea",rows:2},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1)],1):e._e()]})],2)]})],2)],1)]):e._e()},[],!1,null,"c155e240",null));m.options.__file="edit-form.vue";var b=m.exports,v={components:{},props:{modelType:String,option:{type:[Object],default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[]}}},relateData:{type:[Object],default:function(){return{}}},value:{type:[Array],default:function(){return[]}},valueNew:{type:[Array],default:function(){return[]}}},data:function(){return{checkRecords:[],form:{records:[],total:0},saveButtonStatus:[],rowIdList:[]}},computed:{primaryKeyFieldName:function(){var e=this.option.columns.find(function(e){return 1==e.primaryKey});return null!=e?e.field:null},joinColumn:function(){var e=this.option.joinColumn;return this.isBlank(e)&&(console.warn("在columns中查找关联字段失败,会导致查询详情和删除失败,孙子关联表忽略该错误"),e=""),e},formRecordsUndelete:function(){return null==this.form.records?[]:this.form.records.filter(function(e){return null==e.deletedFlag||0==e.deletedFlag})}},watch:{},created:function(){this.isNotBlank(this.joinColumn)&&this.$watch(function(){return this.relateData[this.joinColumn]},function(e,t){this.isNotBlank(e)?this.handleQueryPageList(e):(this.checkRecords=[],this.form.records=[],this.form.total=0,this.saveButtonStatus=[])})},mounted:function(){this.isNotBlank(this.relateData)&&this.isNotBlank(this.relateData[this.joinColumn])&&this.handleQueryPageList()},methods:{fieldIsHide:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("hideOnAdd")>=0;if("view"==this.modelType)return e.indexOf("hideOnView")>=0;if("edit"==this.modelType)return e.indexOf("hideOnEdit")>=0}return!1},getRowEditButton:function(e){return"inEditing"==this.saveButtonStatus[e]?"btn_savetemp":"inAdding"==this.saveButtonStatus[e]?"btn_savetemp":"inShow"==this.saveButtonStatus[e]?"btn_edit":"not_permission"},tableRowClassAdapter:function(e){var t=e.row,n=e.rowIndex;t.index=n},handleQueryPageList:function(e){var t=this;return a()(r.a.mark(function n(){var i;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.isBlank(e)&&(e=t.relateData[t.joinColumn]),(i={})[t.joinColumn]=e,t.queryPageList(i);case 4:case"end":return n.stop()}},n,t)}))()},queryPageList:function(e){var t=this;return a()(r.a.mark(function n(){var i,o,a;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t.isNotBlank(t.option.buttons.query.order)&&(e.sort=t.option.buttons.query.sort,e.order=t.option.buttons.query.order),n.next=3,t.option.buttons.query.api(e);case 3:if(i=n.sent,o=i.data,"200"==i.code){n.next=8;break}return n.abrupt("return");case 8:for(t.form.records=o.records,t.form.total=o.total,t.$emit("input",t.form.records),a=0;a=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,clearable:!1!==t.clearable,disabled:"inShow"==e.saveButtonStatus[i.$index]||t.disabled},on:{change:function(n){return e.tableRowChange(i.$index,t.field,n)}},model:{value:i.row[t.field],callback:function(n){e.$set(i.row,t.field,n)},expression:"scope.row[item.field]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1)]}}],null,!0)}):e._e()]}),e._v(" "),n("el-table-column",{attrs:{fixed:"right",label:"操作",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleAddOrUpdate(t.row,t.$index)}}},[e._v(e._s(e.getRowEditButton(t.$index)))]),e._v(" "),n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDelete(t.row,t.$index)}}},[e._v("删除")])]}}],null,!1,1921872996)})],2)],1),e._v(" "),"view"!=e.modelType?n("button",{staticClass:"table-add-row-button",on:{click:e.handleAdd}},[n("i",{staticClass:"el-icon-plus"}),e._v(" "),n("span",[e._v("新增")])]):e._e()],1)]):e._e()},[],!1,null,"7ae3a3da",null));g.options.__file="edit-table.vue";var y={name:"EditDialog",components:{EditForm:b,EditTable:g.exports},props:{visible:{type:[Boolean],default:function(){return!1}},rowData:{type:[Object],default:function(){return{}}},modelType:String,option:{require:!0,type:Object,default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[]}}}},data:function(){return{showDialog:!1,dialogFullScreen:!1,cardRowColNum:2,saveForm:{},countForValidJoinForm:0}},computed:{dialogWidth:function(){return 2==this.cardRowColNum?"60%":3==this.cardRowColNum?"70%":4==this.cardRowColNum?"80%":"60%"},joinEntitys:function(){return this.isBlank(this.option.joinEntitys)?[]:this.option.joinEntitys},countJoinEntityOneToOne:function(){var e=this.joinEntitys.filter(function(e){return"OneToOne"==e.joinType});return null==e?0:e.length}},watch:{visible:function(e,t){this.showDialog=e,this.initDefaultSaveForm()},rowData:function(e,t){null!=e&&this.queryByPrimarykey(e)}},mounted:function(){this.initDefaultSaveForm()},methods:{getSaveForm:function(){return this.saveForm},setSaveForm:function(e){this.saveForm=e},initDefaultSaveForm:function(){var e=this,t={};this.option.columns.forEach(function(n){var i=n.editField;e.isBlank(i)&&(i=n.field);var r=n.defaultValue;e.isNotBlank(r)&&(t[i]=r)}),this.saveForm=this.deepClone(t),console.log("编辑框默认值:"+f()(this.saveForm))},handleCloseDialog:function(e){this.initDefaultSaveForm(),this.showDialog=!1,this.dialogFullScreen=!1,this.cardRowColNum=2,this.countForValidJoinForm=0,this.$emit("closeEvent",e)},handleSetRowColNum:function(e){this.cardRowColNum=e},getComponentByJoinType:function(e,t){return"OneToOne"==e?"EditForm":"OneToMany"==e?"EditTable":""},queryByPrimarykey:function(e){var t=this;return a()(r.a.mark(function n(){var i,o;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.option.buttons.queryByPrimarykey.api(e);case 2:if(i=n.sent,o=i.data,"200"==i.code){n.next=7;break}return n.abrupt("return");case 7:t.showDialog=!0,t.saveForm=o;case 9:case"end":return n.stop()}},n,t)}))()},handleValidateAndSave:function(){var e=this;this.countForValidJoinForm=0,this.$refs.mainForm.validate(function(t){if(0!=t)if(console.log("主表单校验完成"),null!=e.joinEntitys&&0!=e.joinEntitys.length)for(var n=0;n2&&e.queryParams.showMoreSearch?n("el-form-item",{attrs:{label:t.label,rules:t.rules,prop:t.field}},["input"==t.inputType||"input-number"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:t.disabled},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):"switch"==t.inputType?n("el-switch",{attrs:{disabled:t.disabled,"active-value":t.switchOption.disableValue,"inactive-value":t.switchOption.enableValue,"active-color":"#5887fb","inactive-color":"#ccc"},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):"anji-select"==t.inputType?n("anji-select",{attrs:{multiple:t.anjiSelectOption.multiple,"dict-code":t.anjiSelectOption.dictCode,url:t.anjiSelectOption.url,method:t.anjiSelectOption.method,"query-param":t.anjiSelectOption.queryParam,option:t.anjiSelectOption.option,label:t.anjiSelectOption.label,"disabled-options":t.anjiSelectOption.disabledOptions,disabled:t.disabled,"merge-label":t.anjiSelectOption.mergeLabel},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):t.inputType.indexOf("date")>=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,clearable:!1!==t.clearable},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,n)},expression:"queryParams[item.field]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1):e._e()],1)}),e._v(" "),n("el-col",{staticStyle:{"text-align":"center"},attrs:{span:6}},[n("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.handleQueryForm("query")}}},[e._v("查询")]),e._v(" "),n("el-button",{attrs:{type:"danger"},on:{click:function(t){return e.handleResetForm()}}},[e._v("重置")]),e._v(" "),e.queryFormFieldExcludeTree.length>3?n("a",{staticStyle:{"margin-left":"8px"},on:{click:e.handleToggleMoreSearch}},[e._v("\n "+e._s(1==e.queryParams.showMoreSearch?"收起":"展开")+"\n "),n("i",{class:e.queryParams.showMoreSearch?"el-icon-arrow-up":"el-icon-arrow-down"})]):e._e()],1)],2)],1),e._v(" "),e._t("buttonLeftOnTable"),e._v(" "),void 0==e.option.buttons.add.isShow||e.option.buttons.add.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.add.permission,expression:"option.buttons.add.permission"}],attrs:{type:"primary",icon:"el-icon-plus"},on:{click:function(t){return e.handleOpenEditView("add")}}},[e._v("新增")]):e._e(),e._v(" "),void 0==e.option.buttons.delete.isShow||e.option.buttons.delete.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.delete.permission,expression:"option.buttons.delete.permission"}],attrs:{disabled:e.disableBatchDelete,type:"danger",icon:"el-icon-delete"},on:{click:function(t){return e.handleDeleteBatch()}}},[e._v("删除")]):e._e(),e._v(" "),n("el-table",{staticClass:"anji_curd_table",attrs:{data:e.records,border:""},on:{"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange}},[n("el-table-column",{attrs:{fixed:"",type:"selection",width:"50",align:"center"}}),e._v(" "),e.tableExpandColumns.length>0?n("el-table-column",{attrs:{type:"expand"},scopedSlots:e._u([{key:"default",fn:function(t){return e._l(e.tableExpandColumns,function(i){return n("p",{key:i.field,staticClass:"table-expand-item"},[n("span",{staticClass:"titel"},[e._v(" "+e._s(i.label)+": ")]),e._v(" "),n("span",[e._v(e._s(t.row[i.field]))])])})}}],null,!1,3354752618)}):e._e(),e._v(" "),n("el-table-column",{attrs:{label:"序号","min-width":"50",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.queryParams.pageSize*(e.queryParams.pageNumber-1)+t.$index+1)+"\n ")]}}])}),e._v(" "),e._l(e.option.columns,function(t){return[1!=t.tableHide&&"expand"!=t.columnType?n("el-table-column",{key:t.field,attrs:{prop:t.field,label:e.fieldLabel(t),"min-width":t.minWidth||110,sortable:t.sortable,"show-overflow-tooltip":!0,align:"center"},scopedSlots:e._u([{key:"default",fn:function(i){return["imgPreview"==t.columnType?n("div",[n("el-image",{staticStyle:{width:"25%",height:"50%"},attrs:{fit:"contain",src:i.row[t.field],"preview-src-list":[i.row[t.field]]}})],1):n("div",["switch"!=t.inputType||t.colorStyle?"anji-input"==t.inputType?n("span",[e._v(e._s(e.fieldValueByAnjiInput(i.row[t.field],t)))]):t.mergeColumn?n("span",[e._v(e._s(i.row[t.field])+"("+e._s(i.row[t.mergeColumn])+")")]):t.colorStyle?n("span",{class:t.colorStyle[i.row[t.editField]]},[e._v(e._s(e.fieldValueByRowRenderer(i.row,t)))]):n("span",[e._v(e._s(e.fieldValueByRowRenderer(i.row,t)))]):n("span",[n("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#5887fb","inactive-color":"#ccc"},on:{change:function(n){return e.switchChange(i.row,t.switchOption)}},model:{value:i.row[t.field],callback:function(n){e.$set(i.row,t.field,"string"==typeof n?n.trim():n)},expression:"scope.row[item.field]"}})],1)])]}}],null,!0)}):e._e()]}),e._v(" "),n("el-table-column",{attrs:{align:"center",fixed:"right",label:"操作",width:e.option.buttons.customButton&&e.option.buttons.customButton.operationWidth?e.option.buttons.customButton.operationWidth:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("edit",null,{msg:t.row}),e._v(" "),void 0!=e.option.buttons.query.isShow&&!e.option.buttons.query.isShow||0!=e.hasPermission(e.option.buttons.edit.permission)?e._e():n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.query.permission,expression:"option.buttons.query.permission"}],attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleOpenEditView("view",t.row)}}},[e._v("查看")]),e._v(" "),void 0==e.option.buttons.edit.isShow||e.option.buttons.edit.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.edit.permission,expression:"option.buttons.edit.permission"}],attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleOpenEditView("edit",t.row)}}},[e._v("编辑")]):e._e(),e._v(" "),0==e.hasRowCustomButton&&void 0==e.option.buttons.delete.isShow||e.option.buttons.edit.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.delete.permission,expression:"option.buttons.delete.permission"}],attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDeleteBatch(t.row)}}},[e._v("删除")]):e._e(),e._v(" "),e.hasRowCustomButton?n("el-dropdown",{attrs:{trigger:"click"}},[n("span",{staticClass:"el-dropdown-link"},[e._v("\n 更多"),n("i",{staticClass:"el-icon-caret-bottom el-icon--right"})]),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{staticClass:"clearfix"},[e._t("rowButton",null,{msg:t.row}),e._v(" "),void 0==e.option.buttons.delete.isShow||e.option.buttons.edit.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.delete.permission,expression:"option.buttons.delete.permission"}],attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDeleteBatch(t.row)}}},[e._v("删除")]):e._e()],2)],1)],1):e._e()]}}],null,!0)})],2),e._v(" "),n("div",{staticClass:"pagination"},[n("el-pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{background:"","current-page":e.queryParams.pageNumber,"page-sizes":e.$pageSizeAll,"page-size":e.queryParams.pageSize,layout:"total, prev, pager, next, jumper, sizes",total:e.total},on:{"update:currentPage":function(t){return e.$set(e.queryParams,"pageNumber",t)},"update:current-page":function(t){return e.$set(e.queryParams,"pageNumber",t)},"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}}),e._v(" "),n("div",[e._t("tableSelectionBtn",null,{selection:e.checkRecords})],2)],1),e._v(" "),n("EditDialog",{ref:"edit",attrs:{option:e.option,"model-type":e.editDialogModelType,visible:e.editDialogOpen,"row-data":e.editDialogRowData},on:{closeEvent:e.editDialogClosedEvent},scopedSlots:e._u([{key:"customCard",fn:function(){return[e._t("cardInEditPage")]},proxy:!0},{key:"editBtn",fn:function(t){return[e._t("editBtnPage",null,{rowData:t})]}}],null,!0)})],2),e._v(" "),e._t("pageSection")],2)},[],!1,null,"31353f4a",null));F.options.__file="anji-crud.vue";t.default=F.exports},sm2R:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return a});var i=n("t3Un"),r=n("XS0u");function o(e){return Object(i.a)({url:"/gaeaDict/select/"+e,method:"get"})}function a(e){Object(i.a)({url:"/gaeaDict/all",method:"GET"}).then(function(t){200==t.code?(Object(r.c)("gaeaDict",t.data),null!=e&&e()):console.error("初始化数据字典到local storage失败: "+t.message)})}},sxct:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("iX2V");function r(e){return i(e+"gaea")}},t3Un:function(e,t,n){"use strict";var i=n("Asgo"),r=n.n(i),o=n("f0Pt"),a=n.n(o),l=n("VCIm"),s=(n("Q2AE"),n("X4fA"),a.a.create({baseURL:"./",timeout:2e4}));s.interceptors.request.use(function(e){return e},function(e){r.a.reject(e)}),s.interceptors.response.use(function(e){var t=e.data;if("50008"!=t.code&&"50012"!=t.code&&"50014"!=t.code)return"200"!==t.code?(Object(l.Message)({message:t.message,type:"error",duration:5e3}),e.data):e.data;l.MessageBox.confirm("你已被登出,可以取消继续留在该页面,或者重新登录","重新登录",{confirmButtonText:"重新登录",cancelButtonText:"取消",type:"warning"}).then(function(){sessionStorage.clear(),localStorage.clear(),window.location.href="/"})},function(e){return Object(l.Message)({message:e.message,type:"error",duration:5e3}),r.a.reject(e)}),t.a=s},uCkW:function(e,t,n){"use strict";var i=n("TaLv");n.n(i).a},vjVy:function(e,t,n){},wihr:function(e,t,n){},x6dc:function(e,t,n){}},[["Vtdi","runtime","chunk-libs"]]]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.5fdec7f6.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.5fdec7f6.js new file mode 100644 index 000000000..e48a24e9b --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/app.5fdec7f6.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([["app"],{"/mUW":function(e,t,n){"use strict";var i=n("3Jjm");n.n(i).a},"3Jjm":function(e,t,n){},"7Qib":function(e,t,n){"use strict";n.d(t,"c",function(){return i}),n.d(t,"a",function(){return l}),n.d(t,"b",function(){return s});n("EPZ6"),n("Q2cO");function i(e){return/^(https?:|mailto:|tel:)/.test(e)}var r=n("6Cps"),o=r.enc.Utf8.parse("1234123412ABCDEF"),a=r.enc.Utf8.parse("ABCDEF1234123412");function l(e){var t=r.enc.Hex.parse(e),n=r.enc.Base64.stringify(t),i=r.AES.decrypt(n,o,{iv:a,mode:r.mode.CBC,padding:r.pad.Pkcs7}).toString(r.enc.Utf8).toString(),l=i.substr(-32);return i.split(l)[0]}function s(e){var t=r.enc.Utf8.parse(e+function(){var e=(new Date).getTime();return window.performance&&"function"==typeof window.performance.now&&(e+=performance.now()),"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:3&n|8).toString(16)})}());return r.AES.encrypt(t,o,{iv:a,mode:r.mode.CBC,padding:r.pad.Pkcs7}).ciphertext.toString().toUpperCase()}},"8q53":function(e,t,n){"use strict";var i=n("wihr");n.n(i).a},B3E3:function(e,t,n){"use strict";var i=n("uYT1");n.n(i).a},Bq29:function(e,t,n){},HK11:function(e,t,n){"use strict";var i=n("Bq29");n.n(i).a},HiAn:function(e,t,n){},INx1:function(e,t,n){},Itw0:function(e,t,n){},"JeH/":function(e,t,n){"use strict";var i=n("fcOe");n.n(i).a},L48I:function(e,t,n){"use strict";var i=n("lnxG");n.n(i).a},N4Kv:function(e,t,n){"use strict";var i=n("hk9y");n.n(i).a},PAdZ:function(e,t,n){},Q2AE:function(e,t,n){"use strict";var i=n("AmEZ"),r=n("8t5x"),o={},a={state:{cacheViews:[]},mutations:{ADD_CACHEVIEW:function(e,t){e.cacheViews.includes(t.name)||t.meta&&t.meta.keepAlive&&e.cacheViews.push(t.name)}},actions:{addCachedView:function(e,t){(0,e.commit)("ADD_CACHEVIEW",t)}}},l={sidebar:function(e){return e.app.sidebar},device:function(e){return e.app.device},token:function(e){return e.user.token},accessUser:function(e){return e.user.accessUser},cacheViews:function(e){return e.cacheView.cacheViews}},s={},u=n("jJIE"),c=n.n(u),d={state:{sidebar:{opened:!+c.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop"},mutations:{TOGGLE_SIDEBAR:function(e){e.sidebar.opened?c.a.set("sidebarStatus",1):c.a.set("sidebarStatus",0),e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1},CLOSE_SIDEBAR:function(e,t){c.a.set("sidebarStatus",1),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t}},actions:{ToggleSideBar:function(e){(0,e.commit)("TOGGLE_SIDEBAR")},CloseSideBar:function(e,t){(0,e.commit)("CLOSE_SIDEBAR",t.withoutAnimation)},ToggleDevice:function(e,t){(0,e.commit)("TOGGLE_DEVICE",t)}}},f=n("Asgo"),p=n.n(f),h=n("dVUk"),m=n("X4fA"),b={state:{token:"",accessUser:{}},mutations:{SET_TOKEN:function(e,t){e.token=t,Object(m.j)(t)},SET_ACCESSUSER:function(e,t){e.accessUser=t,Object(m.h)(t)}},actions:{Login:function(e,t){var n=e.commit,i={userName:t.userName.trim(),password:t.password.trim(),captchaVerification:t.captchaVerification.trim()};return new p.a(function(e,t){Object(h.a)(i).then(function(i){var r=i.repCode,o=i.repData;"0000"===r?(n("SET_TOKEN",o.token),n("SET_ACCESSUSER",o.accessUser),e(i)):t(i.repMsg)}).catch(function(e){t(e)})})},LogOut:function(e){var t=e.commit,n=e.state;return new p.a(function(e,i){Object(h.b)(n.token).then(function(){t("SET_TOKEN",""),t("SET_ACCESSUSER",{}),Object(m.c)(),Object(m.b)(),Object(m.a)(),e()}).catch(function(e){i(e)})})},FedLogOut:function(e){var t=e.commit;return new p.a(function(e){t("SET_TOKEN",""),t("SET_ACCESSUSER",{}),Object(m.c)(),Object(m.b)(),Object(m.a)(),e()})}}},v={state:{id:0,val:"",title:""},mutations:{setCategory:function(e,t){e.id=0,e.val=t.value,e.title=t.label}}};i.default.use(r.a);var g=new r.a.Store({modules:{app:d,user:b,cacheView:a,help:v},state:{},plugins:[function(e){}],actions:o,mutations:s,getters:l});t.a=g},RXVF:function(e,t,n){"use strict";var i=n("gaEW");n.n(i).a},Rt0g:function(e,t,n){"use strict";var i=n("ZU+s");n.n(i).a},S0BH:function(e,t,n){"use strict";var i=n("PAdZ");n.n(i).a},SiB1:function(e,t,n){"use strict";var i=n("INx1");n.n(i).a},UbsL:function(e,t,n){},VGgK:function(e,t,n){},Vtdi:function(e,t,n){"use strict";n.r(t);var i={};n.r(i),n.d(i,"basecode",function(){return le}),n.d(i,"getDataByCode",function(){return se}),n.d(i,"fixed",function(){return ue}),n.d(i,"formatTimestamp",function(){return ce}),n.d(i,"formatDate",function(){return de});var r=n("EPZ6"),o=n.n(r),a=n("AmEZ"),l=n("VCIm"),s=n.n(l),u=(n("6bc2"),n("A7+3")),c=n.n(u),d=(n("qpO2"),n("HiAn"),n("aGE4"),n("vjVy"),n("sm2R")),f={name:"App",provide:function(){return{reload:this.reload}},data:function(){return{isRouterAlive:!1}},watch:{$route:function(e,t){"/login"==e.path&&this.queryDictName()}},computed:{},created:function(){this.queryDictName()},methods:{queryDictName:function(){var e=this;Object(d.b)(function(){e.isRouterAlive=!0})},reload:function(){this.isRouterAlive=!1,this.$nextTick(function(){this.isRouterAlive=!0})}}},p=n("ZrdR"),h=Object(p.a)(f,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[this.isRouterAlive?t("router-view"):this._e()],1)},[],!1,null,null,null);h.options.__file="App.vue";var m=h.exports,b=n("uOVN"),v=n("bS4n"),g=n.n(v),y=n("cLjf"),w=n.n(y),C=n("hDQ3"),x=n.n(C),F=n("8t5x"),S=n("wu4H"),k=n.n(S),_={data:function(){return{levelList:null}},watch:{$route:function(){this.getBreadcrumb()}},computed:{levelListArr:function(){return this.levelList.filter(function(e){return e.meta&&e.meta.title})}},created:function(){this.getBreadcrumb()},methods:{getBreadcrumb:function(){var e=this.$route.params,t=this.$route.matched.filter(function(t){if(t.name){var n=k.a.compile(t.path);return t.path=n(e),!0}});this.levelList=t}}},j=(n("/mUW"),Object(p.a)(_,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("el-breadcrumb",{staticClass:"app-breadcrumb",attrs:{separator:"/"}},[n("transition-group",{attrs:{name:"breadcrumb"}},e._l(e.levelListArr,function(t,i){return n("el-breadcrumb-item",{key:t.path},["noredirect"===t.redirect||i==e.levelListArr.length-1?n("span",{staticClass:"no-redirect"},[e._v(e._s(t.meta.title))]):n("router-link",{staticClass:"no-redirect",attrs:{to:t.redirect||t.path}},[e._v(e._s(t.meta.title))])],1)}),1)],1)},[],!1,null,"2b5df056",null));j.options.__file="index.vue";var O=j.exports,T={name:"Hamburger",props:{isActive:{type:Boolean,default:!1},toggleClick:{type:Function,default:null}}},q=(n("S0BH"),Object(p.a)(T,function(){var e=this.$createElement,t=this._self._c||e;return t("div",[t("svg",{staticClass:"hamburger",class:{"is-active":this.isActive},attrs:{t:"1492500959545",viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"1691","xmlns:xlink":"http://www.w3.org/1999/xlink",width:"64",height:"64"},on:{click:this.toggleClick}},[t("path",{attrs:{d:"M966.8023 568.849776 57.196677 568.849776c-31.397081 0-56.850799-25.452695-56.850799-56.850799l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 543.397081 998.200404 568.849776 966.8023 568.849776z","p-id":"1692",fill:"#333"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 881.527125 57.196677 881.527125c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.849776 56.850799-56.849776l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.849776l0 0C1023.653099 856.07443 998.200404 881.527125 966.8023 881.527125z","p-id":"1693",fill:"#333"}}),this._v(" "),t("path",{attrs:{d:"M966.8023 256.17345 57.196677 256.17345c-31.397081 0-56.850799-25.452695-56.850799-56.849776l0 0c0-31.397081 25.452695-56.850799 56.850799-56.850799l909.605623 0c31.397081 0 56.849776 25.452695 56.849776 56.850799l0 0C1023.653099 230.720755 998.200404 256.17345 966.8023 256.17345z","p-id":"1694",fill:"#333"}})])])},[],!1,null,"54298247",null));q.options.__file="index.vue";var D=q.exports,E=n("XS0u"),B=n("dVUk"),P=n("sxct"),A={data:function(){var e=this;return{wordVisible:!1,form:{oldPassword:"",password:"",confirmPassword:""},rules:{oldPassword:[{required:!0,validator:function(e,t,n){t.length<6||t.length>30?n(new Error("请输入原密码")):n()},trigger:"blur"}],password:[{required:!0,message:"请选择新密码",trigger:"blur"}],confirmPassword:[{required:!0,validator:function(t,n,i){""===n?i(new Error("请再次输入密码")):n!==e.form.password?i(new Error("两次输入密码不一致!")):n.length<6||n.length>20?i(new Error("密码长度需要再6-20之间!")):i()},trigger:"blur"}]}}},components:{Breadcrumb:O,Hamburger:D},computed:g()({},Object(F.c)(["sidebar"])),created:function(){},methods:{toggleSideBar:function(){this.$store.dispatch("ToggleSideBar")},logout:function(){var e=this;this.$confirm("确定要退出吗","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){sessionStorage.clear(),localStorage.clear(),e.$router.push("/login")})},updatePassword:function(){var e=this;this.wordVisible=!0,this.$nextTick(function(){e.$refs.form&&e.$refs.form.resetFields()})},confrimUpdate:function(){var e=this;this.$refs.form.validate(function(){var t=x()(w.a.mark(function t(n){var i,r,o,a,l,s;return w.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(!n){t.next=16;break}return i=e.form,r=i.oldPassword,o=i.password,a=i.confirmPassword,l={oldPassword:Object(P.a)(r),password:Object(P.a)(o),confirmPassword:Object(P.a)(a)},t.next=5,Object(B.c)(l);case 5:if(s=t.sent,"200"==s.code){t.next=9;break}return t.abrupt("return");case 9:e.wordVisible=!1,e.$message.success("修改密码成功,请重新登录"),sessionStorage.clear(),localStorage.clear(),e.$router.push("/login"),t.next=17;break;case 16:return t.abrupt("return",!1);case 17:case"end":return t.stop()}},t,e)}));return function(e){return t.apply(this,arguments)}}())},helpCenter:function(){var e=Object(E.b)("helpCategory");this.$router.push({path:"/helpCenList/list",query:{id:0,val:e[0].value,title:e[0].label}})}}},$=(n("JeH/"),Object(p.a)(A,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("el-menu",{staticClass:"navbar",attrs:{mode:"horizontal"}},[n("hamburger",{staticClass:"hamburger-container",attrs:{"toggle-click":e.toggleSideBar,"is-active":e.sidebar.opened}}),e._v(" "),n("breadcrumb")],1),e._v(" "),n("el-dialog",{staticClass:"password-box",attrs:{title:"修改密码",visible:e.wordVisible,width:"40%","close-on-click-modal":!1,top:"20vh"},on:{"update:visible":function(t){e.wordVisible=t}}},[n("el-form",{ref:"form",attrs:{model:e.form,"label-width":"100px",rules:e.rules,"close-on-click-modal":!1}},[n("el-form-item",{attrs:{label:"原密码",prop:"oldPassword"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.oldPassword,callback:function(t){e.$set(e.form,"oldPassword","string"==typeof t?t.trim():t)},expression:"form.oldPassword"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"新密码",prop:"password"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.password,callback:function(t){e.$set(e.form,"password","string"==typeof t?t.trim():t)},expression:"form.password"}})],1),e._v(" "),n("el-form-item",{attrs:{label:"确认新密码",prop:"confirmPassword"}},[n("el-input",{attrs:{type:"password",autocomplete:"off"},model:{value:e.form.confirmPassword,callback:function(t){e.$set(e.form,"confirmPassword","string"==typeof t?t.trim():t)},expression:"form.confirmPassword"}})],1)],1),e._v(" "),n("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[n("el-button",{on:{click:function(t){e.wordVisible=!1}}},[e._v("取 消")]),e._v(" "),n("el-button",{attrs:{type:"primary"},on:{click:e.confrimUpdate}},[e._v("确 定")])],1)],1)],1)},[],!1,null,"1538a3b3",null));$.options.__file="Navbar.vue";var I=$.exports,N=n("YmYf"),R=n.n(N),M=n("7Qib"),U={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,i=n.icon,r=n.title,o=[];return i&&o.push(e("i",{class:"iconfont "+i})),r&&o.push(e("span",{slot:"title"},[r])),o}},L=Object(p.a)(U,void 0,void 0,!1,null,null,null);L.options.__file="Item.vue";var V=L.exports,z={props:{to:{type:String,required:!0}},methods:{isExternalLink:function(e){return Object(M.c)(e)},linkProps:function(e){return this.isExternalLink(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},Q=Object(p.a)(z,function(){var e=this.$createElement;return(this._self._c||e)("component",this._b({},"component",this.linkProps(this.to),!1),[this._t("default")],2)},[],!1,null,null,null);Q.options.__file="Link.vue";var H={name:"SidebarItem",components:{Item:V,AppLink:Q.exports},props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return{onlyOneChild:null}},computed:{},methods:{hasOneShowingChild:function(e,t){var n=this,i=e.filter(function(e){return!e.hidden&&(n.onlyOneChild=e,!0)});return 1===i.length||0===i.length&&(this.onlyOneChild=g()({},t,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return this.isExternalLink(e)?e:R.a.resolve(this.basePath,e)},isExternalLink:function(e){return Object(M.c)(e)}}},J=(n("L48I"),Object(p.a)(H,function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.item.hidden&&e.item.children?n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?[e.hasPermission(e.item.meta.permission)?n("el-submenu",{attrs:{index:e.resolvePath(e.item.path)}},[n("template",{slot:"title"},[n("item",{attrs:{icon:e.item.meta.icon,title:e.item.meta.title}})],1),e._v(" "),e._l(e.item.children,function(t){return[e.hasPermission(t.meta.permission)&&1!=t.hidden?[t.children&&t.children.length>0?n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}}):e._e(),e._v(" "),n("app-link",{key:t.name,attrs:{to:e.resolvePath(t.path)}},[n("el-menu-item",{attrs:{index:e.resolvePath(t.path)}},[t.meta?n("item",{attrs:{icon:t.meta.icon,title:t.meta.title}}):e._e()],1)],1)]:e._e()]})],2):e._e()]:[n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[e.onlyOneChild.meta?n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta.icon,title:e.onlyOneChild.meta.title}}):e._e()],1)],1)]],2):e._e()},[],!1,null,"2b0b07e3",null));J.options.__file="SidebarItem.vue";var W={components:{SidebarItem:J.exports},computed:g()({},Object(F.c)(["sidebar"]),{routes:function(){return this.$router.options.routes},isCollapse:function(){return!this.sidebar.opened}}),methods:{goBigScreen:function(){var e=this.$router.resolve({path:"/report/bigScreen"});window.open(e.href,"_blank")}}},K=(n("rQpy"),Object(p.a)(W,function(){var e=this.$createElement,t=this._self._c||e;return t("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[t("div",{staticClass:"admin-title",on:{click:this.goBigScreen}}),this._v(" "),t("el-menu",{attrs:{"show-timeout":200,"default-active":this.$route.path,collapse:this.isCollapse,mode:"vertical"}},this._l(this.routes,function(e){return t("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)},[],!1,null,"38cf134e",null));K.options.__file="index.vue";var G=K.exports,X={name:"AppMain",computed:g()({},Object(F.c)(["cacheViews"]),{key:function(){return void 0!==this.$route.name?this.$route.name+ +new Date:this.$route+ +new Date}})},Z=(n("SiB1"),Object(p.a)(X,function(){var e=this.$createElement,t=this._self._c||e;return t("section",{staticClass:"app-main"},[t("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[t("keep-alive",{attrs:{include:this.cacheViews}},[t("router-view")],1)],1)],1)},[],!1,null,"7d0fa904",null));Z.options.__file="AppMain.vue";var Y=Z.exports,ee=n("Q2AE"),te=document.body,ne={name:"Layout",components:{Navbar:I,Sidebar:G,AppMain:Y},watch:{$route:{handler:function(e,t){"realTimeLog"!=e.name&&"deviceInfo"!=e.name&&Object(E.a)("deviceInfo"),"helpCenter"!=e.name&&"helpCenterEdit"!=e.name&&Object(E.a)("helpCenterDetail"),this.addCachedView(e)},immediate:!0}},mixins:[{watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&ee.a.dispatch("CloseSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.resizeHandler)},mounted:function(){this.isMobile()&&(ee.a.dispatch("ToggleDevice","mobile"),ee.a.dispatch("CloseSideBar",{withoutAnimation:!0}))},methods:{isMobile:function(){return te.getBoundingClientRect().width-3<1024},resizeHandler:function(){if(!document.hidden){var e=this.isMobile();ee.a.dispatch("ToggleDevice",e?"mobile":"desktop"),e&&ee.a.dispatch("CloseSideBar",{withoutAnimation:!0})}}}}],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:g()({},Object(F.b)(["addCachedView"]),{handleClickOutside:function(){this.$store.dispatch("CloseSideBar",{withoutAnimation:!1})}})},ie=(n("8q53"),Object(p.a)(ne,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("navbar"),e._v(" "),n("app-main")],1)],1)},[],!1,null,"11b67c86",null));ie.options.__file="Layout.vue";var re=ie.exports;a.default.use(b.a);var oe=[{path:"/login",component:function(){return n.e("chunk-306e").then(n.bind(null,"3Xui"))},hidden:!0},{path:"/aj/**",component:function(){return n.e("chunk-2592").then(n.bind(null,"TiKq"))},hidden:!0},{path:"/index",component:re,name:"index",meta:{title:"首页",icon:"iconhome2"},children:[{path:"",component:function(){return n.e("chunk-a4f3").then(n.bind(null,"er4n"))},meta:{title:"首页",icon:"iconhome2",keepAlive:!0,requireAuth:!0}}]},{path:"/report",name:"report",component:re,meta:{title:"报表设计",icon:"iconnavicon-ywcs",requireAuth:!0,permission:"datasourceManage|resultsetManage|reportManage|bigScreenManage"},children:[{path:"datasource",name:"datasource",component:function(){return n.e("chunk-191b").then(n.bind(null,"ZjmF"))},meta:{title:"数据源",icon:"icondatabase",keepAlive:!0,requireAuth:!0,permission:"datasourceManage"}},{path:"resultset",name:"resultset",component:function(){return Promise.all([n.e("chunk-f259"),n.e("chunk-dd63"),n.e("chunk-943b")]).then(n.bind(null,"Zzv2"))},meta:{title:"数据集",icon:"iconAPIwangguan",keepAlive:!0,requireAuth:!0,permission:"resultsetManage"}},{path:"report",name:"reportIndex",component:function(){return n.e("chunk-7a76").then(n.bind(null,"0MlO"))},meta:{title:"报表管理",icon:"iconnavicon-ywcs",keepAlive:!0,requireAuth:!0,permission:"reportManage"}},{path:"bigscreen",name:"bigscreen",component:function(){return n.e("chunk-690c").then(n.bind(null,"b//P"))},meta:{title:"大屏报表",icon:"iconchufaqipeizhi-hui",keepAlive:!0,requireAuth:!0,permission:"bigScreenManage"}}]},{path:"/system",name:"system",component:re,meta:{title:"系统设置",icon:"iconshezhi",requireAuth:!0,permission:"fileManage|dictManage|dictItemManage"},children:[{path:"file",name:"file",component:function(){return n.e("chunk-0f7e").then(n.bind(null,"lAHl"))},meta:{title:"文件管理",icon:"iconfill_folder",keepAlive:!0,requireAuth:!0,permission:"fileManage"}},{path:"dict",name:"dict",component:function(){return n.e("MiWS").then(n.bind(null,"MiWS"))},meta:{title:"数据字典",icon:"iconzidian",keepAlive:!0,requireAuth:!0,permission:"dictManage"}},{path:"dictItem",name:"dictItem",component:function(){return n.e("gJ75").then(n.bind(null,"gJ75"))},hidden:!0,meta:{title:"字典项",icon:"iconzidianxiang",keepAlive:!0,requireAuth:!0,permission:"dictItemManage"}}]},{path:"/bigscreen/viewer",component:function(){return Promise.all([n.e("chunk-6b46"),n.e("chunk-293b")]).then(n.bind(null,"OnRN"))},hidden:!0,meta:{requireAuth:!0}},{path:"/bigscreen/designer",component:function(){return Promise.all([n.e("chunk-f259"),n.e("chunk-f079"),n.e("chunk-6b46"),n.e("chunk-25ff"),n.e("chunk-5ad2")]).then(n.bind(null,"VZcz"))},hidden:!0,meta:{requireAuth:!0}},{path:"/excelreport/viewer",component:function(){return n.e("chunk-5309").then(n.bind(null,"+N4U"))},hidden:!0,meta:{requireAuth:!0}},{path:"/excelreport/designer",component:function(){return Promise.all([n.e("chunk-f079"),n.e("chunk-c4fe")]).then(n.bind(null,"Xvat"))},hidden:!0,meta:{requireAuth:!0}},{path:"/404",component:function(){return n.e("chunk-fd33").then(n.bind(null,"jNvO"))},hidden:!0},{path:"*",redirect:"/index",hidden:!0}],ae=new b.a({scrollBehavior:function(){return{y:0}},routes:oe});function le(e,t){if(void 0===e||null===e)return"";if(void 0===t||null===t)return e;for(var n=Object(E.b)("queryForCodeSelect")[t],i=e,r=0;rr?1:0}},getObjectType:function(e){var t=Object.prototype.toString;return e instanceof Element?"element":{"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Undefined]":"undefined","[object Null]":"null","[object Object]":"object"}[t.call(e)]},isNumber:function(e){return"number"==this.getObjectType(e)},isString:function(e){return"string"==this.getObjectType(e)},isArray:function(e){return"array"==this.getObjectType(e)},hasOwn:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},isNotBlank:function(e){return!this.isBlank(e)}},be()(fe,"isBlank",function(e){if(this.isNull(e))return!0;if("string"==typeof e)return""==e.trim();if("object"===(void 0===e?"undefined":Se()(e))){for(var t in e)return!1;return!0}return!1}),be()(fe,"isNotNull",function(e){return!this.isNull(e)}),be()(fe,"isNull",function(e){if(e&&0===parseInt(e))return!1;if(e instanceof Date||"boolean"==typeof e||"number"==typeof e)return!1;if(!(e instanceof Array)){if(e instanceof Object){for(var t in e=this.deepClone(e),["$parent"].forEach(function(t){delete e[t]}),e)return!1;return!0}return"null"===e||null==e||"undefined"===e||void 0===e||""===e}return 0===e.length}),be()(fe,"deepClone",function(e){var t=this,n=this.getObjectType(e),i=void 0;if("array"===n)i=[];else{if("object"!==n)return e;i={}}if("array"===n)for(var r=function(n,r){e[n]=(e[n],e[n]),e[n]&&delete e[n].$parent,i.push(t.deepClone(e[n]))},o=0,a=e.length;o=0?n[i]=e[i]:n[i]=this.urlEncode(e[i]));return n}),be()(fe,"getDictItemByCode",function(e,t){var n=Object(E.b)("gaeaDict");if(!n.hasOwnProperty(e))return null;for(var i=n[e],r=0;r0&&(this.option,this.label),this.url):null!=this.dictCode&&""!=this.dictCode.trim()?"/meta/gaeaDict/select/"+this.dictCode:null}},watch:{dictCode:function(e){e&&this.queryData()},localOptions:function(e){this.options=e},value:{handler:function(e){"string"==typeof e&&null!=this.url&&""!=this.url.trim()&&this.remoteQuery(e),null!=this.multiple?this.value?this.selectValue=this.value:this.selectValue=[]:null!=this.value&&void 0!=this.value?this.selectValue=this.value+"":this.selectValue=""},immediate:!0},url:function(){var e=this;setTimeout(function(){e.queryData()},500)}},created:function(){null!=this.multiple?this.selectValue=this.value:null!=this.value&&(this.selectValue=this.value+"")},mounted:function(){null!=this.requestUrl?this.queryData():this.options=this.localOptions},methods:{isDisabledOption:function(e){if(null==e||null==this.disabledOptions||0==this.disabledOptions.length)return!1;var t=e[this.option];return this.disabledOptions.indexOf(t)>=0},change:function(e){var t=this;""===e&&(e=""),this.$emit("input",e);var n=this.options.find(function(n){return n[t.option]==e});this.$emit("change",e,n)},getItemLabel:function(e,t){if(t.indexOf("${")<0&&t.indexOf(!1))return e[t];for(var n=t.match(/\$\{[a-zA-Z0-9]*\}/g),i=t,r=0;r=1?n("el-option",{attrs:{value:"",disabled:""}},[e._v("输入关键词搜索更多")]):e._e()],2)],1)},[],!1,null,"b32efa94",null));Me.options.__file="anji-select.vue";var Ue=Me.exports,Le={props:{upLoadUrl:{type:String,default:function(){return""}},viewUrl:{type:String,default:function(){return""}},limit:{type:Number,default:function(){return 3}},value:{type:Array,default:function(){return[]}},uploadType:{type:String,default:function(){return"img"}}},data:function(){return{imageUploadUrl:"",dialogVisibleImageUpload:!1,fileList:[],modeString:""}},computed:{requestUrl:function(){return null!=this.upLoadUrl&&""!=this.upLoadUrl.trim()?Object({NODE_ENV:"production",BASE_API:"./"}).VUE_APP_BASE_API+this.upLoadUrl:Object({NODE_ENV:"production",BASE_API:"./"}).VUE_APP_BASE_API+"/meta/file/upload"},headers:function(){return{}}},watch:{value:{handler:function(e){this.echoUpload(e)},immediate:!0}},mounted:function(){},methods:{typeImgShow:function(e){if(e.fileType){var t=e.fileType.toLowerCase();return"jpg"==t||"png"==t||"gif"==t||"icon"==t}},typePdfShow:function(e){if(e.fileType)return"pdf"==e.fileType.toLowerCase()},typeExcelShow:function(e){if(e.fileType){var t=e.fileType.toLowerCase();return"xlsx"==t||"xls"==t||"csv"==t}},handleRemove:function(e){var t=[];this.fileList.forEach(function(n){n.fileId!=e.fileId&&t.push(n)}),this.fileList=t,this.change()},handlePictureCardPreview:function(e){this.imageUploadUrl=e.url,this.dialogVisibleImageUpload=!0},handleDownload:function(e){window.open(e.url)},handleSuccess:function(e,t,n){console.log(n),200==e.code?(this.fileList.push({url:t.response.data.urlPath,fileId:t.response.data.fileId,fileType:t.response.data.fileType}),this.change()):this.$message.error("上传失败")},change:function(){var e=this.fileList;this.$emit("input",e),this.$emit("change",e)},handleBeforeUpload:function(e){var t=e.name.split(".")[e.name.split(".").length-1].toLowerCase();return!(["png","jpg","gif","icon","pdf","xlsx","xls","csv","mp4","avi"].indexOf(t)<0)||(this.$message.warning("请上传正确的格式文件"),!1)},echoUpload:function(e){var t=this;if(e&&e.length>0){for(var n=[],i=0;i=e.limit?"hide_box":"",attrs:{headers:e.headers,limit:e.limit,action:e.requestUrl,"list-type":"picture-card","file-list":e.fileList,"on-preview":e.handlePictureCardPreview,"on-remove":e.handleRemove,"on-success":e.handleSuccess,"show-file-list":!0,"before-upload":e.handleBeforeUpload},scopedSlots:e._u([{key:"file",fn:function(t){var i=t.file;return n("div",{staticClass:"imgBox"},[e.typeImgShow(i)?n("img",{staticClass:"el-upload-list__item-thumbnail",attrs:{src:i.url,alt:""}}):e.typePdfShow(i)?n("svg-icon",{staticClass:"iconFont",attrs:{"icon-class":"PDF"}}):e.typeExcelShow(i)?n("svg-icon",{staticClass:"iconFont",attrs:{"icon-class":"Excel"}}):e._e(),e._v(" "),n("span",{staticClass:"el-upload-list__item-actions"},[e.typeImgShow(i)?n("span",{staticClass:"el-upload-list__item-preview",on:{click:function(t){return e.handlePictureCardPreview(i)}}},[n("i",{staticClass:"el-icon-zoom-in"})]):e._e(),e._v(" "),n("span",{staticClass:"el-upload-list__item-delete",on:{click:function(t){return e.handleDownload(i)}}},[n("i",{staticClass:"el-icon-download"})]),e._v(" "),n("span",{staticClass:"el-upload-list__item-delete",on:{click:function(t){return e.handleRemove(i)}}},[n("i",{staticClass:"el-icon-delete"})])])],1)}}])},[n("i",{staticClass:"el-icon-plus",attrs:{slot:"default"},slot:"default"})]),e._v(" "),n("el-dialog",{attrs:{visible:e.dialogVisibleImageUpload,modal:!1},on:{"update:visible":function(t){e.dialogVisibleImageUpload=t}}},[n("img",{attrs:{width:"100%",src:e.imageUploadUrl,alt:""}})])],1)},[],!1,null,"94cf27d6",null));Ve.options.__file="anji-upload.vue";var ze=Ve.exports,Qe=n("OLzz"),He=n.n(Qe);n("cOfl");ae.beforeEach(function(e,t,n){He.a.start(),n()}),ae.afterEach(function(){He.a.done()});var Je={inserted:function(e,t,n){var i=t.value;0==Object(pe.g)(i)&&e.parentNode&&e.parentNode.removeChild(e)}},We=function(e){e.directive("permission",Je)};window.Vue&&(window.permission=Je,Vue.use(We)),Je.install=We;var Ke=Je,Ge=n("WnWJ"),Xe=n.n(Ge);n("up9U");a.default.component("v-chart",$e.a),a.default.component("anji-upload",ze),a.default.component("anji-crud",Ie.default),a.default.component("anji-select",Ue),a.default.use(Ke),a.default.use(Xe.a),a.default.use(s.a,{zhLocale:c.a}),o()(i).forEach(function(e){a.default.filter(e,i[e])}),a.default.mixin(Ae),a.default.prototype.$pageSizeAll=[10,50,100,200,500],a.default.config.productionTip=!1,new a.default({el:"#app",router:ae,store:ee.a,render:function(e){return e(m)}})},X4fA:function(e,t,n){"use strict";n.d(t,"f",function(){return l}),n.d(t,"e",function(){return s}),n.d(t,"j",function(){return u}),n.d(t,"i",function(){return c}),n.d(t,"c",function(){return d}),n.d(t,"b",function(){return f}),n.d(t,"d",function(){return p}),n.d(t,"h",function(){return h}),n.d(t,"a",function(){return m}),n.d(t,"g",function(){return b});var i=n("XS0u"),r="token",o="shareToken",a="gaeaUser";function l(){return Object(i.b)(r)}function s(){return null==Object(i.b)(o)?"":Object(i.b)(o)}function u(e){return Object(i.c)(r,e)}function c(e){return Object(i.c)(o,e)}function d(){return Object(i.a)(r)}function f(){return Object(i.a)(o)}function p(){return Object(i.b)(a)}function h(e){return Object(i.c)(a,e)}function m(){return Object(i.a)(a)}function b(e){return!0}},XS0u:function(e,t,n){"use strict";n.d(t,"c",function(){return l}),n.d(t,"b",function(){return s}),n.d(t,"a",function(){return u});var i=n("omC7"),r=n.n(i),o=n("Q2cO"),a=n.n(o);n("jJIE");function l(e,t){if(void 0!==t&&null!=t){var n=t;"object"==(void 0===t?"undefined":a()(t))&&(n=r()(t)),localStorage.setItem(e,n)}}function s(e){var t=localStorage.getItem(e);try{return JSON.parse(t)}catch(e){return t}}function u(e){localStorage.removeItem(e)}},"ZU+s":function(e,t,n){},ZXUr:function(e,t,n){"use strict";var i=n("Itw0");n.n(i).a},aGE4:function(e,t,n){},"ba/L":function(e,t,n){"use strict";n.d(t,"e",function(){return u}),n.d(t,"b",function(){return c}),n.d(t,"f",function(){return d}),n.d(t,"a",function(){return f}),n.d(t,"d",function(){return p}),n.d(t,"c",function(){return h});var i=n("Asgo"),r=n.n(i),o=n("t3Un"),a=n("X4fA"),l=n("f0Pt"),s=n.n(l);function u(e){return Object(o.a)({url:"reportDashboard",method:"post",data:e})}function c(e){return Object(o.a)({url:"reportDashboard/"+e,headers:{"Share-Token":Object(a.e)(),Authorization:Object(a.f)()},method:"get"})}function d(e){return Object(o.a)({url:"dataSet/queryAllDataSet",method:"get"})}function f(e){return Object(o.a)({url:"dataSet/detailBysetId/"+e,method:"get"})}function p(e){return Object(o.a)({url:"reportDashboard/getData",method:"post",headers:{"Share-Token":Object(a.e)(),Authorization:Object(a.f)()},data:e})}function h(e){return new r.a(function(t){s()({method:"get",url:".//reportDashboard/export",headers:{Authorization:Object(a.f)()},params:e,responseType:"blob"}).then(function(e){t(e.data)}).catch(function(e){t("error")})})}},dVUk:function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"c",function(){return a});var i=n("t3Un");function r(e){return Object(i.a)({url:"accessUser/login",method:"post",data:e})}function o(){return Object(i.a)({url:"accessUser/logout",method:"post"})}function a(e){return Object(i.a)({url:"/accessUser/updatePassword",method:"post",data:e})}},fcOe:function(e,t,n){},gaEW:function(e,t,n){},hk9y:function(e,t,n){},lnxG:function(e,t,n){},oveC:function(e,t,n){},rQpy:function(e,t,n){"use strict";var i=n("UbsL");n.n(i).a},sYqA:function(e,t,n){"use strict";n.r(t);var i=n("cLjf"),r=n.n(i),o=n("hDQ3"),a=n.n(o),l=n("t3Un"),s={components:{},props:{url:{type:[String],default:function(){return""}},id:{type:[String],default:function(){return"id"}},label:{type:[String],default:function(){return""}},value:{type:[String],default:function(){return""}},labelName:String,enableFilter:Boolean,isOpen:Boolean},data:function(){return{filterText:"",treeData:[]}},computed:{},watch:{filterText:function(e){this.$refs.table_tree.filter(e)}},mounted:function(){this.queryData()},methods:{filterNode:function(e,t){return!e||-1!==t.label.indexOf(e)},queryData:function(){var e=this;this.isBlank(this.url)||Object(l.a)({url:this.url,method:"GET"}).then(function(t){"200"==t.code&&(e.treeData="[object Array]"==Object.prototype.toString.call(t.data)?t.data:t.data.tree||t.data.menuTree)})},nodeClick:function(e){this.$emit("input",e.id),this.$emit("node-click",e.id)},checkedEvent:function(e,t){var n=t.checkedKeys.toString();this.$emit("input",n)}}},u=(n("RXVF"),n("ZrdR")),c=Object(u.a)(s,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e.enableFilter?n("el-input",{staticClass:"filterInput",attrs:{placeholder:"搜索"},model:{value:e.filterText,callback:function(t){e.filterText=t},expression:"filterText"}}):e._e(),e._v(" "),n("div",{staticClass:"title"},[e._v(e._s(e.labelName))]),e._v(" "),n("el-tree",{ref:"table_tree",attrs:{data:e.treeData,"node-key":"id","default-expand-all":e.isOpen,"expand-on-click-node":!1,"filter-node-method":e.filterNode},on:{"node-click":e.nodeClick,check:e.checkedEvent}})],1)},[],!1,null,"0b9e713f",null);c.options.__file="anji-tree.vue";var d=c.exports,f=n("Q2cO"),p=n.n(f),h=n("omC7"),m=n.n(h),b={components:{},props:{modelType:String,showDialog:Boolean,option:{type:[Object],default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[],formChange:function(e,t,n,i){}}}},relateData:{type:[Object],default:function(){return{}}},value:{type:[Object],default:function(){return{}}}},data:function(){return{cardRowColNum:this.option.rowColForm||2,editForm:{}}},computed:{primaryKeyFieldName:function(){var e=this.option.columns.find(function(e){return 1==e.primaryKey});return null!=e?e.field:null},joinColumn:function(){var e=this.option.joinColumn;return this.isBlank(e)&&(console.warn("在joinEntity中查找joinColumn属性失败,会导致查询详情和删除失败"),e=""),e},formFields:function(){var e=this;if(null==this.option.columns)return[];var t=this.deepClone(this.option.columns);return t=t.map(function(t){return e.isBlank(t.editField)&&(t.editField=t.field),e.isBlank(t.group)&&(t.group="其它"),t})},cardRowColSpan:function(){return 24/this.cardRowColNum},columnGroups:function(){return this.isBlank(this.formFields)?[]:this.formFields.map(function(e){return e.group}).filter(function(e,t,n){return n.indexOf(e)==t})},groupFormFields:function(){if(this.showDialog){var e={};return this.columnGroups.forEach(function(t,n,i){e[t]=[]}),this.formFields.forEach(function(t,n,i){e[t.group].push(t)}),e}return[]},groupModel:function(){return this.columnGroups.length>1}},created:function(){this.$watch(function(){return this.value},function(e,t){this.editForm=e,this.formChange()}),this.$watch(function(){return this.relateData[this.joinColumn]},function(e,t){if(this.isBlank(this.relateData))return this.cardRowColNum=2,void(this.editForm={});this.isNotBlank(e)&&this.queryDetail()})},mounted:function(){this.isNotBlank(this.value)&&(this.editForm=this.value,this.formChange()),this.isNotBlank(this.relateData)&&this.isNotBlank(this.relateData[this.joinColumn])&&this.queryDetail()},methods:{fieldIsHide:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("hideOnAdd")>=0;if("view"==this.modelType)return e.indexOf("hideOnView")>=0;if("edit"==this.modelType)return e.indexOf("hideOnEdit")>=0}return!1},fieldIsDisable:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("disableOnAdd")>=0;if("view"==this.modelType)return e.indexOf("disableOnView")>=0;if("edit"==this.modelType)return e.indexOf("disableOnEdit")>=0}return!1},handleSetRowColNum:function(e){this.cardRowColNum=e,this.$emit("changeRowColNum",e)},queryDetail:function(){var e=this;return a()(r.a.mark(function t(){var n,i,o;return r.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.relateData,t.next=3,e.option.buttons.queryByPrimarykey.api(n);case 3:if(i=t.sent,o=i.data,"200"==i.code){t.next=8;break}return t.abrupt("return");case 8:e.editForm=o,e.formChange();case 10:case"end":return t.stop()}},t,e)}))()},validate:function(e){var t=this;this.$refs.editForm.validate(function(){var n=a()(r.a.mark(function n(i,o){return r.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:null!=e&&e(i);case 1:case"end":return t.stop()}},n,t)}));return function(e,t){return n.apply(this,arguments)}}())},handleSave:function(e){var t=this;this.$refs.editForm.validate(function(){var n=a()(r.a.mark(function n(i,o){var a,l,s,u,c,d;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:if(!i){n.next=20;break}if("add"!=t.modelType){n.next=11;break}return"function"==typeof t.option.beforeInsert&&t.option.beforeInsert(t.relateData,t.editForm),n.next=5,t.option.buttons.add.api(t.editForm);case 5:a=n.sent,l=a.code,s=a.message,"200"==l?null!=e&&e():console.log("提交表单调用新增接口失败:"+s),n.next=18;break;case 11:return"function"==typeof t.option.beforeUpdate&&t.option.beforeUpdate(t.relateData,t.editForm),n.next=14,t.option.buttons.edit.api(t.editForm);case 14:u=n.sent,c=u.code,d=u.message,"200"==c?null!=e&&e():console.log("提交表单调用更新接口失败:"+d);case 18:n.next=21;break;case 20:console.log("表单校验失败");case 21:case"end":return n.stop()}},n,t)}));return function(e,t){return n.apply(this,arguments)}}())},formChange:function(e,t,n){this.$emit("input",this.editForm),"function"==typeof this.option.formChange&&this.option.formChange(this.editForm,e,t,n)}}},v=(n("wTyl"),Object(u.a)(b,function(){var e=this,t=e.$createElement,n=e._self._c||t;return null==e.option.hide||0==e.option.hide?n("div",{staticClass:"anji-card"},[n("div",{staticClass:"card-head"},[e._v("\n "+e._s(e.option.title)+"\n "),n("div",{staticClass:"main-card-header-button"},[n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(4)}}},[e._v("||||")]),e._v(" "),n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(3)}}},[e._v("|||")]),e._v(" "),n("el-button",{attrs:{type:"text"},on:{click:function(t){return e.handleSetRowColNum(2)}}},[e._v("||")])],1)]),e._v(" "),n("div",{staticClass:"card-body"},[n("el-form",{ref:"editForm",attrs:{model:e.editForm,"label-width":e.option.labelWidth||"100px"}},[e._l(e.columnGroups,function(t){return[e.groupModel?n("el-divider",{key:t,attrs:{"content-position":"left"}},[e._v(e._s(t))]):e._e(),e._v(" "),n("el-row",{key:t,staticClass:"form_table"},[e._l(e.groupFormFields[t],function(t){return[0==e.fieldIsHide(t.editHide)?n("el-col",{key:t.editField,attrs:{span:null==t.rowColSpan?e.cardRowColSpan:t.rowColSpan}},[n("el-form-item",{attrs:{label:t.label,rules:t.rules,prop:t.editField,disabled:t.disabled}},[""!=t.tips&&null!=t.tips?n("span",{staticClass:"input_tips",style:{"margin-left":"-13px"}},[n("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:t.tips,placement:"top-start"}},[n("svg-icon",{attrs:{"icon-class":"tishi-yiwen"}})],1)],1):e._e(),e._v(" "),"input"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"switch"==t.inputType?n("el-switch",{attrs:{disabled:e.fieldIsDisable(t.disabled),"active-value":1,"inactive-value":0,"inactive-color":"#ccc","active-color":"#5887fb"},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"input-number"==t.inputType?n("el-input-number",{attrs:{min:t.inputNumberOption.min,max:t.inputNumberOption.max,placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-input"==t.inputType?n("anji-input",{attrs:{unit:t.anjiInput.unit,"default-unit":t.anjiInput.defaultUnit,placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-select"==t.inputType?n("anji-select",{attrs:{"allow-create":t.anjiSelectOption.allowCreate,multiple:t.anjiSelectOption.multiple,disabled:e.fieldIsDisable(t.disabled),"dict-code":t.anjiSelectOption.dictCode,placeholder:t.placeholder,url:t.anjiSelectOption.url,method:t.anjiSelectOption.method,"query-param":t.anjiSelectOption.queryParam,"merge-label":t.anjiSelectOption.mergeLabel,option:t.anjiSelectOption.option,label:t.anjiSelectOption.label,"remote-filter":t.anjiSelectOption.remoteFilter,"disabled-options":t.anjiSelectOption.disabledOptions,"select-keyword":t.anjiSelectOption.selectKeyword},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):t.inputType.indexOf("date")>=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,format:t.format,"value-format":t.valueFormat,disabled:e.fieldIsDisable(t.disabled),clearable:!1!==t.clearable},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,n)},expression:"editForm[item.editField]"}}):"checkbox"==t.inputType?n("anji-checkbox",{attrs:{"dict-code":t.anjiCheckbox.dictCode,url:t.anjiCheckbox.url,label:t.anjiCheckbox.label,disabled:e.fieldIsDisable(t.disabled)},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-cascader"==t.inputType?n("anji-cascader",{attrs:{disabled:e.fieldIsDisable(t.disabled),"single-display":t.anjiCascader.singleDisplay,url:t.anjiCascader.url},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-upload"==t.inputType?n("anji-upload",{attrs:{"up-load-url":t.anjiUpload.upLoadUrl,"view-url":t.anjiUpload.viewUrl,"upload-type":t.anjiUpload.uploadType,limit:t.anjiUpload.limit},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-autocomplete"==t.inputType?n("anji-autocomplete",{attrs:{disabled:e.fieldIsDisable(t.disabled),label:t.anjiAutocomplete.label,option:t.anjiAutocomplete.option,"appoint-value":t.anjiAutocomplete.appointValue,url:t.anjiAutocomplete.url},on:{change:function(n,i){return e.formChange(t.editField,n,i)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"textarea"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:e.fieldIsDisable(t.disabled),type:"textarea",rows:2},on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):"anji-country"==t.inputType?n("anji-fourlevel",{on:{change:function(n){return e.formChange(t.editField,n,null)}},model:{value:e.editForm[t.editField],callback:function(n){e.$set(e.editForm,t.editField,"string"==typeof n?n.trim():n)},expression:"editForm[item.editField]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1)],1):e._e()]})],2)]})],2)],1)]):e._e()},[],!1,null,"36f1f9f6",null));v.options.__file="edit-form.vue";var g=v.exports,y={components:{},props:{modelType:String,option:{type:[Object],default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[]}}},relateData:{type:[Object],default:function(){return{}}},value:{type:[Array],default:function(){return[]}},valueNew:{type:[Array],default:function(){return[]}}},data:function(){return{checkRecords:[],form:{records:[],total:0},saveButtonStatus:[],rowIdList:[]}},computed:{primaryKeyFieldName:function(){var e=this.option.columns.find(function(e){return 1==e.primaryKey});return null!=e?e.field:null},joinColumn:function(){var e=this.option.joinColumn;return this.isBlank(e)&&(console.warn("在columns中查找关联字段失败,会导致查询详情和删除失败,孙子关联表忽略该错误"),e=""),e},formRecordsUndelete:function(){return null==this.form.records?[]:this.form.records.filter(function(e){return null==e.deletedFlag||0==e.deletedFlag})}},watch:{},created:function(){this.isNotBlank(this.joinColumn)&&this.$watch(function(){return this.relateData[this.joinColumn]},function(e,t){this.isNotBlank(e)?this.handleQueryPageList(e):(this.checkRecords=[],this.form.records=[],this.form.total=0,this.saveButtonStatus=[])})},mounted:function(){this.isNotBlank(this.relateData)&&this.isNotBlank(this.relateData[this.joinColumn])&&this.handleQueryPageList()},methods:{fieldIsHide:function(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("add"==this.modelType)return e.indexOf("hideOnAdd")>=0;if("view"==this.modelType)return e.indexOf("hideOnView")>=0;if("edit"==this.modelType)return e.indexOf("hideOnEdit")>=0}return!1},getRowEditButton:function(e){return"inEditing"==this.saveButtonStatus[e]?"btn_savetemp":"inAdding"==this.saveButtonStatus[e]?"btn_savetemp":"inShow"==this.saveButtonStatus[e]?"btn_edit":"not_permission"},tableRowClassAdapter:function(e){var t=e.row,n=e.rowIndex;t.index=n},handleQueryPageList:function(e){var t=this;return a()(r.a.mark(function n(){var i;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:t.isBlank(e)&&(e=t.relateData[t.joinColumn]),(i={})[t.joinColumn]=e,t.queryPageList(i);case 4:case"end":return n.stop()}},n,t)}))()},queryPageList:function(e){var t=this;return a()(r.a.mark(function n(){var i,o,a;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return t.isNotBlank(t.option.buttons.query.order)&&(e.sort=t.option.buttons.query.sort,e.order=t.option.buttons.query.order),n.next=3,t.option.buttons.query.api(e);case 3:if(i=n.sent,o=i.data,"200"==i.code){n.next=8;break}return n.abrupt("return");case 8:for(t.form.records=o.records,t.form.total=o.total,t.$emit("input",t.form.records),a=0;a=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,clearable:!1!==t.clearable,disabled:"inShow"==e.saveButtonStatus[i.$index]||t.disabled},on:{change:function(n){return e.tableRowChange(i.$index,t.field,n)}},model:{value:i.row[t.field],callback:function(n){e.$set(i.row,t.field,n)},expression:"scope.row[item.field]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1)]}}],null,!0)}):e._e()]}),e._v(" "),n("el-table-column",{attrs:{fixed:"right",label:"操作",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleAddOrUpdate(t.row,t.$index)}}},[e._v(e._s(e.getRowEditButton(t.$index)))]),e._v(" "),n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDelete(t.row,t.$index)}}},[e._v("删除")])]}}],null,!1,1921872996)})],2)],1),e._v(" "),"view"!=e.modelType?n("button",{staticClass:"table-add-row-button",on:{click:e.handleAdd}},[n("i",{staticClass:"el-icon-plus"}),e._v(" "),n("span",[e._v("新增")])]):e._e()],1)]):e._e()},[],!1,null,"563fdf1c",null));w.options.__file="edit-table.vue";var C={name:"EditDialog",components:{EditForm:g,EditTable:w.exports},props:{visible:{type:[Boolean],default:function(){return!1}},rowData:{type:[Object],default:function(){return{}}},handleDetailData:{type:Function,default:function(e){return e}},submitDetailData:{type:Function,default:function(e,t){return e}},modelType:String,option:{require:!0,type:Object,default:function(){return{title:"",labelWidth:"",queryFormFields:[],buttons:{query:{},edit:{},delete:{},add:{}},columns:[]}}}},data:function(){return{showDialog:!1,dialogFullScreen:!1,cardRowColNum:2,saveForm:{},countForValidJoinForm:0}},computed:{dialogWidth:function(){return 2==this.cardRowColNum?"60%":3==this.cardRowColNum?"70%":4==this.cardRowColNum?"80%":"60%"},joinEntitys:function(){return this.isBlank(this.option.joinEntitys)?[]:this.option.joinEntitys},countJoinEntityOneToOne:function(){var e=this.joinEntitys.filter(function(e){return"OneToOne"==e.joinType});return null==e?0:e.length}},watch:{visible:function(e,t){this.showDialog=e,this.initDefaultSaveForm()},rowData:function(e,t){null!=e&&this.queryByPrimarykey(e)}},mounted:function(){this.initDefaultSaveForm()},methods:{getSaveForm:function(){return this.saveForm},setSaveForm:function(e){this.saveForm=e},initDefaultSaveForm:function(){var e=this,t={};this.option.columns.forEach(function(n){var i=n.editField;e.isBlank(i)&&(i=n.field);var r=n.defaultValue;e.isNotBlank(r)&&(t[i]=r)}),this.saveForm=this.deepClone(t),console.log("编辑框默认值:"+m()(this.saveForm))},handleCloseDialog:function(e){this.initDefaultSaveForm(),this.showDialog=!1,this.dialogFullScreen=!1,this.cardRowColNum=2,this.countForValidJoinForm=0,this.$emit("closeEvent",e)},handleTopCloseDialog:function(){this.initDefaultSaveForm(),this.showDialog=!1,this.dialogFullScreen=!1,this.cardRowColNum=2,this.countForValidJoinForm=0},handleSetRowColNum:function(e){this.cardRowColNum=e},getComponentByJoinType:function(e,t){return"OneToOne"==e?"EditForm":"OneToMany"==e?"EditTable":""},queryByPrimarykey:function(e){var t=this;return a()(r.a.mark(function n(){var i,o;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.option.buttons.queryByPrimarykey.api(e);case 2:if(i=n.sent,o=i.data,"200"==i.code){n.next=7;break}return n.abrupt("return");case 7:t.showDialog=!0,t.saveForm=t.handleDetailData(o);case 9:case"end":return n.stop()}},n,t)}))()},handleValidateAndSave:function(){var e=this;this.countForValidJoinForm=0,this.$refs.mainForm.validate(function(t){if(0!=t)if(console.log("主表单校验完成"),null!=e.joinEntitys&&0!=e.joinEntitys.length)for(var n=function(t){console.log("开始校验子表单-"+t+" 校验");var n=e.joinEntitys[t];if(console.log(n),null!=e.$refs["joinForm"+t]&&1!=n.hide&&null!=e.saveForm[n.fieldNameInMainEntityOnSave]&&0!=e.saveForm[n.fieldNameInMainEntityOnSave].length)return e.checkedChildrenValidate(e.saveForm[n.fieldNameInMainEntityOnSave],n.columns)?(e.countForValidJoinForm++,console.log("已经校验的子表单:"+e.countForValidJoinForm+" 共:"+e.joinEntitys.length),e.countForValidJoinForm==e.joinEntitys.length&&(console.log("子表单校验完成,提交主表单"),e.handleSave()),"continue"):{v:void 0};console.warn("子表单校验失败");var i=e.$refs["joinForm"+t];"[object Array]"==toString.call(i)&&(i=i[0]),i.validate(function(n){n?(e.countForValidJoinForm++,console.log("已经校验的子表单:"+e.countForValidJoinForm+" 共:"+e.joinEntitys.length),e.countForValidJoinForm==e.joinEntitys.length&&(console.log("子表单校验完成,提交主表单"),e.handleSave())):console.warn("子表单"+t+"校验失败:")})},i=0;i0?e.forEach(function(e){t.records.forEach(function(t){e.id==t.id&&(t.dblClickFlag=!0,t.bgColor=!0)})}):this.records.forEach(function(e){e.dblClickFlag=!1,e.bgColor=!1}),this.isShowRowContextMenu=!1,this.checkRecords=e},handleSelectionDblclick:function(e){e.dblClickFlag=!e.dblClickFlag,e.bgColor=e.dblClickFlag,this.$refs.tables.toggleRowSelection(e,e.dblClickFlag)},rowContextMenu:function(e,t,n){var i=this;n.preventDefault(),this.option.contextMenu.forEach(function(e){"all"==e.flag?e.disabled=!(i.checkRecords.length>1):e.disabled=i.checkRecords.length>1}),this.contextMenuConfigStyle={left:n.clientX+"px",top:n.clientY+"px",display:"block"},this.contextMenuRow=e,this.isShowRowContextMenu=!0},handleContextMenuItem:function(e){"all"==e.flag?e.click({selection:this.checkRecords}):e.click({msg:this.contextMenuRow})},handleCurrentChange:function(e){this.queryParams.pageNumber=e,this.handleQueryPageList()},handleSizeChange:function(e){this.queryParams.pageNumber=1,this.queryParams.pageSize=e,this.handleQueryPageList()},fieldLabel:function(e){var t="",n=this.getSettingByName("unit_conversion"),i={};for(var r in n)e.anjiInput&&-1!=r.toLowerCase().indexOf(e.anjiInput.unit.toLowerCase())&&(i[r]=n[r]);for(var o in i)-1!=o.toLowerCase().indexOf("text")&&(t=i[o]);return null==e?"":"anji-input"==e.inputType&&null!=e.anjiInput?void 0==e.anjiInput.defaultUnit?e.label+"("+t+")":e.label+"("+e.anjiInput.defaultUnit+")":e.label},fieldValueByAnjiInput:function(e,t){var n=this.getSettingByName("unit_conversion"),i="",r="",o=[],a={};for(var l in n)t.anjiInput&&-1!=l.toLowerCase().indexOf(t.anjiInput.unit.toLowerCase())&&(a[l]=n[l]);for(var s in a)-1!=s.toLowerCase().indexOf("conversion")&&-1==s.toLowerCase().indexOf("conversiontext")&&-1==s.toLowerCase().indexOf("conversionradiogroup")&&(i=a[s]),-1!=s.toLowerCase().indexOf("keeppoint")&&(r=a[s]),Array.isArray(a[s])&&(o=a[s]);return null==t?e:"anji-input"!=t.inputType||null==t.anjiInput?e:void 0==t.anjiInput.defaultUnit?(e/i).toFixed(r||2):(e/o.find(function(e){return e.label==t.anjiInput.defaultUnit}).value).toFixed(r||2)},fieldValueByRowRenderer:function(e,t){return null==t||"function"!=typeof t.fieldTableRowRenderer?e[t.field]:t.fieldTableRowRenderer(e)},getMainEntity:function(){return this.$refs.edit.getSaveForm()},setMainEntity:function(e){this.$refs.edit.setSaveForm(e)},switchChange:function(e,t){var n=this;return a()(r.a.mark(function i(){return r.a.wrap(function(i){for(;;)switch(i.prev=i.next){case 0:Object(l.a)({url:t.url,method:"put",headers:{noPrompt:!1},data:[e.id]}).then(function(e){n.handleQueryPageList()});case 1:case"end":return i.stop()}},i,n)}))()},queryFormChange:function(e,t){"function"==typeof this.option.queryFormChange&&this.option.queryFormChange(this.queryParams,e,t)},tableRowClassName:function(e){var t=e.row,n=e.rowIndex;return!t.urgentFlag&&!t.tableRow||t.bgColor?(t.urgentFlag||t.tableRow)&&t.bgColor?"warning-row bgColor":t.urgentFlag&&t.tableRow||!t.bgColor?(n+1)%2==0?"success-row":void 0:"bgColor":"warning-row"}}},j=(n("B3E3"),Object(u.a)(_,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:[e.hasTreeFieldInQueryForm?"page-container":"app-container"]},[e.hasTreeFieldInQueryForm?n("div",{staticClass:"left-container"},[n("AnjiTree",{ref:"queryFormTree",attrs:{"is-open":e.queryFormTreeField.anjiTreeOption.isOpen,"enable-filter":e.queryFormTreeField.anjiTreeOption.enableFilter,"label-name":e.queryFormTreeField.label,url:e.queryFormTreeField.anjiTreeOption.url},on:{"node-click":e.handleTreeNodeCheck},model:{value:e.queryParams[e.queryFormTreeField.field],callback:function(t){e.$set(e.queryParams,e.queryFormTreeField.field,"string"==typeof t?t.trim():t)},expression:"queryParams[queryFormTreeField.field]"}})],1):e._e(),e._v(" "),n("div",{staticClass:"right-container"},[n("div",{staticClass:"top_part"},[0==e.queryFormTreeHide?n("el-form",{ref:"formSearch",staticStyle:{"border-bottom":"1px solid #dbdde3","margin-bottom":"10px"},attrs:{model:e.queryParams,"label-width":"100px"}},[n("div",{staticClass:"screenFlex"},[n("div",{staticClass:"searchFormFlex"},[n("el-row",[e._l(e.queryFormFieldExcludeTree,function(t,i){return[i<3||e.queryParams.showMoreSearch?n("el-col",{key:t.field,attrs:{span:8}},[n("el-form-item",{attrs:{label:t.label,rules:t.rules,prop:t.field}},["input"==t.inputType||"input-number"==t.inputType?n("el-input",{attrs:{placeholder:t.placeholder||"请输入",clearable:!1!==t.clearable,disabled:t.disabled},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):"switch"==t.inputType?n("el-switch",{attrs:{disabled:t.disabled,"active-value":t.switchOption.disableValue,"inactive-value":t.switchOption.enableValue,"active-color":"#5887fb","inactive-color":"#ccc"},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):"anji-select"==t.inputType?n("anji-select",{attrs:{multiple:t.anjiSelectOption.multiple,"dict-code":t.anjiSelectOption.dictCode,url:t.anjiSelectOption.url,method:t.anjiSelectOption.method,"query-param":t.anjiSelectOption.queryParam,option:t.anjiSelectOption.option,label:t.anjiSelectOption.label,"disabled-options":t.anjiSelectOption.disabledOptions,disabled:t.disabled,"merge-label":t.anjiSelectOption.mergeLabel,"local-options":t.anjiSelectOption.localOptions},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):t.inputType.indexOf("date")>=0?n("el-date-picker",{staticStyle:{width:"100%"},attrs:{placeholder:t.placeholder||"请选择",type:t.inputType,format:t.format,"value-format":t.valueFormat,clearable:!1!==t.clearable},on:{change:function(n){return e.queryFormChange(t.field,n)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,n)},expression:"queryParams[item.field]"}}):"anji-cascader"==t.inputType?n("anji-cascader",{attrs:{disabled:t.disabled,"single-display":t.anjiCascader.singleDisplay,url:t.anjiCascader.url},on:{change:function(n){return e.queryFormChange(t.field,n,null)}},model:{value:e.queryParams[t.field],callback:function(n){e.$set(e.queryParams,t.field,"string"==typeof n?n.trim():n)},expression:"queryParams[item.field]"}}):n("el-input",{attrs:{placeholder:"组件不支持此类型表单请至组件内部自行扩展",disabled:""}})],1)],1):e._e()]})],2)],1),e._v(" "),n("div",{staticClass:"screenButtons"},[e.queryFormFieldExcludeTree.length>3?n("el-button",{staticClass:"button",attrs:{size:"mini",plain:""},on:{click:e.handleToggleMoreSearch}},[n("i",{class:e.queryParams.showMoreSearch?"el-icon-arrow-up":"el-icon-arrow-down"}),e._v("\n "+e._s(1==e.queryParams.showMoreSearch?"展开":"收起")+"\n ")]):e._e(),e._v(" "),n("el-button",{staticClass:"button",attrs:{size:"mini",plain:""},on:{click:function(t){return e.handleResetForm()}}},[e._v("重置")]),e._v(" "),n("el-button",{staticClass:"button",attrs:{size:"mini",type:"primary"},on:{click:function(t){return e.handleQueryForm("query")}}},[e._v("查询")])],1)])]):e._e(),e._v(" "),n("div",{staticStyle:{"padding-bottom":"8px"}},[e._t("buttonLeftOnTable",null,{selection:e.checkRecords}),e._v(" "),void 0==e.option.buttons.add.isShow||e.option.buttons.add.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.add.permission,expression:"option.buttons.add.permission"}],staticClass:"button",attrs:{plain:"",icon:"el-icon-plus"},on:{click:function(t){return e.handleOpenEditView("add")}}},[e._v("新增")]):e._e(),e._v(" "),void 0==e.option.buttons.delete.isShow||e.option.buttons.delete.isShow?n("el-button",{directives:[{name:"permission",rawName:"v-permission",value:e.option.buttons.delete.permission,expression:"option.buttons.delete.permission"}],staticClass:"button",attrs:{plain:"",disabled:e.disableBatchDelete,type:"danger",icon:"el-icon-delete"},on:{click:function(t){return e.handleDeleteBatch()}}},[e._v("删除")]):e._e(),e._v(" "),e._t("buttonRightOnTable",null,{selection:e.checkRecords})],2)],1),e._v(" "),n("div",{staticClass:"main_part"},[n("div",{staticClass:"page_main"},[n("el-table",{ref:"tables",staticClass:"elTable",attrs:{align:"center",data:e.records,"row-class-name":e.tableRowClassName,border:""},on:{"selection-change":e.handleSelectionChange,"sort-change":e.handleSortChange,"row-dblclick":e.handleSelectionDblclick,"row-contextmenu":e.rowContextMenu}},[n("el-table-column",{attrs:{fixed:"",type:"selection",width:"50",align:"center"}}),e._v(" "),e.tableExpandColumns.length>0?n("el-table-column",{attrs:{type:"expand"},scopedSlots:e._u([{key:"default",fn:function(t){return e._l(e.tableExpandColumns,function(i){return n("p",{key:i.field,staticClass:"table-expand-item"},[n("span",{staticClass:"titel"},[e._v(" "+e._s(i.label)+": ")]),e._v(" "),n("span",[e._v(e._s(t.row[i.field]))])])})}}],null,!1,3354752618)}):e._e(),e._v(" "),n("el-table-column",{attrs:{label:"序号","min-width":"50",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v("\n "+e._s(e.queryParams.pageSize*(e.queryParams.pageNumber-1)+t.$index+1)+"\n ")]}}])}),e._v(" "),e._l(e.option.columns,function(t,i){return[1!=t.tableHide&&"expand"!=t.columnType?n("el-table-column",{key:i,attrs:{prop:t.field,label:e.fieldLabel(t),"min-width":t.minWidth||110,sortable:t.sortable,"show-overflow-tooltip":!0,align:"center"},scopedSlots:e._u([{key:"default",fn:function(i){return["imgPreview"==t.columnType?n("div",[n("el-image",{staticStyle:{width:"25%",height:"50%"},attrs:{fit:"contain",src:i.row[t.field],"preview-src-list":[i.row[t.field]]}})],1):n("div",["switch"!=t.inputType||t.colorStyle?"anji-input"==t.inputType?n("span",[e._v(e._s(e.fieldValueByAnjiInput(i.row[t.field],t)))]):t.mergeColumn?n("span",[e._v(e._s(i.row[t.field])+"("+e._s(i.row[t.mergeColumn])+")")]):t.colorStyle?n("span",{class:t.colorStyle[i.row[t.editField]]},[e._v(e._s(e.fieldValueByRowRenderer(i.row,t)))]):n("span",[e._v(e._s(e.fieldValueByRowRenderer(i.row,t)))]):n("span",[n("el-switch",{attrs:{"active-value":1,"inactive-value":0,"active-color":"#5887fb","inactive-color":"#ccc"},on:{change:function(n){return e.switchChange(i.row,t.switchOption)}},model:{value:i.row[t.field],callback:function(n){e.$set(i.row,t.field,"string"==typeof n?n.trim():n)},expression:"scope.row[item.field]"}})],1)])]}}],null,!0)}):e._e()]}),e._v(" "),n("el-table-column",{attrs:{align:"center",fixed:"right",label:"操作",width:e.option.buttons.customButton&&e.option.buttons.customButton.operationWidth?e.option.buttons.customButton.operationWidth:100},scopedSlots:e._u([{key:"default",fn:function(t){return[e._t("rowButton",null,{msg:t.row}),e._v(" "),void 0==e.option.buttons.edit.isShow||e.option.buttons.edit.isShow?n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleOpenEditView("edit",t.row)}}},[e._v("编辑")]):e._e(),e._v(" "),0==e.hasCustomButtonInRowMore&&void 0==e.option.buttons.delete.isShow||e.option.buttons.edit.isShow?n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDeleteBatch(t.row)}}},[e._v("删除")]):e._e(),e._v(" "),e.hasCustomButtonInRowMore?n("el-dropdown",{attrs:{trigger:"click"}},[n("span",{staticClass:"el-dropdown-link"},[e._v("更多"),n("i",{staticClass:"el-icon-caret-bottom el-icon--right"})]),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",{staticClass:"clearfix"},[e._t("rowButtonInMore",null,{msg:t.row}),e._v(" "),void 0==e.option.buttons.delete.isShow||e.option.buttons.edit.isShow?n("el-button",{attrs:{type:"text",size:"small"},on:{click:function(n){return e.handleDeleteBatch(t.row)}}},[e._v("删除")]):e._e()],2)],1)],1):e._e()]}}],null,!0)})],2),e._v(" "),n("div",{staticClass:"page_bottom"},[n("div",{staticClass:"pagination"},[n("div",[e._t("tableSelectionBtn",null,{selection:e.checkRecords})],2),e._v(" "),n("el-pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{background:"","current-page":e.queryParams.pageNumber,"page-sizes":e.$pageSizeAll,"page-size":e.queryParams.pageSize,layout:"total, prev, pager, next, jumper, sizes",total:e.total},on:{"update:currentPage":function(t){return e.$set(e.queryParams,"pageNumber",t)},"update:current-page":function(t){return e.$set(e.queryParams,"pageNumber",t)},"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1)])],1)]),e._v(" "),n("EditDialog",{ref:"edit",attrs:{"submit-detail-data":e.option.submitDetailData,"handle-detail-data":e.option.handleDetailData,option:e.option,"model-type":e.editDialogModelType,visible:e.editDialogOpen,"row-data":e.editDialogRowData},on:{closeEvent:e.editDialogClosedEvent},scopedSlots:e._u([{key:"customCard",fn:function(){return[e._t("cardInEditPage")]},proxy:!0},{key:"editBtn",fn:function(t){return[e._t("editBtnPage",null,{rowData:t})]}}],null,!0)})],1),e._v(" "),e._t("pageSection"),e._v(" "),n("anji-contextMenu",{attrs:{visible:e.isShowRowContextMenu,"style-obj":e.contextMenuConfigStyle},on:{"update:visible":function(t){e.isShowRowContextMenu=t}}},e._l(e.option.contextMenu,function(t,i){return n("div",{key:i,staticClass:"contextMenu"},[n("el-button",{staticClass:"contextMenuItem",attrs:{type:"text",disabled:t.disabled},on:{click:function(n){return e.handleContextMenuItem(t)}}},[e._v(e._s(t.label))])],1)}),0)],2)},[],!1,null,"1b349198",null));j.options.__file="anji-crud.vue";t.default=j.exports},sdkc:function(e,t,n){"use strict";var i=n("VGgK");n.n(i).a},sm2R:function(e,t,n){"use strict";n.d(t,"a",function(){return o}),n.d(t,"b",function(){return a});var i=n("t3Un"),r=n("XS0u");function o(e){return Object(i.a)({url:"/gaeaDict/select/"+e,method:"get"})}function a(e){Object(i.a)({url:"/gaeaDict/all",method:"GET"}).then(function(t){200==t.code?(Object(r.c)("gaeaDict",t.data),null!=e&&e()):console.error("初始化数据字典到local storage失败: "+t.message)})}},sxct:function(e,t,n){"use strict";n.d(t,"a",function(){return r});var i=n("iX2V");function r(e){return i(e+"gaea")}},t3Un:function(e,t,n){"use strict";var i=n("Asgo"),r=n.n(i),o=n("f0Pt"),a=n.n(o),l=n("VCIm"),s=(n("Q2AE"),n("X4fA")),u=a.a.create({baseURL:"./",timeout:2e4});u.interceptors.request.use(function(e){return e.headers.Authorization=null==Object(s.f)()||void 0==Object(s.f)()?"":Object(s.f)(),e},function(e){r.a.reject(e)}),u.interceptors.response.use(function(e){var t=e.data;if("50008"!=t.code&&"50012"!=t.code&&"50014"!=t.code)return"200"!==t.code?(Object(l.Message)({message:t.message,type:"error",duration:5e3}),e.data):e.data;l.MessageBox.confirm("你已被登出,可以取消继续留在该页面,或者重新登录","重新登录",{confirmButtonText:"重新登录",cancelButtonText:"取消",type:"warning"}).then(function(){sessionStorage.clear(),localStorage.clear(),window.location.href="/"})},function(e){return Object(l.Message)({message:e.message,type:"error",duration:5e3}),r.a.reject(e)}),t.a=u},uYT1:function(e,t,n){},vjVy:function(e,t,n){},wTyl:function(e,t,n){"use strict";var i=n("oveC");n.n(i).a},wihr:function(e,t,n){}},[["Vtdi","runtime","chunk-libs"]]]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0be3.ee8b1feb.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0be3.ee8b1feb.js deleted file mode 100644 index 30e7c3209..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0be3.ee8b1feb.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-0be3"],{CJ5O:function(e,t,r){"use strict";var a=r("cLjf"),o=r.n(a),n=r("hDQ3"),i=r.n(n),s=r("sm2R"),l={name:"GetDictionary",props:{dictKey:String,updataDict:String,value:String},data:function(){return{dictionary:"",dictionaryOptions:[]}},watch:{dictKey:{immediate:!0,handler:function(){this.getSystem()}},value:{handler:function(e){this.dictionary=e},deep:!0}},created:function(){this.getSystem()},mounted:function(){this.dictionary=this.value},methods:{getSystem:function(){var e=this;return i()(o.a.mark(function t(){var r,a,n;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(s.a)(e.dictKey);case 2:if(r=t.sent,a=r.code,n=r.data,"200"==a){t.next=7;break}return t.abrupt("return");case 7:e.dictionaryOptions=n;case 8:case"end":return t.stop()}},t,e)}))()},selectChange:function(e){this.$emit("input",e)}}},c=(r("rVG9"),r("ZrdR")),u=Object(c.a)(l,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-select",{attrs:{placeholder:"请选择",clearable:"",size:"mini"},on:{change:e.selectChange},model:{value:e.dictionary,callback:function(t){e.dictionary=t},expression:"dictionary"}},e._l(e.dictionaryOptions,function(e){return r("el-option",{key:e.id,attrs:{label:e.text,value:e.id}})}),1)},[],!1,null,"23d4be90",null);u.options.__file="index.vue";t.a=u.exports},HDHf:function(e,t,r){"use strict";r.d(t,"c",function(){return o}),r.d(t,"a",function(){return n}),r.d(t,"d",function(){return i}),r.d(t,"f",function(){return s}),r.d(t,"i",function(){return l}),r.d(t,"h",function(){return c}),r.d(t,"g",function(){return u}),r.d(t,"b",function(){return d}),r.d(t,"e",function(){return p});var a=r("t3Un");function o(e){return Object(a.a)({url:"/dataSet/detailBysetId/"+e.id,method:"get"})}function n(e){return Object(a.a)({url:"/dataSet",method:"post",data:e})}function i(e){return Object(a.a)({url:"/dataSet",method:"put",data:e})}function s(e){return Object(a.a)({url:"/dataSource/queryAllDataSource",method:"get",data:e})}function l(e){return Object(a.a)({url:"/dataSetParam/verification",method:"post",data:e})}function c(e){return Object(a.a)({url:"/dataSet/testTransform",method:"post",data:e})}function u(e){return Object(a.a)({url:"/report/pageList",method:"get",params:e})}function d(e){return Object(a.a)({url:"/reportExcel",method:"post",data:e})}function p(e){return Object(a.a)({url:"/reportExcel",method:"put",data:e})}},JvEN:function(e,t,r){},Mw6H:function(e,t,r){"use strict";var a=r("JvEN");r.n(a).a},T22U:function(e,t,r){"use strict";var a=r("cLjf"),o=r.n(a),n=r("hDQ3"),i=r.n(n),s=r("W6l8"),l=r("sm2R"),c={components:{Dictionary:r("CJ5O").a},props:{visib:{required:!0,type:Boolean,default:!1},reportCode:{required:!0,type:String,default:function(){return""}},reportName:{required:!0,type:String,default:function(){return""}}},data:function(){return{title:"报表分享",reportShareUrl:"",shareValidTypeOptions:[],dialogForm:{shareValidType:0,reportCode:"",shareUrl:"",shareCode:"",sharePassword:"",sharePasswordFlag:!1},shareLinkFlag1:!0,rules:{shareValidType:[{required:!0,message:"有效期必选",trigger:"change"}]}}},watch:{visib:function(e){e&&this.getSystem()}},created:function(){},methods:{titleBuild:function(){return"【"+this.reportName+"】报表分享"},selectChange:function(e){this.dialogForm.shareValidType=e},getSystem:function(){var e=this;return i()(o.a.mark(function t(){var r,a,n;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.shareLinkFlag1=!0,t.next=3,Object(l.a)("SHARE_VAILD");case 3:if(r=t.sent,a=r.code,n=r.data,"200"==a){t.next=8;break}return t.abrupt("return");case 8:e.shareValidTypeOptions=n,e.dialogForm.shareValidType=e.shareValidTypeOptions[0].id,e.dialogForm.sharePasswordFlag=!1,e.dialogForm.sharePassword="";case 12:case"end":return t.stop()}},t,e)}))()},createShare:function(){var e=this;return i()(o.a.mark(function t(){var r,a,n;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.dialogForm.reportCode=e.reportCode,e.dialogForm.shareUrl=window.location.href,t.next=4,Object(s.a)(e.dialogForm);case 4:if(r=t.sent,a=r.code,n=r.data,"200"==a){t.next=9;break}return t.abrupt("return");case 9:e.shareLinkFlag1=!1,e.$message({message:"创建链接成功!",type:"success"}),e.reportShareUrl=n.shareUrl,e.dialogForm.sharePassword=n.sharePassword;case 13:case"end":return t.stop()}},t,e)}))()},copyShare:function(){var e="";e=""==this.dialogForm.sharePassword?"AJ-Report分享链接:"+this.reportShareUrl:"AJ-Report分享链接:"+this.reportShareUrl+" 分享码:"+this.dialogForm.sharePassword,this.copyToClip(e),this.$message({message:"复制链接成功!",type:"success"})},copyToClip:function(e,t){var r=document.createElement("input");r.setAttribute("value",e),document.body.appendChild(r),r.select(),document.execCommand("copy"),document.body.removeChild(r)},saveReportShare:function(){var e=this;return i()(o.a.mark(function t(){return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:({}),e.closeDialog();case 2:case"end":return t.stop()}},t,e)}))()},closeDialog:function(){this.$emit("handleClose")}}},u=r("ZrdR"),d=Object(u.a)(c,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-dialog",{staticClass:"tree_dialog",attrs:{title:e.titleBuild(),width:"30%","close-on-click-modal":!1,center:"",visible:e.visib,"before-close":e.closeDialog},on:{"update:visible":function(t){e.visib=t}}},[e.shareLinkFlag1?r("div",[r("el-form",{ref:"userForm",attrs:{model:e.dialogForm,rules:e.rules,size:"small","label-width":"100px"}},[r("el-form-item",{attrs:{label:"有效期",prop:"shareValidType"}},[r("el-select",{attrs:{placeholder:"请选择",clearable:""},on:{change:e.selectChange},model:{value:e.dialogForm.shareValidType,callback:function(t){e.$set(e.dialogForm,"shareValidType","string"==typeof t?t.trim():t)},expression:"dialogForm.shareValidType"}},e._l(e.shareValidTypeOptions,function(e){return r("el-option",{key:e.id,attrs:{label:e.text,value:e.id}})}),1)],1),e._v(" "),r("el-form-item",{attrs:{label:"分享码",prop:"sharePasswordFlag"}},[r("el-switch",{model:{value:e.dialogForm.sharePasswordFlag,callback:function(t){e.$set(e.dialogForm,"sharePasswordFlag",t)},expression:"dialogForm.sharePasswordFlag"}})],1)],1),e._v(" "),r("el-button",{staticStyle:{"margin-left":"45px"},attrs:{type:"primary",plain:""},on:{click:e.createShare}},[e._v("创建链接")])],1):r("div",[r("el-form",{ref:"userForm",attrs:{model:e.dialogForm,rules:e.rules,size:"small","label-width":"100px"}},[r("el-form-item",{attrs:{label:"链接",prop:"reportShareUrl"}},[r("el-input",{attrs:{disabled:!0},model:{value:e.reportShareUrl,callback:function(t){e.reportShareUrl=t},expression:"reportShareUrl"}})],1),e._v(" "),r("el-form-item",{attrs:{label:"分享码",prop:"sharePassword"}},[r("el-input",{attrs:{disabled:!0},model:{value:e.dialogForm.sharePassword,callback:function(t){e.$set(e.dialogForm,"sharePassword",t)},expression:"dialogForm.sharePassword"}})],1),e._v(" "),r("el-row",{attrs:{gutter:10}},[""==e.dialogForm.sharePassword?r("el-button",{staticStyle:{"margin-left":"45px"},attrs:{type:"primary",plain:""},on:{click:e.copyShare}},[e._v("复制链接")]):e._e(),e._v(" "),""!=e.dialogForm.sharePassword?r("el-button",{staticStyle:{"margin-left":"45px"},attrs:{type:"primary",plain:""},on:{click:e.copyShare}},[e._v("复制链接和分享码")]):e._e()],1)],1)],1),e._v(" "),r("div",{staticStyle:{"text-align":"center"},attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"danger",plain:""},on:{click:e.closeDialog}},[e._v("取消")])],1)])},[],!1,null,null,null);d.options.__file="share.vue";t.a=d.exports},W6l8:function(e,t,r){"use strict";r.d(t,"a",function(){return o}),r.d(t,"b",function(){return n});var a=r("t3Un");function o(e){return Object(a.a)({url:"report/share",method:"post",data:e})}function n(e){return Object(a.a)({url:"reportShare/detailByCode",method:"get",params:{shareCode:e}})}},ctb9:function(e,t,r){},"fNM/":function(e,t,r){"use strict";r.r(t);var a=r("cLjf"),o=r.n(a),n=r("hDQ3"),i=r.n(n),s=r("T22U"),l=r("HDHf"),c={name:"Login",components:{Share:s.a},data:function(){return{list:[],rules:{},totalCount:0,totalPage:0,params:{reportCode:"",reportName:"",reportType:"report_screen",pageNumber:1,pageSize:8,order:"DESC",sort:"update_time"},visibleForShareDialog:!1,reportCodeForShareDialog:"",reportNameForShareDialog:""}},mounted:function(){},created:function(){this.queryByPage()},methods:{search:function(){this.params.pageNumber=1,this.queryByPage()},reset:function(e){this.$refs[e].resetFields(),this.params.reportName="",this.params.reportCode="",this.params.pageNumber=1,this.queryByPage()},queryByPage:function(){var e=this;return i()(o.a.mark(function t(){var r;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(l.g)(e.params);case 2:if("200"==(r=t.sent).code){t.next=5;break}return t.abrupt("return");case 5:e.listLoading=!0,e.list=r.data.records,e.list.forEach(function(e){e.reportNameCode=e.reportName+"["+e.reportCode+"]"}),e.totalCount=r.data.total,e.totalPage=r.data.pages,e.listLoading=!1;case 11:case"end":return t.stop()}},t,e)}))()},handleSizeChange:function(e){this.params.pageSize=e,this.queryByPage()},handleCurrentChange:function(e){this.params.pageNumber=e,this.queryByPage()},share:function(e){this.reportCodeForShareDialog=e.reportCode,this.reportNameForShareDialog=e.reportName,this.visibleForShareDialog=!0},openDesign:function(e){var t=this.$router.resolve({path:"/bigscreen/designer",query:{reportCode:e.reportCode}});window.open(t.href,"_blank")},viewDesign:function(e){var t=this.$router.resolve({path:"/bigscreen/viewer",query:{reportCode:e.reportCode}});window.open(t.href,"_blank")}}},u=(r("Mw6H"),r("ZrdR")),d=Object(u.a)(c,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"main-layout"},[a("el-form",{ref:"form",attrs:{model:e.params,rules:e.rules,"label-width":"120px"}},[a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{xs:24,sm:20,md:12,lg:6,xl:4}},[a("el-form-item",{attrs:{label:"名称"}},[a("el-input",{staticClass:"filter-item",attrs:{size:"mini",clearable:"",placeholder:"名称"},model:{value:e.params.reportName,callback:function(t){e.$set(e.params,"reportName",t)},expression:"params.reportName"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:12,lg:6,xl:4}},[a("el-form-item",{attrs:{label:"报表编码"}},[a("el-input",{staticClass:"filter-item",attrs:{size:"mini",clearable:"",placeholder:"报表编码"},model:{value:e.params.reportCode,callback:function(t){e.$set(e.params,"reportCode",t)},expression:"params.reportCode"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:4,lg:4,xl:4}},[a("el-button",{attrs:{type:"primary",size:"mini"},on:{click:function(t){return e.search("form")}}},[e._v("查询")]),e._v(" "),a("el-button",{attrs:{type:"danger",size:"mini"},on:{click:function(t){return e.reset("form")}}},[e._v("重置")])],1)],1)],1),e._v(" "),a("el-row",{attrs:{gutter:20}},e._l(e.list,function(t){return a("el-col",{key:t.id,attrs:{span:6}},[a("div",{staticClass:"bg"},[a("img",{staticClass:"bg-img",attrs:{src:null==t.reportImage||""==t.reportImage?r("fy9d"):t.reportImage,alt:""}}),e._v(" "),a("div",{staticClass:"content"},[a("header",[e._v(e._s(t.reportName))]),e._v(" "),a("footer",[e._v("\n "+e._s(t.updateTime)+"\n "),a("div",{staticClass:"operation"},[a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"bigScreenManage:share",expression:"'bigScreenManage:share'"}],staticClass:"view",attrs:{icon:"el-icon-share",type:"text"},on:{click:function(r){return e.share(t)}}}),e._v(" "),a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"bigScreenManage:view",expression:"'bigScreenManage:view'"}],staticClass:"view",attrs:{icon:"el-icon-view",type:"text"},on:{click:function(r){return e.viewDesign(t)}}}),e._v(" "),a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"bigScreenManage:design",expression:"'bigScreenManage:design'"}],staticClass:"edit",attrs:{icon:"el-icon-edit",type:"text"},on:{click:function(r){return e.openDesign(t)}}})],1)])])])])}),1),e._v(" "),a("div",{staticClass:"block"},[a("el-pagination",{attrs:{total:e.totalCount,"page-sizes":[8,20,50,100],"page-size":e.params.pageSize,"current-page":e.params.pageNumber,layout:"total, sizes, prev, pager, next, jumper"},on:{"size-change":e.handleSizeChange,"current-change":e.handleCurrentChange}})],1),e._v(" "),a("Share",{attrs:{visib:e.visibleForShareDialog,reportCode:e.reportCodeForShareDialog,reportName:e.reportNameForShareDialog},on:{handleClose:function(t){e.visibleForShareDialog=!1}}})],1)},[],!1,null,"d86dc16a",null);d.options.__file="index.vue";t.default=d.exports},fy9d:function(e,t,r){e.exports=r.p+"static/img/charts.47700dc.jpg"},rVG9:function(e,t,r){"use strict";var a=r("ctb9");r.n(a).a}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0f7e.2361843c.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0f7e.2361843c.js new file mode 100644 index 000000000..1f913c8a0 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-0f7e.2361843c.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-0f7e"],{GE2C:function(e,t,i){"use strict";var l=i("yBWt");i.n(l).a},lAHl:function(e,t,i){"use strict";i.r(t);var l=i("t3Un");function n(e){return Object(l.a)({url:"/file/pageList",method:"GET",params:e})}function a(e){return Object(l.a)({url:"/file",method:"post",data:e})}function r(e){return Object(l.a)({url:"/file/delete/batch",method:"POST",data:e})}function u(e){return Object(l.a)({url:"/file",method:"put",data:e})}function o(e){return Object(l.a)({url:"/file/"+e.id,method:"get",params:e})}var d=i("X4fA"),s={name:"File",components:{anjiCrud:i("sYqA").default},data:function(){return{selectedList:[],uploadUrl:".//file/upload",crudOption:{title:"文件管理",labelWidth:"120px",queryFormFields:[{inputType:"input",label:"文件路径",field:"filePath"}],buttons:{query:{api:n,permission:"fileManage:query",sort:"create_time",order:"DESC"},queryByPrimarykey:{api:o,permission:"fileManage:query"},add:{api:a,permission:"fileManage:upload",isShow:!1},delete:{api:r,permission:"fileManage:delete"},edit:{api:u,permission:"fileManage:update",isShow:!1},customButton:{operationWidth:160}},columns:[{label:"",field:"id",primaryKey:!0,tableHide:!0,editHide:!0},{label:"图片缩略图",field:"urlPath",columnType:"imgPreview",editHide:!0,placeholder:"",disabled:!1},{label:"文件标识",placeholder:"",field:"fileId",editField:"fileId",tableHide:!0,inputType:"input",rules:[{min:1,max:64,message:"不超过64个字符",trigger:"blur"}],disabled:!1},{label:"文件类型",placeholder:"",field:"fileType",editField:"fileType",inputType:"input",rules:[{min:1,max:1024,message:"不超过1024个字符",trigger:"blur"}],disabled:!1},{label:"文件路径",placeholder:"",field:"filePath",editField:"filePath",inputType:"input",rules:[{min:1,max:1024,message:"不超过1024个字符",trigger:"blur"}],disabled:!1},{label:"url路径",placeholder:"",field:"urlPath",editField:"urlPath",inputType:"input",rules:[{min:1,max:1024,message:"不超过1024个字符",trigger:"blur"}],disabled:!1},{label:"内容说明",placeholder:"",field:"fileInstruction",editField:"fileInstruction",inputType:"input",rules:[{min:1,max:1024,message:"不超过1024个字符",trigger:"blur"}],disabled:!1},{label:"创建人",field:"createByView",columnType:"expand",inputType:"input",disabled:!0},{label:"创建时间",field:"createTime",columnType:"expand",inputType:"input",disabled:!0}]}}},computed:{headers:function(){return{Authorization:Object(d.f)()}}},methods:{handleUpload:function(e,t,i){this.$refs.listPage.handleQueryForm(),this.$refs.upload.clearFiles()},handleError:function(){this.$message({message:"上传失败!",type:"error"})},downloadFile:function(e){window.open(e.urlPath)},customButtom:function(e){this.downloadFile(e.msg)},copyUrlPath:function(e){this.copyToClip(e.msg.urlPath),this.$message({message:"已将url路径复制至剪切板!",type:"success"})},copyToClip:function(e,t){var i=document.createElement("input");i.setAttribute("value",e),document.body.appendChild(i),i.select(),document.execCommand("copy"),document.body.removeChild(i)}}},p=(i("GE2C"),i("ZrdR")),c=Object(p.a)(s,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("anji-crud",{ref:"listPage",attrs:{option:e.crudOption},scopedSlots:e._u([{key:"buttonLeftOnTable",fn:function(){return[i("el-upload",{ref:"upload",staticClass:"el-upload",attrs:{action:e.uploadUrl,headers:e.headers,"on-success":e.handleUpload,"on-error":e.handleError,"show-file-list":!1,limit:1}},[i("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"fileManage:upload",expression:"'fileManage:upload'"}],attrs:{type:"primary",icon:"el-icon"}},[e._v("文件上传")])],1)]},proxy:!0},{key:"edit",fn:function(t){return[i("el-button",{attrs:{type:"text"},on:{click:function(i){return e.copyUrlPath(t)}}},[e._v("复制url")])]}},{key:"rowButton",fn:function(t){return[i("el-button",{attrs:{type:"text"},on:{click:function(i){return e.customButtom(t)}}},[e._v("下载")])]}}])})},[],!1,null,"52313b6e",null);c.options.__file="index.vue";t.default=c.exports},yBWt:function(e,t,i){}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-191b.585be6a2.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-191b.585be6a2.js new file mode 100644 index 000000000..04fa535d9 --- /dev/null +++ b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-191b.585be6a2.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-191b"],{CJ5O:function(e,t,r){"use strict";var a=r("cLjf"),i=r.n(a),o=r("hDQ3"),n=r.n(o),s=r("sm2R"),l={name:"GetDictionary",props:{dictKey:String,updataDict:String,value:String},data:function(){return{dictionary:"",dictionaryOptions:[]}},watch:{dictKey:{immediate:!0,handler:function(){this.getSystem()}},value:{handler:function(e){this.dictionary=e},deep:!0}},created:function(){this.getSystem()},mounted:function(){this.dictionary=this.value},methods:{getSystem:function(){var e=this;return n()(i.a.mark(function t(){var r,a,o;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(s.a)(e.dictKey);case 2:if(r=t.sent,a=r.code,o=r.data,"200"==a){t.next=7;break}return t.abrupt("return");case 7:e.dictionaryOptions=o;case 8:case"end":return t.stop()}},t,e)}))()},selectChange:function(e){this.$emit("input",e)}}},u=(r("rVG9"),r("ZrdR")),c=Object(u.a)(l,function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("el-select",{attrs:{placeholder:"请选择",clearable:"",size:"mini"},on:{change:e.selectChange},model:{value:e.dictionary,callback:function(t){e.dictionary=t},expression:"dictionary"}},e._l(e.dictionaryOptions,function(e){return r("el-option",{key:e.id,attrs:{label:e.text,value:e.id}})}),1)},[],!1,null,"23d4be90",null);c.options.__file="index.vue";t.a=c.exports},Yfch:function(e,t,r){"use strict";function a(e,t,r){""==t||void 0==t||null==t?r():/^[_a-zA-Z0-9]+$/.test(t)?r():r(new Error("英文字母、数字或下划线"))}r.d(t,"a",function(){return a})},ZjmF:function(e,t,r){"use strict";r.r(t);var a=r("t3Un");function i(e){return Object(a.a)({url:"dataSource/pageList",method:"GET",params:e})}function o(e){return Object(a.a)({url:"dataSource",method:"post",data:e})}function n(e){return Object(a.a)({url:"dataSource/delete/batch",method:"post",data:e})}function s(e){return Object(a.a)({url:"dataSource",method:"put",data:e})}function l(e){return Object(a.a)({url:"dataSource/"+e.id,method:"get",params:{accessKey:e.accessKey}})}function u(e){return Object(a.a)({url:"/dataSource/testConnection",method:"post",data:e})}var c=r("omC7"),d=r.n(c),p=r("cLjf"),m=r.n(p),f=r("hDQ3"),g=r.n(f),b=r("sm2R"),y=r("CJ5O"),h=r("Yfch"),v={name:"Support",components:{Dictionary:y.a},props:{visib:{required:!0,type:Boolean,default:!1},dataSource:{required:!1,type:Object,default:function(){return""}}},data:function(){return{dictionaryOptions:[],selectedList:[],clickType:"",formData:{},list:null,totalCount:0,totalPage:0,listLoading:!0,dialogFormVisible:!1,basicDialog:!1,params:{sourceName:"",sourceCode:"",sourceType:"",pageNumber:1,pageSize:10,order:"DESC",sort:"update_time"},dialogForm:{sourceName:"",sourceCode:"",sourceType:"",sourceDesc:"",sourceConfig:""},dataLink:[],rules:{sourceType:[{required:!0,message:"数据集名称必选",trigger:"change"}],sourceCode:[{required:!0,message:"数据集编码必填",trigger:"blur"},{validator:h.a,trigger:"blur"}],sourceName:[{required:!0,message:"数据源名称必选",trigger:"blur"}]},value:"",updataDisabled:!1,testReplyCode:null}},methods:{setDataSource:function(){var e=this;return g()(m.a.mark(function t(){var r,a,i,o,n;return m.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(e.dialogForm={sourceName:"",sourceCode:"",sourceType:"",sourceDesc:"",sourceConfig:""},!e.dataSource.id){t.next=14;break}return t.next=4,l(e.dataSource);case 4:if(r=t.sent,a=r.code,i=r.data,"200"==a){t.next=9;break}return t.abrupt("return");case 9:e.dialogForm=i,o=e.dialogForm,n=[],e.dictionaryOptions.map(function(e){if(e.id==o.sourceType){n=JSON.parse(e.extend);for(var t=JSON.parse(o.sourceConfig),r=0;r")):null:e.match("--")?r(f("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),r(function e(t){return function(r,n){for(var i;null!=(i=r.next());){if("<"==i)return n.tokenize=e(t+1),n.tokenize(r,n);if(">"==i){if(1==t){n.tokenize=d;break}return n.tokenize=e(t-1),n.tokenize(r,n)}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=f("meta","?>"),"meta"):(o=e.eat("/")?"closeTag":"openTag",t.tokenize=p,"tag bracket"):"&"==n?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function p(e,t){var r=e.next();if(">"==r||"/"==r&&e.eat(">"))return t.tokenize=d,o=">"==r?"endTag":"selfcloseTag","tag bracket";if("="==r)return o="equals",null;if("<"==r){t.tokenize=d,t.state=b,t.tagName=t.tagStart=null;var n=t.tokenize(e,t);return n?n+" tag error":"tag error"}return/[\'\"]/.test(r)?(t.tokenize=function(e){var t=function(t,r){for(;!t.eol();)if(t.next()==e){r.tokenize=p;break}return"string"};return t.isInAttribute=!0,t}(r),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function f(e,t){return function(r,n){for(;!r.eol();){if(r.match(t)){n.tokenize=d;break}r.next()}return e}}function h(e){return e&&e.toLowerCase()}function m(e){e.context&&(e.context=e.context.prev)}function g(e,t){for(var r;;){if(!e.context)return;if(r=e.context.tagName,!l.contextGrabbers.hasOwnProperty(h(r))||!l.contextGrabbers[h(r)].hasOwnProperty(h(t)))return;m(e)}}function b(e,t,r){return"openTag"==e?(r.tagStart=t.column(),v):"closeTag"==e?k:b}function v(e,t,r){return"word"==e?(r.tagName=t.current(),a="tag",x):l.allowMissingTagName&&"endTag"==e?(a="tag bracket",x(e,0,r)):(a="error",v)}function k(e,t,r){if("word"==e){var n=t.current();return r.context&&r.context.tagName!=n&&l.implicitlyClosed.hasOwnProperty(h(r.context.tagName))&&m(r),r.context&&r.context.tagName==n||!1===l.matchClosing?(a="tag",y):(a="tag error",w)}return l.allowMissingTagName&&"endTag"==e?(a="tag bracket",y(e,0,r)):(a="error",w)}function y(e,t,r){return"endTag"!=e?(a="error",y):(m(r),b)}function w(e,t,r){return a="error",y(e,0,r)}function x(e,t,r){if("word"==e)return a="attribute",A;if("endTag"==e||"selfcloseTag"==e){var n=r.tagName,i=r.tagStart;return r.tagName=r.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(h(n))?g(r,n):(g(r,n),r.context=new function(e,t,r){this.prev=e.context,this.tagName=t||"",this.indent=e.indented,this.startOfLine=r,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}(r,n,i==r.indented)),b}return a="error",x}function A(e,t,r){return"equals"==e?S:(l.allowMissing||(a="error"),x(e,0,r))}function S(e,t,r){return"string"==e?z:"word"==e&&l.allowUnquoted?(a="string",x):(a="error",x(e,0,r))}function z(e,t,r){return"string"==e?z:x(e,0,r)}return d.isInText=!0,{startState:function(e){var t={tokenize:d,state:b,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var r=t.tokenize(e,t);return(r||o)&&"comment"!=r&&(a=null,t.state=t.state(o||r,e,t),a&&(r="error"==a?r+" error":a)),r},indent:function(t,r,n){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=p&&t.tokenize!=d)return n?n.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==S&&(e.state=x)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:"closeTag"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],r=e.context;r;r=r.prev)t.push(r.tagName);return t.reverse()}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}(r("xhvv"))},"9YiL":function(e,t,r){!function(e){"use strict";e.multiplexingMode=function(t){var r=Array.prototype.slice.call(arguments,1);function n(e,t,r,n){if("string"==typeof t){var i=e.indexOf(t,r);return n&&i>-1?i+t.length:i}var o=t.exec(r?e.slice(r):e);return o?o.index+r+(n?o[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null,startingInner:!1}},copyState:function(r){return{outer:e.copyState(t,r.outer),innerActive:r.innerActive,inner:r.innerActive&&e.copyState(r.innerActive.mode,r.inner),startingInner:r.startingInner}},token:function(i,o){if(o.innerActive){var a=o.innerActive,s=i.string;if(!a.close&&i.sol())return o.innerActive=o.inner=null,this.token(i,o);var l=a.close&&!o.startingInner?n(s,a.close,i.pos,a.parseDelimiters):-1;if(l==i.pos&&!a.parseDelimiters)return i.match(a.close),o.innerActive=o.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";l>-1&&(i.string=s.slice(0,l));var c=a.mode.token(i,o.inner);return l>-1?i.string=s:i.pos>i.start&&(o.startingInner=!1),l==i.pos&&a.parseDelimiters&&(o.innerActive=o.inner=null),a.innerStyle&&(c=c?c+" "+a.innerStyle:a.innerStyle),c}for(var u=1/0,s=i.string,d=0;d]=?|\?:|\~)/,O=h(u),N=m(d),R=new RegExp(/^\-(moz|ms|o|webkit)-/i),I=m(p),$="",_={};y.length=0?n:k,e.context=new W(r,t.indentation()+n,e.context),r}function U(e,t){var r=e.context.indent-k;return t=t||!1,e.context=e.context.prev,t&&(e.context.indent=r),e.context.type}function Z(e,t,r,n){for(var i=n||1;i>0;i--)r.context=r.context.prev;return function(e,t,r){return _[r.context.type](e,t,r)}(e,t,r)}function H(e){return e.toLowerCase()in w}function G(e){return(e=e.toLowerCase())in A||e in E}function K(e){return e.toLowerCase()in N}function V(e){return e.toLowerCase().match(R)}function Y(e){var t=e.toLowerCase(),r="variable-2";return H(e)?r="tag":K(e)?r="block-keyword":G(e)?r="property":t in z||t in I?r="atom":"return"==t||t in C?r="keyword":e.match(/^[A-Z]/)&&(r="string"),r}function J(e,t){return te(t)&&("{"==e||"]"==e||"hash"==e||"qualifier"==e)||"block-mixin"==e}function Q(e,t){return"{"==e&&t.match(/^\s*\$?[\w-]+/i,!1)}function X(e,t){return":"==e&&t.match(/^[a-z-]+/,!1)}function ee(e){return e.sol()||e.string.match(new RegExp("^\\s*"+function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}(e.current())))}function te(e){return e.eol()||e.match(/^\s*$/,!1)}function re(e){var t=/^\s*[-_]*[a-z0-9]+[\w-]*/i,r="string"==typeof e?e.match(t):e.string.match(t);return r?r[0].replace(/^\s*/,""):""}return _.block=function(e,t,r){if("comment"==e&&ee(t)||","==e&&te(t)||"mixin"==e)return D(r,t,"block",0);if(Q(e,t))return D(r,t,"interpolation");if(te(t)&&"]"==e&&!/^\s*(\.|#|:|\[|\*|&)/.test(t.string)&&!H(re(t)))return D(r,t,"block",0);if(J(e,t))return D(r,t,"block");if("}"==e&&te(t))return D(r,t,"block",0);if("variable-name"==e)return t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||K(re(t))?D(r,t,"variableName"):D(r,t,"variableName",0);if("="==e)return te(t)||K(re(t))?D(r,t,"block"):D(r,t,"block",0);if("*"==e&&(te(t)||t.match(/\s*(,|\.|#|\[|:|{)/,!1)))return v="tag",D(r,t,"block");if(X(e,t))return D(r,t,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(e))return D(r,t,te(t)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return D(r,t,"keyframes");if(/@extends?/.test(e))return D(r,t,"extend",0);if(e&&"@"==e.charAt(0))return t.indentation()>0&&G(t.current().slice(1))?(v="variable-2","block"):/(@import|@require|@charset)/.test(e)?D(r,t,"block",0):D(r,t,"block");if("reference"==e&&te(t))return D(r,t,"block");if("("==e)return D(r,t,"parens");if("vendor-prefixes"==e)return D(r,t,"vendorPrefixes");if("word"==e){var n=t.current();if("property"==(v=Y(n)))return ee(t)?D(r,t,"block",0):(v="atom","block");if("tag"==v){if(/embed|menu|pre|progress|sub|table/.test(n)&&G(re(t)))return v="atom","block";if(t.string.match(new RegExp("\\[\\s*"+n+"|"+n+"\\s*\\]")))return v="atom","block";if(x.test(n)&&(ee(t)&&t.string.match(/=/)||!ee(t)&&!t.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!H(re(t))))return v="variable-2",K(re(t))?"block":D(r,t,"block",0);if(te(t))return D(r,t,"block")}if("block-keyword"==v)return v="keyword",t.current(/(if|unless)/)&&!ee(t)?"block":D(r,t,"block");if("return"==n)return D(r,t,"block",0);if("variable-2"==v&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return D(r,t,"block")}return r.context.type},_.parens=function(e,t,r){if("("==e)return D(r,t,"parens");if(")"==e)return"parens"==r.context.prev.type?U(r):t.string.match(/^[a-z][\w-]*\(/i)&&te(t)||K(re(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(re(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&H(re(t))?D(r,t,"block"):t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i)?D(r,t,"block",0):te(t)?D(r,t,"block"):D(r,t,"block",0);if(e&&"@"==e.charAt(0)&&G(t.current().slice(1))&&(v="variable-2"),"word"==e){var n=t.current();"tag"==(v=Y(n))&&x.test(n)&&(v="variable-2"),"property"!=v&&"to"!=n||(v="atom")}return"variable-name"==e?D(r,t,"variableName"):X(e,t)?D(r,t,"pseudo"):r.context.type},_.vendorPrefixes=function(e,t,r){return"word"==e?(v="property",D(r,t,"block",0)):U(r)},_.pseudo=function(e,t,r){return G(re(t.string))?Z(e,t,r):(t.match(/^[a-z-]+/),v="variable-3",te(t)?D(r,t,"block"):U(r))},_.atBlock=function(e,t,r){if("("==e)return D(r,t,"atBlock_parens");if(J(e,t))return D(r,t,"block");if(Q(e,t))return D(r,t,"interpolation");if("word"==e){var n=t.current().toLowerCase();if("tag"==(v=/^(only|not|and|or)$/.test(n)?"keyword":M.hasOwnProperty(n)?"tag":L.hasOwnProperty(n)?"attribute":j.hasOwnProperty(n)?"property":S.hasOwnProperty(n)?"string-2":Y(t.current()))&&te(t))return D(r,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(v="keyword"),r.context.type},_.atBlock_parens=function(e,t,r){if("{"==e||"}"==e)return r.context.type;if(")"==e)return te(t)?D(r,t,"block"):D(r,t,"atBlock");if("word"==e){var n=t.current().toLowerCase();return v=Y(n),/^(max|min)/.test(n)&&(v="property"),"tag"==v&&(v=x.test(n)?"variable-2":"atom"),r.context.type}return _.atBlock(e,t,r)},_.keyframes=function(e,t,r){return"0"==t.indentation()&&("}"==e&&ee(t)||"]"==e||"hash"==e||"qualifier"==e||H(t.current()))?Z(e,t,r):"{"==e?D(r,t,"keyframes"):"}"==e?ee(t)?U(r,!0):D(r,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?D(r,t,"keyframes"):"word"==e&&"block-keyword"==(v=Y(t.current()))?(v="keyword",D(r,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?D(r,t,te(t)?"block":"atBlock"):"mixin"==e?D(r,t,"block",0):r.context.type},_.interpolation=function(e,t,r){return"{"==e&&U(r)&&D(r,t,"block"),"}"==e?t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&H(re(t))?D(r,t,"block"):!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1)?D(r,t,"block",0):D(r,t,"block"):"variable-name"==e?D(r,t,"variableName",0):("word"==e&&"tag"==(v=Y(t.current()))&&(v="atom"),r.context.type)},_.extend=function(e,t,r){return"["==e||"="==e?"extend":"]"==e?U(r):"word"==e?(v=Y(t.current()),"extend"):U(r)},_.variableName=function(e,t,r){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(v="variable-2"),"variableName"):Z(e,t,r)},{startState:function(e){return{tokenize:null,state:"block",context:new W("block",e||0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((g=(t.tokenize||function(e,t){if($=e.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=$?$[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),f=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return t.tokenize=B,B(e,t);if('"'==f||"'"==f)return e.next(),t.tokenize=F(f),t.tokenize(e,t);if("@"==f)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==f){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(R)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==f?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==f&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(T)?("("==e.peek()&&(t.tokenize=q),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variable-3","reference"]):e.match(/^&{1}\s*$/)?["variable-3","reference"]:e.match(O)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!H(e.current())?(e.match("."),["variable-2","variable-name"]):["variable-2","word"]:e.match(P)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(f)?(e.next(),[null,f]):(e.next(),[null,null])})(e,t))&&"object"==typeof g&&(b=g[1],g=g[0]),v=g,t.state=_[t.state](b,e,t),v)},indent:function(e,t,r){var n=e.context,i=t&&t.charAt(0),o=n.indent,a=re(t),s=r.match(/^\s*/)[0].replace(/\t/g,y).length,l=e.context.prev?e.context.prev.line.firstWord:"",c=e.context.prev?e.context.prev.line.indent:s;return n.prev&&("}"==i&&("block"==n.type||"atBlock"==n.type||"keyframes"==n.type)||")"==i&&("parens"==n.type||"atBlock_parens"==n.type)||"{"==i&&"at"==n.type)?o=n.indent-k:/(\})/.test(i)||(/@|\$|\d/.test(i)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(l)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||K(a)?o=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||H(a)?o=/\,\s*$/.test(l)?c:/^\s+/.test(r)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||H(l))?s<=c?c:c+k:s:/,\s*$/.test(r)||!V(a)&&!G(a)||(o=K(l)?s<=c?c:c+k:/^\{/.test(l)?s<=c?s:c+k:V(l)||G(l)?s>=c?c:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(l)||/=\s*$/.test(l)||H(l)||/^\$[\w-\.\[\]\'\"]/.test(l)?c+k:s)),o},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var t=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],r=["domain","regexp","url-prefix","url"],n=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],o=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],a=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],s=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],c=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],u=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],d=["for","if","else","unless","from","to"],p=["null","true","false","href","title","type","not-allowed","readonly","disabled"],f=t.concat(r,n,i,o,a,l,c,s,u,d,p,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function h(e){return e=e.sort(function(e,t){return t>e}),new RegExp("^(("+e.join(")|(")+"))\\b")}function m(e){for(var t={},r=0;r|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),e.defineMode("handlebars",function(t,r){var n=e.getMode(t,"handlebars-tags");return r&&r.base?e.multiplexingMode(e.getMode(t,r.base),{open:"{{",close:/\}\}\}?/,mode:n,parseDelimiters:!0}):n}),e.defineMIME("text/x-handlebars-template","handlebars")}(r("xhvv"),r("pQAd"),r("9YiL"))},aDsr:function(e,t,r){!function(e){"use strict";e.defineMode("coffeescript",function(e,t){var r="error";function n(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var i=/^(?:->|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,o=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,a=/^[_A-Za-z$][_A-Za-z$0-9]*/,s=/^@[_A-Za-z$][_A-Za-z$0-9]*/,l=n(["and","or","not","is","isnt","in","instanceof","typeof"]),c=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],u=n(c.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));c=n(c);var d=/^('{3}|\"{3}|['\"])/,p=/^(\/{3}|\/)/,f=n(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function h(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var n=t.scope.offset;if(e.eatSpace()){var c=e.indentation();return c>n&&"coffee"==t.scope.type?"indent":c0&&v(e,t)}if(e.eatSpace())return null;var h=e.peek();if(e.match("####"))return e.skipToEnd(),"comment";if(e.match("###"))return t.tokenize=g,t.tokenize(e,t);if("#"===h)return e.skipToEnd(),"comment";if(e.match(/^-?[0-9\.]/,!1)){var b=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(b=!0),e.match(/^-?\d+\.\d*/)&&(b=!0),e.match(/^-?\.\d+/)&&(b=!0),b)return"."==e.peek()&&e.backUp(1),"number";var k=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(k=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(k=!0),e.match(/^-?0(?![\dx])/i)&&(k=!0),k)return"number"}if(e.match(d))return t.tokenize=m(e.current(),!1,"string"),t.tokenize(e,t);if(e.match(p)){if("/"!=e.current()||e.match(/^.*\//,!1))return t.tokenize=m(e.current(),!0,"string-2"),t.tokenize(e,t);e.backUp(1)}return e.match(i)||e.match(l)?"operator":e.match(o)?"punctuation":e.match(f)?"atom":e.match(s)||t.prop&&e.match(a)?"property":e.match(u)?"keyword":e.match(a)?"variable":(e.next(),r)}function m(e,n,i){return function(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\/\\]/),o.eat("\\")){if(o.next(),n&&o.eol())return i}else{if(o.match(e))return a.tokenize=h,i;o.eat(/['"\/]/)}return n&&(t.singleLineStringErrors?i=r:a.tokenize=h),i}}function g(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=h;break}e.eatWhile("#")}return"comment"}function b(t,r,n){n=n||"coffee";for(var i=0,o=!1,a=null,s=r.scope;s;s=s.prev)if("coffee"===s.type||"}"==s.type){i=s.offset+e.indentUnit;break}"coffee"!==n?(o=null,a=t.column()+t.current().length):r.scope.align&&(r.scope.align=!1),r.scope={offset:i,type:n,prev:r.scope,align:o,alignOffset:a}}function v(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var r=e.indentation(),n=!1,i=t.scope;i;i=i.prev)if(r===i.offset){n=!0;break}if(!n)return!0;for(;t.scope.prev&&t.scope.offset!==r;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}var k={startState:function(e){return{tokenize:h,scope:{offset:e||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var n=null===t.scope.align&&t.scope;n&&e.sol()&&(n.align=!1);var i=function(e,t){var n=t.tokenize(e,t),i=e.current();"return"===i&&(t.dedent=!0),(("->"===i||"=>"===i)&&e.eol()||"indent"===n)&&b(e,t);var o="[({".indexOf(i);if(-1!==o&&b(e,t,"])}".slice(o,o+1)),c.exec(i)&&b(e,t),"then"==i&&v(e,t),"dedent"===n&&v(e,t))return r;if(-1!==(o="])}".indexOf(i))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==i&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),n}(e,t);return i&&"comment"!=i&&(n&&(n.align=!0),t.prop="punctuation"==i&&"."==e.current()),i},indent:function(e,t){if(e.tokenize!=h)return 0;var r=e.scope,n=t&&"])}".indexOf(t.charAt(0))>-1;if(n)for(;"coffee"==r.type&&r.prev;)r=r.prev;var i=n&&r.type===t.charAt(0);return r.align?r.alignOffset-(i?1:0):(i?r.prev:r).offset},lineComment:"#",fold:"indent"};return k}),e.defineMIME("application/vnd.coffeescript","coffeescript"),e.defineMIME("text/x-coffeescript","coffeescript"),e.defineMIME("text/coffeescript","coffeescript")}(r("xhvv"))},"g+yg":function(e,t,r){!function(e){"use strict";var t={script:[["lang",/(javascript|babel)/i,"javascript"],["type",/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i,"javascript"],["type",/./,"text/plain"],[null,null,"javascript"]],style:[["lang",/^css$/i,"css"],["type",/^(text\/)?(x-)?(stylesheet|css)$/i,"css"],["type",/./,"text/plain"],[null,null,"css"]]},r={};function n(e,t){var n=e.match(function(e){var t=r[e];return t||(r[e]=new RegExp("\\s+"+e+"\\s*=\\s*('|\")?([^'\"]+)('|\")?\\s*"))}(t));return n?/^\s*(.*?)\s*$/.exec(n[2])[1]:""}function i(e,t){return new RegExp((t?"^":"")+"","i")}function o(e,t){for(var r in e)for(var n=t[r]||(t[r]=[]),i=e[r],o=i.length-1;o>=0;o--)n.unshift(i[o])}e.defineMode("htmlmixed",function(r,a){var s=e.getMode(r,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag,allowMissingTagName:a.allowMissingTagName}),l={},c=a&&a.tags,u=a&&a.scriptTypes;if(o(t,l),c&&o(c,l),u)for(var d=u.length-1;d>=0;d--)l.script.unshift(["type",u[d].matches,u[d].mode]);function p(t,o){var a,c=s.token(t,o.htmlState),u=/\btag\b/.test(c);if(u&&!/[<>\s\/]/.test(t.current())&&(a=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(a))o.inTag=a+" ";else if(o.inTag&&u&&/>$/.test(t.current())){var d=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var f=">"==t.current()&&function(e,t){for(var r=0;r-1?e.backUp(n.length-i):n.match(/<\/?$/)&&(e.backUp(n.length),e.match(t,!1)||e.match(n)),r}(e,g,t.localMode.token(e,t.localState))},o.localMode=h,o.localState=e.startState(h,s.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=t.current(),t.eol()&&(o.inTag+=" "));return c}return{startState:function(){var t=e.startState(s);return{token:p,inTag:null,localMode:null,localState:null,htmlState:t}},copyState:function(t){var r;return t.localState&&(r=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:r,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,r,n){return!t.localMode||/^\s*<\//.test(r)?s.indent(t.htmlState,r,n):t.localMode.indent?t.localMode.indent(t.localState,r,n):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}},"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")}(r("xhvv"),r("5RLT"),r("opU+"),r("idG/"))},"idG/":function(e,t,r){!function(e){"use strict";function t(e){for(var t={},r=0;r0;i--)r.context=r.context.prev;return T(e,t,r)}function L(e){var t=e.current().toLowerCase();o=b.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var E={top:function(e,t,r){if("{"==e)return C(r,t,"block");if("}"==e&&r.context.prev)return M(r);if(y&&/@component/i.test(e))return C(r,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return C(r,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return C(r,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return r.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return C(r,t,"at");if("hash"==e)o="builtin";else if("word"==e)o="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return C(r,t,"interpolation");if(":"==e)return"pseudo";if(v&&"("==e)return C(r,t,"parens")}return r.context.type},block:function(e,t,r){if("word"==e){var n=t.current().toLowerCase();return p.hasOwnProperty(n)?(o="property","maybeprop"):f.hasOwnProperty(n)?(o=w?"string-2":"property","maybeprop"):v?(o=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==e?"block":v||"hash"!=e&&"qualifier"!=e?E.top(e,t,r):(o="error","block")},maybeprop:function(e,t,r){return":"==e?C(r,t,"prop"):T(e,t,r)},prop:function(e,t,r){if(";"==e)return M(r);if("{"==e&&v)return C(r,t,"propBlock");if("}"==e||"{"==e)return j(e,t,r);if("("==e)return C(r,t,"parens");if("hash"!=e||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(t.current())){if("word"==e)L(t);else if("interpolation"==e)return C(r,t,"interpolation")}else o+=" error";return"prop"},propBlock:function(e,t,r){return"}"==e?M(r):"word"==e?(o="property","maybeprop"):r.context.type},parens:function(e,t,r){return"{"==e||"}"==e?j(e,t,r):")"==e?M(r):"("==e?C(r,t,"parens"):"interpolation"==e?C(r,t,"interpolation"):("word"==e&&L(t),"parens")},pseudo:function(e,t,r){return"meta"==e?"pseudo":"word"==e?(o="variable-3",r.context.type):T(e,t,r)},documentTypes:function(e,t,r){return"word"==e&&l.hasOwnProperty(t.current())?(o="tag",r.context.type):E.atBlock(e,t,r)},atBlock:function(e,t,r){if("("==e)return C(r,t,"atBlock_parens");if("}"==e||";"==e)return j(e,t,r);if("{"==e)return M(r)&&C(r,t,v?"block":"top");if("interpolation"==e)return C(r,t,"interpolation");if("word"==e){var n=t.current().toLowerCase();o="only"==n||"not"==n||"and"==n||"or"==n?"keyword":c.hasOwnProperty(n)?"attribute":u.hasOwnProperty(n)?"property":d.hasOwnProperty(n)?"keyword":p.hasOwnProperty(n)?"property":f.hasOwnProperty(n)?w?"string-2":"property":b.hasOwnProperty(n)?"atom":g.hasOwnProperty(n)?"keyword":"error"}return r.context.type},atComponentBlock:function(e,t,r){return"}"==e?j(e,t,r):"{"==e?M(r)&&C(r,t,v?"block":"top",!1):("word"==e&&(o="error"),r.context.type)},atBlock_parens:function(e,t,r){return")"==e?M(r):"{"==e||"}"==e?j(e,t,r,2):E.atBlock(e,t,r)},restricted_atBlock_before:function(e,t,r){return"{"==e?C(r,t,"restricted_atBlock"):"word"==e&&"@counter-style"==r.stateArg?(o="variable","restricted_atBlock_before"):T(e,t,r)},restricted_atBlock:function(e,t,r){return"}"==e?(r.stateArg=null,M(r)):"word"==e?(o="@font-face"==r.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==r.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,r){return"word"==e?(o="variable","keyframes"):"{"==e?C(r,t,"top"):T(e,t,r)},at:function(e,t,r){return";"==e?M(r):"{"==e||"}"==e?j(e,t,r):("word"==e?o="tag":"hash"==e&&(o="builtin"),"at")},interpolation:function(e,t,r){return"}"==e?M(r):"{"==e||";"==e?j(e,t,r):("word"==e?o="variable":"variable"!=e&&"("!=e&&")"!=e&&(o="error"),"interpolation")}};return{startState:function(e){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new z(n?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var r=(t.tokenize||function(e,t){var r=e.next();if(s[r]){var n=s[r](e,t);if(!1!==n)return n}return"@"==r?(e.eatWhile(/[\w\\\-]/),x("def",e.current())):"="==r||("~"==r||"|"==r)&&e.eat("=")?x(null,"compare"):'"'==r||"'"==r?(t.tokenize=A(r),t.tokenize(e,t)):"#"==r?(e.eatWhile(/[\w\\\-]/),x("atom","hash")):"!"==r?(e.match(/^\s*\w*/),x("keyword","important")):/\d/.test(r)||"."==r&&e.eat(/\d/)?(e.eatWhile(/[\w.%]/),x("number","unit")):"-"!==r?/[,+>*\/]/.test(r)?x(null,"select-op"):"."==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(r)?x(null,r):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=S),x("variable callee","variable")):/[\w\\\-]/.test(r)?(e.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),x("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):e.match(/^\w+-/)?x("meta","meta"):void 0})(e,t);return r&&"object"==typeof r&&(i=r[1],r=r[0]),o=r,"comment"!=i&&(t.state=E[t.state](i,e,t)),o},indent:function(e,t){var r=e.context,n=t&&t.charAt(0),i=r.indent;return"prop"!=r.type||"}"!=n&&")"!=n||(r=r.prev),r.prev&&("}"!=n||"block"!=r.type&&"top"!=r.type&&"interpolation"!=r.type&&"restricted_atBlock"!=r.type?(")"!=n||"parens"!=r.type&&"atBlock_parens"!=r.type)&&("{"!=n||"at"!=r.type&&"atBlock"!=r.type)||(i=Math.max(0,r.indent-a)):(r=r.prev,i=r.indent)),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:k,fold:"brace"}});var r=["domain","regexp","url","url-prefix"],n=t(r),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=t(i),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],s=t(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],c=t(l),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],d=t(u),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],f=t(p),h=t(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),m=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],b=t(g),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","conic-gradient","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeating-conic-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],k=t(v),y=r.concat(i).concat(a).concat(l).concat(u).concat(p).concat(g).concat(v);function w(e,t){for(var r,n=!1;null!=(r=e.next());){if(n&&"/"==r){t.tokenize=null;break}n="*"==r}return["comment","comment"]}e.registerHelper("hintWords","css",y),e.defineMIME("text/css",{documentTypes:n,mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:b,valueKeywords:k,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=w,w(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:b,valueKeywords:k,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=w,w(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:b,valueKeywords:k,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=w,w(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:n,mediaTypes:o,mediaFeatures:s,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:b,valueKeywords:k,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=w,w(e,t))}},name:"css",helperType:"gss"})}(r("xhvv"))},jTqD:function(e,t,r){!function(e){"use strict";e.defineMode("shell",function(){var t={};function r(e,r){for(var n=0;n1&&e.eat("$");var r=e.next();return/['"({]/.test(r)?(t.tokens[0]=a(r,"("==r?"quote":"{"==r?"def":"string"),c(e,t)):(/\d/.test(r)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function c(e,r){return(r.tokens[0]||function(e,r){if(e.eatSpace())return null;var n=e.sol(),i=e.next();if("\\"===i)return e.next(),null;if("'"===i||'"'===i||"`"===i)return r.tokens.unshift(a(i,"`"===i?"quote":"string")),c(e,r);if("#"===i)return n&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===i)return r.tokens.unshift(l),c(e,r);if("+"===i||"="===i)return"operator";if("-"===i)return e.eat("-"),e.eatWhile(/\w/),"attribute";if("<"==i){if(e.match("<<"))return"operator";var o=e.match(/^<-?\s*['"]?([^'"]*)['"]?/);if(o)return r.tokens.unshift(function(e){return function(t,r){return t.sol()&&t.string==e&&r.tokens.shift(),t.skipToEnd(),"string-2"}}(o[1])),"string-2"}if(/\d/.test(i)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var s=e.current();return"="===e.peek()&&/\w+/.test(s)?"def":t.hasOwnProperty(s)?t[s]:null})(e,r)}return{startState:function(){return{tokens:[]}},token:function(e,t){return c(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")}(r("xhvv"))},kefc:function(e,t,r){!function(e){"use strict";(function(e){var t={script:[["lang",/coffee(script)?/,"coffeescript"],["type",/^(?:text|application)\/(?:x-)?coffee(?:script)?$/,"coffeescript"],["lang",/^babel$/,"javascript"],["type",/^text\/babel$/,"javascript"],["type",/^text\/ecmascript-\d+$/,"javascript"]],style:[["lang",/^stylus$/i,"stylus"],["lang",/^sass$/i,"sass"],["lang",/^less$/i,"text/x-less"],["lang",/^scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?styl(us)?$/i,"stylus"],["type",/^text\/sass/i,"sass"],["type",/^(text\/)?(x-)?scss$/i,"text/x-scss"],["type",/^(text\/)?(x-)?less$/i,"text/x-less"]],template:[["lang",/^vue-template$/i,"vue"],["lang",/^pug$/i,"pug"],["lang",/^handlebars$/i,"handlebars"],["type",/^(text\/)?(x-)?pug$/i,"pug"],["type",/^text\/x-handlebars-template$/i,"handlebars"],[null,null,"vue-template"]]};e.defineMode("vue-template",function(t,r){return e.overlayMode(e.getMode(t,r.backdrop||"text/html"),{token:function(e){if(e.match(/^\{\{.*?\}\}/))return"meta mustache";for(;e.next()&&!e.match("{{",!1););return null}})}),e.defineMode("vue",function(r){return e.getMode(r,{name:"htmlmixed",tags:t})},"htmlmixed","xml","javascript","coffeescript","css","sass","stylus","pug","handlebars"),e.defineMIME("script/x-vue","vue"),e.defineMIME("text/x-vue","vue")})(r("xhvv"),r("ONUW"),r("5RLT"),r("opU+"),r("aDsr"),r("idG/"),r("vu3f"),r("Na/5"),r("u51R"),r("YAw8"))}()},pQAd:function(e,t,r){!function(e){"use strict";function t(e,t){if(!e.hasOwnProperty(t))throw new Error("Undefined state "+t+" in simple mode")}function r(e,t){if(!e)return/(?:)/;var r="";return e instanceof RegExp?(e.ignoreCase&&(r="i"),e.unicode&&(r+="u"),e=e.source):e=String(e),new RegExp((!1===t?"":"^")+"(?:"+e+")",r)}function n(e,n){(e.next||e.push)&&t(n,e.next||e.push),this.regex=r(e.regex),this.token=function(e){if(!e)return null;if(e.apply)return e;if("string"==typeof e)return e.replace(/\./g," ");for(var t=[],r=0;r2&&u.token&&"string"!=typeof u.token){for(var f=2;f-1)return e.Pass;var a=n.indent.length-1,s=t[n.state];e:for(;;){for(var l=0;lr.indentOf||r.innerModeForLine&&!t.sol()||n)return r.innerMode?(r.innerState||(r.innerState=r.innerMode.startState?e.startState(r.innerMode,t.indentation()):{}),t.hideFirstChars(r.indentOf+2,function(){return r.innerMode.token(t,r.innerState)||!0})):(t.skipToEnd(),r.indentToken);t.sol()&&(r.indentOf=1/0,r.indentToken=null,r.innerMode=null,r.innerState=null)}return l.prototype.copy=function(){var t=new l;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=e.copyState(s,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=e.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new l},copyState:function(e){return e.copy()},token:function(t,l){var f=p(t,l)||function(e,t){if(e.sol()&&(t.restOfLine=""),t.restOfLine){e.skipToEnd();var r=t.restOfLine;return t.restOfLine="",r}}(t,l)||function(e,t){if(t.isInterpolating){if("}"===e.peek()){if(t.interpolationNesting--,t.interpolationNesting<0)return e.next(),t.isInterpolating=!1,"punctuation"}else"{"===e.peek()&&t.interpolationNesting++;return s.token(e,t.jsState)||!0}}(t,l)||function(e,t){if(t.isIncludeFiltered){var r=u(e,t);return t.isIncludeFiltered=!1,t.restOfLine="string",r}}(t,l)||function(e,t){if(t.isEach){if(e.match(/^ in\b/))return t.javaScriptLine=!0,t.isEach=!1,r;if(e.sol()||e.eol())t.isEach=!1;else if(e.next()){for(;!e.match(/^ in\b/,!1)&&e.next(););return"variable"}}}(t,l)||function t(r,n){if(n.isAttrs){if(a[r.peek()]&&n.attrsNest.push(a[r.peek()]),n.attrsNest[n.attrsNest.length-1]===r.peek())n.attrsNest.pop();else if(r.eat(")"))return n.isAttrs=!1,"punctuation";if(n.inAttributeName&&r.match(/^[^=,\)!]+/))return"="!==r.peek()&&"!"!==r.peek()||(n.inAttributeName=!1,n.jsState=e.startState(s),"script"===n.lastTag&&"type"===r.current().trim().toLowerCase()?n.attributeIsType=!0:n.attributeIsType=!1),"attribute";var i=s.token(r,n.jsState);if(n.attributeIsType&&"string"===i&&(n.scriptType=r.current().toString()),0===n.attrsNest.length&&("string"===i||"variable"===i||"keyword"===i))try{return Function("","var x "+n.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),n.inAttributeName=!0,n.attrValue="",r.backUp(r.current().length),t(r,n)}catch(e){}return n.attrValue+=r.current(),i||!0}}(t,l)||function(e,t){if(e.sol()&&(t.javaScriptLine=!1,t.javaScriptLineExcludesColon=!1),t.javaScriptLine){if(t.javaScriptLineExcludesColon&&":"===e.peek())return t.javaScriptLine=!1,void(t.javaScriptLineExcludesColon=!1);var r=s.token(e,t.jsState);return e.eol()&&(t.javaScriptLine=!1),r||!0}}(t,l)||function(e,t){if(t.javaScriptArguments){if(0===t.javaScriptArgumentsDepth&&"("!==e.peek())return void(t.javaScriptArguments=!1);if("("===e.peek()?t.javaScriptArgumentsDepth++:")"===e.peek()&&t.javaScriptArgumentsDepth--,0===t.javaScriptArgumentsDepth)return void(t.javaScriptArguments=!1);var r=s.token(e,t.jsState);return r||!0}}(t,l)||function(e,t){if(t.mixinCallAfter)return t.mixinCallAfter=!1,e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),!0}(t,l)||function(e){if(e.match(/^yield\b/))return"keyword"}(t)||function(e){if(e.match(/^(?:doctype) *([^\n]+)?/))return n}(t)||c(t,l)||function(e,t){if(e.match(/^case\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){if(e.match(/^when\b/))return t.javaScriptLine=!0,t.javaScriptLineExcludesColon=!0,r}(t,l)||function(e){if(e.match(/^default\b/))return r}(t)||function(e,t){if(e.match(/^extends?\b/))return t.restOfLine="string",r}(t,l)||function(e,t){if(e.match(/^append\b/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^prepend\b/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^block\b *(?:(prepend|append)\b)?/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^include\b/))return t.restOfLine="string",r}(t,l)||function(e,t){if(e.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&e.match("include"))return t.isIncludeFiltered=!0,r}(t,l)||function(e,t){if(e.match(/^mixin\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){return e.match(/^\+([-\w]+)/)?(e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),"variable"):e.match("+#{",!1)?(e.next(),t.mixinCallAfter=!0,c(e,t)):void 0}(t,l)||function(e,t){if(e.match(/^(if|unless|else if|else)\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){if(e.match(/^(- *)?(each|for)\b/))return t.isEach=!0,r}(t,l)||function(e,t){if(e.match(/^while\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){var r;if(r=e.match(/^(\w(?:[-:\w]*\w)?)\/?/))return t.lastTag=r[1].toLowerCase(),"script"===t.lastTag&&(t.scriptType="application/javascript"),"tag"}(t,l)||u(t,l)||function(e,t){if(e.match(/^(!?=|-)/))return t.javaScriptLine=!0,"punctuation"}(t,l)||function(e){if(e.match(/^#([\w-]+)/))return i}(t)||function(e){if(e.match(/^\.([\w-]+)/))return o}(t)||function(e,t){if("("==e.peek())return e.next(),t.isAttrs=!0,t.attrsNest=[],t.inAttributeName=!0,t.attrValue="",t.attributeIsType=!1,"punctuation"}(t,l)||function(e,t){if(e.match(/^&attributes\b/))return t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0,"keyword"}(t,l)||function(e){if(e.sol()&&e.eatSpace())return"indent"}(t)||function(e,t){return e.match(/^(?:\| ?| )([^\n]+)/)?"string":e.match(/^(<[^\n]*)/,!1)?(d(e,t,"htmlmixed"),t.innerModeForLine=!0,p(e,t,!0)):void 0}(t,l)||function(e,t){if(e.match(/^ *\/\/(-)?([^\n]*)/))return t.indentOf=e.indentation(),t.indentToken="comment","comment"}(t,l)||function(e){if(e.match(/^: */))return"colon"}(t)||function(e,t){if(e.eat(".")){var r=null;return"script"===t.lastTag&&-1!=t.scriptType.toLowerCase().indexOf("javascript")?r=t.scriptType.toLowerCase().replace(/"|'/g,""):"style"===t.lastTag&&(r="css"),d(e,t,r),"dot"}}(t,l)||function(e){return e.next(),null}(t);return!0===f?null:f}}},"javascript","css","htmlmixed"),e.defineMIME("text/x-pug","pug"),e.defineMIME("text/x-jade","pug")}(r("xhvv"),r("opU+"),r("idG/"),r("g+yg"))},ue2F:function(e,t,r){e.exports=function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=1)}([function(e,t,r){"use strict";var n=r(9);t.a={name:"VRuler",components:{},props:{position:{type:String,default:"relative",validator:function(e){return-1!==["absolute","fixed","relative","static","inherit"].indexOf(e)}},isHotKey:{type:Boolean,default:!0},isScaleRevise:{type:Boolean,default:!1},value:{type:Array,default:function(){return[]}},contentLayout:{type:Object,default:function(){return{top:0,left:0}}},parent:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},stepLength:{type:Number,default:50,validator:function(e){return e%10==0}}},data:function(){return{size:17,left_top:18,windowWidth:0,windowHeight:0,xScale:[],yScale:[],topSpacing:0,leftSpacing:0,isDrag:!1,dragFlag:"",horizontalDottedLeft:-999,verticalDottedTop:-999,rulerWidth:0,rulerHeight:0,dragLineId:"",keyCode:{r:82},rulerToggle:!0}},computed:{wrapperStyle:function(){return{width:this.windowWidth+"px",height:this.windowHeight+"px",position:this.position}},contentStyle:function(){return{left:this.contentLayout.left+"px",top:this.contentLayout.top+"px",padding:this.left_top+"px 0px 0px "+this.left_top+"px"}},lineList:function(){var e=this,t=0,r=0;return this.value.map(function(n){var i="h"===n.type;return function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({id:n.type+"_"+(i?t++:r++),type:n.type,title:n.site.toFixed(2)+"px"},i?"top":"left",n.site/(e.stepLength/50)+e.size)})}},watch:{visible:{handler:function(e){this.rulerToggle=e},immediate:!0}},mounted:function(){Object(n.b)(document,"mousemove",this.dottedLineMove),Object(n.b)(document,"mouseup",this.dottedLineUp),Object(n.b)(document,"keyup",this.keyboard),this.init(),Object(n.b)(window,"resize",this.windowResize)},beforeDestroy:function(){Object(n.a)(document,"mousemove",this.dottedLineMove),Object(n.a)(document,"mouseup",this.dottedLineUp),Object(n.a)(document,"keyup",this.keyboard),Object(n.a)(window,"resize",this.windowResize)},methods:{init:function(){this.box(),this.scaleCalc()},windowResize:function(){this.xScale=[],this.yScale=[],this.init()},getLineStyle:function(e){var t=e.type,r=e.top,n=e.left;return"h"===t?{top:r+"px"}:{left:n+"px"}},handleDragLine:function(e){var t=e.type,r=e.id;return"h"===t?this.dragHorizontalLine(r):this.dragVerticalLine(r)},box:function(){if(this.isScaleRevise){var e=this.$refs.content,t=e.offsetLeft,r=e.offsetTop;this.getCalcRevise(this.xScale,t),this.getCalcRevise(this.yScale,r)}if(this.parent){var n=window.getComputedStyle(this.$el.parentNode,null);this.windowWidth=parseInt(n.getPropertyValue("width"),10),this.windowHeight=parseInt(n.getPropertyValue("height"),10)}else this.windowWidth=document.documentElement.clientWidth-this.leftSpacing,this.windowHeight=document.documentElement.clientHeight-this.topSpacing;this.rulerWidth=this.$refs.verticalRuler.clientWidth,this.rulerHeight=this.$refs.horizontalRuler.clientHeight,this.setSpacing()},setSpacing:function(){this.topSpacing=this.$refs.horizontalRuler.getBoundingClientRect().y,this.leftSpacing=this.$refs.verticalRuler.getBoundingClientRect().x},scaleCalc:function(){this.getCalc(this.xScale,this.windowWidth),this.getCalc(this.yScale,this.windowHeight)},getCalc:function(e,t){for(var r=0;rr.parts.length&&(n.parts.length=r.parts.length)}else{for(var a=[],i=0;i","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"]),u=/^::?[a-zA-Z_][\w\-]*/;function d(e){return!e.peek()||e.match(/\s+$/,!1)}function p(e,t){var r=e.peek();return")"===r?(e.next(),t.tokenizer=v,"operator"):"("===r?(e.next(),e.eatSpace(),"operator"):"'"===r||'"'===r?(t.tokenizer=h(e.next()),"string"):(t.tokenizer=h(")",!1),"string")}function f(e,t){return function(r,n){return r.sol()&&r.indentation()<=e?(n.tokenizer=v,v(r,n)):(t&&r.skipTo("*/")?(r.next(),r.next(),n.tokenizer=v):r.skipToEnd(),"comment")}}function h(e,t){return null==t&&(t=!0),function r(n,i){var o=n.next(),a=n.peek(),s=n.string.charAt(n.pos-2),l="\\"!==o&&a===e||o===e&&"\\"!==s;return l?(o!==e&&t&&n.next(),d(n)&&(i.cursorHalf=0),i.tokenizer=v,"string"):"#"===o&&"{"===a?(i.tokenizer=m(r),n.next(),"operator"):"string"}}function m(e){return function(t,r){return"}"===t.peek()?(t.next(),r.tokenizer=e,"operator"):v(t,r)}}function g(e){if(0==e.indentCount){e.indentCount++;var r=e.scopes[0].offset,n=r+t.indentUnit;e.scopes.unshift({offset:n})}}function b(e){1!=e.scopes.length&&e.scopes.shift()}function v(e,t){var n=e.peek();if(e.match("/*"))return t.tokenizer=f(e.indentation(),!0),t.tokenizer(e,t);if(e.match("//"))return t.tokenizer=f(e.indentation(),!1),t.tokenizer(e,t);if(e.match("#{"))return t.tokenizer=m(v),"operator";if('"'===n||"'"===n)return e.next(),t.tokenizer=h(n),"string";if(t.cursorHalf){if("#"===n&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return d(e)&&(t.cursorHalf=0),"unit";if(e.match(l))return d(e)&&(t.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,d(e)&&(t.cursorHalf=0),"atom";if("$"===n)return e.next(),e.eatWhile(/[\w-]/),d(e)&&(t.cursorHalf=0),"variable-2";if("!"===n)return e.next(),t.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(c))return d(e)&&(t.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return d(e)&&(t.cursorHalf=0),r=e.current().toLowerCase(),a.hasOwnProperty(r)?"atom":o.hasOwnProperty(r)?"keyword":i.hasOwnProperty(r)?(t.prevProp=e.current().toLowerCase(),"property"):"tag";if(d(e))return t.cursorHalf=0,null}else{if("-"===n&&e.match(/^-\w+-/))return"meta";if("."===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"qualifier";if("#"===e.peek())return g(t),"tag"}if("#"===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"builtin";if("#"===e.peek())return g(t),"tag"}if("$"===n)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(l))return"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,"atom";if("="===n&&e.match(/^=[\w-]+/))return g(t),"meta";if("+"===n&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===n&&e.match("@extend")&&(e.match(/\s*[\w]/)||b(t)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return g(t),"def";if("@"===n)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){r=e.current().toLowerCase();var k=t.prevProp+"-"+r;return i.hasOwnProperty(k)?"property":i.hasOwnProperty(r)?(t.prevProp=r,"property"):s.hasOwnProperty(r)?"property":"tag"}return e.match(/ *:/,!1)?(g(t),t.cursorHalf=1,t.prevProp=e.current().toLowerCase(),"property"):e.match(/ *,/,!1)?"tag":(g(t),"tag")}if(":"===n)return e.match(u)?"variable-3":(e.next(),t.cursorHalf=1,"operator")}return e.match(c)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:v,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,r){var n=function(e,r){e.sol()&&(r.indentCount=0);var n=r.tokenizer(e,r),i=e.current();if("@return"!==i&&"}"!==i||b(r),null!==n){for(var o=e.pos-i.length,a=o+t.indentUnit*r.indentCount,s=[],l=0;l1e-10&&(n.width+=a/r,n.height+=a/r,n.x-=a/r/2,n.y-=a/r/2)}return n}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),o=this.getBoundingRect(),n=this.style;if(t=i[0],e=i[1],o.contain(t,e)){var a=this.path.data;if(n.hasStroke()){var s=n.lineWidth,l=n.strokeNoScale?this.getLineScale():1;if(l>1e-10&&(n.hasFill()||(s=Math.max(s,this.strokeContainThreshold)),r.containStroke(a,s/l,t,e)))return!0}if(n.hasFill())return r.contain(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):n.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(a.isObject(t))for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&u(t[0]-1)>1e-10&&u(t[3]-1)>1e-10?Math.sqrt(u(t[0]*t[3]-t[2]*t[1])):1}},o.extend=function(t){var e=function(e){o.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var a in i)!n.hasOwnProperty(a)&&i.hasOwnProperty(a)&&(n[a]=i[a])}t.init&&t.init.call(this,e)};for(var i in a.inherits(e,o),t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},a.inherits(o,n);var p=o;t.exports=p},function(t,e){function i(t){return Math.sqrt(o(t))}function o(t){return t[0]*t[0]+t[1]*t[1]}function n(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function a(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}var s="undefined"==typeof Float32Array?Array:Float32Array,r=i,l=o,h=n,u=a;e.create=function(t,e){var i=new s(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i},e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},e.clone=function(t){var e=new s(2);return e[0]=t[0],e[1]=t[1],e},e.set=function(t,e,i){return t[0]=e,t[1]=i,t},e.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},e.scaleAndAdd=function(t,e,i,o){return t[0]=e[0]+i[0]*o,t[1]=e[1]+i[1]*o,t},e.sub=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},e.len=i,e.length=r,e.lenSquare=o,e.lengthSquare=l,e.mul=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},e.div=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},e.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},e.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},e.normalize=function(t,e){var o=i(e);return 0===o?(t[0]=0,t[1]=0):(t[0]=e[0]/o,t[1]=e[1]/o),t},e.distance=n,e.dist=h,e.distanceSquare=a,e.distSquare=u,e.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},e.lerp=function(t,e,i,o){return t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),t},e.applyTransform=function(t,e,i){var o=e[0],n=e[1];return t[0]=i[0]*o+i[2]*n+i[4],t[1]=i[1]*o+i[3]*n+i[5],t},e.min=function(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t},e.max=function(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}},function(t,e,i){function o(t,e,i,o){i<0&&(t+=i,i=-i),o<0&&(e+=o,o=-o),this.x=t,this.y=e,this.width=i,this.height=o}var n=i(2),a=i(8),s=n.applyTransform,r=Math.min,l=Math.max;o.prototype={constructor:o,union:function(t){var e=r(t.x,this.x),i=r(t.y,this.y);this.width=l(t.x+t.width,this.x+this.width)-e,this.height=l(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:function(){var t=[],e=[],i=[],o=[];return function(n){if(n){t[0]=i[0]=this.x,t[1]=o[1]=this.y,e[0]=o[0]=this.x+this.width,e[1]=i[1]=this.y+this.height,s(t,t,n),s(e,e,n),s(i,i,n),s(o,o,n),this.x=r(t[0],e[0],i[0],o[0]),this.y=r(t[1],e[1],i[1],o[1]);var a=l(t[0],e[0],i[0],o[0]),h=l(t[1],e[1],i[1],o[1]);this.width=a-this.x,this.height=h-this.y}}}(),calculateTransform:function(t){var e=this,i=t.width/e.width,o=t.height/e.height,n=a.create();return a.translate(n,n,[-e.x,-e.y]),a.scale(n,n,[i,o]),a.translate(n,n,[t.x,t.y]),n},intersect:function(t){if(!t)return!1;t instanceof o||(t=o.create(t));var e=this,i=e.x,n=e.x+e.width,a=e.y,s=e.y+e.height,r=t.x,l=t.x+t.width,h=t.y,u=t.y+t.height;return!(n=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new o(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},o.create=function(t){return new o(t.x,t.y,t.width,t.height)};var h=o;t.exports=h},function(t,e,i){function o(t){return t>-p&&tp||t<-p}function a(t,e,i,o,n){var a=1-n;return a*a*(a*t+3*n*e)+n*n*(n*o+3*a*i)}function s(t,e,i,o){var n=1-o;return n*(n*t+2*o*e)+o*o*i}var r=i(2),l=r.create,h=r.distSquare,u=Math.pow,c=Math.sqrt,p=1e-8,f=1e-4,d=c(3),g=1/3,v=l(),m=l(),y=l();e.cubicAt=a,e.cubicDerivativeAt=function(t,e,i,o,n){var a=1-n;return 3*(((e-t)*a+2*(i-e)*n)*a+(o-i)*n*n)},e.cubicRootAt=function(t,e,i,n,a,s){var r=n+3*(e-i)-t,l=3*(i-2*e+t),h=3*(e-t),p=t-a,f=l*l-3*r*h,v=l*h-9*r*p,m=h*h-3*l*p,y=0;if(o(f)&&o(v))if(o(l))s[0]=0;else{var x=-h/l;x>=0&&x<=1&&(s[y++]=x)}else{var S=v*v-4*f*m;if(o(S)){var w=v/f,x=-l/r+w,b=-w/2;x>=0&&x<=1&&(s[y++]=x),b>=0&&b<=1&&(s[y++]=b)}else if(S>0){var O=c(S),T=f*l+1.5*r*(-v+O),C=f*l+1.5*r*(-v-O);T=T<0?-u(-T,g):u(T,g),C=C<0?-u(-C,g):u(C,g);var x=(-l-(T+C))/(3*r);x>=0&&x<=1&&(s[y++]=x)}else{var _=(2*f*l-3*r*v)/(2*c(f*f*f)),D=Math.acos(_)/3,L=c(f),z=Math.cos(D),x=(-l-2*L*z)/(3*r),b=(-l+L*(z+d*Math.sin(D)))/(3*r),k=(-l+L*(z-d*Math.sin(D)))/(3*r);x>=0&&x<=1&&(s[y++]=x),b>=0&&b<=1&&(s[y++]=b),k>=0&&k<=1&&(s[y++]=k)}}return y},e.cubicExtrema=function(t,e,i,a,s){var r=6*i-12*e+6*t,l=9*e+3*a-3*t-9*i,h=3*e-3*t,u=0;if(o(l)){if(n(r)){var p=-h/r;p>=0&&p<=1&&(s[u++]=p)}}else{var f=r*r-4*l*h;if(o(f))s[0]=-r/(2*l);else if(f>0){var d=c(f),p=(-r+d)/(2*l),g=(-r-d)/(2*l);p>=0&&p<=1&&(s[u++]=p),g>=0&&g<=1&&(s[u++]=g)}}return u},e.cubicSubdivide=function(t,e,i,o,n,a){var s=(e-t)*n+t,r=(i-e)*n+e,l=(o-i)*n+i,h=(r-s)*n+s,u=(l-r)*n+r,c=(u-h)*n+h;a[0]=t,a[1]=s,a[2]=h,a[3]=c,a[4]=c,a[5]=u,a[6]=l,a[7]=o},e.cubicProjectPoint=function(t,e,i,o,n,s,r,l,u,p,d){var g,x,S,w,b,O=.005,T=1/0;v[0]=u,v[1]=p;for(var C=0;C<1;C+=.05)m[0]=a(t,i,n,r,C),m[1]=a(e,o,s,l,C),(w=h(v,m))=0&&w=0&&p<=1&&(s[u++]=p)}}else{var f=l*l-4*r*h;if(o(f)){var p=-l/(2*r);p>=0&&p<=1&&(s[u++]=p)}else if(f>0){var d=c(f),p=(-l+d)/(2*r),g=(-l-d)/(2*r);p>=0&&p<=1&&(s[u++]=p),g>=0&&g<=1&&(s[u++]=g)}}return u},e.quadraticExtremum=function(t,e,i){var o=t+i-2*e;return 0===o?.5:(t-e)/o},e.quadraticSubdivide=function(t,e,i,o,n){var a=(e-t)*o+t,s=(i-e)*o+e,r=(s-a)*o+a;n[0]=t,n[1]=a,n[2]=r,n[3]=r,n[4]=s,n[5]=i},e.quadraticProjectPoint=function(t,e,i,o,n,a,r,l,u){var p,d=.005,g=1/0;v[0]=r,v[1]=l;for(var x=0;x<1;x+=.05){m[0]=s(t,i,n,x),m[1]=s(e,o,a,x);var S=h(v,m);S=0&&S_&&(C=0,T={}),C++,T[i]=n,n}function n(t,e,i,n,a,l){var h=d(t,e,a,l),u=o(t,e);a&&(u+=a[1]+a[3]);var c=h.outerHeight,p=s(0,u,i),f=r(0,c,n),g=new m(p,f,u,c);return g.lineHeight=h.lineHeight,g}function a(t,e,i,o,n,a,l){var h=g(t,{rich:a,truncate:l,font:e,textAlign:i,textPadding:n}),u=h.outerWidth,c=h.outerHeight,p=s(0,u,i),f=r(0,c,o);return new m(p,f,u,c)}function s(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function r(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function l(t,e,i,o,n){if(!e)return"";var a=(t+"").split("\n");n=h(e,i,o,n);for(var s=0,r=a.length;s=s;l++)r-=s;var h=o(i);return h>r&&(i="",h=0),r=t-h,n.ellipsis=i,n.ellipsisWidth=h,n.contentWidth=r,n.containerWidth=t,n}function u(t,e){var i=e.containerWidth,n=e.font,a=e.contentWidth;if(!i)return"";var s=o(t,n);if(s<=i)return t;for(var r=0;;r++){if(s<=a||r>=e.maxIterations){t+=e.ellipsis;break}var l=0===r?c(t,a,e.ascCharWidth,e.cnCharWidth):s>0?Math.floor(t.length*a/s):0;t=t.substr(0,l),s=o(t,n)}return""===t&&(t=e.placeholder),t}function c(t,e,i,o){for(var n=0,a=0,s=t.length;al)t="",a=[];else if(null!=c)for(var f=h(c-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,g=a.length;da&&v(i,t.substring(a,s)),v(i,n[2],n[1]),a=D.lastIndex}am)return{lines:[],width:0,height:0};_.textWidth=o(_.text,k);var M=L.textWidth,F=null==M||"auto"===M;if("string"==typeof M&&"%"===M.charAt(M.length-1))_.percentWidth=M,c.push(_),M=0;else{if(F){M=_.textWidth;var P=L.textBackgroundColor,W=P&&P.image;W&&(W=y.findExistImage(W),y.isImageReady(W)&&(M=Math.max(M,W.width*A/W.height)))}var I=z?z[1]+z[3]:0;M+=I;var R=null!=g?g-T:null;null!=R&&Rthis._ux||x(e-this._yi)>this._uy||this._len<5;return this.addData(h.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,o,n,a){return this.addData(h.C,t,e,i,o,n,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,o,n,a):this._ctx.bezierCurveTo(t,e,i,o,n,a)),this._xi=n,this._yi=a,this},quadraticCurveTo:function(t,e,i,o){return this.addData(h.Q,t,e,i,o),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,o):this._ctx.quadraticCurveTo(t,e,i,o)),this._xi=i,this._yi=o,this},arc:function(t,e,i,o,n,a){return this.addData(h.A,t,e,i,i,o,n-o,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,o,n,a),this._xi=v(n)*i+t,this._yi=m(n)*i+t,this},arcTo:function(t,e,i,o,n){return this._ctx&&this._ctx.arcTo(t,e,i,o,n),this},rect:function(t,e,i,o){return this._ctx&&this._ctx.rect(t,e,i,o),this.addData(h.R,t,e,i,o),this},closePath:function(){this.addData(h.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;ie.length&&(this._expandData(),e=this.data);for(var i=0;i0&&f<=t||u<0&&f>=t||0==u&&(c>0&&v<=e||c<0&&v>=e);)o=this._dashIdx,i=s[o],f+=u*i,v+=c*i,this._dashIdx=(o+1)%m,u>0&&fl||c>0&&vh||r[o%2?"moveTo":"lineTo"](u>=0?d(f,t):g(f,t),c>=0?d(v,e):g(v,e));u=f-t,c=v-e,this._dashOffset=-y(u*u+c*c)},_dashedBezierTo:function(t,e,i,n,a,s){var r,l,h,u,c,p=this._dashSum,f=this._dashOffset,d=this._lineDash,g=this._ctx,v=this._xi,m=this._yi,x=o.cubicAt,S=0,w=this._dashIdx,b=d.length,O=0;for(f<0&&(f=p+f),f%=p,r=0;r<1;r+=.1)l=x(v,t,i,a,r+.1)-x(v,t,i,a,r),h=x(m,e,n,s,r+.1)-x(m,e,n,s,r),S+=y(l*l+h*h);for(;wf);w++);for(r=(O-f)/S;r<=1;)u=x(v,t,i,a,r),c=x(m,e,n,s,r),w%2?g.moveTo(u,c):g.lineTo(u,c),r+=d[w]/S,w=(w+1)%b;w%2!=0&&g.lineTo(a,s),l=a-u,h=s-c,this._dashOffset=-y(l*l+h*h)},_dashedQuadraticTo:function(t,e,i,o){var n=i,a=o;i=(i+2*t)/3,o=(o+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,o,n,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,S&&(this.data=new Float32Array(t)))},getBoundingRect:function(){u[0]=u[1]=p[0]=p[1]=Number.MAX_VALUE,c[0]=c[1]=f[0]=f[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,o=0,r=0,l=0;ll||x(s-n)>u||p===c-1)&&(t.lineTo(a,s),o=a,n=s);break;case h.C:t.bezierCurveTo(r[p++],r[p++],r[p++],r[p++],r[p++],r[p++]),o=r[p-2],n=r[p-1];break;case h.Q:t.quadraticCurveTo(r[p++],r[p++],r[p++],r[p++]),o=r[p-2],n=r[p-1];break;case h.A:var d=r[p++],g=r[p++],y=r[p++],S=r[p++],w=r[p++],b=r[p++],O=r[p++],T=r[p++],C=y>S?y:S,_=y>S?1:y/S,D=y>S?S/y:1,L=Math.abs(y-S)>.001,z=w+b;L?(t.translate(d,g),t.rotate(O),t.scale(_,D),t.arc(0,0,C,w,z,1-T),t.scale(1/_,1/D),t.rotate(-O),t.translate(-d,-g)):t.arc(d,g,C,w,z,1-T),1==p&&(e=v(w)*y+d,i=m(w)*S+g),o=v(z)*y+d,n=m(z)*S+g;break;case h.R:e=o=r[p],i=n=r[p+1],t.rect(r[p++],r[p++],r[p++],r[p++]);break;case h.Z:t.closePath(),o=e,n=i}}}},w.CMD=h;var b=w;t.exports=b},function(e,i){e.exports=t},function(t,e){function i(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}var o="undefined"==typeof Float32Array?Array:Float32Array;e.create=function(){var t=new o(6);return i(t),t},e.identity=i,e.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},e.mul=function(t,e,i){var o=e[0]*i[0]+e[2]*i[1],n=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],s=e[1]*i[2]+e[3]*i[3],r=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=o,t[1]=n,t[2]=a,t[3]=s,t[4]=r,t[5]=l,t},e.translate=function(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t},e.rotate=function(t,e,i){var o=e[0],n=e[2],a=e[4],s=e[1],r=e[3],l=e[5],h=Math.sin(i),u=Math.cos(i);return t[0]=o*u+s*h,t[1]=-o*h+s*u,t[2]=n*u+r*h,t[3]=-n*h+u*r,t[4]=u*a+h*l,t[5]=u*l-h*a,t},e.scale=function(t,e,i){var o=i[0],n=i[1];return t[0]=e[0]*o,t[1]=e[1]*n,t[2]=e[2]*o,t[3]=e[3]*n,t[4]=e[4]*o,t[5]=e[5]*n,t},e.invert=function(t,e){var i=e[0],o=e[2],n=e[4],a=e[1],s=e[3],r=e[5],l=i*s-a*o;return l?(l=1/l,t[0]=s*l,t[1]=-a*l,t[2]=-o*l,t[3]=i*l,t[4]=(o*r-s*n)*l,t[5]=(a*n-i*r)*l,t):null}},function(t,e,i){function o(t){return Math.floor(Math.log(t)/Math.LN10)}var n=i(0),a=1e-4,s=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;e.linearMap=function(t,e,i,o){var n=e[1]-e[0],a=i[1]-i[0];if(0===n)return 0===a?i[0]:(i[0]+i[1])/2;if(o)if(n>0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/n*a+i[0]},e.parsePercent=function(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?function(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t},e.round=function(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t},e.asc=function(t){return t.sort(function(t,e){return t-e}),t},e.getPrecision=function(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i},e.getPrecisionSafe=function(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var o=+e.slice(i+1);return o<0?-o:0}var n=e.indexOf(".");return n<0?0:e.length-1-n},e.getPixelPrecision=function(t,e){var i=Math.log,o=Math.LN10,n=Math.floor(i(t[1]-t[0])/o),a=Math.round(i(Math.abs(e[1]-e[0]))/o),s=Math.min(Math.max(-n+a,0),20);return isFinite(s)?s:20},e.getPercentWithPrecision=function(t,e,i){if(!t[e])return 0;var o=n.reduce(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===o)return 0;for(var a=Math.pow(10,i),s=n.map(t,function(t){return(isNaN(t)?0:t)/o*a*100}),r=100*a,l=n.map(s,function(t){return Math.floor(t)}),h=n.reduce(l,function(t,e){return t+e},0),u=n.map(s,function(t,e){return t-l[e]});hc&&(c=u[f],p=f);++l[p],u[p]=0,++h}return l[e]/a},e.MAX_SAFE_INTEGER=9007199254740991,e.remRadian=function(t){var e=2*Math.PI;return(t%e+e)%e},e.isRadianAroundZero=function(t){return t>-a&&t=-20?+t.toFixed(i<0?-i:0):t},e.reformIntervals=function(t){t.sort(function(t,e){return function t(e,i,o){return e.interval[o]=0}},function(t,e,i){function o(){var t=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var e=0;e=0||n&&o.indexOf(n,r)<0)){var l=e.getShallow(r);null!=l&&(a[t[s][0]]=l)}}return a}}},function(t,e,i){function o(t){for(var e in t=t||{},s.call(this,t),t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new a(t.style,this),this._rect=null,this.__clipPaths=[]}var n=i(0),a=i(40),s=i(16),r=i(48);o.prototype={constructor:o,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:-1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?s.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new a(t,this),this.dirty(!1),this}},n.inherits(o,s),n.mixin(o,r);var l=o;t.exports=l},function(t,e,i){function o(t){return String(t).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}var n=i(0),a=i(5),s=i(9),r=n.normalizeCssArray,l=["a","b","c","d","e","f","g"],h=function(t,e){return"{"+t+(null==e?"":e)+"}"},u=function(t){return t<10?"0"+t:t},c=a.truncateText,p=a.getBoundingRect;e.addCommas=function(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")},e.toCamelCase=function(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t},e.normalizeCssArray=r,e.encodeHTML=o,e.formatTpl=function(t,e,i){n.isArray(e)||(e=[e]);var a=e.length;if(!a)return"";for(var s=e[0].$vars||[],r=0;r':""},e.formatTime=function(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var o=s.parseDate(e),n=i?"UTC":"",a=o["get"+n+"FullYear"](),r=o["get"+n+"Month"]()+1,l=o["get"+n+"Date"](),h=o["get"+n+"Hours"](),c=o["get"+n+"Minutes"](),p=o["get"+n+"Seconds"]();return t=t.replace("MM",u(r)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",u(l)).replace("d",l).replace("hh",u(h)).replace("h",h).replace("mm",u(c)).replace("m",c).replace("ss",u(p)).replace("s",p)},e.capitalFirst=function(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t},e.truncateText=c,e.getTextRect=p},function(t,e){var i=function(){this.head=null,this.tail=null,this._len=0},o=i.prototype;o.insert=function(t){var e=new n(t);return this.insertEntry(e),e},o.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},o.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},o.len=function(){return this._len},o.clear=function(){this.head=this.tail=null,this._len=0};var n=function(t){this.value=t,this.next,this.prev},a=function(t){this._list=new i,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},s=a.prototype;s.put=function(t,e){var i=this._list,o=this._map,a=null;if(null==o[t]){var s=i.len(),r=this._lastRemovedEntry;if(s>=this._maxSize&&s>0){var l=i.head;i.remove(l),delete o[l.key],a=l.value,this._lastRemovedEntry=l}r?r.value=e:r=new n(e),r.key=t,i.insertEntry(r),o[t]=r}return a},s.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},s.clear=function(){this._list.clear(),this._map={}};var r=a;t.exports=r},function(t,e){var i="undefined"==typeof navigator?{browser:{},os:{},node:!0,canvasSupported:!0,svgSupported:!0}:function(t){var e={},i=t.match(/Firefox\/([\d.]+)/),o=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),n=t.match(/Edge\/([\d.]+)/),a=/micromessenger/i.test(t);return i&&(e.firefox=!0,e.version=i[1]),o&&(e.ie=!0,e.version=o[1]),n&&(e.edge=!0,e.version=n[1]),a&&(e.weChat=!0),{browser:e,os:{},node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!e.ie&&!e.edge,pointerEventsSupported:"onpointerdown"in window&&(e.edge||e.ie&&e.version>=11)}}(navigator.userAgent);t.exports=i},function(t,e,i){var o=i(41),n=i(42),a=i(17),s=i(43),r=i(0),l=function(t){a.call(this,t),n.call(this,t),s.call(this,t),this.id=t.id||o()};l.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var i=this[t];i||(i=this[t]=[]),i[0]=e[0],i[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(r.isObject(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var i=0;ir||t<-r}var n=i(8),a=i(2),s=n.identity,r=5e-5,l=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},h=l.prototype;h.transform=null,h.needLocalTransform=function(){return o(this.rotation)||o(this.position[0])||o(this.position[1])||o(this.scale[0]-1)||o(this.scale[1]-1)},h.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),o=this.transform;i||e?(o=o||n.create(),i?this.getLocalTransform(o):s(o),e&&(i?n.mul(o,t.transform,o):n.copy(o,t.transform)),this.transform=o,this.invTransform=this.invTransform||n.create(),n.invert(this.invTransform,o)):o&&s(o)},h.getLocalTransform=function(t){return l.getLocalTransform(this,t)},h.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},h.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var u=[];h.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(n.mul(u,t.invTransform,e),e=u);var i=e[0]*e[0]+e[1]*e[1],a=e[2]*e[2]+e[3]*e[3],s=this.position,r=this.scale;o(i-1)&&(i=Math.sqrt(i)),o(a-1)&&(a=Math.sqrt(a)),e[0]<0&&(i=-i),e[3]<0&&(a=-a),s[0]=e[4],s[1]=e[5],r[0]=i,r[1]=a,this.rotation=Math.atan2(-e[1]/a,e[0]/i)}},h.getGlobalScale=function(){var t=this.transform;if(!t)return[1,1];var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]),i=Math.sqrt(t[2]*t[2]+t[3]*t[3]);return t[0]<0&&(e=-e),t[3]<0&&(i=-i),[e,i]},h.transformCoordToLocal=function(t,e){var i=[t,e],o=this.invTransform;return o&&a.applyTransform(i,i,o),i},h.transformCoordToGlobal=function(t,e){var i=[t,e],o=this.transform;return o&&a.applyTransform(i,i,o),i},l.getLocalTransform=function(t,e){s(e=e||[]);var i=t.origin,o=t.scale||[1,1],a=t.rotation||0,r=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),n.scale(e,e,o),a&&n.rotate(e,e,a),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=r[0],e[5]+=r[1],e};var c=l;t.exports=c},function(t,e,i){function o(t){return(t=Math.round(t))<0?0:t>255?255:t}function n(t){return t<0?0:t>1?1:t}function a(t){return o(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function s(t){return n(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function r(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function l(t,e,i){return t+(e-t)*i}function h(t,e,i,o,n){return t[0]=e,t[1]=i,t[2]=o,t[3]=n,t}function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function c(t,e){S&&u(S,e),S=x.put(t,S||e.slice())}function p(t,e){if(t){e=e||[];var i=x.get(t);if(i)return u(e,i);var o=(t+="").replace(/ /g,"").toLowerCase();if(o in y)return u(e,y[o]),c(t,e),e;if("#"!==o.charAt(0)){var n=o.indexOf("("),r=o.indexOf(")");if(-1!==n&&r+1===o.length){var l=o.substr(0,n),p=o.substr(n+1,r-(n+1)).split(","),d=1;switch(l){case"rgba":if(4!==p.length)return void h(e,0,0,0,1);d=s(p.pop());case"rgb":return 3!==p.length?void h(e,0,0,0,1):(h(e,a(p[0]),a(p[1]),a(p[2]),d),c(t,e),e);case"hsla":return 4!==p.length?void h(e,0,0,0,1):(p[3]=s(p[3]),f(p,e),c(t,e),e);case"hsl":return 3!==p.length?void h(e,0,0,0,1):(f(p,e),c(t,e),e);default:return}}h(e,0,0,0,1)}else{if(4===o.length){var g=parseInt(o.substr(1),16);return g>=0&&g<=4095?(h(e,(3840&g)>>4|(3840&g)>>8,240&g|(240&g)>>4,15&g|(15&g)<<4,1),c(t,e),e):void h(e,0,0,0,1)}if(7===o.length){var g=parseInt(o.substr(1),16);return g>=0&&g<=16777215?(h(e,(16711680&g)>>16,(65280&g)>>8,255&g,1),c(t,e),e):void h(e,0,0,0,1)}}}}function f(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=s(t[1]),a=s(t[2]),l=a<=.5?a*(n+1):a+n-a*n,u=2*a-l;return h(e=e||[],o(255*r(u,l,i+1/3)),o(255*r(u,l,i)),o(255*r(u,l,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function d(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var a=t*(e.length-1),s=Math.floor(a),r=Math.ceil(a),h=e[s],u=e[r],c=a-s;return i[0]=o(l(h[0],u[0],c)),i[1]=o(l(h[1],u[1],c)),i[2]=o(l(h[2],u[2],c)),i[3]=n(l(h[3],u[3],c)),i}}function g(t,e,i){if(e&&e.length&&t>=0&&t<=1){var a=t*(e.length-1),s=Math.floor(a),r=Math.ceil(a),h=p(e[s]),u=p(e[r]),c=a-s,f=v([o(l(h[0],u[0],c)),o(l(h[1],u[1],c)),o(l(h[2],u[2],c)),n(l(h[3],u[3],c))],"rgba");return i?{color:f,leftIndex:s,rightIndex:r,value:a}:f}}function v(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}var m=i(14),y={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},x=new m(20),S=null,w=d,b=g;e.parse=p,e.lift=function(t,e){var i=p(t);if(i){for(var o=0;o<3;o++)i[o]=e<0?i[o]*(1-e)|0:(255-i[o])*e+i[o]|0;return v(i,4===i.length?"rgba":"rgb")}},e.toHex=function(t){var e=p(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)},e.fastLerp=d,e.fastMapToColor=w,e.lerp=g,e.mapToColor=b,e.modifyHSL=function(t,e,i,o){if(t=p(t))return t=function(t){if(t){var e,i,o=t[0]/255,n=t[1]/255,a=t[2]/255,s=Math.min(o,n,a),r=Math.max(o,n,a),l=r-s,h=(r+s)/2;if(0===l)e=0,i=0;else{i=h<.5?l/(r+s):l/(2-r-s);var u=((r-o)/6+l/2)/l,c=((r-n)/6+l/2)/l,p=((r-a)/6+l/2)/l;o===r?e=p-c:n===r?e=1/3+u-p:a===r&&(e=2/3+c-u),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,h];return null!=t[3]&&f.push(t[3]),f}}(t),null!=e&&(t[0]=function(t){return(t=Math.round(t))<0?0:t>360?360:t}(e)),null!=i&&(t[1]=s(i)),null!=o&&(t[2]=s(o)),v(f(t),"rgba")},e.modifyAlpha=function(t,e){if((t=p(t))&&null!=e)return t[3]=n(e),v(t,"rgba")},e.stringify=v},function(t,e){var i=1;"undefined"!=typeof window&&(i=Math.max(window.devicePixelRatio||1,1));var o=i;e.debugMode=0,e.devicePixelRatio=o},function(t,e,i){function o(t){if(t){t.font=O.makeFont(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||_[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||D[i]?i:"top",t.textPadding&&(t.textPadding=S(t.textPadding))}}function n(t,e,i,o,n){var h=t.__textCotentBlock;h&&!t.__dirty||(h=t.__textCotentBlock=O.parseRichText(i,o)),function(t,e,i,o,n){var h=i.width,c=i.outerWidth,p=i.outerHeight,f=o.textPadding,d=u(0,o,n),g=d.baseX,v=d.baseY,m=d.textAlign,y=d.textVerticalAlign;a(e,o,n,g,v);var x=O.adjustTextX(g,c,m),S=O.adjustTextY(v,p,y),w=x,b=S;f&&(w+=f[3],b+=f[0]);var T=w+h;r(o)&&l(t,e,o,x,S,c,p);for(var C=0;C=0&&"right"===(_=L[W]).textAlign;)s(t,e,_,o,k,b,P,"right"),A-=_.width,P-=_.width,W--;for(F+=(h-(F-w)-(T-P)-A)/2;M<=W;)_=L[M],s(t,e,_,o,k,b,F+_.width/2,"center"),F+=_.width,M++;b+=k}}(t,e,h,o,n)}function a(t,e,i,o,n){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(o=i.width/2+i.x,n=i.height/2+i.y):a&&(o=a[0]+i.x,n=a[1]+i.y),t.translate(o,n),t.rotate(-e.textRotation),t.translate(-o,-n)}}function s(t,e,i,o,n,a,s,h){var u=o.rich[i.styleName]||{},d=i.textVerticalAlign,v=a+n/2;"top"===d?v=a+i.height/2:"bottom"===d&&(v=a+n-i.height/2),!i.isLineHolder&&r(u)&&l(t,e,u,"right"===h?s-i.width:"center"===h?s-i.width/2:s,v-i.height/2,i.width,i.height);var x=i.textPadding;x&&(s=g(s,h,x),v-=i.height/2-x[2]-i.textHeight/2),c(e,"shadowBlur",y(u.textShadowBlur,o.textShadowBlur,0)),c(e,"shadowColor",u.textShadowColor||o.textShadowColor||"transparent"),c(e,"shadowOffsetX",y(u.textShadowOffsetX,o.textShadowOffsetX,0)),c(e,"shadowOffsetY",y(u.textShadowOffsetY,o.textShadowOffsetY,0)),c(e,"textAlign",h),c(e,"textBaseline","middle"),c(e,"font",i.font||O.DEFAULT_FONT);var S=p(u.textStroke||o.textStroke,b),w=f(u.textFill||o.textFill),b=m(u.textStrokeWidth,o.textStrokeWidth);S&&(c(e,"lineWidth",b),c(e,"strokeStyle",S),e.strokeText(i.text,s,v)),w&&(c(e,"fillStyle",w),e.fillText(i.text,s,v))}function r(t){return t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor}function l(t,e,i,o,n,a,s){var r=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,p=w(r);if(c(e,"shadowBlur",i.textBoxShadowBlur||0),c(e,"shadowColor",i.textBoxShadowColor||"transparent"),c(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),c(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),p||l&&u){e.beginPath();var f=i.textBorderRadius;f?T.buildPath(e,{x:o,y:n,width:a,height:s,r:f}):e.rect(o,n,a,s),e.closePath()}if(p)c(e,"fillStyle",r),e.fill();else if(b(r)){var d=r.image;(d=C.createOrUpdateImage(d,null,t,h,r))&&C.isImageReady(d)&&e.drawImage(d,o,n,a,s)}l&&u&&(c(e,"lineWidth",l),c(e,"strokeStyle",u),e.stroke())}function h(t,e){e.image=t}function u(t,e,i){var o=e.x||0,n=e.y||0,a=e.textAlign,s=e.textVerticalAlign;if(i){var r=e.textPosition;if(r instanceof Array)o=i.x+d(r[0],i.width),n=i.y+d(r[1],i.height);else{var l=O.adjustTextPositionOnRect(r,i,e.textDistance);o=l.x,n=l.y,a=a||l.textAlign,s=s||l.textVerticalAlign}var h=e.textOffset;h&&(o+=h[0],n+=h[1])}return{baseX:o,baseY:n,textAlign:a,textVerticalAlign:s}}function c(t,e,i){return t[e]=i,t[e]}function p(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function f(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function d(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function g(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}var v=i(0),m=v.retrieve2,y=v.retrieve3,x=v.each,S=v.normalizeCssArray,w=v.isString,b=v.isObject,O=i(5),T=i(21),C=i(10),_={left:1,right:1,center:1},D={top:1,bottom:1,middle:1};e.normalizeTextStyle=function(t){return o(t),x(t.rich,o),t},e.renderText=function(t,e,i,o,s){o.rich?n(t,e,i,o,s):function(t,e,i,o,n){var s=c(e,"font",o.font||O.DEFAULT_FONT),h=o.textPadding,d=t.__textCotentBlock;d&&!t.__dirty||(d=t.__textCotentBlock=O.parsePlainText(i,s,h,o.truncate));var v=d.outerHeight,m=d.lines,y=d.lineHeight,x=u(0,o,n),S=x.baseX,w=x.baseY,b=x.textAlign,T=x.textVerticalAlign;a(e,o,n,S,w);var C=O.adjustTextY(w,v,T),_=S,D=C,L=r(o);if(L||h){var z=O.getWidth(i,s),k=z;h&&(k+=h[1]+h[3]);var A=O.adjustTextX(S,k,b);L&&l(t,e,o,A,C,k,v),h&&(_=g(S,b,h),D+=h[0])}c(e,"textAlign",b||"left"),c(e,"textBaseline","middle"),c(e,"shadowBlur",o.textShadowBlur||0),c(e,"shadowColor",o.textShadowColor||"transparent"),c(e,"shadowOffsetX",o.textShadowOffsetX||0),c(e,"shadowOffsetY",o.textShadowOffsetY||0),D+=y/2;var M=o.textStrokeWidth,F=p(o.textStroke,M),P=f(o.textFill);F&&(c(e,"lineWidth",M),c(e,"strokeStyle",F)),P&&c(e,"fillStyle",P);for(var W=0;Wh&&(i*=h/(s=i+o),o*=h/s),n+a>h&&(n*=h/(s=n+a),a*=h/s),o+n>u&&(o*=u/(s=o+n),n*=u/s),i+a>u&&(i*=u/(s=i+a),a*=u/s),t.moveTo(r+i,l),t.lineTo(r+h-o,l),0!==o&&t.quadraticCurveTo(r+h,l,r+h,l+o),t.lineTo(r+h,l+u-n),0!==n&&t.quadraticCurveTo(r+h,l+u,r+h-n,l+u),t.lineTo(r+a,l+u),0!==a&&t.quadraticCurveTo(r,l+u,r,l+u-a),t.lineTo(r,l+i),0!==i&&t.quadraticCurveTo(r,l,r+i,l)}},function(t,e){var i=2*Math.PI;e.normalizeRadian=function(t){return(t%=i)<0&&(t+=i),t}},function(t,e,i){var o=i(66),n=i(67);e.buildPath=function(t,e,i){var a=e.points,s=e.smooth;if(a&&a.length>=2){if(s&&"spline"!==s){var r=n(a,s,i,e.smoothConstraint);t.moveTo(a[0][0],a[0][1]);for(var l=a.length,h=0;h<(i?l:l-1);h++){var u=r[2*h],c=r[2*h+1],p=a[(h+1)%l];t.bezierCurveTo(u[0],u[1],c[0],c[1],p[0],p[1])}}else{"spline"===s&&(a=o(a,i)),t.moveTo(a[0][0],a[0][1]);for(var h=1,f=a.length;h128){var l=i.data[s]+i.data[s+1]+i.data[s+2];n+=l,++a}}for(var h=n/a,s=0;sh?(o.data[s]=0,o.data[s+1]=0,o.data[s+2]=0,o.data[s+3]=0):(o.data[s]=255,o.data[s+1]=255,o.data[s+2]=255,o.data[s+3]=255)}e.putImageData(o,0,0)}(h)}catch(t){console.error("Invalid mask image"),console.error(t.toString())}var p=i.get("sizeRange"),f=i.get("rotationRange"),d=l.getDataExtent("value"),g=Math.PI/180,v=i.get("gridSize");a(h,{list:l.mapArray("value",function(t,e){var i=l.getItemModel(e);return[l.getName(e),i.get("textStyle.normal.textSize",!0)||o.number.linearMap(t,d,p),e]}).sort(function(t,e){return e[1]-t[1]}),fontFamily:i.get("textStyle.normal.fontFamily")||i.get("textStyle.emphasis.fontFamily")||t.get("textStyle.fontFamily"),fontWeight:i.get("textStyle.normal.fontWeight")||i.get("textStyle.emphasis.fontWeight")||t.get("textStyle.fontWeight"),gridSize:v,ellipticity:r.height/r.width,minRotation:f[0]*g,maxRotation:f[1]*g,clearCanvas:!c,rotateRatio:1,rotationStep:i.get("rotationStep")*g,drawOutOfBound:i.get("drawOutOfBound"),shuffle:!1,shape:i.get("shape")}),h.addEventListener("wordclouddrawn",s),i.layoutInstance&&i.layoutInstance.dispose(),i.layoutInstance={ondraw:null,dispose:function(){h.removeEventListener("wordclouddrawn",s),h.addEventListener("wordclouddrawn",function(t){t.preventDefault()})}}})}),o.registerPreprocessor(function(t){function e(t){t&&o.util.each(n,function(e){t.hasOwnProperty(e)&&(t["text"+o.format.capitalFirst(e)]=t[e])})}var i=(t||{}).series;!o.util.isArray(i)&&(i=i?[i]:[]);var n=["shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];o.util.each(i,function(t){if(t&&"wordCloud"===t.type){var i=t.textStyle||{};e(i.normal),e(i.emphasis)}})})},function(t,e,i){function o(t,e,i,o,n){var a=0,s=0;null==o&&(o=1/0),null==n&&(n=1/0);var r=0;e.eachChild(function(l,h){var u,c,p=l.position,f=l.getBoundingRect(),d=e.childAt(h+1),g=d&&d.getBoundingRect();if("horizontal"===t){var v=f.width+(g?-g.x+f.x:0);(u=a+v)>o||l.newline?(a=0,u=v,s+=r+i,r=f.height):r=Math.max(r,f.height)}else{var m=f.height+(g?-g.y+f.y:0);(c=s+m)>n||l.newline?(a+=r+i,s=0,c=m,r=f.width):r=Math.max(r,f.width)}l.newline||(p[0]=a,p[1]=s,"horizontal"===t?a=u+i:s=c+i)})}function n(t,e,i){i=u.normalizeCssArray(i||0);var o=e.width,n=e.height,a=h(t.left,o),s=h(t.top,n),l=h(t.right,o),c=h(t.bottom,n),p=h(t.width,o),f=h(t.height,n),d=i[2]+i[0],g=i[1]+i[3],v=t.aspect;switch(isNaN(p)&&(p=o-l-g-a),isNaN(f)&&(f=n-c-d-s),null!=v&&(isNaN(p)&&isNaN(f)&&(v>o/n?p=.8*o:f=.8*n),isNaN(p)&&(p=v*f),isNaN(f)&&(f=p/v)),isNaN(a)&&(a=o-l-p-g),isNaN(s)&&(s=n-c-f-d),t.left||t.right){case"center":a=o/2-p/2-i[3];break;case"right":a=o-p-g}switch(t.top||t.bottom){case"middle":case"center":s=n/2-f/2-i[0];break;case"bottom":s=n-f-d}a=a||0,s=s||0,isNaN(p)&&(p=o-g-a-(l||0)),isNaN(f)&&(f=n-d-s-(c||0));var m=new r(a+i[3],s+i[0],p,f);return m.margin=i,m}function a(t,e){return e&&t&&c(p,function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t}var s=i(0),r=i(3),l=i(9),h=l.parsePercent,u=i(13),c=s.each,p=["left","right","top","bottom","width","height"],f=[["width","left","right"],["height","top","bottom"]],d=o,g=s.curry(o,"vertical"),v=s.curry(o,"horizontal");e.LOCATION_PARAMS=p,e.HV_NAMES=f,e.box=d,e.vbox=g,e.hbox=v,e.getAvailableSize=function(t,e,i){var o=e.width,n=e.height,a=h(t.x,o),s=h(t.y,n),r=h(t.x2,o),l=h(t.y2,n);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(r)||isNaN(parseFloat(t.x2)))&&(r=o),(isNaN(s)||isNaN(parseFloat(t.y)))&&(s=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=n),i=u.normalizeCssArray(i||0),{width:Math.max(r-a-i[1]-i[3],0),height:Math.max(l-s-i[0]-i[2],0)}},e.getLayoutRect=n,e.positionElement=function(t,e,i,o,a){var l=!a||!a.hv||a.hv[0],h=!a||!a.hv||a.hv[1],u=a&&a.boundingMode||"all";if(l||h){var c;if("raw"===u)c="group"===t.type?new r(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(c=t.getBoundingRect(),t.needLocalTransform()){var p=t.getLocalTransform();(c=c.clone()).applyTransform(p)}e=n(s.defaults({width:c.width,height:c.height},e),i,o);var f=t.position,d=l?e.x-c.x:0,g=h?e.y-c.y:0;t.attr("position","raw"===u?[d,g]:[f[0]+d,f[1]+g])}},e.sizeCalculable=function(t,e){return null!=t[f[e][0]]||null!=t[f[e][1]]&&null!=t[f[e][2]]},e.mergeLayoutParam=function(t,e,i){function o(i,o){var s={},r=0,h={},u=0;if(c(i,function(e){h[e]=t[e]}),c(i,function(t){n(e,t)&&(s[t]=h[t]=e[t]),a(s,t)&&r++,a(h,t)&&u++}),l[o])return a(e,i[1])?h[i[2]]=null:a(e,i[2])&&(h[i[1]]=null),h;if(2!==u&&r){if(r>=2)return s;for(var p=0;p=i.length&&i.push({option:t})}}),i},e.makeIdAndName=function(t){var e=s.createHashMap();u(t,function(t,i){var o=t.exist;o&&e.set(o.id,t)}),u(t,function(t,i){var o=t.option;s.assert(!o||null==o.id||!e.get(o.id)||e.get(o.id)===t,"id duplicates: "+(o&&o.id)),o&&null!=o.id&&e.set(o.id,t),!t.keyInfo&&(t.keyInfo={})}),u(t,function(t,i){var o=t.exist,n=t.option,a=t.keyInfo;if(c(n)){if(a.name=null!=n.name?n.name+"":o?o.name:"\0-",o)a.id=o.id;else if(null!=n.id)a.id=n.id+"";else{var s=0;do{a.id="\0"+a.name+"\0"+s++}while(e.get(a.id))}e.set(a.id,t)}})},e.isIdInner=n,e.compressBatches=function(t,e){function i(t,e,i){for(var n=0,a=t.length;n=0)&&(o={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=i.autoColor,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),o}function T(t,e,i,o,n,a){if("function"==typeof n&&(a=n,n=null),o&&o.isAnimationEnabled()){var s=t?"Update":"",r=o.getShallow("animationDuration"+s),l=o.getShallow("animationEasing"+s),h=o.getShallow("animationDelay"+s);"function"==typeof h&&(h=h(n,o.getAnimationDelayParams?o.getAnimationDelayParams(e,n):null)),"function"==typeof r&&(r=r(n)),r>0?e.animateTo(i,r,h||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function C(t,e,i,o,n){T(!0,t,e,i,o,n)}function _(t,e,i){return e&&!D.isArrayLike(e)&&(e=F.getLocalTransform(e)),i&&(e=k.invert([],e)),A.applyTransform([],t,e)}var D=i(0),L=i(39),z=i(18),k=i(8),A=i(2),M=i(1),F=i(17),P=i(58);e.Image=P;var W=i(59);e.Group=W;var I=i(60);e.Text=I;var R=i(61);e.Circle=R;var B=i(62);e.Sector=B;var E=i(64);e.Ring=E;var N=i(65);e.Polygon=N;var Y=i(68);e.Polyline=Y;var j=i(69);e.Rect=j;var X=i(70);e.Line=X;var q=i(71);e.BezierCurve=q;var H=i(72);e.Arc=H;var G=i(73);e.CompoundPath=G;var Z=i(74);e.LinearGradient=Z;var U=i(75);e.RadialGradient=U;var V=i(3);e.BoundingRect=V;var $=Math.round,Q=Math.max,K=Math.min,J={},tt=L.mergePath;e.extendShape=function(t){return M.extend(t)},e.extendPath=function(t,e){return L.extendFromString(t,e)},e.makePath=o,e.makeImage=function(t,e,i){var o=new P({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===i){var a={width:t.width,height:t.height};o.setStyle(n(e,a))}}});return o},e.mergePath=tt,e.resizePath=a,e.subPixelOptimizeLine=function(t){var e=t.shape,i=t.style.lineWidth;return $(2*e.x1)===$(2*e.x2)&&(e.x1=e.x2=s(e.x1,i,!0)),$(2*e.y1)===$(2*e.y2)&&(e.y1=e.y2=s(e.y1,i,!0)),t},e.subPixelOptimizeRect=function(t){var e=t.shape,i=t.style.lineWidth,o=e.x,n=e.y,a=e.width,r=e.height;return e.x=s(e.x,i,!0),e.y=s(e.y,i,!0),e.width=Math.max(s(o+a,i,!1)-e.x,0===a?0:1),e.height=Math.max(s(n+r,i,!1)-e.y,0===r?0:1),t},e.subPixelOptimize=s,e.setHoverStyle=function(t,e,i){t.__hoverSilentOnTouch=i&&i.hoverSilentOnTouch,"group"===t.type?t.traverse(function(t){"group"!==t.type&&d(t,e)}):d(t,e),t.on("mouseover",g).on("mouseout",v),t.on("emphasis",m).on("normal",y)},e.setLabelStyle=function(t,e,i,o,n,a,s){var r=(n=n||J).labelFetcher,l=n.labelDataIndex,h=n.labelDimIndex,u=i.getShallow("show"),c=o.getShallow("show"),p=u||c?D.retrieve2(r?r.getFormattedLabel(l,"normal",null,h):null,n.defaultText):null,f=u?p:null,d=c?D.retrieve2(r?r.getFormattedLabel(l,"emphasis",null,h):null,p):null;null==f&&null==d||(x(t,i,a,n),x(e,o,s,n,!0)),t.text=f,e.text=d},e.setTextStyle=x,e.setText=function(t,e,i){var o,n={isRectText:!0};!1===i?o=!0:n.autoColor=i,S(t,e,n,o),t.host&&t.host.dirty&&t.host.dirty(!1)},e.getFont=function(t,e){var i=e||e.getModel("textStyle");return[t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" ")},e.updateProps=C,e.initProps=function(t,e,i,o,n){T(!1,t,e,i,o,n)},e.getTransform=function(t,e){for(var i=k.identity([]);t&&t!==e;)k.mul(i,t.getLocalTransform(),i),t=t.parent;return i},e.applyTransform=_,e.transformDirection=function(t,e,i){var o=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),n=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-o:"right"===t?o:0,"top"===t?-n:"bottom"===t?n:0];return a=_(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"},e.groupTransition=function(t,e,i,o){function n(t){var e={position:A.clone(t.position),rotation:t.rotation};return t.shape&&(e.shape=D.extend({},t.shape)),e}if(t&&e){var a=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var o=n(t);t.attr(n(e)),C(t,o,i,t.dataIndex)}}})}},e.clipPointsByRect=function(t,e){return D.map(t,function(t){var i=t[0];i=Q(i,e.x),i=K(i,e.x+e.width);var o=t[1];return o=Q(o,e.y),o=K(o,e.y+e.height),[i,o]})},e.clipRectByRect=function(t,e){var i=Q(t.x,e.x),o=K(t.x+t.width,e.x+e.width),n=Q(t.y,e.y),a=K(t.y+t.height,e.y+e.height);if(o>=i&&a>=n)return{x:i,y:n,width:o-i,height:a-n}},e.createIcon=function(t,e,i){var n=(e=D.extend({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),D.defaults(n,i),new P(e)):o(t.replace("path://",""),e,i,"center")}},function(t,e,i){function o(t,e,i,o,n,a,s,r,l,f,v){var m=l*(p/180),y=c(m)*(t-i)/2+u(m)*(e-o)/2,x=-1*u(m)*(t-i)/2+c(m)*(e-o)/2,S=y*y/(s*s)+x*x/(r*r);S>1&&(s*=h(S),r*=h(S));var w=(n===a?-1:1)*h((s*s*(r*r)-s*s*(x*x)-r*r*(y*y))/(s*s*(x*x)+r*r*(y*y)))||0,b=w*s*x/r,O=w*-r*y/s,T=(t+i)/2+c(m)*b-u(m)*O,C=(e+o)/2+u(m)*b+c(m)*O,_=g([1,0],[(y-b)/s,(x-O)/r]),D=[(y-b)/s,(x-O)/r],L=[(-1*y-b)/s,(-1*x-O)/r],z=g(D,L);d(D,L)<=-1&&(z=p),d(D,L)>=1&&(z=0),0===a&&z>0&&(z-=2*p),1===a&&z<0&&(z+=2*p),v.addData(f,T,C,s,r,_,z,m,a)}function n(t,e){var i=function(t){if(!t)return[];var e,i=t.replace(/-/g," -").replace(/ /g," ").replace(/ /g,",").replace(/,,/g,",");for(e=0;e0&&""===v[0]&&v.shift();for(var m=0;m0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var a="radial"===e.type?o:i,s=a(t,e,n),r=e.colorStops,l=0;l3&&(e=i.call(e,1));for(var n=this._$handlers[t],a=n.length,s=0;s4&&(e=i.call(e,1,e.length-1));for(var n=e[e.length-1],a=this._$handlers[t],s=a.length,r=0;r0&&this.animate(t,!1).when(null==o?500:o,a).delay(n||0),this}};var p=c;t.exports=p},function(t,e,i){function o(t,e){return t[e]}function n(t,e,i){t[e]=i}function a(t,e,i){return(e-t)*i+t}function s(t,e,i){return i>.5?e:t}function r(t,e,i,o,n){var s=t.length;if(1==n)for(var r=0;rn)t.length=n;else for(var a=o;a=0&&!(D[i]<=e);i--);i=Math.min(i,S-2)}else{for(i=Y;ie);i++);i=Math.min(i-1,S-2)}Y=i,j=e;var o=D[i+1]-D[i];if(0!==o)if(I=(e-D[i])/o,x)if(B=L[i],R=L[0===i?i:i-1],E=L[i>S-2?S-1:i+1],N=L[i>S-3?S-1:i+2],O)u(R,B,E,N,I,I*I,I*I*I,d(t,n),_);else{if(T)l=u(R,B,E,N,I,I*I,I*I*I,X,1),l=f(X);else{if(C)return s(B,E,I);l=c(R,B,E,N,I,I*I,I*I*I)}m(t,n,l)}else if(O)r(L[i],L[i+1],I,d(t,n),_);else{var l;if(T)r(L[i],L[i+1],I,X,1),l=f(X);else{if(C)return s(L[i],L[i+1],I);l=a(L[i],L[i+1],I)}m(t,n,l)}},ondestroy:i});return e&&"spline"!==e&&(q.easing=e),q}}}var g=i(45),v=i(18),m=i(0),y=m.isArrayLike,x=Array.prototype.slice,S=function(t,e,i,a){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||o,this._setter=a||n,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};S.prototype={when:function(t,e){var i=this._tracks;for(var o in e)if(e.hasOwnProperty(o)){if(!i[o]){i[o]=[];var n=this._getter(this._target,o);if(null==n)continue;0!==t&&i[o].push({time:0,value:p(n)})}i[o].push({time:t,value:e[o]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t1&&(a=function(){for(var t in arguments)console.log(arguments[t])});var s=a;t.exports=s},function(t,e,i){var o=i(20),n=i(3),a=new n,s=function(){};s.prototype={constructor:s,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&o.normalizeTextStyle(i,!0);var n=i.text;if(null!=n&&(n+=""),o.needDrawText(n,i)){t.save();var s=this.transform;i.transformText?this.setTransform(t):s&&(a.copy(e),a.applyTransform(s),e=a),o.renderText(this,t,n,i,e),t.restore()}}};var r=s;t.exports=r},function(t,e,i){var o=i(2),n=i(4),a=Math.min,s=Math.max,r=Math.sin,l=Math.cos,h=2*Math.PI,u=o.create(),c=o.create(),p=o.create(),f=[],d=[];e.fromPoints=function(t,e,i){if(0!==t.length){var o,n=t[0],r=n[0],l=n[0],h=n[1],u=n[1];for(o=1;o1e-4)return d[0]=t-i,d[1]=e-n,g[0]=t+i,void(g[1]=e+n);if(u[0]=l(a)*i+t,u[1]=r(a)*n+e,c[0]=l(s)*i+t,c[1]=r(s)*n+e,v(d,u,c),m(g,u,c),(a%=h)<0&&(a+=h),(s%=h)<0&&(s+=h),a>s&&!f?s+=h:aa&&(p[0]=l(S)*i+t,p[1]=r(S)*n+e,v(d,p,d),m(g,p,g))}},function(t,e,i){function o(t,e){return Math.abs(t-e)e&&u>o&&u>s&&u>l||u1&&n(),p=v.cubicAt(e,o,s,l,b[0]),g>1&&(f=v.cubicAt(e,o,s,l,b[1]))),2==g?ye&&r>o&&r>a||r=0&&h<=1){for(var u=0,c=v.quadraticAt(e,o,a,h),p=0;pi||r<-i)return 0;var l=Math.sqrt(i*i-r*r);w[0]=-l,w[1]=l;var h=Math.abs(o-n);if(h<1e-4)return 0;if(h%x<1e-4){o=0,n=x;var u=a?1:-1;return s>=w[0]+t&&s<=w[1]+t?u:0}if(a){var l=o;o=g(n),n=g(l)}else o=g(o),n=g(n);o>n&&(n+=x);for(var c=0,p=0;p<2;p++){var f=w[p];if(f+t>s){var d=Math.atan2(r,f),u=a?1:-1;d<0&&(d=x+d),(d>=o&&d<=n||d+x>=o&&d+x<=n)&&(d>Math.PI/2&&d<1.5*Math.PI&&(u=-u),c+=u)}}return c}function l(t,e,i,n,l){for(var h=0,d=0,g=0,v=0,x=0,S=0;S1&&(i||(h+=m(d,g,v,x,n,l))),1==S&&(d=t[S],g=t[S+1],v=d,x=g),w){case y.M:v=t[S++],x=t[S++],d=v,g=x;break;case y.L:if(i){if(u.containStroke(d,g,t[S],t[S+1],e,n,l))return!0}else h+=m(d,g,t[S],t[S+1],n,l)||0;d=t[S++],g=t[S++];break;case y.C:if(i){if(c.containStroke(d,g,t[S++],t[S++],t[S++],t[S++],t[S],t[S+1],e,n,l))return!0}else h+=a(d,g,t[S++],t[S++],t[S++],t[S++],t[S],t[S+1],n,l)||0;d=t[S++],g=t[S++];break;case y.Q:if(i){if(p.containStroke(d,g,t[S++],t[S++],t[S],t[S+1],e,n,l))return!0}else h+=s(d,g,t[S++],t[S++],t[S],t[S+1],n,l)||0;d=t[S++],g=t[S++];break;case y.A:var b=t[S++],O=t[S++],T=t[S++],C=t[S++],_=t[S++],D=t[S++],L=(t[S++],1-t[S++]),z=Math.cos(_)*T+b,k=Math.sin(_)*C+O;S>1?h+=m(d,g,z,k,n,l):(v=z,x=k);var A=(n-b)*C/T+b;if(i){if(f.containStroke(b,O,C,_,_+D,L,e,A,l))return!0}else h+=r(b,O,C,_,_+D,L,A,l);d=Math.cos(_+D)*T+b,g=Math.sin(_+D)*C+O;break;case y.R:v=d=t[S++],x=g=t[S++];var M=t[S++],F=t[S++],z=v+M,k=x+F;if(i){if(u.containStroke(v,x,z,x,e,n,l)||u.containStroke(z,x,z,k,e,n,l)||u.containStroke(z,k,v,k,e,n,l)||u.containStroke(v,k,v,x,e,n,l))return!0}else h+=m(z,x,z,k,n,l),h+=m(v,k,v,x,n,l);break;case y.Z:if(i){if(u.containStroke(d,g,v,x,e,n,l))return!0}else h+=m(d,g,v,x,n,l);d=v,g=x}}return i||o(g,x)||(h+=m(d,g,v,x,n,l)||0),0!==h}var h=i(6),u=i(51),c=i(52),p=i(53),f=i(54),d=i(22),g=d.normalizeRadian,v=i(4),m=i(55),y=h.CMD,x=2*Math.PI,S=1e-4,w=[-1,-1,-1],b=[-1,-1];e.contain=function(t,e,i){return l(t,0,!1,e,i)},e.containStroke=function(t,e,i,o){return l(t,e,!0,i,o)}},function(t,e){e.containStroke=function(t,e,i,o,n,a,s){if(0===n)return!1;var r=n,l=0;if(s>e+r&&s>o+r||st+r&&a>i+r||ae+p&&c>n+p&&c>s+p&&c>l+p||ct+p&&u>i+p&&u>a+p&&u>r+p||ue+u&&h>o+u&&h>s+u||ht+u&&l>i+u&&l>a+u||li||p+cs&&(s+=a);var d=Math.atan2(u,h);return d<0&&(d+=a),d>=o&&d<=s||d+a>=o&&d+a<=s}},function(t,e){t.exports=function(t,e,i,o,n,a){if(a>e&&a>o||an?s:0}},function(t,e){var i=function(t,e){this.image=t,this.repeat=e,this.type="pattern"};i.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||"repeat")};var o=i;t.exports=o},function(t,e,i){var o=i(6),n=i(2),a=n.applyTransform,s=o.CMD,r=[[],[],[]],l=Math.sqrt,h=Math.atan2;t.exports=function(t,e){var i,o,n,u,c,p=t.data,f=s.M,d=s.C,g=s.L,v=s.R,m=s.A,y=s.Q;for(n=0,u=0;n=0&&(i.splice(o,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof s&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,a=o.indexOf(n,t);return a<0?this:(n.splice(a,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof s&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,o=this.__storage;for(e=0;e=11?function(){var e,i=this.__clipPaths,o=this.style;if(i)for(var a=0;ai-2?i-1:f+1],c=t[f>i-3?i-1:f+2]);var v=d*d,m=d*v;n.push([o(h[0],g[0],u[0],c[0],d,v,m),o(h[1],g[1],u[1],c[1],d,v,m)])}return n}},function(t,e,i){var o=i(2),n=o.min,a=o.max,s=o.scale,r=o.distance,l=o.add,h=o.clone,u=o.sub;t.exports=function(t,e,i,o){var c,p,f,d,g=[],v=[],m=[],y=[];if(o){f=[1/0,1/0],d=[-1/0,-1/0];for(var x=0,S=t.length;x=0?1/(Math.cos(2*Math.PI/10-e)+3.07768*Math.sin(2*Math.PI/10-e)):1/(Math.cos(e)+3.07768*Math.sin(e))}}o.gridSize=Math.max(Math.floor(o.gridSize),4);var h,u,c,p,f,d,g,v=o.gridSize,m=v-o.maskGapWidth,y=Math.abs(o.maxRotation-o.minRotation),x=Math.min(o.maxRotation,o.minRotation),S=o.rotationStep;switch(o.color){case"random-dark":g=function(){return i(10,50)};break;case"random-light":g=function(){return i(50,90)};break;default:"function"==typeof o.color&&(g=o.color)}var w=null;"function"==typeof o.classes&&(w=o.classes);var b,O=!1,T=[],C=function(t){var e,i,o=t.currentTarget,n=o.getBoundingClientRect();t.touches?(e=t.touches[0].clientX,i=t.touches[0].clientY):(e=t.clientX,i=t.clientY);var a=e-n.left,s=i-n.top,r=Math.floor(a*(o.width/n.width||1)/v),l=Math.floor(s*(o.height/n.height||1)/v);return T[r][l]},_=function(t){var e=C(t);if(b!==e){if(b=e,!e)return void o.hover(void 0,void 0,t);o.hover(e.item,e.dimension,t)}},D=function(t){var e=C(t);e&&(o.click(e.item,e.dimension,t),t.preventDefault())},L=[],z=function(t){if(L[t])return L[t];var e=8*t,i=e,n=[];for(0===t&&n.push([p[0],p[1],0]);i--;){var a=1;"circle"!==o.shape&&(a=o.shape(i/e*2*Math.PI)),n.push([p[0]+t*a*Math.cos(-i/e*2*Math.PI),p[1]+t*a*Math.sin(-i/e*2*Math.PI)*o.ellipticity,i/e*2*Math.PI])}return L[t]=n,n},k=function(){return o.abortThreshold>0&&(new Date).getTime()-d>o.abortThreshold},A=function(t,e,i){var n=o.weightFactor(e);if(n<=o.minSize)return!1;var s=1;nL[1]&&(L[1]=D),OL[2]&&(L[2]=O);break t}}return{mu:s,occupied:_,bounds:L,gw:x,gh:y,fillTextOffsetX:g,fillTextOffsetY:m,fillTextWidth:h,fillTextHeight:u,fontSize:n}},M=function(t,e,i,n,a){for(var s=a.length;s--;){var r=t+a[s][0],l=e+a[s][1];if(r>=u||l>=c||r<0||l<0){if(!o.drawOutOfBound)return!1}else if(!h[r][l])return!1}return!0},F=function(e,i,n,a,s,r,l,h,u){var c,p,f=n.fontSize;c=g?g(a,s,f,r,l):o.color,p=w?w(a,s,f,r,l):o.classes;var d=n.bounds;d[3],d[0],d[1],d[3],d[2],d[0],t.forEach(function(t){if(t.getContext){var s=t.getContext("2d"),r=n.mu;s.save(),s.scale(1/r,1/r),s.font=o.fontWeight+" "+(f*r).toString(10)+"px "+o.fontFamily,s.fillStyle=c,s.translate((e+n.gw/2)*v*r,(i+n.gh/2)*v*r),0!==h&&s.rotate(-h),s.textBaseline="middle",s.fillText(a,n.fillTextOffsetX*r,(n.fillTextOffsetY+.5*f)*r),s.restore()}else{var l=document.createElement("span"),d="";d="rotate("+-h/Math.PI*180+"deg) ",1!==n.mu&&(d+="translateX(-"+n.fillTextWidth/4+"px) scale("+1/n.mu+")");var g={position:"absolute",display:"block",font:o.fontWeight+" "+f*n.mu+"px "+o.fontFamily,left:(e+n.gw/2)*v+n.fillTextOffsetX+"px",top:(i+n.gh/2)*v+n.fillTextOffsetY+"px",width:n.fillTextWidth+"px",height:n.fillTextHeight+"px",lineHeight:f+"px",whiteSpace:"nowrap",transform:d,webkitTransform:d,msTransform:d,transformOrigin:"50% 40%",webkitTransformOrigin:"50% 40%",msTransformOrigin:"50% 40%"};for(var m in c&&(g.color=c),l.textContent=a,g)l.style[m]=g[m];if(u)for(var y in u)l.setAttribute(y,u[y]);p&&(l.className+=p),t.appendChild(l)}})},P=function(e,i,o,n,a){e>=u||i>=c||e<0||i<0||(h[e][i]=!1,o&&t[0].getContext("2d").fillRect(e*v,i*v,m,m),O&&(T[e][i]={item:a,dimension:n}))},W=function(e,i,n,a,s,r){var l,h,p=s.occupied,f=o.drawMask;if(f&&((l=t[0].getContext("2d")).save(),l.fillStyle=o.maskColor),O){var d=s.bounds;h={x:(e+d[3])*v,y:(i+d[0])*v,w:(d[1]-d[3]+1)*v,h:(d[2]-d[0]+1)*v}}for(var g=p.length;g--;){var m=e+p[g][0],y=i+p[g][1];m>=u||y>=c||m<0||y<0||P(m,y,f,h,r)}f&&l.restore()},I=function(t){var e,i,n;Array.isArray(t)?(e=t[0],i=t[1]):(e=t.word,i=t.weight,n=t.attributes);var a=0===o.rotateRatio?0:Math.random()>o.rotateRatio?0:0===y?x:x+Math.round(Math.random()*y/S)*S,r=A(e,i,a);if(!r)return!1;if(k())return!1;if(!o.drawOutOfBound){var l=r.bounds;if(l[1]-l[3]+1>u||l[2]-l[0]+1>c)return!1}for(var h=f+1;h--;){var p=z(f-h);o.shuffle&&(p=[].concat(p),s(p));for(var d=0;d=o.list.length)return l(L),R("wordcloudstop",!1),void w("wordcloudstart",C);d=(new Date).getTime();var e=I(o.list[s]),i=!R("wordclouddrawn",!0,{item:o.list[s],drawn:e});if(k()||i)return l(L),o.abort(),R("wordcloudabort",!1),R("wordcloudstop",!1),void w("wordcloudstart",C);s++,L=r(t,o.wait)},o.wait)}}()}};r.isSupported=n,r.minFontSize=a,void 0!==(o=function(){return r}.apply(e,[]))&&(t.exports=o)}()}])}(i("TSjp"))},BPcn:function(t,e,i){},CZ5I:function(t,e,i){},"EO+T":function(t,e,i){"use strict";var o=i("u8RD");i.n(o).a},EwIA:function(t,e,i){},FxKO:function(t,e,i){"use strict";var o=i("TSjp"),n=i.n(o),a=(i("Z5Hk"),{"台湾":[121.5135,25.0308],"黑龙江":[127.9688,45.368],"内蒙古":[110.3467,41.4899],"吉林":[125.8154,44.2584],"北京":[116.4551,40.2539],"辽宁":[123.1238,42.1216],"河北":[114.4995,38.1006],"天津":[117.4219,39.4189],"山西":[112.3352,37.9413],"陕西":[109.1162,34.2004],"甘肃":[103.5901,36.3043],"宁夏":[106.3586,38.1775],"青海":[101.4038,36.8207],"新疆":[87.9236,43.5883],"西藏":[91.11,29.97],"四川":[103.9526,30.7617],"重庆":[108.384366,30.439702],"山东":[117.1582,36.8701],"河南":[113.4668,34.6234],"江苏":[118.8062,31.9208],"安徽":[117.29,32.0581],"湖北":[114.3896,30.6628],"浙江":[119.5313,29.8773],"福建":[119.4543,25.9222],"江西":[116.0046,28.6633],"湖南":[113.0823,28.2568],"贵州":[106.6992,26.7682],"云南":[102.9199,25.4663],"广东":[113.12244,23.009505],"广西":[108.479,23.1152],"海南":[110.3893,19.8516],"上海":[121.4648,31.2891]}),s=[{name:"南海诸岛",value:1},{name:"北京",value:524},{name:"天津",value:14},{name:"上海",value:150},{name:"重庆",value:75},{name:"河北",value:13},{name:"河南",value:83},{name:"云南",value:11},{name:"辽宁",value:19},{name:"黑龙江",value:15},{name:"湖南",value:69},{name:"安徽",value:260},{name:"山东",value:39},{name:"新疆",value:4},{name:"江苏",value:31},{name:"浙江",value:104},{name:"江西",value:36},{name:"湖北",value:1052},{name:"广西",value:33},{name:"甘肃",value:347},{name:"山西",value:8},{name:"内蒙古",value:157},{name:"陕西",value:22},{name:"吉林",value:4},{name:"福建",value:36},{name:"贵州",value:39},{name:"广东",value:996},{name:"青海",value:27},{name:"西藏",value:31},{name:"四川",value:46},{name:"宁夏",value:16},{name:"海南",value:22},{name:"台湾",value:6},{name:"香港",value:2},{name:"澳门",value:9}],r=function(t){for(var e=[],i=0;i1?"  "+t.name+"   "+t.value[2]+"  ":"  "+t.name+"   "+t.value+"  "}},geo:{map:"china",show:!0,roam:!1,label:{emphasis:{show:!1}},layoutSize:"80%",itemStyle:{normal:{borderColor:new n.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#00F6FF"},{offset:1,color:"#53D9FF"}],!1),borderWidth:3,shadowColor:"rgba(10,76,139,1)",shadowOffsetY:0,shadowBlur:60}}},series:[{type:"map",map:"china",aspectScale:.75,label:{normal:{position:"right",show:!0,color:"#53D9FF",fontSize:20},emphasis:{show:!0}},itemStyle:{normal:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#061E3D"}]},borderColor:"#215495",borderWidth:1},emphasis:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#2B91B7"}]}}},data:s},{type:"effectScatter",coordinateSystem:"geo",rippleEffect:{brushType:"stroke"},showEffectOn:"render",itemStyle:{normal:{color:{type:"radial",x:.5,y:.5,r:.5,colorStops:[{offset:0,color:"rgba(5,80,151,0.2)"},{offset:.8,color:"rgba(5,80,151,0.8)"},{offset:1,color:"rgba(0,108,255,0.7)"}],global:!1}}},label:{normal:{show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:13,color:"#D4EEFF"}}}},symbol:"circle",symbolSize:function(t){return 0==t[2]?0:(l-h)/5990*t[2]+1.2*(l-(l-h)/5990*6e3)},data:r(s),zlevel:1}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionTextValue(),this.setOptionsData(),this.setOptionAirSize(),this.setOptionMapBlocak()},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.show=t.isNoTitle,e.text=t.titleText,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionTextValue:function(){var t=this.optionsSetup,e=this.options.series[0].label,i={position:"right",show:!0,color:t.fontTextColor,fontSize:t.fontTextSize,fontWeight:t.fontTextWeight};e.normal=i},setOptionMapBlocak:function(){var t=this.optionsSetup,e=this.options.series[0].itemStyle,i={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:t.font0PreColor},{offset:1,color:t.font100PreColor}]},borderColor:"#215495",borderWidth:1},o={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:t.fontHighlightColor}]}};e.normal=i,e.emphasis=o},setOptionAirSize:function(){l=this.optionsSetup.fontmaxSize4Pin,h=this.optionsSetup.fontminSize4Pin},setOptionsData:function(){var t=this.optionsData;"staticData"==t.dataType?this.staticDataFn(t.staticData):this.dynamicDataFn(t.dynamicData,t.refreshTime)},staticDataFn:function(t){this.options.series[0].data=t;var e=this.optionsSetup,i=this.options.series[1].label,o={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:e.fontDataSize,color:e.fontDataColor,fontWeight:e.fontDataWeight}}},n=r(t);this.options.series[1].data=n,i.normal=o},dynamicDataFn:function(t,e){var i=this;t&&(this.ispreview?(this.getEchartData(t),this.flagInter=setInterval(function(){i.getEchartData(t)},e)):this.getEchartData(t))},getEchartData:function(t){var e=this;this.queryEchartsData(t).then(function(t){e.renderingFn(t)})},renderingFn:function(t){this.options.series[0].data=t;var e=this.optionsSetup,i=this.options.series[1].label,o={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:e.fontDataSize,color:e.fontDataColor,fontWeight:e.fontDataWeight}}},n=r(t);this.options.series[1].data=n,i.normal=o}}},c=(i("5wqb"),i("ZrdR")),p=Object(c.a)(u,function(){var t=this.$createElement,e=this._self._c||t;return e("div",{style:this.styleObj},[e("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"82db8fb2",null);p.options.__file="widgetAirBubbleMap.vue";e.a=p.exports},GWHw:function(t,e,i){"use strict";var o={name:"WidgetIframe",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px",iframeAdress:this.transStyle.iframeAdress}}},watch:{value:{handler:function(t){this.options=t},deep:!0}},mounted:function(){this.options=this.value},methods:{}},n=(i("qpv/"),i("ZrdR")),a=Object(n.a)(o,function(){var t=this.$createElement;return(this._self._c||t)("iframe",{style:this.styleColor,attrs:{src:this.styleColor.iframeAdress,width:"100%",height:"100%"}})},[],!1,null,"537c80f2",null);a.options.__file="widgetIframe.vue";e.a=a.exports},HMir:function(t,e,i){"use strict";var o=i("TSjp"),n=i.n(o),a={name:"widgetMoreBarLineChart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{tooltip:{trigger:"item",axisPointer:{type:"shadow"}},grid:{left:"2%",right:"4%",bottom:"14%",top:"16%",containLabel:!0},legend:{data:["调解成功","调解失败","调解终止","调解成功率"],left:"7%",top:"5%",textStyle:{color:"#666666"},itemWidth:15,itemHeight:10,itemGap:25},xAxis:{type:"category",data:["2012","2013","2014","2015","2016","2017","2018","2019"],axisLine:{lineStyle:{color:"#cdd5e2"}},axisLabel:{textStyle:{color:"#666666"}}},yAxis:[{type:"value",axisLine:{show:!0,lineStyle:{color:"#cdd5e2"}},splitLine:{show:!1},axisLabel:{textStyle:{color:"#666666"}}},{type:"value",nameTextStyle:{color:"#666666"},position:"right",axisLine:{lineStyle:{color:"#cdd5e2"}},splitLine:{show:!1},axisLabel:{show:!0,textStyle:{color:"#666666"}}}],series:[{name:"调解成功",type:"bar",itemStyle:{normal:{color:new n.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#29acff"},{offset:1,color:"#4bdfff"}]),barBorderRadius:6}},data:[]},{name:"调解失败",type:"bar",itemStyle:{normal:{color:new n.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#3d93f2"},{offset:1,color:"#5dc1fd"}]),barBorderRadius:6}},data:[]},{name:"调解终止",type:"bar",itemStyle:{normal:{color:new n.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#01c871"},{offset:1,color:"#55f49c"}]),barBorderRadius:6}},data:[]},{name:"调解成功率",type:"line",yAxisIndex:1,smooth:!1,symbol:"circle",symbolSize:8,itemStyle:{normal:{color:"#ffa43a",borderColor:"rgba(255, 234, 0, 0.5)",borderWidth:5}},lineStyle:{color:"#ffa43a"},data:[]}]}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsLegend(),this.setOptionsTooltip(),this.setOptionsMargin(),this.setOptionsColor(),this.setOptionsData()},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.text=t.titleText,e.show=t.isNoTitle,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionsX:function(){var t=this.optionsSetup,e={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=e},setOptionsY:function(){var t=this.optionsSetup,e=[{type:"value",show:t.isShowYLeft,name:t.textNameYLeft,nameTextStyle:{color:t.nameColorYLeft,fontSize:t.namefontSizeYLeft},axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:t.isShowYLeft,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}},{type:"value",position:"right",show:t.isShowYRight,name:t.textNameYRight,nameTextStyle:{color:t.nameColorYRight,fontSize:t.namefontSizeYRight},axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:t.isShowYRight,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=e},setOptionsTooltip:function(){var t=this.optionsSetup,e={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipFontSize}};this.options.tooltip=e},setOptionsMargin:function(){var t=this.optionsSetup,e={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=e},setOptionsLegend:function(){var t=this.optionsSetup,e=this.options.legend;e.show=t.isShowLegend,e.left=t.lateralPosition,e.top=t.longitudinalPosition,e.bottom=t.longitudinalPosition,e.orient=t.layoutFront,e.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},e.itemWidth=t.lengedWidth},setOptionsLegendName:function(t){var e=this.optionsSetup,i=this.options.series,o=e.legendName;if(null==o||""==o){for(var n=0;n{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:[{type:"category",data:[],axisLabel:{show:!1,textStyle:{color:"#fff"}}}],yAxis:[{type:"value",name:"",min:0,max:250,interval:50,axisLabel:{show:!0,textStyle:{color:"#fff"}}},{type:"value",name:"",min:0,max:25,interval:5,axisLabel:{show:!0,textStyle:{color:"#fff"}}}],series:[{name:"",type:"bar",yAxisIndex:0,data:[],itemStyle:{barBorderRadius:null}},{name:"",type:"line",yAxisIndex:1,data:[],itemStyle:{}}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsLine(),this.setOptionsBar(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.text=t.titleText,e.show=t.isNoTitle,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionsX:function(){var t=this.optionsSetup,e={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=e},setOptionsY:function(){var t=this.optionsSetup,e=[{type:"value",splitNumber:t.splitNumberLeft,show:t.isShowYLeft,name:t.textNameYLeft,nameTextStyle:{color:t.nameColorYLeft,fontSize:t.namefontSizeYLeft},inverse:t.reversalY,axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}},{type:"value",splitNumber:t.splitNumberRight,show:t.isShowYRight,name:t.textNameYRight,nameTextStyle:{color:t.nameColorYRight,fontSize:t.namefontSizeYRight},inverse:t.reversalY,axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=e},setOptionsLine:function(){var t=this.optionsSetup,e=this.options.series;for(var i in e)"line"==e[i].type&&(e[i].showSymbol=t.markPoint,e[i].symbolSize=t.pointSize,e[i].smooth=t.smoothCurve,t.area?e[i].areaStyle={opacity:t.areaThickness/100}:e[i].areaStyle={opacity:0},e[i].lineStyle={width:t.lineWidth},e[i].itemStyle.borderRadius=t.radius,e[i].label={show:t.isShowLine,position:"top",distance:t.distanceLine,fontSize:t.fontSizeLine,color:t.subTextColorLine,fontWeight:t.fontWeightLine});this.options.series=e},setOptionsBar:function(){var t=this.optionsSetup,e=this.options.series;for(var i in e)"bar"==e[i].type&&(e[i].label={show:t.isShowBar,position:"top",distance:t.distanceBar,fontSize:t.fontSizeBar,color:t.subTextColorBar,fontWeight:t.fontWeightBar},e[i].barWidth=t.maxWidth,e[i].barMinHeight=t.minHeight,e[i].itemStyle.barBorderRadius=t.radius);this.options.series=e},setOptionsTooltip:function(){var t=this.optionsSetup,e={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipFontSize}};this.options.tooltip=e},setOptionsMargin:function(){var t=this.optionsSetup,e={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=e},setOptionsLegend:function(){var t=this.optionsSetup,e=this.options.legend;e.show=t.isShowLegend,e.left=t.lateralPosition,e.top=t.longitudinalPosition,e.bottom=t.longitudinalPosition,e.orient=t.layoutFront,e.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},e.itemWidth=t.lengedWidth},setOptionsLegendName:function(t){var e=this.optionsSetup,i=this.options.series,o=e.legendName;if(null==o||""==o){for(var n=0;n"+t.seriesName+" ---\x3e "+t.data.name+"
人数:"+t.data.value[2]+"人":"lines"==t.seriesType?"流出
"+t.data.fromName+" ---\x3e "+t.data.toName+"
人数:"+t.data.value+"人":t.name}},legend:{show:!1,orient:"vertical",top:"bottom",left:"right",data:["广州"],textStyle:{color:"#fff"},selectedMode:"single"},geo:{map:"china",label:{emphasis:{show:!0,color:"white"}},roam:!0,itemStyle:{normal:{areaColor:"#323c48",borderColor:"#404a59"},emphasis:{areaColor:"#2a333d"}}},series:[]},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position},deep:!0}},created:function(){this.optionsStyle=this.value.position},mounted:function(){this.initData()},methods:{initData:function(){var t=this.options;t.series.push({name:a[0],type:"lines",zlevel:1,effect:{show:!0,period:6,trailLength:.7,color:"#fff",symbolSize:3},lineStyle:{normal:{color:n[0],width:0,curveness:.2}},data:this.convertData(a[1])},{name:a[0],type:"lines",zlevel:2,effect:{show:!0,period:6,trailLength:0,symbol:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",symbolSize:15},lineStyle:{normal:{color:n[0],width:1,opacity:.4,curveness:.2}},data:this.convertData(a[1])},{name:a[0],type:"effectScatter",coordinateSystem:"geo",zlevel:2,rippleEffect:{brushType:"stroke"},label:{normal:{show:!0,position:"right",formatter:"{b}"}},symbolSize:function(t){return t[2]/8},itemStyle:{normal:{color:n[0]}},data:a[1].map(function(t){return{name:t[1].name,value:o[t[1].name].concat([t[1].value])}})}),this.options=t},convertData:function(t){for(var e=[],i=0;i{b} : {c}"},legend:{x:"center",y:"92%",textStyle:{color:"#fff"}},series:[{name:"",type:"funnel",left:"center",width:"80%",sort:"descending",label:{normal:{show:!0,position:"inside",formatter:"{c}",textStyle:{color:"#fff",fontSize:14}},emphasis:{position:"inside",formatter:"{b}: {c}"}},itemStyle:{normal:{opacity:.8,borderColor:"rgba(12, 13, 43, .9)",borderWidth:1,shadowBlur:4,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0, 0, 0, .6)"}},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setEnding(),this.setOptionsText(),this.setOptionsTitle(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData()},setEnding:function(){var t=this.optionsSetup,e=this.options.series;t.ending?e[0].sort="ascending":e[0].sort="descending"},setOptionsText:function(){var t=this.optionsSetup,e={show:t.isShow,position:"inside",formatter:"{c}",textStyle:{color:t.color,fontSize:t.fontSize,fontWeight:t.fontWeight}};this.options.series[0].label.normal=e},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.text=t.titleText,e.show=t.isNoTitle,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionsTooltip:function(){var t=this.optionsSetup,e={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipFontSize}};this.options.tooltip=e},setOptionsLegend:function(){var t=this.optionsSetup,e=this.options.legend;e.show=t.isShowLegend,e.left=t.lateralPosition,e.right=t.lateralPosition,e.top=t.longitudinalPosition,e.bottom=t.longitudinalPosition,e.orient=t.layoutFront,e.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},e.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var e=[],i=0;i-1?this.formatWeek(new Date,this.transStyle.timeFormat):this.formatFunction(new Date,this.transStyle.timeFormat)},getTime:function(){var t=this;setInterval(function(){t.displayTime()},1e3)}}},n=(i("/y+v"),i("ZrdR")),a=Object(n.a)(o,function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"text",style:this.styleColor},[this._v(this._s(this.timestr))])},[],!1,null,"6da4b633",null);a.options.__file="widgetTime.vue";e.a=a.exports},"cf/8":function(t,e,i){},cyzc:function(t,e,i){"use strict";var o={name:"WidgetImage",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",background:this.transStyle.background,"text-align":this.transStyle.textAlign,width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px"}},imgStyle:function(){return{imageAdress:this.transStyle.imageAdress,"border-radius":this.transStyle.borderRadius+"px",opacity:this.transStyle.transparency/100}}},watch:{value:{handler:function(t){this.options=t},deep:!0}},created:function(){this.options=this.value},mounted:function(){},methods:{}},n=(i("palL"),i("ZrdR")),a=Object(n.a)(o,function(){var t=this.$createElement,e=this._self._c||t;return e("div",{staticClass:"imagebox",style:this.styleColor},[e("img",{class:this.transStyle.startRotate?"startImg":"",style:this.imgStyle,attrs:{src:this.imgStyle.imageAdress,alt:""}})])},[],!1,null,"92e12b86",null);a.options.__file="widgetImage.vue";e.a=a.exports},fYW0:function(t,e,i){"use strict";var o=i("2Hon");i.n(o).a},gLgb:function(t,e,i){"use strict";var o={name:"WidgetHref",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",color:this.transStyle.color||"#fff","font-weight":this.transStyle.fontWeight||"600",text:this.transStyle.text||"超链接","font-size":this.transStyle.fontSize+"px"||"12px","letter-spacing":this.transStyle.letterSpacing+"em",background:this.transStyle.background,"text-align":this.transStyle.textAlign,display:void 0==this.transStyle.hideLayer?"block":this.transStyle.hideLayer?"none":"block",width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px",linkAdress:this.transStyle.linkAdress,jumpMode:"other"==this.transStyle.jumpMode?"_blank":"_self"}}},watch:{value:{handler:function(t){this.options=t},deep:!0}},mounted:function(){this.options=this.value},methods:{}},n=(i("uLc6"),i("ZrdR")),a=Object(n.a)(o,function(){var t=this.$createElement;return(this._self._c||t)("a",{style:this.styleColor,attrs:{href:this.styleColor.linkAdress,target:this.styleColor.jumpMode}},[this._v(this._s(this.styleColor.text))])},[],!1,null,"6ebd3276",null);a.options.__file="widgetHref.vue";e.a=a.exports},gvzL:function(t,e,i){},"h+18":function(t,e,i){"use strict";var o=i("T7H8");i.n(o).a},h6gK:function(t,e,i){"use strict";var o=i("cf/8");i.n(o).a},j9f0:function(t,e,i){"use strict";var o=i("jof3");i.n(o).a},jOJk:function(t,e,i){"use strict";var o=i("1OLZ");i.n(o).a},jZP0:function(t,e,i){"use strict";var o=i("OeK3");i.n(o).a},jmgl:function(t,e,i){"use strict";var o=i("TSjp"),n=i.n(o),a={name:"WidgetGauge",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{series:[{type:"gauge",z:100,axisLine:{lineStyle:{width:10,color:[[.3,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(0, 237, 3,0.1)"},{offset:.5,color:"rgba(0, 237, 3,0.6)"},{offset:1,color:"rgba(0, 237, 3,1)"}])],[.7,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(255, 184, 0,0.1)"},{offset:.5,color:"rgba(255, 184, 0,0.6)"},{offset:1,color:"rgba(255, 184, 0,1)"}])],[1,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(175, 36, 74,0.1)"},{offset:.5,color:"rgba(255, 36, 74,0.6)"},{offset:1,color:"rgba(255, 36, 74,1)"}])]]}},pointer:{itemStyle:{color:"auto"}},axisTick:{show:!0,distance:0,length:10,lineStyle:{color:"auto",width:2}},splitLine:{show:!0,distance:0,length:14,lineStyle:{color:"auto",width:4}},axisLabel:{show:!0,color:"white",distance:2,fontSize:10},detail:{valueAnimation:!0,formatter:"{value} %",color:"white",fontSize:18},data:[{value:70}]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptions(),this.setOptionsData()},setOptions:function(){var t=this.optionsSetup,e=this.options.series;if("gauge"==e[0].type){var i={show:t.ringShow,lineStyle:{width:t.pieWeight,color:[[.3,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:t.color30p0},{offset:.5,color:t.color30p5},{offset:1,color:t.color30p10}])],[.7,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:t.color70p0},{offset:.5,color:t.color70p5},{offset:1,color:t.color70p10}])],[1,new n.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:t.color100p0},{offset:.5,color:t.color100p5},{offset:1,color:t.color100p10}])]]}},o={show:t.tickShow,distance:t.tickDistance,length:t.tickLength,lineStyle:{color:"auto",width:t.tickWidth}},a={show:t.splitShow,distance:t.splitDistance,length:t.splitLength,lineStyle:{color:"auto",width:t.splitWidth}};e[0].axisLine=i,e[0].axisTick=o,e[0].splitLine=a}},setOptionsData:function(){var t=this.optionsData;"staticData"==t.dataType?this.staticDataFn(t.staticData):this.dynamicDataFn(t.dynamicData,t.refreshTime)},staticDataFn:function(t){var e=this.optionsSetup,i=this.options.series,o=[{value:t[0].num}],n={valueAnimation:!0,formatter:"{value} %",color:e.labelColor,fontSize:e.labelFontSize,fontWeight:e.labelFontWeight};i[0].data=o,i[0].detail=n},dynamicDataFn:function(t,e){var i=this;t&&(this.ispreview?(this.getEchartData(t),this.flagInter=setInterval(function(){i.getEchartData(t)},e)):this.getEchartData(t))},getEchartData:function(t){var e=this;this.queryEchartsData(t).then(function(t){e.renderingFn(t)})},renderingFn:function(t){var e=this.optionsSetup,i=this.options.series,o=[{value:t[0].value}],n={valueAnimation:!0,formatter:"{value} %",color:e.labelColor,fontSize:e.labelFontSize,fontWeight:e.labelFontWeight};i[0].data=o,i[0].detail=n}}},s=(i("Ydp4"),i("ZrdR")),r=Object(s.a)(a,function(){var t=this.$createElement,e=this._self._c||t;return e("div",{style:this.styleObj},[e("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"a83b2528",null);r.options.__file="widgetGauge.vue";e.a=r.exports},jof3:function(t,e,i){},kLPZ:function(t,e,i){"use strict";var o=i("I8wO");i.n(o).a},kq3f:function(t,e,i){"use strict";var o=i("6ZY3"),n=i.n(o),a={name:"WidgetPieNightingaleRoseArea",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{legend:{top:"bottom"},toolbox:{show:!0,feature:{mark:{show:!0}}},series:[{type:"pie",radius:["10%","50%"],center:["50%","50%"],roseType:"area",itemStyle:{borderRadius:8},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsValue(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData(),this.setOptionsRosetype()},setOptionsRosetype:function(){this.options.series[0].roseType=this.optionsSetup.nightingleRosetype},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.text=t.titleText,e.show=t.isNoTitle,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionsValue:function(){var t=this.optionsSetup,e=this.options.series,i=t.numberValue?"{c}":"",o=t.percentage?"({d})%":"",n={show:t.isShow,formatter:"{a|{b}:"+i+" "+o+"}",rich:{a:{padding:[-30,15,-20,15],color:t.subTextColor,fontSize:t.fontSize,fontWeight:t.fontWeight}},fontSize:t.fontSize,fontWeight:t.optionsCollapse};for(var a in e)"pie"==e[a].type&&(e[a].label=n,e[a].labelLine={show:t.isShow})},setOptionsTooltip:function(){var t=this.optionsSetup,e={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.fontSize}};this.options.tooltip=e},setOptionsMargin:function(){var t=this.optionsSetup,e={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=e},setOptionsLegend:function(){var t=this.optionsSetup,e=this.options.legend;e.show=t.isShowLegend,e.left="left"==t.lateralPosition?0:"auto",e.right="right"==t.lateralPosition?0:"auto",e.top="top"==t.longitudinalPosition?0:"auto",e.bottom="bottom"==t.longitudinalPosition?0:"auto",e.orient=t.layoutFront,e.textStyle={color:t.lengedColor,fontSize:t.fontSize},e.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var e=[],i=0;i{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],type:"line"}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var t=this.optionsSetup,e={};e.text=t.titleText,e.show=t.isNoTitle,e.left=t.textAlign,e.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},e.subtext=t.subText,e.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=e},setOptionsX:function(){var t=this.optionsSetup,e={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=e},setOptionsY:function(){var t=this.optionsSetup,e={type:"value",scale:t.scale,splitNumber:t.splitNumber,show:t.isShowY,name:t.textNameY,nameTextStyle:{color:t.nameColorY,fontSize:t.namefontSizeY},inverse:t.reversalY,axisLabel:{show:!0,rotate:t.ytextAngle,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:t.isShowSplitLineY,lineStyle:{color:t.splitLineColorY}}};this.options.yAxis=e},setOptionsTop:function(){var t=this.optionsSetup,e=this.options.series;for(var i in e)"line"==e[i].type&&(e[i].showSymbol=t.markPoint,e[i].symbolSize=t.pointSize,e[i].smooth=t.smoothCurve,t.area?e[i].areaStyle={opacity:t.areaThickness/100}:e[i].areaStyle={opacity:0},e[i].lineStyle={width:t.lineWidth},e[i].label={show:t.isShow,position:"top",distance:10,fontSize:t.fontSize,color:t.subTextColor,fontWeight:t.fontWeight});this.options.series=e},setOptionsTooltip:function(){var t=this.optionsSetup,e={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.fontSize}};this.options.tooltip=e},setOptionsMargin:function(){var t=this.optionsSetup,e={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=e},setOptionsLegend:function(){var t=this.optionsSetup,e=this.options.legend;e.show=t.isShowLegend,e.left=t.lateralPosition,e.right=t.lateralPosition,e.top=t.longitudinalPosition,e.bottom=t.longitudinalPosition,e.orient=t.layoutFront,e.textStyle={color:t.lengedColor,fontSize:t.fontSize},e.itemWidth=t.lengedWidth},setOptionsLegendName:function(t){var e=this.optionsSetup,i=this.options.series,o=e.legendName;if(null==o||""==o){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"XwKsGlMcdPMEhR1B",i=u.a.enc.Utf8.parse(t),s=u.a.enc.Utf8.parse(e);return u.a.AES.encrypt(s,i,{mode:u.a.mode.ECB,padding:u.a.pad.Pkcs7}).toString()}function m(e){var t=e.$el.parentNode.offsetWidth||window.offsetWidth,i=e.$el.parentNode.offsetHeight||window.offsetHeight;return{imgWidth:-1!=e.imgSize.width.indexOf("%")?parseInt(this.imgSize.width)/100*t+"px":this.imgSize.width,imgHeight:-1!=e.imgSize.height.indexOf("%")?parseInt(this.imgSize.height)/100*i+"px":this.imgSize.height,barWidth:-1!=e.barSize.width.indexOf("%")?parseInt(this.barSize.width)/100*t+"px":this.barSize.width,barHeight:-1!=e.barSize.height.indexOf("%")?parseInt(this.barSize.height)/100*i+"px":this.barSize.height}}var g=i("Asgo"),v=i.n(g),y=i("f0Pt"),b=i.n(y),w=i("VCIm");b.a.defaults.baseURL="./";var k=b.a.create({withCredentials:!1,timeout:6e4,headers:{"Content-Type":"application/json"}});k.interceptors.request.use(function(e){return e},function(e){v.a.reject(e)}),k.interceptors.response.use(function(e){var t=e.data;return 200==t.code?t:"50014"!=t.code?"3100"==t.code||"3101"==t.code?t:(Object(w.Message)({message:t.repMsg||t.message,type:"error",duration:3e3}),t):void Object(w.MessageBox)({message:"当前登录已失效或异地登录,请重新登录",type:"error",duration:3e3}).then(function(){sessionStorage.clear(),localStorage.clear(),window.location.href="/"}).catch(function(e){})},function(e){var t=e.response.code,i=e.response.data,s="";s=200!=t?"服务器内部错误,请联系管理员":"失败原因:"+i.code+"--"+i.repMsg,Object(w.Message)({message:s,type:"error",duration:5e3})});var x=k;function C(e){return x({url:"auth-service/user/captcha/get",method:"post",data:e})}function S(e){return x({url:"auth-service/user/captcha/check",method:"post",data:e})}var _={name:"VerifySlide",props:{captchaType:{type:String},type:{type:String,default:"1"},mode:{type:String,default:"fixed"},vSpace:{type:Number,default:5},explain:{type:String,default:"向右滑动完成验证"},imgSize:{type:Object,default:function(){return{width:"310px",height:"155px"}}},blockSize:{type:Object,default:function(){return{width:"50px",height:"50px"}}},barSize:{type:Object,default:function(){return{width:"310px",height:"40px"}}}},data:function(){return{secretKey:"",passFlag:"",backImgBase:"",blockBackImgBase:"",backToken:"",startMoveTime:"",endMovetime:"",tipsBackColor:"",tipWords:"",text:"",finishText:"",setSize:{imgHeight:0,imgWidth:0,barHeight:0,barWidth:0},top:0,left:0,moveBlockLeft:void 0,leftBarWidth:void 0,moveBlockBackgroundColor:void 0,leftBarBorderColor:"#ddd",iconColor:void 0,iconClass:"icon-right",status:!1,isEnd:!1,showRefresh:!0,transitionLeft:"",transitionWidth:""}},computed:{barArea:function(){return this.$el.querySelector(".verify-bar-area")},resetSize:function(){return m}},methods:{init:function(){var e=this;this.text=this.explain,this.getPictrue(),this.$nextTick(function(){var t=e.resetSize(e);for(var i in t)e.$set(e.setSize,i,t[i]);e.$parent.$emit("ready",e)});var t=this;window.removeEventListener("touchmove",function(e){t.move(e)}),window.removeEventListener("mousemove",function(e){t.move(e)}),window.removeEventListener("touchend",function(){t.end()}),window.removeEventListener("mouseup",function(){t.end()}),window.addEventListener("touchmove",function(e){t.move(e)}),window.addEventListener("mousemove",function(e){t.move(e)}),window.addEventListener("touchend",function(){t.end()}),window.addEventListener("mouseup",function(){t.end()})},start:function(e){if((e=e||window.event).touches)t=e.touches[0].pageX;else var t=e.clientX;this.startLeft=Math.floor(t-this.barArea.getBoundingClientRect().left),this.startMoveTime=+new Date,0==this.isEnd&&(this.text="",this.moveBlockBackgroundColor="#337ab7",this.leftBarBorderColor="#337AB7",this.iconColor="#fff",e.stopPropagation(),this.status=!0)},move:function(e){if(e=e||window.event,this.status&&0==this.isEnd){if(e.touches)t=e.touches[0].pageX;else var t=e.clientX;var i=t-this.barArea.getBoundingClientRect().left;i>=this.barArea.offsetWidth-parseInt(parseInt(this.blockSize.width)/2)-2&&(i=this.barArea.offsetWidth-parseInt(parseInt(this.blockSize.width)/2)-2),i<=0&&(i=parseInt(parseInt(this.blockSize.width)/2)),this.moveBlockLeft=i-this.startLeft+"px",this.leftBarWidth=i-this.startLeft+"px"}},end:function(){var e=this;this.endMovetime=+new Date;var t=this;if(this.status&&0==this.isEnd){var i=parseInt((this.moveBlockLeft||"").replace("px",""));i=310*i/parseInt(this.setSize.imgWidth),S({captchaType:this.captchaType,pointJson:this.secretKey?f(p()({x:i,y:5}),this.secretKey):p()({x:i,y:5}),token:this.backToken}).then(function(s){if("0000"==s.repCode){e.moveBlockBackgroundColor="#5cb85c",e.leftBarBorderColor="#5cb85c",e.iconColor="#fff",e.iconClass="icon-check",e.showRefresh=!1,e.isEnd=!0,"pop"==e.mode&&setTimeout(function(){e.$parent.clickShow=!1,e.refresh()},1500),e.passFlag=!0,e.tipWords=((e.endMovetime-e.startMoveTime)/1e3).toFixed(2)+"s验证成功";var o=e.secretKey?f(e.backToken+"---"+p()({x:i,y:5}),e.secretKey):e.backToken+"---"+p()({x:i,y:5});e.$parent.$emit("success",{captchaVerification:o}),setTimeout(function(){e.tipWords="",e.$parent.closeBox()},1e3)}else e.moveBlockBackgroundColor="#d9534f",e.leftBarBorderColor="#d9534f",e.iconColor="#fff",e.iconClass="icon-close",e.passFlag=!1,setTimeout(function(){t.refresh()},1e3),e.$parent.$emit("error",e),e.tipWords="验证失败",setTimeout(function(){e.tipWords=""},1e3)}),this.status=!1}},refresh:function(){var e=this;this.showRefresh=!0,this.finishText="",this.transitionLeft="left .3s",this.moveBlockLeft=0,this.leftBarWidth=void 0,this.transitionWidth="width .3s",this.leftBarBorderColor="#ddd",this.moveBlockBackgroundColor="#fff",this.iconColor="#000",this.iconClass="icon-right",this.isEnd=!1,this.getPictrue(),setTimeout(function(){e.transitionWidth="",e.transitionLeft="",e.text=e.explain},300)},getPictrue:function(){var e=this;C({captchaType:this.captchaType}).then(function(t){"0000"==t.repCode?(e.backImgBase=t.repData.originalImageBase64,e.blockBackImgBase=t.repData.jigsawImageBase64,e.backToken=t.repData.token,e.secretKey=t.repData.secretKey):e.tipWords=t.repMsg})}},watch:{type:{immediate:!0,handler:function(){this.init()}}},mounted:function(){this.$el.onselectstart=function(){return!1}}},T=i("ZrdR"),z=Object(T.a)(_,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{position:"relative"}},["2"===e.type?i("div",{staticClass:"verify-img-out",style:{height:parseInt(e.setSize.imgHeight)+e.vSpace+"px"}},[i("div",{staticClass:"verify-img-panel",style:{width:e.setSize.imgWidth,height:e.setSize.imgHeight}},[i("img",{staticStyle:{width:"100%",height:"100%",display:"block"},attrs:{src:"data:image/png;base64,"+e.backImgBase,alt:""}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.showRefresh,expression:"showRefresh"}],staticClass:"verify-refresh",on:{click:e.refresh}},[i("i",{staticClass:"iconfont icon-refresh"})]),e._v(" "),i("transition",{attrs:{name:"tips"}},[e.tipWords?i("span",{staticClass:"verify-tips",class:e.passFlag?"suc-bg":"err-bg"},[e._v(e._s(e.tipWords))]):e._e()])],1)]):e._e(),e._v(" "),i("div",{staticClass:"verify-bar-area",style:{width:e.setSize.imgWidth,height:e.barSize.height,"line-height":e.barSize.height}},[i("span",{staticClass:"verify-msg",domProps:{textContent:e._s(e.text)}}),e._v(" "),i("div",{staticClass:"verify-left-bar",style:{width:void 0!==e.leftBarWidth?e.leftBarWidth:e.barSize.height,height:e.barSize.height,"border-color":e.leftBarBorderColor,transaction:e.transitionWidth}},[i("span",{staticClass:"verify-msg",domProps:{textContent:e._s(e.finishText)}}),e._v(" "),i("div",{staticClass:"verify-move-block",style:{width:e.barSize.height,height:e.barSize.height,"background-color":e.moveBlockBackgroundColor,left:e.moveBlockLeft,transition:e.transitionLeft},on:{touchstart:e.start,mousedown:e.start}},[i("i",{class:["verify-icon iconfont",e.iconClass],style:{color:e.iconColor}}),e._v(" "),"2"===e.type?i("div",{staticClass:"verify-sub-block",style:{width:Math.floor(47*parseInt(e.setSize.imgWidth)/310)+"px",height:e.setSize.imgHeight,top:"-"+(parseInt(e.setSize.imgHeight)+e.vSpace)+"px","background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight}},[i("img",{staticStyle:{width:"100%",height:"100%",display:"block"},attrs:{src:"data:image/png;base64,"+e.blockBackImgBase,alt:""}})]):e._e()])])])])},[],!1,null,null,null);z.options.__file="VerifySlide.vue";var B=z.exports,P=i("6ZY3"),$=i.n(P),A={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default:function(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default:function(){return{width:"310px",height:"40px"}}}},data:function(){return{secretKey:"",checkNum:3,fontPos:[],checkPosArr:[],num:1,pointBackImgBase:"",poinTextList:[],backToken:"",setSize:{imgHeight:0,imgWidth:0,barHeight:0,barWidth:0},tempPoints:[],text:"",barAreaColor:void 0,barAreaBorderColor:void 0,showRefresh:!0,bindingClick:!0}},computed:{resetSize:function(){return m}},methods:{init:function(){var e=this;this.fontPos.splice(0,this.fontPos.length),this.checkPosArr.splice(0,this.checkPosArr.length),this.num=1,this.getPictrue(),this.$nextTick(function(){e.setSize=e.resetSize(e),e.$parent.$emit("ready",e)})},canvasClick:function(e){var t=this;this.checkPosArr.push(this.getMousePos(this.$refs.canvas,e)),this.num==this.checkNum&&(this.num=this.createPoint(this.getMousePos(this.$refs.canvas,e)),this.checkPosArr=this.pointTransfrom(this.checkPosArr,this.setSize),setTimeout(function(){var e=t.secretKey?f(t.backToken+"---"+p()(t.checkPosArr),t.secretKey):t.backToken+"---"+p()(t.checkPosArr);S({captchaType:t.captchaType,pointJson:t.secretKey?f(p()(t.checkPosArr),t.secretKey):p()(t.checkPosArr),token:t.backToken}).then(function(i){"0000"==i.repCode?(t.barAreaColor="#4cae4c",t.barAreaBorderColor="#5cb85c",t.text="验证成功",t.bindingClick=!1,"pop"==t.mode&&setTimeout(function(){t.$parent.clickShow=!1,t.refresh()},1500),t.$parent.$emit("success",{captchaVerification:e})):(t.$parent.$emit("error",t),t.barAreaColor="#d9534f",t.barAreaBorderColor="#d9534f",t.text="验证失败",setTimeout(function(){t.refresh()},700))})},400)),this.num="A"&&t<="Z"},showPwd:function(){var e=this;"password"===this.passwordType?this.passwordType="":this.passwordType="password",this.$nextTick(function(){e.$refs.password.focus()})},useVerify:function(){var e=this;this.$refs.loginForm.validate(function(t){if(!t)return!1;e.$refs.verify.show()})},verifylogin:function(e){this.loginForm.verifyCode=e.captchaVerification,this.loginForm.verifyCode&&this.loginApi()},handleLogin:function(){var e=this;this.$refs.loginForm.validate(function(t){if(!t)return!1;e.loading=!0,e.needCaptcha?e.useVerify():e.loginApi()})},loginApi:function(){var e=this;return h()(a.a.mark(function t(){var i,s,o,r;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return i={loginName:e.loginForm.loginName,password:Object(V.a)(e.loginForm.password),verifyCode:""},t.next=3,Object(M.a)(i);case 3:if(s=t.sent,o=s.code,r=s.data,e.loading=!1,"200"==o){t.next=9;break}return t.abrupt("return");case 9:Object(R.j)(r.token),Object(R.h)(r),e.rememberPsw&&E.a.set("u_"+e.loginForm.loginName,Object(F.b)(e.loginForm.password),{expires:15}),r&&r.captcha?e.needCaptcha=!0:(e.needCaptcha=!1,e.$router.push({path:e.redirect||"/index",query:e.otherQuery}));case 13:case"end":return t.stop()}},t,e)}))()},getOtherQuery:function(e){return r()(e).reduce(function(t,i){return"redirect"!==i&&(t[i]=e[i]),t},{})}}},K=(i("Ruor"),i("ZTVk"),Object(T.a)(H,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"login_container"},[e._m(0),e._v(" "),s("div",{staticClass:"login_contant"},[s("img",{staticClass:"login_img",attrs:{src:i("JKld"),alt:"image"}}),e._v(" "),s("el-form",{ref:"loginForm",staticClass:"login_form",attrs:{model:e.loginForm,rules:e.loginRules,autocomplete:"on","label-position":"left"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleLogin(t)}}},[s("div",{staticClass:"title_container"},[s("h3",{staticClass:"title"},[e._v("\n HELLO,\n "),s("br"),e._v(" "),s("p",{staticClass:"title_name"},[e._v("在线大屏")])])]),e._v(" "),s("div",{staticClass:"form_fields"},[s("i",{style:{top:e.activeTop+"%"}}),e._v(" "),s("b"),e._v(" "),s("div",[s("p",[e._v("用户名")]),e._v(" "),s("el-form-item",{attrs:{prop:"loginName"}},[s("el-input",{ref:"loginName",attrs:{placeholder:"用户名",name:"loginName",type:"text",tabindex:"1",autocomplete:"on"},on:{focus:function(t){return e.setTop("0")},change:e.getPsw},model:{value:e.loginForm.loginName,callback:function(t){e.$set(e.loginForm,"loginName",t)},expression:"loginForm.loginName"}})],1)],1),e._v(" "),s("div",[s("p",[e._v("密码")]),e._v(" "),s("input",{staticClass:"take",attrs:{name:"password",type:"password",autocomplete:"off"}}),e._v(" "),s("el-tooltip",{attrs:{content:"Caps lock is On",placement:"right",manual:""},model:{value:e.capsTooltip,callback:function(t){e.capsTooltip=t},expression:"capsTooltip"}},[s("el-form-item",{attrs:{prop:"password"}},[s("el-input",{key:e.passwordType,ref:"password",attrs:{type:e.passwordType,placeholder:"用户密码",name:"password",tabindex:"2",autocomplete:"on"},on:{blur:function(t){e.capsTooltip=!1},focus:function(t){return e.setTop("50")}},nativeOn:{keyup:function(t){return e.checkCapslock(t)}},model:{value:e.loginForm.password,callback:function(t){e.$set(e.loginForm,"password",t)},expression:"loginForm.password"}}),e._v(" "),s("span",{staticClass:"show_pwd",on:{click:e.showPwd}},[s("i",{staticClass:"el-icon-view"})])],1)],1)],1)]),e._v(" "),s("div",{staticClass:"control"},[s("div",{staticClass:"remember"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.rememberPsw,expression:"rememberPsw"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.rememberPsw)?e._i(e.rememberPsw,null)>-1:e.rememberPsw},on:{change:function(t){var i=e.rememberPsw,s=t.target,o=!!s.checked;if(Array.isArray(i)){var r=e._i(i,null);s.checked?r<0&&(e.rememberPsw=i.concat([null])):r>-1&&(e.rememberPsw=i.slice(0,r).concat(i.slice(r+1)))}else e.rememberPsw=o}}}),e._v(" "),s("p",[e._v("记住密码")])])]),e._v(" "),s("el-button",{staticClass:"login_btn",attrs:{loading:e.loading,type:"primary"},nativeOn:{click:function(t){return t.preventDefault(),e.handleLogin(t)}}},[e._v("登录")])],1)],1),e._v(" "),e.needCaptcha?s("Verify",{ref:"verify",attrs:{"captcha-type":"blockPuzzle","img-size":{width:"400px",height:"200px"}},on:{success:e.verifylogin}}):e._e()],1)},s,!1,null,"75f2dc0d",null));K.options.__file="login.vue";t.default=K.exports},JKld:function(e,t,i){e.exports=i.p+"static/img/login.19a7caa.png"},OsZ4:function(e,t,i){e.exports=i.p+"static/img/home-logo.c139e3d.png"},Ruor:function(e,t,i){"use strict";var s=i("udjw");i.n(s).a},ZTVk:function(e,t,i){"use strict";var s=i("zP+N");i.n(s).a},"ksq+":function(e,t,i){},q8np:function(e,t,i){"use strict";var s=i("ksq+");i.n(s).a},udjw:function(e,t,i){},"zP+N":function(e,t,i){}}]); \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-306e"],{"3Xui":function(e,t,i){"use strict";i.r(t);var s=[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"login_title"},[t("img",{attrs:{src:i("OsZ4"),alt:"logo"}})])}],o=i("EPZ6"),r=i.n(o),n=i("cLjf"),a=i.n(n),c=i("hDQ3"),h=i.n(c),l=i("omC7"),p=i.n(l),d=i("6Cps"),u=i.n(d);function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"XwKsGlMcdPMEhR1B",i=u.a.enc.Utf8.parse(t),s=u.a.enc.Utf8.parse(e);return u.a.AES.encrypt(s,i,{mode:u.a.mode.ECB,padding:u.a.pad.Pkcs7}).toString()}function m(e){var t=e.$el.parentNode.offsetWidth||window.offsetWidth,i=e.$el.parentNode.offsetHeight||window.offsetHeight;return{imgWidth:-1!=e.imgSize.width.indexOf("%")?parseInt(this.imgSize.width)/100*t+"px":this.imgSize.width,imgHeight:-1!=e.imgSize.height.indexOf("%")?parseInt(this.imgSize.height)/100*i+"px":this.imgSize.height,barWidth:-1!=e.barSize.width.indexOf("%")?parseInt(this.barSize.width)/100*t+"px":this.barSize.width,barHeight:-1!=e.barSize.height.indexOf("%")?parseInt(this.barSize.height)/100*i+"px":this.barSize.height}}var g=i("Asgo"),v=i.n(g),y=i("f0Pt"),b=i.n(y),w=i("VCIm");b.a.defaults.baseURL="./";var k=b.a.create({withCredentials:!1,timeout:6e4,headers:{"Content-Type":"application/json"}});k.interceptors.request.use(function(e){return e},function(e){v.a.reject(e)}),k.interceptors.response.use(function(e){var t=e.data;return 200==t.code?t:"50014"!=t.code?"3100"==t.code||"3101"==t.code?t:(Object(w.Message)({message:t.repMsg||t.message,type:"error",duration:3e3}),t):void Object(w.MessageBox)({message:"当前登录已失效或异地登录,请重新登录",type:"error",duration:3e3}).then(function(){sessionStorage.clear(),localStorage.clear(),window.location.href="/"}).catch(function(e){})},function(e){var t=e.response.code,i=e.response.data,s="";s=200!=t?"服务器内部错误,请联系管理员":"失败原因:"+i.code+"--"+i.repMsg,Object(w.Message)({message:s,type:"error",duration:5e3})});var x=k;function C(e){return x({url:"auth-service/user/captcha/get",method:"post",data:e})}function S(e){return x({url:"auth-service/user/captcha/check",method:"post",data:e})}var _={name:"VerifySlide",props:{captchaType:{type:String},type:{type:String,default:"1"},mode:{type:String,default:"fixed"},vSpace:{type:Number,default:5},explain:{type:String,default:"向右滑动完成验证"},imgSize:{type:Object,default:function(){return{width:"310px",height:"155px"}}},blockSize:{type:Object,default:function(){return{width:"50px",height:"50px"}}},barSize:{type:Object,default:function(){return{width:"310px",height:"40px"}}}},data:function(){return{secretKey:"",passFlag:"",backImgBase:"",blockBackImgBase:"",backToken:"",startMoveTime:"",endMovetime:"",tipsBackColor:"",tipWords:"",text:"",finishText:"",setSize:{imgHeight:0,imgWidth:0,barHeight:0,barWidth:0},top:0,left:0,moveBlockLeft:void 0,leftBarWidth:void 0,moveBlockBackgroundColor:void 0,leftBarBorderColor:"#ddd",iconColor:void 0,iconClass:"icon-right",status:!1,isEnd:!1,showRefresh:!0,transitionLeft:"",transitionWidth:""}},computed:{barArea:function(){return this.$el.querySelector(".verify-bar-area")},resetSize:function(){return m}},methods:{init:function(){var e=this;this.text=this.explain,this.getPictrue(),this.$nextTick(function(){var t=e.resetSize(e);for(var i in t)e.$set(e.setSize,i,t[i]);e.$parent.$emit("ready",e)});var t=this;window.removeEventListener("touchmove",function(e){t.move(e)}),window.removeEventListener("mousemove",function(e){t.move(e)}),window.removeEventListener("touchend",function(){t.end()}),window.removeEventListener("mouseup",function(){t.end()}),window.addEventListener("touchmove",function(e){t.move(e)}),window.addEventListener("mousemove",function(e){t.move(e)}),window.addEventListener("touchend",function(){t.end()}),window.addEventListener("mouseup",function(){t.end()})},start:function(e){if((e=e||window.event).touches)t=e.touches[0].pageX;else var t=e.clientX;this.startLeft=Math.floor(t-this.barArea.getBoundingClientRect().left),this.startMoveTime=+new Date,0==this.isEnd&&(this.text="",this.moveBlockBackgroundColor="#337ab7",this.leftBarBorderColor="#337AB7",this.iconColor="#fff",e.stopPropagation(),this.status=!0)},move:function(e){if(e=e||window.event,this.status&&0==this.isEnd){if(e.touches)t=e.touches[0].pageX;else var t=e.clientX;var i=t-this.barArea.getBoundingClientRect().left;i>=this.barArea.offsetWidth-parseInt(parseInt(this.blockSize.width)/2)-2&&(i=this.barArea.offsetWidth-parseInt(parseInt(this.blockSize.width)/2)-2),i<=0&&(i=parseInt(parseInt(this.blockSize.width)/2)),this.moveBlockLeft=i-this.startLeft+"px",this.leftBarWidth=i-this.startLeft+"px"}},end:function(){var e=this;this.endMovetime=+new Date;var t=this;if(this.status&&0==this.isEnd){var i=parseInt((this.moveBlockLeft||"").replace("px",""));i=310*i/parseInt(this.setSize.imgWidth),S({captchaType:this.captchaType,pointJson:this.secretKey?f(p()({x:i,y:5}),this.secretKey):p()({x:i,y:5}),token:this.backToken}).then(function(s){if("0000"==s.repCode){e.moveBlockBackgroundColor="#5cb85c",e.leftBarBorderColor="#5cb85c",e.iconColor="#fff",e.iconClass="icon-check",e.showRefresh=!1,e.isEnd=!0,"pop"==e.mode&&setTimeout(function(){e.$parent.clickShow=!1,e.refresh()},1500),e.passFlag=!0,e.tipWords=((e.endMovetime-e.startMoveTime)/1e3).toFixed(2)+"s验证成功";var o=e.secretKey?f(e.backToken+"---"+p()({x:i,y:5}),e.secretKey):e.backToken+"---"+p()({x:i,y:5});e.$parent.$emit("success",{captchaVerification:o}),setTimeout(function(){e.tipWords="",e.$parent.closeBox()},1e3)}else e.moveBlockBackgroundColor="#d9534f",e.leftBarBorderColor="#d9534f",e.iconColor="#fff",e.iconClass="icon-close",e.passFlag=!1,setTimeout(function(){t.refresh()},1e3),e.$parent.$emit("error",e),e.tipWords="验证失败",setTimeout(function(){e.tipWords=""},1e3)}),this.status=!1}},refresh:function(){var e=this;this.showRefresh=!0,this.finishText="",this.transitionLeft="left .3s",this.moveBlockLeft=0,this.leftBarWidth=void 0,this.transitionWidth="width .3s",this.leftBarBorderColor="#ddd",this.moveBlockBackgroundColor="#fff",this.iconColor="#000",this.iconClass="icon-right",this.isEnd=!1,this.getPictrue(),setTimeout(function(){e.transitionWidth="",e.transitionLeft="",e.text=e.explain},300)},getPictrue:function(){var e=this;C({captchaType:this.captchaType}).then(function(t){"0000"==t.repCode?(e.backImgBase=t.repData.originalImageBase64,e.blockBackImgBase=t.repData.jigsawImageBase64,e.backToken=t.repData.token,e.secretKey=t.repData.secretKey):e.tipWords=t.repMsg})}},watch:{type:{immediate:!0,handler:function(){this.init()}}},mounted:function(){this.$el.onselectstart=function(){return!1}}},T=i("ZrdR"),z=Object(T.a)(_,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{position:"relative"}},["2"===e.type?i("div",{staticClass:"verify-img-out",style:{height:parseInt(e.setSize.imgHeight)+e.vSpace+"px"}},[i("div",{staticClass:"verify-img-panel",style:{width:e.setSize.imgWidth,height:e.setSize.imgHeight}},[i("img",{staticStyle:{width:"100%",height:"100%",display:"block"},attrs:{src:"data:image/png;base64,"+e.backImgBase,alt:""}}),e._v(" "),i("div",{directives:[{name:"show",rawName:"v-show",value:e.showRefresh,expression:"showRefresh"}],staticClass:"verify-refresh",on:{click:e.refresh}},[i("i",{staticClass:"iconfont icon-refresh"})]),e._v(" "),i("transition",{attrs:{name:"tips"}},[e.tipWords?i("span",{staticClass:"verify-tips",class:e.passFlag?"suc-bg":"err-bg"},[e._v(e._s(e.tipWords))]):e._e()])],1)]):e._e(),e._v(" "),i("div",{staticClass:"verify-bar-area",style:{width:e.setSize.imgWidth,height:e.barSize.height,"line-height":e.barSize.height}},[i("span",{staticClass:"verify-msg",domProps:{textContent:e._s(e.text)}}),e._v(" "),i("div",{staticClass:"verify-left-bar",style:{width:void 0!==e.leftBarWidth?e.leftBarWidth:e.barSize.height,height:e.barSize.height,"border-color":e.leftBarBorderColor,transaction:e.transitionWidth}},[i("span",{staticClass:"verify-msg",domProps:{textContent:e._s(e.finishText)}}),e._v(" "),i("div",{staticClass:"verify-move-block",style:{width:e.barSize.height,height:e.barSize.height,"background-color":e.moveBlockBackgroundColor,left:e.moveBlockLeft,transition:e.transitionLeft},on:{touchstart:e.start,mousedown:e.start}},[i("i",{class:["verify-icon iconfont",e.iconClass],style:{color:e.iconColor}}),e._v(" "),"2"===e.type?i("div",{staticClass:"verify-sub-block",style:{width:Math.floor(47*parseInt(e.setSize.imgWidth)/310)+"px",height:e.setSize.imgHeight,top:"-"+(parseInt(e.setSize.imgHeight)+e.vSpace)+"px","background-size":e.setSize.imgWidth+" "+e.setSize.imgHeight}},[i("img",{staticStyle:{width:"100%",height:"100%",display:"block"},attrs:{src:"data:image/png;base64,"+e.blockBackImgBase,alt:""}})]):e._e()])])])])},[],!1,null,null,null);z.options.__file="VerifySlide.vue";var B=z.exports,P=i("6ZY3"),$=i.n(P),A={name:"VerifyPoints",props:{mode:{type:String,default:"fixed"},captchaType:{type:String},vSpace:{type:Number,default:5},imgSize:{type:Object,default:function(){return{width:"310px",height:"155px"}}},barSize:{type:Object,default:function(){return{width:"310px",height:"40px"}}}},data:function(){return{secretKey:"",checkNum:3,fontPos:[],checkPosArr:[],num:1,pointBackImgBase:"",poinTextList:[],backToken:"",setSize:{imgHeight:0,imgWidth:0,barHeight:0,barWidth:0},tempPoints:[],text:"",barAreaColor:void 0,barAreaBorderColor:void 0,showRefresh:!0,bindingClick:!0}},computed:{resetSize:function(){return m}},methods:{init:function(){var e=this;this.fontPos.splice(0,this.fontPos.length),this.checkPosArr.splice(0,this.checkPosArr.length),this.num=1,this.getPictrue(),this.$nextTick(function(){e.setSize=e.resetSize(e),e.$parent.$emit("ready",e)})},canvasClick:function(e){var t=this;this.checkPosArr.push(this.getMousePos(this.$refs.canvas,e)),this.num==this.checkNum&&(this.num=this.createPoint(this.getMousePos(this.$refs.canvas,e)),this.checkPosArr=this.pointTransfrom(this.checkPosArr,this.setSize),setTimeout(function(){var e=t.secretKey?f(t.backToken+"---"+p()(t.checkPosArr),t.secretKey):t.backToken+"---"+p()(t.checkPosArr);S({captchaType:t.captchaType,pointJson:t.secretKey?f(p()(t.checkPosArr),t.secretKey):p()(t.checkPosArr),token:t.backToken}).then(function(i){"0000"==i.repCode?(t.barAreaColor="#4cae4c",t.barAreaBorderColor="#5cb85c",t.text="验证成功",t.bindingClick=!1,"pop"==t.mode&&setTimeout(function(){t.$parent.clickShow=!1,t.refresh()},1500),t.$parent.$emit("success",{captchaVerification:e})):(t.$parent.$emit("error",t),t.barAreaColor="#d9534f",t.barAreaBorderColor="#d9534f",t.text="验证失败",setTimeout(function(){t.refresh()},700))})},400)),this.num="A"&&t<="Z"},showPwd:function(){var e=this;"password"===this.passwordType?this.passwordType="":this.passwordType="password",this.$nextTick(function(){e.$refs.password.focus()})},useVerify:function(){var e=this;this.$refs.loginForm.validate(function(t){if(!t)return!1;e.$refs.verify.show()})},verifylogin:function(e){this.loginForm.verifyCode=e.captchaVerification,this.loginForm.verifyCode&&this.loginApi()},handleLogin:function(){var e=this;this.$refs.loginForm.validate(function(t){if(!t)return!1;e.loading=!0,e.needCaptcha?e.useVerify():e.loginApi()})},loginApi:function(){var e=this;return h()(a.a.mark(function t(){var i,s,o,r;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return i={loginName:e.loginForm.loginName,password:Object(V.a)(e.loginForm.password),verifyCode:""},t.next=3,Object(M.a)(i);case 3:if(s=t.sent,o=s.code,r=s.data,e.loading=!1,"200"==o){t.next=9;break}return t.abrupt("return");case 9:Object(R.j)(r.token),Object(R.h)(r),e.rememberPsw&&N.a.set("u_"+e.loginForm.loginName,Object(E.b)(e.loginForm.password),{expires:15}),r&&r.captcha?e.needCaptcha=!0:(e.needCaptcha=!1,e.$router.push({path:e.redirect||"/index",query:e.otherQuery}));case 13:case"end":return t.stop()}},t,e)}))()},getOtherQuery:function(e){return r()(e).reduce(function(t,i){return"redirect"!==i&&(t[i]=e[i]),t},{})}}},K=(i("Ruor"),Object(T.a)(H,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"login_container"},[e._m(0),e._v(" "),s("div",{staticClass:"login_contant"},[s("img",{staticClass:"login_img",attrs:{src:i("JKld"),alt:"image"}}),e._v(" "),s("el-form",{ref:"loginForm",staticClass:"login_form",attrs:{model:e.loginForm,rules:e.loginRules,autocomplete:"on","label-position":"left"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleLogin(t)}}},[s("div",{staticClass:"title_container"},[s("h3",{staticClass:"title"},[e._v("\n HELLO,\n "),s("br"),e._v(" "),s("p",{staticClass:"title_name"},[e._v("在线大屏")])])]),e._v(" "),s("div",{staticClass:"form_fields"},[s("i",{style:{top:e.activeTop+"%"}}),e._v(" "),s("b"),e._v(" "),s("div",[s("p",[e._v("用户名")]),e._v(" "),s("el-form-item",{attrs:{prop:"loginName"}},[s("el-input",{ref:"loginName",attrs:{placeholder:"用户名",name:"loginName",type:"text",tabindex:"1",autocomplete:"on"},on:{focus:function(t){return e.setTop("0")},change:e.getPsw},model:{value:e.loginForm.loginName,callback:function(t){e.$set(e.loginForm,"loginName",t)},expression:"loginForm.loginName"}})],1)],1),e._v(" "),s("div",[s("p",[e._v("密码")]),e._v(" "),s("input",{staticClass:"take",attrs:{name:"password",type:"password",autocomplete:"off"}}),e._v(" "),s("el-tooltip",{attrs:{content:"Caps lock is On",placement:"right",manual:""},model:{value:e.capsTooltip,callback:function(t){e.capsTooltip=t},expression:"capsTooltip"}},[s("el-form-item",{attrs:{prop:"password"}},[s("el-input",{key:e.passwordType,ref:"password",attrs:{type:e.passwordType,placeholder:"用户密码",name:"password",tabindex:"2",autocomplete:"on"},on:{blur:function(t){e.capsTooltip=!1},focus:function(t){return e.setTop("50")}},nativeOn:{keyup:function(t){return e.checkCapslock(t)}},model:{value:e.loginForm.password,callback:function(t){e.$set(e.loginForm,"password",t)},expression:"loginForm.password"}}),e._v(" "),s("span",{staticClass:"show_pwd",on:{click:e.showPwd}},[s("i",{staticClass:"el-icon-view"})])],1)],1)],1)]),e._v(" "),s("div",{staticClass:"control"},[s("div",{staticClass:"remember"},[s("input",{directives:[{name:"model",rawName:"v-model",value:e.rememberPsw,expression:"rememberPsw"}],attrs:{type:"checkbox"},domProps:{checked:Array.isArray(e.rememberPsw)?e._i(e.rememberPsw,null)>-1:e.rememberPsw},on:{change:function(t){var i=e.rememberPsw,s=t.target,o=!!s.checked;if(Array.isArray(i)){var r=e._i(i,null);s.checked?r<0&&(e.rememberPsw=i.concat([null])):r>-1&&(e.rememberPsw=i.slice(0,r).concat(i.slice(r+1)))}else e.rememberPsw=o}}}),e._v(" "),s("p",[e._v("记住密码")])])]),e._v(" "),s("el-button",{staticClass:"login_btn",attrs:{loading:e.loading,type:"primary"},nativeOn:{click:function(t){return t.preventDefault(),e.handleLogin(t)}}},[e._v("登录")])],1)],1),e._v(" "),e.needCaptcha?s("Verify",{ref:"verify",attrs:{"captcha-type":"blockPuzzle","img-size":{width:"400px",height:"200px"}},on:{success:e.verifylogin}}):e._e()],1)},s,!1,null,null,null));K.options.__file="login.vue";t.default=K.exports},JKld:function(e,t,i){e.exports=i.p+"static/img/login.19a7caa.png"},OsZ4:function(e,t,i){e.exports=i.p+"static/img/home-logo.c139e3d.png"},Ruor:function(e,t,i){"use strict";var s=i("udjw");i.n(s).a},"ksq+":function(e,t,i){},q8np:function(e,t,i){"use strict";var s=i("ksq+");i.n(s).a},udjw:function(e,t,i){}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-3bc3.87656e3c.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-3bc3.87656e3c.js deleted file mode 100644 index cb643a0c6..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-3bc3.87656e3c.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-3bc3"],{Cug5:function(e,t,a){"use strict";var r=a("QqVz");a.n(r).a},FZcH:function(e,t,a){},Fzjc:function(e,t,a){"use strict";a.d(t,"d",function(){return n}),a.d(t,"c",function(){return o}),a.d(t,"e",function(){return c}),a.d(t,"a",function(){return s}),a.d(t,"b",function(){return i});var r=a("t3Un");function n(e){return Object(r.a)({url:"reportExcel/preview",method:"post",data:e})}function o(e){return Object(r.a)({url:"reportExcel/exportExcel",method:"post",data:e})}function c(){return Object(r.a)({url:"dataSet/queryAllDataSet",method:"get"})}function s(e){return Object(r.a)({url:"dataSet/detailBysetId/"+e,method:"get"})}function i(e){return Object(r.a)({url:"reportExcel/detailByReportCode/"+e,method:"get"})}},NL6D:function(e,t,a){"use strict";a.r(t);var r=a("/umX"),n=a.n(r),o=a("6ZY3"),c=a.n(o),s=a("cLjf"),i=a.n(s),u=a("omC7"),l=a.n(u),d=a("hDQ3"),p=a.n(d),f=a("Fzjc"),m={name:"Login",components:{},data:function(){return{options:{},sheet:{},reportId:null,reportCode:null,reportName:null,dataSet:null,tableData2:[],excelData:{},params:{reportCode:"",setParam:""}}},mounted:function(){this.preview()},created:function(){this.reportCode=this.$route.query.reportCode},methods:{searchPreview:function(){var e=this;return p()(i.a.mark(function t(){var a;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:a=e.toObject(e.tableData2),e.params.setParam=l()(a),e.preview();case 3:case"end":return t.stop()}},t,e)}))()},preview:function(){var e=this;return p()(i.a.mark(function t(){var a,r,n,o,c,s,u,l;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.excelData={},e.params.reportCode=e.reportCode,t.next=4,Object(f.d)(e.params);case 4:if(a=t.sent,r=a.code,n=a.data,200==r){t.next=9;break}return t.abrupt("return");case 9:for(s in e.reportName=JSON.parse(n.jsonStr).name,e.params.setParam=JSON.parse(n.setParam),o=[],c=e.params.setParam){for(l in u=[],c[s])u.push({name:l,value:c[s][l]});o.push({name:s,children:u})}e.tableData2=o,e.excelData=n.jsonStr,e.sheetData=null==n?[{}]:JSON.parse(n.jsonStr),e.createSheet();case 18:case"end":return t.stop()}},t,e)}))()},download:function(e){var t=this;return p()(i.a.mark(function a(){var r,n,o,c;return i.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:if("gaea_template_pdf"!=e){a.next=3;break}return t.$message("暂不支持pdf"),a.abrupt("return");case 3:return(r={}).reportCode=t.reportCode,r.setParam=l()(t.params.setParam),""!=e&&(r.exportType=e),a.next=9,Object(f.c)(r);case 9:if(n=a.sent,o=n.code,c=n.message,200==o){a.next=14;break}return a.abrupt("return");case 14:t.$message.success(c);case 15:case"end":return a.stop()}},a,t)}))()},toObject:function(e){var t={},a={};e.forEach(function(e){e.name&&(t[e.name]=e.children)});var r=function(e){var r={};t[e].map(function(e){c()(r,n()({},e.name,e.value))}),a[e]=r};for(var o in t)r(o);return a},createSheet:function(){var e={container:"luckysheet",title:"Luckysheet Demo",lang:"zh",plugins:["chart"],data:[{name:"report",color:"",index:0,status:1,order:0,hide:0,row:36,column:18,defaultRowHeight:19,defaultColWidth:73,celldata:[],config:{merge:{},rowlen:{},columnlen:{},rowhidden:{},colhidden:{},borderInfo:{},authority:{}},scrollLeft:0,scrollTop:315,luckysheet_select_save:[],calcChain:[],isPivotTable:!1,pivotTable:{},filter_select:{},filter:null,luckysheet_alternateformat_save:[],luckysheet_alternateformat_save_modelCustom:[],luckysheet_conditionformat_save:{},frozen:{},chart:[],zoomRatio:1,image:[],showGridLines:1,dataVerification:{}}]};e.data=this.sheetData,$(function(){luckysheet.create(e)})}}},h=(a("qkZ5"),a("Cug5"),a("ZrdR")),v=Object(h.a)(m,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"layout"},[a("div",{staticClass:"layout-right"},[a("div",{staticClass:"block"},[a("div",{staticClass:"download"},[null!=e.reportCode?a("a",{attrs:{download:"xxx.xlsx"}},[a("el-button",{attrs:{type:"text"},on:{click:function(t){return e.download("gaea_template_excel")}}},[a("i",{staticClass:"iconfont iconexcel"}),e._v("导出excel\n ")])],1):e._e(),e._v(" "),null!=e.reportCode?a("a",{attrs:{download:"xxx.pdf"}},[a("el-button",{attrs:{type:"text"},on:{click:function(t){return e.download("gaea_template_pdf")}}},[a("i",{staticClass:"iconfont iconpdf"}),e._v("导出pdf\n ")])],1):e._e()]),e._v(" "),a("el-form",{},[a("h2",[e._v("表格查询")]),e._v(" "),e._l(e.tableData2,function(t,r){return a("div",{key:r+"excel"},[a("h4",[e._v(e._s(t.name))]),e._v(" "),e._l(t.children,function(t,r){return a("div",{key:r+"excel2",staticClass:"search_input"},[a("label",[e._v(e._s(t.name)+":")]),e._v(" "),a("el-input",{model:{value:t.value,callback:function(a){e.$set(t,"value",a)},expression:"son.value"}})],1)})],2)}),e._v(" "),a("el-button",{staticStyle:{width:"100%"},on:{click:e.searchPreview}},[e._v("查询")])],2)],1)]),e._v(" "),e._m(0)])},[function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"layout-middle"},[t("div",{staticStyle:{margin:"0px",padding:"0px",position:"absolute",width:"100%",height:"95vh",left:"0px",top:"30px",bottom:"0px"},attrs:{id:"luckysheet"}})])}],!1,null,"32761c58",null);v.options.__file="index.vue";t.default=v.exports},QqVz:function(e,t,a){},qkZ5:function(e,t,a){"use strict";var r=a("FZcH");a.n(r).a}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-487f.2fabf874.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-487f.2fabf874.js deleted file mode 100644 index 3c6d93fb9..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-487f.2fabf874.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-487f"],{"4OtN":function(e,t,r){!function(e){"use strict";e.overlayMode=function(t,r,n){return{startState:function(){return{base:e.startState(t),overlay:e.startState(r),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(n){return{base:e.copyState(t,n.base),overlay:e.copyState(r,n.overlay),basePos:n.basePos,baseCur:null,overlayPos:n.overlayPos,overlayCur:null}},token:function(e,i){return(e!=i.streamSeen||Math.min(i.basePos,i.overlayPos)1&&e.eat("$");var r=e.next();return/['"({]/.test(r)?(t.tokens[0]=a(r,"("==r?"quote":"{"==r?"def":"string"),c(e,t)):(/\d/.test(r)||e.eatWhile(/\w/),t.tokens.shift(),"def")};function c(e,r){return(r.tokens[0]||function(e,r){if(e.eatSpace())return null;var n=e.sol(),i=e.next();if("\\"===i)return e.next(),null;if("'"===i||'"'===i||"`"===i)return r.tokens.unshift(a(i,"`"===i?"quote":"string")),c(e,r);if("#"===i)return n&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===i)return r.tokens.unshift(l),c(e,r);if("+"===i||"="===i)return"operator";if("-"===i)return e.eat("-"),e.eatWhile(/\w/),"attribute";if("<"==i){if(e.match("<<"))return"operator";var o=e.match(/^<-?\s*['"]?([^'"]*)['"]?/);if(o)return r.tokens.unshift(function(e){return function(t,r){return t.sol()&&t.string==e&&r.tokens.shift(),t.skipToEnd(),"string-2"}}(o[1])),"string-2"}if(/\d/.test(i)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);var s=e.current();return"="===e.peek()&&/\w+/.test(s)?"def":t.hasOwnProperty(s)?t[s]:null})(e,r)}return{startState:function(){return{tokens:[]}},token:function(e,t){return c(e,t)},closeBrackets:"()[]{}''\"\"``",lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell"),e.defineMIME("application/x-sh","shell")}(r("1P27"))},"9G5W":function(e,t,r){!function(e){"use strict";function t(e,t){if(!e.hasOwnProperty(t))throw new Error("Undefined state "+t+" in simple mode")}function r(e,t){if(!e)return/(?:)/;var r="";return e instanceof RegExp?(e.ignoreCase&&(r="i"),e.unicode&&(r+="u"),e=e.source):e=String(e),new RegExp((!1===t?"":"^")+"(?:"+e+")",r)}function n(e,n){(e.next||e.push)&&t(n,e.next||e.push),this.regex=r(e.regex),this.token=function(e){if(!e)return null;if(e.apply)return e;if("string"==typeof e)return e.replace(/\./g," ");for(var t=[],r=0;r2&&u.token&&"string"!=typeof u.token){for(var f=2;f-1)return e.Pass;var a=n.indent.length-1,s=t[n.state];e:for(;;){for(var l=0;l|[#\/]([A-Za-z_]\w*)/,token:"keyword"},{regex:/(?:else|this)\b/,token:"keyword"},{regex:/\d+/i,token:"number"},{regex:/=|~|@|true|false/,token:"atom"},{regex:/(?:\.\.\/)*(?:[A-Za-z_][\w\.]*)+/,token:"variable-2"}],dash_comment:[{regex:/--\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],comment:[{regex:/\}\}/,pop:!0,token:"comment"},{regex:/./,token:"comment"}],meta:{blockCommentStart:"{{--",blockCommentEnd:"--}}"}}),e.defineMode("handlebars",function(t,r){var n=e.getMode(t,"handlebars-tags");return r&&r.base?e.multiplexingMode(e.getMode(t,r.base),{open:"{{",close:/\}\}\}?/,mode:n,parseDelimiters:!0}):n}),e.defineMIME("text/x-handlebars-template","handlebars")}(r("1P27"),r("9G5W"),r("fu7i"))},"W+rI":function(e,t,r){!function(e){"use strict";e.defineMode("stylus",function(e){for(var f,g,b,v,k=e.indentUnit,y="",w=m(t),x=/^(a|b|i|s|col|em)$/i,A=m(o),S=m(a),z=m(c),C=m(l),M=m(r),T=h(r),j=m(i),L=m(n),P=m(s),E=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,O=h(u),N=m(d),I=new RegExp(/^\-(moz|ms|o|webkit)-/i),R=m(p),F="",$={};y.length=0?n:k,e.context=new W(r,t.indentation()+n,e.context),r}function U(e,t){var r=e.context.indent-k;return t=t||!1,e.context=e.context.prev,t&&(e.context.indent=r),e.context.type}function Z(e,t,r,n){for(var i=n||1;i>0;i--)r.context=r.context.prev;return function(e,t,r){return $[r.context.type](e,t,r)}(e,t,r)}function H(e){return e.toLowerCase()in w}function K(e){return(e=e.toLowerCase())in A||e in P}function G(e){return e.toLowerCase()in N}function V(e){return e.toLowerCase().match(I)}function J(e){var t=e.toLowerCase(),r="variable-2";return H(e)?r="tag":G(e)?r="block-keyword":K(e)?r="property":t in z||t in R?r="atom":"return"==t||t in C?r="keyword":e.match(/^[A-Z]/)&&(r="string"),r}function Y(e,t){return te(t)&&("{"==e||"]"==e||"hash"==e||"qualifier"==e)||"block-mixin"==e}function Q(e,t){return"{"==e&&t.match(/^\s*\$?[\w-]+/i,!1)}function X(e,t){return":"==e&&t.match(/^[a-z-]+/,!1)}function ee(e){return e.sol()||e.string.match(new RegExp("^\\s*"+function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}(e.current())))}function te(e){return e.eol()||e.match(/^\s*$/,!1)}function re(e){var t=/^\s*[-_]*[a-z0-9]+[\w-]*/i,r="string"==typeof e?e.match(t):e.string.match(t);return r?r[0].replace(/^\s*/,""):""}return $.block=function(e,t,r){if("comment"==e&&ee(t)||","==e&&te(t)||"mixin"==e)return D(r,t,"block",0);if(Q(e,t))return D(r,t,"interpolation");if(te(t)&&"]"==e&&!/^\s*(\.|#|:|\[|\*|&)/.test(t.string)&&!H(re(t)))return D(r,t,"block",0);if(Y(e,t))return D(r,t,"block");if("}"==e&&te(t))return D(r,t,"block",0);if("variable-name"==e)return t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||G(re(t))?D(r,t,"variableName"):D(r,t,"variableName",0);if("="==e)return te(t)||G(re(t))?D(r,t,"block"):D(r,t,"block",0);if("*"==e&&(te(t)||t.match(/\s*(,|\.|#|\[|:|{)/,!1)))return v="tag",D(r,t,"block");if(X(e,t))return D(r,t,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(e))return D(r,t,te(t)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(e))return D(r,t,"keyframes");if(/@extends?/.test(e))return D(r,t,"extend",0);if(e&&"@"==e.charAt(0))return t.indentation()>0&&K(t.current().slice(1))?(v="variable-2","block"):/(@import|@require|@charset)/.test(e)?D(r,t,"block",0):D(r,t,"block");if("reference"==e&&te(t))return D(r,t,"block");if("("==e)return D(r,t,"parens");if("vendor-prefixes"==e)return D(r,t,"vendorPrefixes");if("word"==e){var n=t.current();if("property"==(v=J(n)))return ee(t)?D(r,t,"block",0):(v="atom","block");if("tag"==v){if(/embed|menu|pre|progress|sub|table/.test(n)&&K(re(t)))return v="atom","block";if(t.string.match(new RegExp("\\[\\s*"+n+"|"+n+"\\s*\\]")))return v="atom","block";if(x.test(n)&&(ee(t)&&t.string.match(/=/)||!ee(t)&&!t.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!H(re(t))))return v="variable-2",G(re(t))?"block":D(r,t,"block",0);if(te(t))return D(r,t,"block")}if("block-keyword"==v)return v="keyword",t.current(/(if|unless)/)&&!ee(t)?"block":D(r,t,"block");if("return"==n)return D(r,t,"block",0);if("variable-2"==v&&t.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return D(r,t,"block")}return r.context.type},$.parens=function(e,t,r){if("("==e)return D(r,t,"parens");if(")"==e)return"parens"==r.context.prev.type?U(r):t.string.match(/^[a-z][\w-]*\(/i)&&te(t)||G(re(t))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(re(t))||!t.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&H(re(t))?D(r,t,"block"):t.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||t.string.match(/^\s*(\(|\)|[0-9])/)||t.string.match(/^\s+[a-z][\w-]*\(/i)||t.string.match(/^\s+[\$-]?[a-z]/i)?D(r,t,"block",0):te(t)?D(r,t,"block"):D(r,t,"block",0);if(e&&"@"==e.charAt(0)&&K(t.current().slice(1))&&(v="variable-2"),"word"==e){var n=t.current();"tag"==(v=J(n))&&x.test(n)&&(v="variable-2"),"property"!=v&&"to"!=n||(v="atom")}return"variable-name"==e?D(r,t,"variableName"):X(e,t)?D(r,t,"pseudo"):r.context.type},$.vendorPrefixes=function(e,t,r){return"word"==e?(v="property",D(r,t,"block",0)):U(r)},$.pseudo=function(e,t,r){return K(re(t.string))?Z(e,t,r):(t.match(/^[a-z-]+/),v="variable-3",te(t)?D(r,t,"block"):U(r))},$.atBlock=function(e,t,r){if("("==e)return D(r,t,"atBlock_parens");if(Y(e,t))return D(r,t,"block");if(Q(e,t))return D(r,t,"interpolation");if("word"==e){var n=t.current().toLowerCase();if("tag"==(v=/^(only|not|and|or)$/.test(n)?"keyword":M.hasOwnProperty(n)?"tag":L.hasOwnProperty(n)?"attribute":j.hasOwnProperty(n)?"property":S.hasOwnProperty(n)?"string-2":J(t.current()))&&te(t))return D(r,t,"block")}return"operator"==e&&/^(not|and|or)$/.test(t.current())&&(v="keyword"),r.context.type},$.atBlock_parens=function(e,t,r){if("{"==e||"}"==e)return r.context.type;if(")"==e)return te(t)?D(r,t,"block"):D(r,t,"atBlock");if("word"==e){var n=t.current().toLowerCase();return v=J(n),/^(max|min)/.test(n)&&(v="property"),"tag"==v&&(v=x.test(n)?"variable-2":"atom"),r.context.type}return $.atBlock(e,t,r)},$.keyframes=function(e,t,r){return"0"==t.indentation()&&("}"==e&&ee(t)||"]"==e||"hash"==e||"qualifier"==e||H(t.current()))?Z(e,t,r):"{"==e?D(r,t,"keyframes"):"}"==e?ee(t)?U(r,!0):D(r,t,"keyframes"):"unit"==e&&/^[0-9]+\%$/.test(t.current())?D(r,t,"keyframes"):"word"==e&&"block-keyword"==(v=J(t.current()))?(v="keyword",D(r,t,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(e)?D(r,t,te(t)?"block":"atBlock"):"mixin"==e?D(r,t,"block",0):r.context.type},$.interpolation=function(e,t,r){return"{"==e&&U(r)&&D(r,t,"block"),"}"==e?t.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||t.string.match(/^\s*[a-z]/i)&&H(re(t))?D(r,t,"block"):!t.string.match(/^(\{|\s*\&)/)||t.match(/\s*[\w-]/,!1)?D(r,t,"block",0):D(r,t,"block"):"variable-name"==e?D(r,t,"variableName",0):("word"==e&&"tag"==(v=J(t.current()))&&(v="atom"),r.context.type)},$.extend=function(e,t,r){return"["==e||"="==e?"extend":"]"==e?U(r):"word"==e?(v=J(t.current()),"extend"):U(r)},$.variableName=function(e,t,r){return"string"==e||"["==e||"]"==e||t.current().match(/^(\.|\$)/)?(t.current().match(/^\.[\w-]+/i)&&(v="variable-2"),"variableName"):Z(e,t,r)},{startState:function(e){return{tokenize:null,state:"block",context:new W("block",e||0,null)}},token:function(e,t){return!t.tokenize&&e.eatSpace()?null:((g=(t.tokenize||function(e,t){if(F=e.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),t.context.line.firstWord=F?F[0].replace(/^\s*/,""):"",t.context.line.indent=e.indentation(),f=e.peek(),e.match("//"))return e.skipToEnd(),["comment","comment"];if(e.match("/*"))return t.tokenize=_,_(e,t);if('"'==f||"'"==f)return e.next(),t.tokenize=B(f),t.tokenize(e,t);if("@"==f)return e.next(),e.eatWhile(/[\w\\-]/),["def",e.current()];if("#"==f){if(e.next(),e.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(e.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return e.match(I)?["meta","vendor-prefixes"]:e.match(/^-?[0-9]?\.?[0-9]/)?(e.eatWhile(/[a-z%]/i),["number","unit"]):"!"==f?(e.next(),[e.match(/^(important|optional)/i)?"keyword":"operator","important"]):"."==f&&e.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:e.match(T)?("("==e.peek()&&(t.tokenize=q),["property","word"]):e.match(/^[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","mixin"]):e.match(/^(\+|-)[a-z][\w-]*\(/i)?(e.backUp(1),["keyword","block-mixin"]):e.string.match(/^\s*&/)&&e.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:e.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(e.backUp(1),["variable-3","reference"]):e.match(/^&{1}\s*$/)?["variable-3","reference"]:e.match(O)?["operator","operator"]:e.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?e.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!H(e.current())?(e.match("."),["variable-2","variable-name"]):["variable-2","word"]:e.match(E)?["operator",e.current()]:/[:;,{}\[\]\(\)]/.test(f)?(e.next(),[null,f]):(e.next(),[null,null])})(e,t))&&"object"==typeof g&&(b=g[1],g=g[0]),v=g,t.state=$[t.state](b,e,t),v)},indent:function(e,t,r){var n=e.context,i=t&&t.charAt(0),o=n.indent,a=re(t),s=r.match(/^\s*/)[0].replace(/\t/g,y).length,l=e.context.prev?e.context.prev.line.firstWord:"",c=e.context.prev?e.context.prev.line.indent:s;return n.prev&&("}"==i&&("block"==n.type||"atBlock"==n.type||"keyframes"==n.type)||")"==i&&("parens"==n.type||"atBlock_parens"==n.type)||"{"==i&&"at"==n.type)?o=n.indent-k:/(\})/.test(i)||(/@|\$|\d/.test(i)||/^\{/.test(t)||/^\s*\/(\/|\*)/.test(t)||/^\s*\/\*/.test(l)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(t)||/^(\+|-)?[a-z][\w-]*\(/i.test(t)||/^return/.test(t)||G(a)?o=s:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(i)||H(a)?o=/\,\s*$/.test(l)?c:/^\s+/.test(r)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||H(l))?s<=c?c:c+k:s:/,\s*$/.test(r)||!V(a)&&!K(a)||(o=G(l)?s<=c?c:c+k:/^\{/.test(l)?s<=c?s:c+k:V(l)||K(l)?s>=c?c:s:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(l)||/=\s*$/.test(l)||H(l)||/^\$[\w-\.\[\]\'\"]/.test(l)?c+k:s)),o},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var t=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],r=["domain","regexp","url-prefix","url"],n=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],i=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],o=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],a=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],s=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],l=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],c=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],u=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],d=["for","if","else","unless","from","to"],p=["null","true","false","href","title","type","not-allowed","readonly","disabled"],f=t.concat(r,n,i,o,a,l,c,s,u,d,p,["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"]);function h(e){return e=e.sort(function(e,t){return t>e}),new RegExp("^(("+e.join(")|(")+"))\\b")}function m(e){for(var t={},r=0;r","i")}function o(e,t){for(var r in e)for(var n=t[r]||(t[r]=[]),i=e[r],o=i.length-1;o>=0;o--)n.unshift(i[o])}e.defineMode("htmlmixed",function(r,a){var s=e.getMode(r,{name:"xml",htmlMode:!0,multilineTagIndentFactor:a.multilineTagIndentFactor,multilineTagIndentPastTag:a.multilineTagIndentPastTag,allowMissingTagName:a.allowMissingTagName}),l={},c=a&&a.tags,u=a&&a.scriptTypes;if(o(t,l),c&&o(c,l),u)for(var d=u.length-1;d>=0;d--)l.script.unshift(["type",u[d].matches,u[d].mode]);function p(t,o){var a,c=s.token(t,o.htmlState),u=/\btag\b/.test(c);if(u&&!/[<>\s\/]/.test(t.current())&&(a=o.htmlState.tagName&&o.htmlState.tagName.toLowerCase())&&l.hasOwnProperty(a))o.inTag=a+" ";else if(o.inTag&&u&&/>$/.test(t.current())){var d=/^([\S]+) (.*)/.exec(o.inTag);o.inTag=null;var f=">"==t.current()&&function(e,t){for(var r=0;r-1?e.backUp(n.length-i):n.match(/<\/?$/)&&(e.backUp(n.length),e.match(t,!1)||e.match(n)),r}(e,g,t.localMode.token(e,t.localState))},o.localMode=h,o.localState=e.startState(h,s.indent(o.htmlState,"",""))}else o.inTag&&(o.inTag+=t.current(),t.eol()&&(o.inTag+=" "));return c}return{startState:function(){var t=e.startState(s);return{token:p,inTag:null,localMode:null,localState:null,htmlState:t}},copyState:function(t){var r;return t.localState&&(r=e.copyState(t.localMode,t.localState)),{token:t.token,inTag:t.inTag,localMode:t.localMode,localState:r,htmlState:e.copyState(s,t.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(t,r,n){return!t.localMode||/^\s*<\//.test(r)?s.indent(t.htmlState,r,n):t.localMode.indent?t.localMode.indent(t.localState,r,n):e.Pass},innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||s}}}},"xml","javascript","css"),e.defineMIME("text/html","htmlmixed")}(r("1P27"),r("cXm9"),r("FITP"),r("un1A"))},cXm9:function(e,t,r){!function(e){"use strict";var t={autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0,caseFold:!0},r={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1,allowMissingTagName:!1,caseFold:!1};e.defineMode("xml",function(n,i){var o,a,s=n.indentUnit,l={},c=i.htmlMode?t:r;for(var u in c)l[u]=c[u];for(var u in i)l[u]=i[u];function d(e,t){function r(r){return t.tokenize=r,r(e,t)}var n=e.next();return"<"==n?e.eat("!")?e.eat("[")?e.match("CDATA[")?r(f("atom","]]>")):null:e.match("--")?r(f("comment","--\x3e")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),r(function e(t){return function(r,n){for(var i;null!=(i=r.next());){if("<"==i)return n.tokenize=e(t+1),n.tokenize(r,n);if(">"==i){if(1==t){n.tokenize=d;break}return n.tokenize=e(t-1),n.tokenize(r,n)}}return"meta"}}(1))):null:e.eat("?")?(e.eatWhile(/[\w\._\-]/),t.tokenize=f("meta","?>"),"meta"):(o=e.eat("/")?"closeTag":"openTag",t.tokenize=p,"tag bracket"):"&"==n?(e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"))?"atom":"error":(e.eatWhile(/[^&<]/),null)}function p(e,t){var r=e.next();if(">"==r||"/"==r&&e.eat(">"))return t.tokenize=d,o=">"==r?"endTag":"selfcloseTag","tag bracket";if("="==r)return o="equals",null;if("<"==r){t.tokenize=d,t.state=b,t.tagName=t.tagStart=null;var n=t.tokenize(e,t);return n?n+" tag error":"tag error"}return/[\'\"]/.test(r)?(t.tokenize=function(e){var t=function(t,r){for(;!t.eol();)if(t.next()==e){r.tokenize=p;break}return"string"};return t.isInAttribute=!0,t}(r),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/),"word")}function f(e,t){return function(r,n){for(;!r.eol();){if(r.match(t)){n.tokenize=d;break}r.next()}return e}}function h(e){return e&&e.toLowerCase()}function m(e){e.context&&(e.context=e.context.prev)}function g(e,t){for(var r;;){if(!e.context)return;if(r=e.context.tagName,!l.contextGrabbers.hasOwnProperty(h(r))||!l.contextGrabbers[h(r)].hasOwnProperty(h(t)))return;m(e)}}function b(e,t,r){return"openTag"==e?(r.tagStart=t.column(),v):"closeTag"==e?k:b}function v(e,t,r){return"word"==e?(r.tagName=t.current(),a="tag",x):l.allowMissingTagName&&"endTag"==e?(a="tag bracket",x(e,0,r)):(a="error",v)}function k(e,t,r){if("word"==e){var n=t.current();return r.context&&r.context.tagName!=n&&l.implicitlyClosed.hasOwnProperty(h(r.context.tagName))&&m(r),r.context&&r.context.tagName==n||!1===l.matchClosing?(a="tag",y):(a="tag error",w)}return l.allowMissingTagName&&"endTag"==e?(a="tag bracket",y(e,0,r)):(a="error",w)}function y(e,t,r){return"endTag"!=e?(a="error",y):(m(r),b)}function w(e,t,r){return a="error",y(e,0,r)}function x(e,t,r){if("word"==e)return a="attribute",A;if("endTag"==e||"selfcloseTag"==e){var n=r.tagName,i=r.tagStart;return r.tagName=r.tagStart=null,"selfcloseTag"==e||l.autoSelfClosers.hasOwnProperty(h(n))?g(r,n):(g(r,n),r.context=new function(e,t,r){this.prev=e.context,this.tagName=t||"",this.indent=e.indented,this.startOfLine=r,(l.doNotIndent.hasOwnProperty(t)||e.context&&e.context.noIndent)&&(this.noIndent=!0)}(r,n,i==r.indented)),b}return a="error",x}function A(e,t,r){return"equals"==e?S:(l.allowMissing||(a="error"),x(e,0,r))}function S(e,t,r){return"string"==e?z:"word"==e&&l.allowUnquoted?(a="string",x):(a="error",x(e,0,r))}function z(e,t,r){return"string"==e?z:x(e,0,r)}return d.isInText=!0,{startState:function(e){var t={tokenize:d,state:b,indented:e||0,tagName:null,tagStart:null,context:null};return null!=e&&(t.baseIndent=e),t},token:function(e,t){if(!t.tagName&&e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;o=null;var r=t.tokenize(e,t);return(r||o)&&"comment"!=r&&(a=null,t.state=t.state(o||r,e,t),a&&(r="error"==a?r+" error":a)),r},indent:function(t,r,n){var i=t.context;if(t.tokenize.isInAttribute)return t.tagStart==t.indented?t.stringStartCol+1:t.indented+s;if(i&&i.noIndent)return e.Pass;if(t.tokenize!=p&&t.tokenize!=d)return n?n.match(/^(\s*)/)[0].length:0;if(t.tagName)return!1!==l.multilineTagIndentPastTag?t.tagStart+t.tagName.length+2:t.tagStart+s*(l.multilineTagIndentFactor||1);if(l.alignCDATA&&/$/,blockCommentStart:"\x3c!--",blockCommentEnd:"--\x3e",configuration:l.htmlMode?"html":"xml",helperType:l.htmlMode?"html":"xml",skipAttribute:function(e){e.state==S&&(e.state=x)},xmlCurrentTag:function(e){return e.tagName?{name:e.tagName,close:"closeTag"==e.type}:null},xmlCurrentContext:function(e){for(var t=[],r=e.context;r;r=r.prev)t.push(r.tagName);return t.reverse()}}}),e.defineMIME("text/xml","xml"),e.defineMIME("application/xml","xml"),e.mimeModes.hasOwnProperty("text/html")||e.defineMIME("text/html",{name:"xml",htmlMode:!0})}(r("1P27"))},fu7i:function(e,t,r){!function(e){"use strict";e.multiplexingMode=function(t){var r=Array.prototype.slice.call(arguments,1);function n(e,t,r,n){if("string"==typeof t){var i=e.indexOf(t,r);return n&&i>-1?i+t.length:i}var o=t.exec(r?e.slice(r):e);return o?o.index+r+(n?o[0].length:0):-1}return{startState:function(){return{outer:e.startState(t),innerActive:null,inner:null,startingInner:!1}},copyState:function(r){return{outer:e.copyState(t,r.outer),innerActive:r.innerActive,inner:r.innerActive&&e.copyState(r.innerActive.mode,r.inner),startingInner:r.startingInner}},token:function(i,o){if(o.innerActive){var a=o.innerActive,s=i.string;if(!a.close&&i.sol())return o.innerActive=o.inner=null,this.token(i,o);var l=a.close&&!o.startingInner?n(s,a.close,i.pos,a.parseDelimiters):-1;if(l==i.pos&&!a.parseDelimiters)return i.match(a.close),o.innerActive=o.inner=null,a.delimStyle&&a.delimStyle+" "+a.delimStyle+"-close";l>-1&&(i.string=s.slice(0,l));var c=a.mode.token(i,o.inner);return l>-1?i.string=s:i.pos>i.start&&(o.startingInner=!1),l==i.pos&&a.parseDelimiters&&(o.innerActive=o.inner=null),a.innerStyle&&(c=c?c+" "+a.innerStyle:a.innerStyle),c}for(var u=1/0,s=i.string,d=0;d|=>|\+[+=]?|-[\-=]?|\*[\*=]?|\/[\/=]?|[=!]=|<[><]?=?|>>?=?|%=?|&=?|\|=?|\^=?|\~|!|\?|(or|and|\|\||&&|\?)=)/,o=/^(?:[()\[\]{},:`=;]|\.\.?\.?)/,a=/^[_A-Za-z$][_A-Za-z$0-9]*/,s=/^@[_A-Za-z$][_A-Za-z$0-9]*/,l=n(["and","or","not","is","isnt","in","instanceof","typeof"]),c=["for","while","loop","if","unless","else","switch","try","catch","finally","class"],u=n(c.concat(["break","by","continue","debugger","delete","do","in","of","new","return","then","this","@","throw","when","until","extends"]));c=n(c);var d=/^('{3}|\"{3}|['\"])/,p=/^(\/{3}|\/)/,f=n(["Infinity","NaN","undefined","null","true","false","on","off","yes","no"]);function h(e,t){if(e.sol()){null===t.scope.align&&(t.scope.align=!1);var n=t.scope.offset;if(e.eatSpace()){var c=e.indentation();return c>n&&"coffee"==t.scope.type?"indent":c0&&v(e,t)}if(e.eatSpace())return null;var h=e.peek();if(e.match("####"))return e.skipToEnd(),"comment";if(e.match("###"))return t.tokenize=g,t.tokenize(e,t);if("#"===h)return e.skipToEnd(),"comment";if(e.match(/^-?[0-9\.]/,!1)){var b=!1;if(e.match(/^-?\d*\.\d+(e[\+\-]?\d+)?/i)&&(b=!0),e.match(/^-?\d+\.\d*/)&&(b=!0),e.match(/^-?\.\d+/)&&(b=!0),b)return"."==e.peek()&&e.backUp(1),"number";var k=!1;if(e.match(/^-?0x[0-9a-f]+/i)&&(k=!0),e.match(/^-?[1-9]\d*(e[\+\-]?\d+)?/)&&(k=!0),e.match(/^-?0(?![\dx])/i)&&(k=!0),k)return"number"}if(e.match(d))return t.tokenize=m(e.current(),!1,"string"),t.tokenize(e,t);if(e.match(p)){if("/"!=e.current()||e.match(/^.*\//,!1))return t.tokenize=m(e.current(),!0,"string-2"),t.tokenize(e,t);e.backUp(1)}return e.match(i)||e.match(l)?"operator":e.match(o)?"punctuation":e.match(f)?"atom":e.match(s)||t.prop&&e.match(a)?"property":e.match(u)?"keyword":e.match(a)?"variable":(e.next(),r)}function m(e,n,i){return function(o,a){for(;!o.eol();)if(o.eatWhile(/[^'"\/\\]/),o.eat("\\")){if(o.next(),n&&o.eol())return i}else{if(o.match(e))return a.tokenize=h,i;o.eat(/['"\/]/)}return n&&(t.singleLineStringErrors?i=r:a.tokenize=h),i}}function g(e,t){for(;!e.eol();){if(e.eatWhile(/[^#]/),e.match("###")){t.tokenize=h;break}e.eatWhile("#")}return"comment"}function b(t,r,n){n=n||"coffee";for(var i=0,o=!1,a=null,s=r.scope;s;s=s.prev)if("coffee"===s.type||"}"==s.type){i=s.offset+e.indentUnit;break}"coffee"!==n?(o=null,a=t.column()+t.current().length):r.scope.align&&(r.scope.align=!1),r.scope={offset:i,type:n,prev:r.scope,align:o,alignOffset:a}}function v(e,t){if(t.scope.prev){if("coffee"===t.scope.type){for(var r=e.indentation(),n=!1,i=t.scope;i;i=i.prev)if(r===i.offset){n=!0;break}if(!n)return!0;for(;t.scope.prev&&t.scope.offset!==r;)t.scope=t.scope.prev;return!1}return t.scope=t.scope.prev,!1}}var k={startState:function(e){return{tokenize:h,scope:{offset:e||0,type:"coffee",prev:null,align:!1},prop:!1,dedent:0}},token:function(e,t){var n=null===t.scope.align&&t.scope;n&&e.sol()&&(n.align=!1);var i=function(e,t){var n=t.tokenize(e,t),i=e.current();"return"===i&&(t.dedent=!0),(("->"===i||"=>"===i)&&e.eol()||"indent"===n)&&b(e,t);var o="[({".indexOf(i);if(-1!==o&&b(e,t,"])}".slice(o,o+1)),c.exec(i)&&b(e,t),"then"==i&&v(e,t),"dedent"===n&&v(e,t))return r;if(-1!==(o="])}".indexOf(i))){for(;"coffee"==t.scope.type&&t.scope.prev;)t.scope=t.scope.prev;t.scope.type==i&&(t.scope=t.scope.prev)}return t.dedent&&e.eol()&&("coffee"==t.scope.type&&t.scope.prev&&(t.scope=t.scope.prev),t.dedent=!1),n}(e,t);return i&&"comment"!=i&&(n&&(n.align=!0),t.prop="punctuation"==i&&"."==e.current()),i},indent:function(e,t){if(e.tokenize!=h)return 0;var r=e.scope,n=t&&"])}".indexOf(t.charAt(0))>-1;if(n)for(;"coffee"==r.type&&r.prev;)r=r.prev;var i=n&&r.type===t.charAt(0);return r.align?r.alignOffset-(i?1:0):(i?r.prev:r).offset},lineComment:"#",fold:"indent"};return k}),e.defineMIME("application/vnd.coffeescript","coffeescript"),e.defineMIME("text/x-coffeescript","coffeescript"),e.defineMIME("text/coffeescript","coffeescript")}(r("1P27"))},ue2F:function(e,t,r){e.exports=function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=1)}([function(e,t,r){"use strict";var n=r(9);t.a={name:"VRuler",components:{},props:{position:{type:String,default:"relative",validator:function(e){return-1!==["absolute","fixed","relative","static","inherit"].indexOf(e)}},isHotKey:{type:Boolean,default:!0},isScaleRevise:{type:Boolean,default:!1},value:{type:Array,default:function(){return[]}},contentLayout:{type:Object,default:function(){return{top:0,left:0}}},parent:{type:Boolean,default:!1},visible:{type:Boolean,default:!0},stepLength:{type:Number,default:50,validator:function(e){return e%10==0}}},data:function(){return{size:17,left_top:18,windowWidth:0,windowHeight:0,xScale:[],yScale:[],topSpacing:0,leftSpacing:0,isDrag:!1,dragFlag:"",horizontalDottedLeft:-999,verticalDottedTop:-999,rulerWidth:0,rulerHeight:0,dragLineId:"",keyCode:{r:82},rulerToggle:!0}},computed:{wrapperStyle:function(){return{width:this.windowWidth+"px",height:this.windowHeight+"px",position:this.position}},contentStyle:function(){return{left:this.contentLayout.left+"px",top:this.contentLayout.top+"px",padding:this.left_top+"px 0px 0px "+this.left_top+"px"}},lineList:function(){var e=this,t=0,r=0;return this.value.map(function(n){var i="h"===n.type;return function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({id:n.type+"_"+(i?t++:r++),type:n.type,title:n.site.toFixed(2)+"px"},i?"top":"left",n.site/(e.stepLength/50)+e.size)})}},watch:{visible:{handler:function(e){this.rulerToggle=e},immediate:!0}},mounted:function(){Object(n.b)(document,"mousemove",this.dottedLineMove),Object(n.b)(document,"mouseup",this.dottedLineUp),Object(n.b)(document,"keyup",this.keyboard),this.init(),Object(n.b)(window,"resize",this.windowResize)},beforeDestroy:function(){Object(n.a)(document,"mousemove",this.dottedLineMove),Object(n.a)(document,"mouseup",this.dottedLineUp),Object(n.a)(document,"keyup",this.keyboard),Object(n.a)(window,"resize",this.windowResize)},methods:{init:function(){this.box(),this.scaleCalc()},windowResize:function(){this.xScale=[],this.yScale=[],this.init()},getLineStyle:function(e){var t=e.type,r=e.top,n=e.left;return"h"===t?{top:r+"px"}:{left:n+"px"}},handleDragLine:function(e){var t=e.type,r=e.id;return"h"===t?this.dragHorizontalLine(r):this.dragVerticalLine(r)},box:function(){if(this.isScaleRevise){var e=this.$refs.content,t=e.offsetLeft,r=e.offsetTop;this.getCalcRevise(this.xScale,t),this.getCalcRevise(this.yScale,r)}if(this.parent){var n=window.getComputedStyle(this.$el.parentNode,null);this.windowWidth=parseInt(n.getPropertyValue("width"),10),this.windowHeight=parseInt(n.getPropertyValue("height"),10)}else this.windowWidth=document.documentElement.clientWidth-this.leftSpacing,this.windowHeight=document.documentElement.clientHeight-this.topSpacing;this.rulerWidth=this.$refs.verticalRuler.clientWidth,this.rulerHeight=this.$refs.horizontalRuler.clientHeight,this.setSpacing()},setSpacing:function(){this.topSpacing=this.$refs.horizontalRuler.getBoundingClientRect().y,this.leftSpacing=this.$refs.verticalRuler.getBoundingClientRect().x},scaleCalc:function(){this.getCalc(this.xScale,this.windowWidth),this.getCalc(this.yScale,this.windowHeight)},getCalc:function(e,t){for(var r=0;rr.parts.length&&(n.parts.length=r.parts.length)}else{for(var a=[],i=0;i0;i--)r.context=r.context.prev;return T(e,t,r)}function L(e){var t=e.current().toLowerCase();o=b.hasOwnProperty(t)?"atom":g.hasOwnProperty(t)?"keyword":"variable"}var P={top:function(e,t,r){if("{"==e)return C(r,t,"block");if("}"==e&&r.context.prev)return M(r);if(y&&/@component/i.test(e))return C(r,t,"atComponentBlock");if(/^@(-moz-)?document$/i.test(e))return C(r,t,"documentTypes");if(/^@(media|supports|(-moz-)?document|import)$/i.test(e))return C(r,t,"atBlock");if(/^@(font-face|counter-style)/i.test(e))return r.stateArg=e,"restricted_atBlock_before";if(/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(e))return"keyframes";if(e&&"@"==e.charAt(0))return C(r,t,"at");if("hash"==e)o="builtin";else if("word"==e)o="tag";else{if("variable-definition"==e)return"maybeprop";if("interpolation"==e)return C(r,t,"interpolation");if(":"==e)return"pseudo";if(v&&"("==e)return C(r,t,"parens")}return r.context.type},block:function(e,t,r){if("word"==e){var n=t.current().toLowerCase();return p.hasOwnProperty(n)?(o="property","maybeprop"):f.hasOwnProperty(n)?(o=w?"string-2":"property","maybeprop"):v?(o=t.match(/^\s*:(?:\s|$)/,!1)?"property":"tag","block"):(o+=" error","maybeprop")}return"meta"==e?"block":v||"hash"!=e&&"qualifier"!=e?P.top(e,t,r):(o="error","block")},maybeprop:function(e,t,r){return":"==e?C(r,t,"prop"):T(e,t,r)},prop:function(e,t,r){if(";"==e)return M(r);if("{"==e&&v)return C(r,t,"propBlock");if("}"==e||"{"==e)return j(e,t,r);if("("==e)return C(r,t,"parens");if("hash"!=e||/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(t.current())){if("word"==e)L(t);else if("interpolation"==e)return C(r,t,"interpolation")}else o+=" error";return"prop"},propBlock:function(e,t,r){return"}"==e?M(r):"word"==e?(o="property","maybeprop"):r.context.type},parens:function(e,t,r){return"{"==e||"}"==e?j(e,t,r):")"==e?M(r):"("==e?C(r,t,"parens"):"interpolation"==e?C(r,t,"interpolation"):("word"==e&&L(t),"parens")},pseudo:function(e,t,r){return"meta"==e?"pseudo":"word"==e?(o="variable-3",r.context.type):T(e,t,r)},documentTypes:function(e,t,r){return"word"==e&&l.hasOwnProperty(t.current())?(o="tag",r.context.type):P.atBlock(e,t,r)},atBlock:function(e,t,r){if("("==e)return C(r,t,"atBlock_parens");if("}"==e||";"==e)return j(e,t,r);if("{"==e)return M(r)&&C(r,t,v?"block":"top");if("interpolation"==e)return C(r,t,"interpolation");if("word"==e){var n=t.current().toLowerCase();o="only"==n||"not"==n||"and"==n||"or"==n?"keyword":c.hasOwnProperty(n)?"attribute":u.hasOwnProperty(n)?"property":d.hasOwnProperty(n)?"keyword":p.hasOwnProperty(n)?"property":f.hasOwnProperty(n)?w?"string-2":"property":b.hasOwnProperty(n)?"atom":g.hasOwnProperty(n)?"keyword":"error"}return r.context.type},atComponentBlock:function(e,t,r){return"}"==e?j(e,t,r):"{"==e?M(r)&&C(r,t,v?"block":"top",!1):("word"==e&&(o="error"),r.context.type)},atBlock_parens:function(e,t,r){return")"==e?M(r):"{"==e||"}"==e?j(e,t,r,2):P.atBlock(e,t,r)},restricted_atBlock_before:function(e,t,r){return"{"==e?C(r,t,"restricted_atBlock"):"word"==e&&"@counter-style"==r.stateArg?(o="variable","restricted_atBlock_before"):T(e,t,r)},restricted_atBlock:function(e,t,r){return"}"==e?(r.stateArg=null,M(r)):"word"==e?(o="@font-face"==r.stateArg&&!h.hasOwnProperty(t.current().toLowerCase())||"@counter-style"==r.stateArg&&!m.hasOwnProperty(t.current().toLowerCase())?"error":"property","maybeprop"):"restricted_atBlock"},keyframes:function(e,t,r){return"word"==e?(o="variable","keyframes"):"{"==e?C(r,t,"top"):T(e,t,r)},at:function(e,t,r){return";"==e?M(r):"{"==e||"}"==e?j(e,t,r):("word"==e?o="tag":"hash"==e&&(o="builtin"),"at")},interpolation:function(e,t,r){return"}"==e?M(r):"{"==e||";"==e?j(e,t,r):("word"==e?o="variable":"variable"!=e&&"("!=e&&")"!=e&&(o="error"),"interpolation")}};return{startState:function(e){return{tokenize:null,state:n?"block":"top",stateArg:null,context:new z(n?"block":"top",e||0,null)}},token:function(e,t){if(!t.tokenize&&e.eatSpace())return null;var r=(t.tokenize||function(e,t){var r=e.next();if(s[r]){var n=s[r](e,t);if(!1!==n)return n}return"@"==r?(e.eatWhile(/[\w\\\-]/),x("def",e.current())):"="==r||("~"==r||"|"==r)&&e.eat("=")?x(null,"compare"):'"'==r||"'"==r?(t.tokenize=A(r),t.tokenize(e,t)):"#"==r?(e.eatWhile(/[\w\\\-]/),x("atom","hash")):"!"==r?(e.match(/^\s*\w*/),x("keyword","important")):/\d/.test(r)||"."==r&&e.eat(/\d/)?(e.eatWhile(/[\w.%]/),x("number","unit")):"-"!==r?/[,+>*\/]/.test(r)?x(null,"select-op"):"."==r&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?x("qualifier","qualifier"):/[:;{}\[\]\(\)]/.test(r)?x(null,r):e.match(/^[\w-.]+(?=\()/)?(/^(url(-prefix)?|domain|regexp)$/i.test(e.current())&&(t.tokenize=S),x("variable callee","variable")):/[\w\\\-]/.test(r)?(e.eatWhile(/[\w\\\-]/),x("property","word")):x(null,null):/[\d.]/.test(e.peek())?(e.eatWhile(/[\w.%]/),x("number","unit")):e.match(/^-[\w\\\-]*/)?(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?x("variable-2","variable-definition"):x("variable-2","variable")):e.match(/^\w+-/)?x("meta","meta"):void 0})(e,t);return r&&"object"==typeof r&&(i=r[1],r=r[0]),o=r,"comment"!=i&&(t.state=P[t.state](i,e,t)),o},indent:function(e,t){var r=e.context,n=t&&t.charAt(0),i=r.indent;return"prop"!=r.type||"}"!=n&&")"!=n||(r=r.prev),r.prev&&("}"!=n||"block"!=r.type&&"top"!=r.type&&"interpolation"!=r.type&&"restricted_atBlock"!=r.type?(")"!=n||"parens"!=r.type&&"atBlock_parens"!=r.type)&&("{"!=n||"at"!=r.type&&"atBlock"!=r.type)||(i=Math.max(0,r.indent-a)):(r=r.prev,i=r.indent)),i},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:k,fold:"brace"}});var r=["domain","regexp","url","url-prefix"],n=t(r),i=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],o=t(i),a=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","orientation","device-pixel-ratio","min-device-pixel-ratio","max-device-pixel-ratio","pointer","any-pointer","hover","any-hover","prefers-color-scheme","dynamic-range","video-dynamic-range"],s=t(a),l=["landscape","portrait","none","coarse","fine","on-demand","hover","interlace","progressive","dark","light","standard","high"],c=t(l),u=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","all","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","binding","bleed","block-size","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-content","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","inset","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","left","letter-spacing","line-break","line-height","line-height-step","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","place-content","place-items","place-self","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotate","rotation","rotation-point","row-gap","ruby-align","ruby-overhang","ruby-position","ruby-span","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-type","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-orientation","text-outline","text-overflow","text-rendering","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-select","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","paint-order","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode"],d=t(u),p=["accent-color","aspect-ratio","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","content-visibility","margin-block","margin-block-end","margin-block-start","margin-inline","margin-inline-end","margin-inline-start","overflow-anchor","overscroll-behavior","padding-block","padding-block-end","padding-block-start","padding-inline","padding-inline-end","padding-inline-start","scroll-snap-stop","scrollbar-3d-light-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","shape-inside","zoom"],f=t(p),h=t(["font-display","font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"]),m=t(["additive-symbols","fallback","negative","pad","prefix","range","speak-as","suffix","symbols","system"]),g=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],b=t(g),v=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","blur","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","brightness","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","contrast","copy","counter","counters","cover","crop","cross","crosshair","cubic-bezier","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","devanagari","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","drop-shadow","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","georgian","grayscale","graytext","grid","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hard-light","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","hue","hue-rotate","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","luminosity","malayalam","manipulation","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","multiple_mask_images","multiply","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","opacity","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturate","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","self-start","self-end","semi-condensed","semi-expanded","separate","sepia","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","somali","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","square-button","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"],k=t(v),y=r.concat(i).concat(a).concat(l).concat(u).concat(p).concat(g).concat(v);function w(e,t){for(var r,n=!1;null!=(r=e.next());){if(n&&"/"==r){t.tokenize=null;break}n="*"==r}return["comment","comment"]}e.registerHelper("hintWords","css",y),e.defineMIME("text/css",{documentTypes:n,mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:b,valueKeywords:k,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=w,w(e,t))}},name:"css"}),e.defineMIME("text/x-scss",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:b,valueKeywords:k,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=w,w(e,t)):["operator","operator"]},":":function(e){return!!e.match(/^\s*\{/,!1)&&[null,null]},$:function(e){return e.match(/^[\w-]+/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"]},"#":function(e){return!!e.eat("{")&&[null,"interpolation"]}},name:"css",helperType:"scss"}),e.defineMIME("text/x-less",{mediaTypes:o,mediaFeatures:s,mediaValueKeywords:c,propertyKeywords:d,nonStandardPropertyKeywords:f,colorKeywords:b,valueKeywords:k,fontProperties:h,allowNested:!0,lineComment:"//",tokenHooks:{"/":function(e,t){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(t.tokenize=w,w(e,t)):["operator","operator"]},"@":function(e){return e.eat("{")?[null,"interpolation"]:!e.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\b/i,!1)&&(e.eatWhile(/[\w\\\-]/),e.match(/^\s*:/,!1)?["variable-2","variable-definition"]:["variable-2","variable"])},"&":function(){return["atom","atom"]}},name:"css",helperType:"less"}),e.defineMIME("text/x-gss",{documentTypes:n,mediaTypes:o,mediaFeatures:s,propertyKeywords:d,nonStandardPropertyKeywords:f,fontProperties:h,counterDescriptors:m,colorKeywords:b,valueKeywords:k,supportsAtComponent:!0,tokenHooks:{"/":function(e,t){return!!e.eat("*")&&(t.tokenize=w,w(e,t))}},name:"css",helperType:"gss"})}(r("1P27"))},"xD/h":function(e,t,r){!function(e){"use strict";e.defineMode("sass",function(t){var r,n=e.mimeModes["text/css"],i=n.propertyKeywords||{},o=n.colorKeywords||{},a=n.valueKeywords||{},s=n.fontProperties||{},l=new RegExp("^"+["true","false","null","auto"].join("|")),c=function(e){return new RegExp("^"+e.join("|"))}(["\\(","\\)","=",">","<","==",">=","<=","\\+","-","\\!=","/","\\*","%","and","or","not",";","\\{","\\}",":"]),u=/^::?[a-zA-Z_][\w\-]*/;function d(e){return!e.peek()||e.match(/\s+$/,!1)}function p(e,t){var r=e.peek();return")"===r?(e.next(),t.tokenizer=v,"operator"):"("===r?(e.next(),e.eatSpace(),"operator"):"'"===r||'"'===r?(t.tokenizer=h(e.next()),"string"):(t.tokenizer=h(")",!1),"string")}function f(e,t){return function(r,n){return r.sol()&&r.indentation()<=e?(n.tokenizer=v,v(r,n)):(t&&r.skipTo("*/")?(r.next(),r.next(),n.tokenizer=v):r.skipToEnd(),"comment")}}function h(e,t){return null==t&&(t=!0),function r(n,i){var o=n.next(),a=n.peek(),s=n.string.charAt(n.pos-2),l="\\"!==o&&a===e||o===e&&"\\"!==s;return l?(o!==e&&t&&n.next(),d(n)&&(i.cursorHalf=0),i.tokenizer=v,"string"):"#"===o&&"{"===a?(i.tokenizer=m(r),n.next(),"operator"):"string"}}function m(e){return function(t,r){return"}"===t.peek()?(t.next(),r.tokenizer=e,"operator"):v(t,r)}}function g(e){if(0==e.indentCount){e.indentCount++;var r=e.scopes[0].offset,n=r+t.indentUnit;e.scopes.unshift({offset:n})}}function b(e){1!=e.scopes.length&&e.scopes.shift()}function v(e,t){var n=e.peek();if(e.match("/*"))return t.tokenizer=f(e.indentation(),!0),t.tokenizer(e,t);if(e.match("//"))return t.tokenizer=f(e.indentation(),!1),t.tokenizer(e,t);if(e.match("#{"))return t.tokenizer=m(v),"operator";if('"'===n||"'"===n)return e.next(),t.tokenizer=h(n),"string";if(t.cursorHalf){if("#"===n&&(e.next(),e.match(/[0-9a-fA-F]{6}|[0-9a-fA-F]{3}/)))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^-?[0-9\.]+/))return d(e)&&(t.cursorHalf=0),"number";if(e.match(/^(px|em|in)\b/))return d(e)&&(t.cursorHalf=0),"unit";if(e.match(l))return d(e)&&(t.cursorHalf=0),"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,d(e)&&(t.cursorHalf=0),"atom";if("$"===n)return e.next(),e.eatWhile(/[\w-]/),d(e)&&(t.cursorHalf=0),"variable-2";if("!"===n)return e.next(),t.cursorHalf=0,e.match(/^[\w]+/)?"keyword":"operator";if(e.match(c))return d(e)&&(t.cursorHalf=0),"operator";if(e.eatWhile(/[\w-]/))return d(e)&&(t.cursorHalf=0),r=e.current().toLowerCase(),a.hasOwnProperty(r)?"atom":o.hasOwnProperty(r)?"keyword":i.hasOwnProperty(r)?(t.prevProp=e.current().toLowerCase(),"property"):"tag";if(d(e))return t.cursorHalf=0,null}else{if("-"===n&&e.match(/^-\w+-/))return"meta";if("."===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"qualifier";if("#"===e.peek())return g(t),"tag"}if("#"===n){if(e.next(),e.match(/^[\w-]+/))return g(t),"builtin";if("#"===e.peek())return g(t),"tag"}if("$"===n)return e.next(),e.eatWhile(/[\w-]/),"variable-2";if(e.match(/^-?[0-9\.]+/))return"number";if(e.match(/^(px|em|in)\b/))return"unit";if(e.match(l))return"keyword";if(e.match(/^url/)&&"("===e.peek())return t.tokenizer=p,"atom";if("="===n&&e.match(/^=[\w-]+/))return g(t),"meta";if("+"===n&&e.match(/^\+[\w-]+/))return"variable-3";if("@"===n&&e.match("@extend")&&(e.match(/\s*[\w]/)||b(t)),e.match(/^@(else if|if|media|else|for|each|while|mixin|function)/))return g(t),"def";if("@"===n)return e.next(),e.eatWhile(/[\w-]/),"def";if(e.eatWhile(/[\w-]/)){if(e.match(/ *: *[\w-\+\$#!\("']/,!1)){r=e.current().toLowerCase();var k=t.prevProp+"-"+r;return i.hasOwnProperty(k)?"property":i.hasOwnProperty(r)?(t.prevProp=r,"property"):s.hasOwnProperty(r)?"property":"tag"}return e.match(/ *:/,!1)?(g(t),t.cursorHalf=1,t.prevProp=e.current().toLowerCase(),"property"):e.match(/ *,/,!1)?"tag":(g(t),"tag")}if(":"===n)return e.match(u)?"variable-3":(e.next(),t.cursorHalf=1,"operator")}return e.match(c)?"operator":(e.next(),null)}return{startState:function(){return{tokenizer:v,scopes:[{offset:0,type:"sass"}],indentCount:0,cursorHalf:0,definedVars:[],definedMixins:[]}},token:function(e,r){var n=function(e,r){e.sol()&&(r.indentCount=0);var n=r.tokenizer(e,r),i=e.current();if("@return"!==i&&"}"!==i||b(r),null!==n){for(var o=e.pos-i.length,a=o+t.indentUnit*r.indentCount,s=[],l=0;lr.indentOf||r.innerModeForLine&&!t.sol()||n)return r.innerMode?(r.innerState||(r.innerState=r.innerMode.startState?e.startState(r.innerMode,t.indentation()):{}),t.hideFirstChars(r.indentOf+2,function(){return r.innerMode.token(t,r.innerState)||!0})):(t.skipToEnd(),r.indentToken);t.sol()&&(r.indentOf=1/0,r.indentToken=null,r.innerMode=null,r.innerState=null)}return l.prototype.copy=function(){var t=new l;return t.javaScriptLine=this.javaScriptLine,t.javaScriptLineExcludesColon=this.javaScriptLineExcludesColon,t.javaScriptArguments=this.javaScriptArguments,t.javaScriptArgumentsDepth=this.javaScriptArgumentsDepth,t.isInterpolating=this.isInterpolating,t.interpolationNesting=this.interpolationNesting,t.jsState=e.copyState(s,this.jsState),t.innerMode=this.innerMode,this.innerMode&&this.innerState&&(t.innerState=e.copyState(this.innerMode,this.innerState)),t.restOfLine=this.restOfLine,t.isIncludeFiltered=this.isIncludeFiltered,t.isEach=this.isEach,t.lastTag=this.lastTag,t.scriptType=this.scriptType,t.isAttrs=this.isAttrs,t.attrsNest=this.attrsNest.slice(),t.inAttributeName=this.inAttributeName,t.attributeIsType=this.attributeIsType,t.attrValue=this.attrValue,t.indentOf=this.indentOf,t.indentToken=this.indentToken,t.innerModeForLine=this.innerModeForLine,t},{startState:function(){return new l},copyState:function(e){return e.copy()},token:function(t,l){var f=p(t,l)||function(e,t){if(e.sol()&&(t.restOfLine=""),t.restOfLine){e.skipToEnd();var r=t.restOfLine;return t.restOfLine="",r}}(t,l)||function(e,t){if(t.isInterpolating){if("}"===e.peek()){if(t.interpolationNesting--,t.interpolationNesting<0)return e.next(),t.isInterpolating=!1,"punctuation"}else"{"===e.peek()&&t.interpolationNesting++;return s.token(e,t.jsState)||!0}}(t,l)||function(e,t){if(t.isIncludeFiltered){var r=u(e,t);return t.isIncludeFiltered=!1,t.restOfLine="string",r}}(t,l)||function(e,t){if(t.isEach){if(e.match(/^ in\b/))return t.javaScriptLine=!0,t.isEach=!1,r;if(e.sol()||e.eol())t.isEach=!1;else if(e.next()){for(;!e.match(/^ in\b/,!1)&&e.next(););return"variable"}}}(t,l)||function t(r,n){if(n.isAttrs){if(a[r.peek()]&&n.attrsNest.push(a[r.peek()]),n.attrsNest[n.attrsNest.length-1]===r.peek())n.attrsNest.pop();else if(r.eat(")"))return n.isAttrs=!1,"punctuation";if(n.inAttributeName&&r.match(/^[^=,\)!]+/))return"="!==r.peek()&&"!"!==r.peek()||(n.inAttributeName=!1,n.jsState=e.startState(s),"script"===n.lastTag&&"type"===r.current().trim().toLowerCase()?n.attributeIsType=!0:n.attributeIsType=!1),"attribute";var i=s.token(r,n.jsState);if(n.attributeIsType&&"string"===i&&(n.scriptType=r.current().toString()),0===n.attrsNest.length&&("string"===i||"variable"===i||"keyword"===i))try{return Function("","var x "+n.attrValue.replace(/,\s*$/,"").replace(/^!/,"")),n.inAttributeName=!0,n.attrValue="",r.backUp(r.current().length),t(r,n)}catch(e){}return n.attrValue+=r.current(),i||!0}}(t,l)||function(e,t){if(e.sol()&&(t.javaScriptLine=!1,t.javaScriptLineExcludesColon=!1),t.javaScriptLine){if(t.javaScriptLineExcludesColon&&":"===e.peek())return t.javaScriptLine=!1,void(t.javaScriptLineExcludesColon=!1);var r=s.token(e,t.jsState);return e.eol()&&(t.javaScriptLine=!1),r||!0}}(t,l)||function(e,t){if(t.javaScriptArguments){if(0===t.javaScriptArgumentsDepth&&"("!==e.peek())return void(t.javaScriptArguments=!1);if("("===e.peek()?t.javaScriptArgumentsDepth++:")"===e.peek()&&t.javaScriptArgumentsDepth--,0===t.javaScriptArgumentsDepth)return void(t.javaScriptArguments=!1);var r=s.token(e,t.jsState);return r||!0}}(t,l)||function(e,t){if(t.mixinCallAfter)return t.mixinCallAfter=!1,e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),!0}(t,l)||function(e){if(e.match(/^yield\b/))return"keyword"}(t)||function(e){if(e.match(/^(?:doctype) *([^\n]+)?/))return n}(t)||c(t,l)||function(e,t){if(e.match(/^case\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){if(e.match(/^when\b/))return t.javaScriptLine=!0,t.javaScriptLineExcludesColon=!0,r}(t,l)||function(e){if(e.match(/^default\b/))return r}(t)||function(e,t){if(e.match(/^extends?\b/))return t.restOfLine="string",r}(t,l)||function(e,t){if(e.match(/^append\b/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^prepend\b/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^block\b *(?:(prepend|append)\b)?/))return t.restOfLine="variable",r}(t,l)||function(e,t){if(e.match(/^include\b/))return t.restOfLine="string",r}(t,l)||function(e,t){if(e.match(/^include:([a-zA-Z0-9\-]+)/,!1)&&e.match("include"))return t.isIncludeFiltered=!0,r}(t,l)||function(e,t){if(e.match(/^mixin\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){return e.match(/^\+([-\w]+)/)?(e.match(/^\( *[-\w]+ *=/,!1)||(t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0),"variable"):e.match("+#{",!1)?(e.next(),t.mixinCallAfter=!0,c(e,t)):void 0}(t,l)||function(e,t){if(e.match(/^(if|unless|else if|else)\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){if(e.match(/^(- *)?(each|for)\b/))return t.isEach=!0,r}(t,l)||function(e,t){if(e.match(/^while\b/))return t.javaScriptLine=!0,r}(t,l)||function(e,t){var r;if(r=e.match(/^(\w(?:[-:\w]*\w)?)\/?/))return t.lastTag=r[1].toLowerCase(),"script"===t.lastTag&&(t.scriptType="application/javascript"),"tag"}(t,l)||u(t,l)||function(e,t){if(e.match(/^(!?=|-)/))return t.javaScriptLine=!0,"punctuation"}(t,l)||function(e){if(e.match(/^#([\w-]+)/))return i}(t)||function(e){if(e.match(/^\.([\w-]+)/))return o}(t)||function(e,t){if("("==e.peek())return e.next(),t.isAttrs=!0,t.attrsNest=[],t.inAttributeName=!0,t.attrValue="",t.attributeIsType=!1,"punctuation"}(t,l)||function(e,t){if(e.match(/^&attributes\b/))return t.javaScriptArguments=!0,t.javaScriptArgumentsDepth=0,"keyword"}(t,l)||function(e){if(e.sol()&&e.eatSpace())return"indent"}(t)||function(e,t){return e.match(/^(?:\| ?| )([^\n]+)/)?"string":e.match(/^(<[^\n]*)/,!1)?(d(e,t,"htmlmixed"),t.innerModeForLine=!0,p(e,t,!0)):void 0}(t,l)||function(e,t){if(e.match(/^ *\/\/(-)?([^\n]*)/))return t.indentOf=e.indentation(),t.indentToken="comment","comment"}(t,l)||function(e){if(e.match(/^: */))return"colon"}(t)||function(e,t){if(e.eat(".")){var r=null;return"script"===t.lastTag&&-1!=t.scriptType.toLowerCase().indexOf("javascript")?r=t.scriptType.toLowerCase().replace(/"|'/g,""):"style"===t.lastTag&&(r="css"),d(e,t,r),"dot"}}(t,l)||function(e){return e.next(),null}(t);return!0===f?null:f}}},"javascript","css","htmlmixed"),e.defineMIME("text/x-pug","pug"),e.defineMIME("text/x-jade","pug")}(r("1P27"),r("FITP"),r("un1A"),r("bN/H"))}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-4de3.3cf6a671.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-4de3.3cf6a671.js deleted file mode 100644 index 901e09874..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-4de3.3cf6a671.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-4de3"],{"/zj/":function(t,e,a){"use strict";a.r(e);var r=a("omC7"),o=a.n(r),n=a("cLjf"),i=a.n(n),l=a("hDQ3"),c=a.n(l),s=a("MzXy"),u=a.n(s),d=a("Fzjc"),f=a("HDHf"),p=a("ZB88"),h={name:"Excels",components:{draggable:u.a,ColorPicker:p.a},data:function(){return{activeName:"first",activeNames:["1"],reportId:null,accessKey:null,reportCode:"",options:[],sheet:{},sheetData:[],dataSetData:[],reportExcelDto:{id:null,jsonStr:"",setCodes:"",setParam:"",reportCode:""},multipleSelection:[],rightForm:{coordinate:"",value:""},qrCodeForm:{type:"QRCode",content:"https://www.baidu.com",width:125,height:125,colorDark:"#333333",colorLight:"#ffffff",ri:0,ci:0,currentSrc:""},barCodeForm:{type:"BarCode",format:"CODE39",displayValue:!0,content:"99999999999",lineColor:"#000",background:"#fff",width:100,height:40,ri:0,ci:0,currentSrc:""},formPrintSetting:{size:"",pixel1:"",pixel2:""},pixelList:[{paper:"A4",width:210,height:297},{paper:"A3",width:297,height:420},{paper:"Letter",width:216,height:279},{paper:"Legal",width:216,height:355},{paper:"Executive",width:184,height:266}],dataSet:[],outerVisible:!1,printVisible:!1,pop:!1,setCode:null,draggableFieldLabel:null,dialogVisible:!1,dialogBarCode:!1,paperList:[],paper:"",width:"",height:"",definition:"",isBackend:"",dpi:"",pxWidth:"",pxHeight:"",show:!1,config:"",settings:{},qrCodeList:[],moveDataelse:{x:null,y:null}}},mounted:function(){},created:function(){this.reportCode=this.$route.query.reportCode,this.accessKey=this.$route.query.accessKey,this.loadDataSet(),this.design()},methods:{handleClose:function(){this.printVisible=!1},handleChange:function(t){},handleClick:function(t,e){},design:function(){var t=this;return c()(i.a.mark(function e(){var a,r;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.b)(t.reportCode);case 2:a=e.sent,a.code,null!=(r=a.data)&&(t.reportId=r.id),t.sheetData=null==r?[{}]:JSON.parse(r.jsonStr),console.log(t.sheetData),t.createSheet(),null!=r&&null!=r.setCodes&&""!==r.setCodes&&r.setCodes.split("|").forEach(function(e){t.dataSetData.forEach(function(a){e===a.setCode&&t.detail(a.id)})});case 10:case"end":return e.stop()}},e,t)}))()},createSheet:function(){var t=this,e={container:"luckysheet",title:"Luckysheet Demo",lang:"zh",plugins:["chart"],hook:{cellDragStop:function(e,a,r,o,n){luckysheet.setCellValue(a.r,a.c,t.draggableFieldLabel)},cellMousedown:function(e,a,r,o){t.rightForm.coordinate=a.r+","+a.c,t.rightForm.value=null==e?"":e.v}},data:[{name:"report",color:"",index:0,status:1,order:0,hide:0,row:36,column:18,defaultRowHeight:19,defaultColWidth:73,celldata:[],config:{merge:{},rowlen:{},columnlen:{},rowhidden:{},colhidden:{},borderInfo:{},authority:{}},scrollLeft:0,scrollTop:315,luckysheet_select_save:[],calcChain:[],isPivotTable:!1,pivotTable:{},filter_select:{},filter:null,luckysheet_alternateformat_save:[],luckysheet_alternateformat_save_modelCustom:[],luckysheet_conditionformat_save:{},frozen:{},chart:[],zoomRatio:1,image:[],showGridLines:1,dataVerification:{}}]};e.data=this.sheetData,$(function(){luckysheet.create(e)})},onStart:function(t,e){this.setCode=t;var a=e.item.innerText;this.draggableFieldLabel="#{"+this.setCode+"."+a+"}",console.log("evt",e),console.log("draggableFieldLabel",this.draggableFieldLabel)},loadDataSet:function(){var t=this;return c()(i.a.mark(function e(){var a,r,o;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(d.e)();case 2:if(a=e.sent,r=a.code,o=a.data,t.dataSetData=o,"200"==r){e.next=8;break}return e.abrupt("return");case 8:case"end":return e.stop()}},e,t)}))()},doCancel:function(){this.pop=!1},save:function(){var t=this;return c()(i.a.mark(function e(){var a,r,n,l,c,s;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(a=luckysheet.getAllSheets(),r=0;r0){var e={};t.dataSetParamDtoList.forEach(function(t){e[t.paramName]=t.sampleItem}),l[t.setCode]=e}}),t.reportExcelDto.setParam=o()(l),t.reportExcelDto.setCodes=n.join("|"),t.reportExcelDto.reportCode=t.reportCode,null!=t.reportId){e.next=19;break}return e.next=12,Object(f.b)(t.reportExcelDto);case 12:if(c=e.sent,"200"==c.code){e.next=16;break}return e.abrupt("return");case 16:t.$message.success("保存成功"),e.next=27;break;case 19:return t.reportExcelDto.id=t.reportId,e.next=22,Object(f.e)(t.reportExcelDto);case 22:if(s=e.sent,"200"==s.code){e.next=26;break}return e.abrupt("return");case 26:t.$message.success("更新成功");case 27:case"end":return e.stop()}},e,t)}))()},detailByReportCode:function(t){var e=this;return c()(i.a.mark(function a(){var r,o;return i.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Object(d.b)(t);case 2:r=a.sent,r.code,null!=(o=r.data)&&(e.reportId=o.id);case 6:case"end":return a.stop()}},a,e)}))()},preview:function(){var t=this;return c()(i.a.mark(function e(){var a;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.$router.resolve({path:"/excelreport/viewer",query:{reportCode:t.reportCode}}),window.open(a.href,"_blank");case 2:case"end":return e.stop()}},e,t)}))()},queryAllDataSet:function(){var t=this;return c()(i.a.mark(function e(){return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.outerVisible=!0;case 1:case"end":return e.stop()}},e,t)}))()},handleSelectionChange:function(t){this.multipleSelection=t},checkDataSet:function(){this.outerVisible=!1,this.multipleSelection.length>1?(this.$message({message:"一次最多勾选一个数据集",type:"warning"}),this.outerVisible=!0):this.detail(this.multipleSelection[0].id)},detail:function(t){var e=this;return c()(i.a.mark(function a(){var r,o,n,l;return i.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Object(d.a)(t);case 2:if(r=a.sent,o=r.code,n=r.data,200==o){a.next=7;break}return a.abrupt("return");case 7:l=!0,e.dataSet.forEach(function(t){t.setCode===n.setCode&&(l=!1)}),l&&e.dataSet.push(n);case 10:case"end":return a.stop()}},a,e)}))()},del:function(t){for(var e=0;e1e-10&&(o.width+=n/r,o.height+=n/r,o.x-=n/r/2,o.y-=n/r/2)}return o}return e},contain:function(e,t){var a=this.transformCoordToLocal(e,t),i=this.getBoundingRect(),o=this.style;if(e=a[0],t=a[1],i.contain(e,t)){var n=this.path.data;if(o.hasStroke()){var l=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(l=Math.max(l,this.strokeContainThreshold)),r.containStroke(n,l/s,e,t)))return!0}if(o.hasFill())return r.contain(n,e,t)}return!1},dirty:function(e){null==e&&(e=!0),e&&(this.__dirtyPath=e,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(e){return this.animate("shape",e)},attrKV:function(e,t){"shape"===e?(this.setShape(t),this.__dirtyPath=!0,this._rect=null):o.prototype.attrKV.call(this,e,t)},setShape:function(e,t){var a=this.shape;if(a){if(n.isObject(e))for(var i in e)e.hasOwnProperty(i)&&(a[i]=e[i]);else a[e]=t;this.dirty(!0)}return this},getLineScale:function(){var e=this.transform;return e&&c(e[0]-1)>1e-10&&c(e[3]-1)>1e-10?Math.sqrt(c(e[0]*e[3]-e[2]*e[1])):1}},i.extend=function(e){var t=function(t){i.call(this,t),e.style&&this.style.extendFrom(e.style,!1);var a=e.shape;if(a){this.shape=this.shape||{};var o=this.shape;for(var n in a)!o.hasOwnProperty(n)&&a.hasOwnProperty(n)&&(o[n]=a[n])}e.init&&e.init.call(this,t)};for(var a in n.inherits(t,i),e)"style"!==a&&"shape"!==a&&(t.prototype[a]=e[a]);return t},n.inherits(i,o);var p=i;e.exports=p},function(e,t){function a(e){return Math.sqrt(i(e))}function i(e){return e[0]*e[0]+e[1]*e[1]}function o(e,t){return Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1]))}function n(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}var l="undefined"==typeof Float32Array?Array:Float32Array,r=a,s=i,u=o,c=n;t.create=function(e,t){var a=new l(2);return null==e&&(e=0),null==t&&(t=0),a[0]=e,a[1]=t,a},t.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},t.clone=function(e){var t=new l(2);return t[0]=e[0],t[1]=e[1],t},t.set=function(e,t,a){return e[0]=t,e[1]=a,e},t.add=function(e,t,a){return e[0]=t[0]+a[0],e[1]=t[1]+a[1],e},t.scaleAndAdd=function(e,t,a,i){return e[0]=t[0]+a[0]*i,e[1]=t[1]+a[1]*i,e},t.sub=function(e,t,a){return e[0]=t[0]-a[0],e[1]=t[1]-a[1],e},t.len=a,t.length=r,t.lenSquare=i,t.lengthSquare=s,t.mul=function(e,t,a){return e[0]=t[0]*a[0],e[1]=t[1]*a[1],e},t.div=function(e,t,a){return e[0]=t[0]/a[0],e[1]=t[1]/a[1],e},t.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},t.scale=function(e,t,a){return e[0]=t[0]*a,e[1]=t[1]*a,e},t.normalize=function(e,t){var i=a(t);return 0===i?(e[0]=0,e[1]=0):(e[0]=t[0]/i,e[1]=t[1]/i),e},t.distance=o,t.dist=u,t.distanceSquare=n,t.distSquare=c,t.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},t.lerp=function(e,t,a,i){return e[0]=t[0]+i*(a[0]-t[0]),e[1]=t[1]+i*(a[1]-t[1]),e},t.applyTransform=function(e,t,a){var i=t[0],o=t[1];return e[0]=a[0]*i+a[2]*o+a[4],e[1]=a[1]*i+a[3]*o+a[5],e},t.min=function(e,t,a){return e[0]=Math.min(t[0],a[0]),e[1]=Math.min(t[1],a[1]),e},t.max=function(e,t,a){return e[0]=Math.max(t[0],a[0]),e[1]=Math.max(t[1],a[1]),e}},function(e,t,a){function i(e,t,a,i){a<0&&(e+=a,a=-a),i<0&&(t+=i,i=-i),this.x=e,this.y=t,this.width=a,this.height=i}var o=a(2),n=a(8),l=o.applyTransform,r=Math.min,s=Math.max;i.prototype={constructor:i,union:function(e){var t=r(e.x,this.x),a=r(e.y,this.y);this.width=s(e.x+e.width,this.x+this.width)-t,this.height=s(e.y+e.height,this.y+this.height)-a,this.x=t,this.y=a},applyTransform:function(){var e=[],t=[],a=[],i=[];return function(o){if(o){e[0]=a[0]=this.x,e[1]=i[1]=this.y,t[0]=i[0]=this.x+this.width,t[1]=a[1]=this.y+this.height,l(e,e,o),l(t,t,o),l(a,a,o),l(i,i,o),this.x=r(e[0],t[0],a[0],i[0]),this.y=r(e[1],t[1],a[1],i[1]);var n=s(e[0],t[0],a[0],i[0]),u=s(e[1],t[1],a[1],i[1]);this.width=n-this.x,this.height=u-this.y}}}(),calculateTransform:function(e){var t=this,a=e.width/t.width,i=e.height/t.height,o=n.create();return n.translate(o,o,[-t.x,-t.y]),n.scale(o,o,[a,i]),n.translate(o,o,[e.x,e.y]),o},intersect:function(e){if(!e)return!1;e instanceof i||(e=i.create(e));var t=this,a=t.x,o=t.x+t.width,n=t.y,l=t.y+t.height,r=e.x,s=e.x+e.width,u=e.y,c=e.y+e.height;return!(o=a.x&&e<=a.x+a.width&&t>=a.y&&t<=a.y+a.height},clone:function(){return new i(this.x,this.y,this.width,this.height)},copy:function(e){this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},i.create=function(e){return new i(e.x,e.y,e.width,e.height)};var u=i;e.exports=u},function(e,t,a){function i(e){return e>-p&&ep||e<-p}function n(e,t,a,i,o){var n=1-o;return n*n*(n*e+3*o*t)+o*o*(o*i+3*n*a)}function l(e,t,a,i){var o=1-i;return o*(o*e+2*i*t)+i*i*a}var r=a(2),s=r.create,u=r.distSquare,c=Math.pow,h=Math.sqrt,p=1e-8,d=1e-4,m=h(3),f=1/3,v=s(),y=s(),g=s();t.cubicAt=n,t.cubicDerivativeAt=function(e,t,a,i,o){var n=1-o;return 3*(((t-e)*n+2*(a-t)*o)*n+(i-a)*o*o)},t.cubicRootAt=function(e,t,a,o,n,l){var r=o+3*(t-a)-e,s=3*(a-2*t+e),u=3*(t-e),p=e-n,d=s*s-3*r*u,v=s*u-9*r*p,y=u*u-3*s*p,g=0;if(i(d)&&i(v))if(i(s))l[0]=0;else{var b=-u/s;b>=0&&b<=1&&(l[g++]=b)}else{var x=v*v-4*d*y;if(i(x)){var S=v/d,b=-s/r+S,w=-S/2;b>=0&&b<=1&&(l[g++]=b),w>=0&&w<=1&&(l[g++]=w)}else if(x>0){var q=h(x),C=d*s+1.5*r*(-v+q),D=d*s+1.5*r*(-v-q);C=C<0?-c(-C,f):c(C,f),D=D<0?-c(-D,f):c(D,f);var b=(-s-(C+D))/(3*r);b>=0&&b<=1&&(l[g++]=b)}else{var T=(2*d*s-3*r*v)/(2*h(d*d*d)),O=Math.acos(T)/3,_=h(d),k=Math.cos(O),b=(-s-2*_*k)/(3*r),w=(-s+_*(k+m*Math.sin(O)))/(3*r),L=(-s+_*(k-m*Math.sin(O)))/(3*r);b>=0&&b<=1&&(l[g++]=b),w>=0&&w<=1&&(l[g++]=w),L>=0&&L<=1&&(l[g++]=L)}}return g},t.cubicExtrema=function(e,t,a,n,l){var r=6*a-12*t+6*e,s=9*t+3*n-3*e-9*a,u=3*t-3*e,c=0;if(i(s)){if(o(r)){var p=-u/r;p>=0&&p<=1&&(l[c++]=p)}}else{var d=r*r-4*s*u;if(i(d))l[0]=-r/(2*s);else if(d>0){var m=h(d),p=(-r+m)/(2*s),f=(-r-m)/(2*s);p>=0&&p<=1&&(l[c++]=p),f>=0&&f<=1&&(l[c++]=f)}}return c},t.cubicSubdivide=function(e,t,a,i,o,n){var l=(t-e)*o+e,r=(a-t)*o+t,s=(i-a)*o+a,u=(r-l)*o+l,c=(s-r)*o+r,h=(c-u)*o+u;n[0]=e,n[1]=l,n[2]=u,n[3]=h,n[4]=h,n[5]=c,n[6]=s,n[7]=i},t.cubicProjectPoint=function(e,t,a,i,o,l,r,s,c,p,m){var f,b,x,S,w,q=.005,C=1/0;v[0]=c,v[1]=p;for(var D=0;D<1;D+=.05)y[0]=n(e,a,o,r,D),y[1]=n(t,i,l,s,D),(S=u(v,y))=0&&S=0&&p<=1&&(l[c++]=p)}}else{var d=s*s-4*r*u;if(i(d)){var p=-s/(2*r);p>=0&&p<=1&&(l[c++]=p)}else if(d>0){var m=h(d),p=(-s+m)/(2*r),f=(-s-m)/(2*r);p>=0&&p<=1&&(l[c++]=p),f>=0&&f<=1&&(l[c++]=f)}}return c},t.quadraticExtremum=function(e,t,a){var i=e+a-2*t;return 0===i?.5:(e-t)/i},t.quadraticSubdivide=function(e,t,a,i,o){var n=(t-e)*i+e,l=(a-t)*i+t,r=(l-n)*i+n;o[0]=e,o[1]=n,o[2]=r,o[3]=r,o[4]=l,o[5]=a},t.quadraticProjectPoint=function(e,t,a,i,o,n,r,s,c){var p,m=.005,f=1/0;v[0]=r,v[1]=s;for(var b=0;b<1;b+=.05){y[0]=l(e,a,o,b),y[1]=l(t,i,n,b);var x=u(v,y);x=0&&xT&&(D=0,C={}),D++,C[a]=o,o}function o(e,t,a,o,n,s){var u=m(e,t,n,s),c=i(e,t);n&&(c+=n[1]+n[3]);var h=u.outerHeight,p=l(0,c,a),d=r(0,h,o),f=new y(p,d,c,h);return f.lineHeight=u.lineHeight,f}function n(e,t,a,i,o,n,s){var u=f(e,{rich:n,truncate:s,font:t,textAlign:a,textPadding:o}),c=u.outerWidth,h=u.outerHeight,p=l(0,c,a),d=r(0,h,i);return new y(p,d,c,h)}function l(e,t,a){return"right"===a?e-=t:"center"===a&&(e-=t/2),e}function r(e,t,a){return"middle"===a?e-=t/2:"bottom"===a&&(e-=t),e}function s(e,t,a,i,o){if(!t)return"";var n=(e+"").split("\n");o=u(t,a,i,o);for(var l=0,r=n.length;l=l;s++)r-=l;var u=i(a);return u>r&&(a="",u=0),r=e-u,o.ellipsis=a,o.ellipsisWidth=u,o.contentWidth=r,o.containerWidth=e,o}function c(e,t){var a=t.containerWidth,o=t.font,n=t.contentWidth;if(!a)return"";var l=i(e,o);if(l<=a)return e;for(var r=0;;r++){if(l<=n||r>=t.maxIterations){e+=t.ellipsis;break}var s=0===r?h(e,n,t.ascCharWidth,t.cnCharWidth):l>0?Math.floor(e.length*n/l):0;e=e.substr(0,s),l=i(e,o)}return""===e&&(e=t.placeholder),e}function h(e,t,a,i){for(var o=0,n=0,l=e.length;ns)e="",n=[];else if(null!=h)for(var d=u(h-(a?a[1]+a[3]:0),t,i.ellipsis,{minChar:i.minChar,placeholder:i.placeholder}),m=0,f=n.length;mn&&v(a,e.substring(n,l)),v(a,o[2],o[1]),n=O.lastIndex}ny)return{lines:[],width:0,height:0};T.textWidth=i(T.text,L);var F=_.textWidth,A=null==F||"auto"===F;if("string"==typeof F&&"%"===F.charAt(F.length-1))T.percentWidth=F,h.push(T),F=0;else{if(A){F=T.textWidth;var W=_.textBackgroundColor,P=W&&W.image;P&&(P=g.findExistImage(P),g.isImageReady(P)&&(F=Math.max(F,P.width*z/P.height)))}var I=k?k[1]+k[3]:0;F+=I;var M=null!=f?f-C:null;null!=M&&Mthis._ux||b(t-this._yi)>this._uy||this._len<5;return this.addData(u.L,e,t),this._ctx&&a&&(this._needsDash()?this._dashedLineTo(e,t):this._ctx.lineTo(e,t)),a&&(this._xi=e,this._yi=t),this},bezierCurveTo:function(e,t,a,i,o,n){return this.addData(u.C,e,t,a,i,o,n),this._ctx&&(this._needsDash()?this._dashedBezierTo(e,t,a,i,o,n):this._ctx.bezierCurveTo(e,t,a,i,o,n)),this._xi=o,this._yi=n,this},quadraticCurveTo:function(e,t,a,i){return this.addData(u.Q,e,t,a,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(e,t,a,i):this._ctx.quadraticCurveTo(e,t,a,i)),this._xi=a,this._yi=i,this},arc:function(e,t,a,i,o,n){return this.addData(u.A,e,t,a,a,i,o-i,0,n?0:1),this._ctx&&this._ctx.arc(e,t,a,i,o,n),this._xi=v(o)*a+e,this._yi=y(o)*a+e,this},arcTo:function(e,t,a,i,o){return this._ctx&&this._ctx.arcTo(e,t,a,i,o),this},rect:function(e,t,a,i){return this._ctx&&this._ctx.rect(e,t,a,i),this.addData(u.R,e,t,a,i),this},closePath:function(){this.addData(u.Z);var e=this._ctx,t=this._x0,a=this._y0;return e&&(this._needsDash()&&this._dashedLineTo(t,a),e.closePath()),this._xi=t,this._yi=a,this},fill:function(e){e&&e.fill(),this.toStatic()},stroke:function(e){e&&e.stroke(),this.toStatic()},setLineDash:function(e){if(e instanceof Array){this._lineDash=e,this._dashIdx=0;for(var t=0,a=0;at.length&&(this._expandData(),t=this.data);for(var a=0;a0&&d<=e||c<0&&d>=e||0==c&&(h>0&&v<=t||h<0&&v>=t);)i=this._dashIdx,a=l[i],d+=c*a,v+=h*a,this._dashIdx=(i+1)%y,c>0&&ds||h>0&&vu||r[i%2?"moveTo":"lineTo"](c>=0?m(d,e):f(d,e),h>=0?m(v,t):f(v,t));c=d-e,h=v-t,this._dashOffset=-g(c*c+h*h)},_dashedBezierTo:function(e,t,a,o,n,l){var r,s,u,c,h,p=this._dashSum,d=this._dashOffset,m=this._lineDash,f=this._ctx,v=this._xi,y=this._yi,b=i.cubicAt,x=0,S=this._dashIdx,w=m.length,q=0;for(d<0&&(d=p+d),d%=p,r=0;r<1;r+=.1)s=b(v,e,a,n,r+.1)-b(v,e,a,n,r),u=b(y,t,o,l,r+.1)-b(y,t,o,l,r),x+=g(s*s+u*u);for(;Sd);S++);for(r=(q-d)/x;r<=1;)c=b(v,e,a,n,r),h=b(y,t,o,l,r),S%2?f.moveTo(c,h):f.lineTo(c,h),r+=m[S]/x,S=(S+1)%w;S%2!=0&&f.lineTo(n,l),s=n-c,u=l-h,this._dashOffset=-g(s*s+u*u)},_dashedQuadraticTo:function(e,t,a,i){var o=a,n=i;a=(a+2*e)/3,i=(i+2*t)/3,e=(this._xi+2*e)/3,t=(this._yi+2*t)/3,this._dashedBezierTo(e,t,a,i,o,n)},toStatic:function(){var e=this.data;e instanceof Array&&(e.length=this._len,x&&(this.data=new Float32Array(e)))},getBoundingRect:function(){c[0]=c[1]=p[0]=p[1]=Number.MAX_VALUE,h[0]=h[1]=d[0]=d[1]=-Number.MAX_VALUE;for(var e=this.data,t=0,a=0,i=0,r=0,s=0;ss||b(l-o)>c||p===h-1)&&(e.lineTo(n,l),i=n,o=l);break;case u.C:e.bezierCurveTo(r[p++],r[p++],r[p++],r[p++],r[p++],r[p++]),i=r[p-2],o=r[p-1];break;case u.Q:e.quadraticCurveTo(r[p++],r[p++],r[p++],r[p++]),i=r[p-2],o=r[p-1];break;case u.A:var m=r[p++],f=r[p++],g=r[p++],x=r[p++],S=r[p++],w=r[p++],q=r[p++],C=r[p++],D=g>x?g:x,T=g>x?1:g/x,O=g>x?x/g:1,_=Math.abs(g-x)>.001,k=S+w;_?(e.translate(m,f),e.rotate(q),e.scale(T,O),e.arc(0,0,D,S,k,1-C),e.scale(1/T,1/O),e.rotate(-q),e.translate(-m,-f)):e.arc(m,f,D,S,k,1-C),1==p&&(t=v(S)*g+m,a=y(S)*x+f),i=v(k)*g+m,o=y(k)*x+f;break;case u.R:t=i=r[p],a=o=r[p+1],e.rect(r[p++],r[p++],r[p++],r[p++]);break;case u.Z:e.closePath(),i=t,o=a}}}},S.CMD=u;var w=S;e.exports=w},function(t,a){t.exports=e},function(e,t){function a(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}var i="undefined"==typeof Float32Array?Array:Float32Array;t.create=function(){var e=new i(6);return a(e),e},t.identity=a,t.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},t.mul=function(e,t,a){var i=t[0]*a[0]+t[2]*a[1],o=t[1]*a[0]+t[3]*a[1],n=t[0]*a[2]+t[2]*a[3],l=t[1]*a[2]+t[3]*a[3],r=t[0]*a[4]+t[2]*a[5]+t[4],s=t[1]*a[4]+t[3]*a[5]+t[5];return e[0]=i,e[1]=o,e[2]=n,e[3]=l,e[4]=r,e[5]=s,e},t.translate=function(e,t,a){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+a[0],e[5]=t[5]+a[1],e},t.rotate=function(e,t,a){var i=t[0],o=t[2],n=t[4],l=t[1],r=t[3],s=t[5],u=Math.sin(a),c=Math.cos(a);return e[0]=i*c+l*u,e[1]=-i*u+l*c,e[2]=o*c+r*u,e[3]=-o*u+c*r,e[4]=c*n+u*s,e[5]=c*s-u*n,e},t.scale=function(e,t,a){var i=a[0],o=a[1];return e[0]=t[0]*i,e[1]=t[1]*o,e[2]=t[2]*i,e[3]=t[3]*o,e[4]=t[4]*i,e[5]=t[5]*o,e},t.invert=function(e,t){var a=t[0],i=t[2],o=t[4],n=t[1],l=t[3],r=t[5],s=a*l-n*i;return s?(s=1/s,e[0]=l*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e[4]=(i*r-l*o)*s,e[5]=(n*o-a*r)*s,e):null}},function(e,t,a){function i(e){return Math.floor(Math.log(e)/Math.LN10)}var o=a(0),n=1e-4,l=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;t.linearMap=function(e,t,a,i){var o=t[1]-t[0],n=a[1]-a[0];if(0===o)return 0===n?a[0]:(a[0]+a[1])/2;if(i)if(o>0){if(e<=t[0])return a[0];if(e>=t[1])return a[1]}else{if(e>=t[0])return a[0];if(e<=t[1])return a[1]}else{if(e===t[0])return a[0];if(e===t[1])return a[1]}return(e-t[0])/o*n+a[0]},t.parsePercent=function(e,t){switch(e){case"center":case"middle":e="50%";break;case"left":case"top":e="0%";break;case"right":case"bottom":e="100%"}return"string"==typeof e?function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}(e).match(/%$/)?parseFloat(e)/100*t:parseFloat(e):null==e?NaN:+e},t.round=function(e,t,a){return null==t&&(t=10),t=Math.min(Math.max(0,t),20),e=(+e).toFixed(t),a?e:+e},t.asc=function(e){return e.sort(function(e,t){return e-t}),e},t.getPrecision=function(e){if(e=+e,isNaN(e))return 0;for(var t=1,a=0;Math.round(e*t)/t!==e;)t*=10,a++;return a},t.getPrecisionSafe=function(e){var t=e.toString(),a=t.indexOf("e");if(a>0){var i=+t.slice(a+1);return i<0?-i:0}var o=t.indexOf(".");return o<0?0:t.length-1-o},t.getPixelPrecision=function(e,t){var a=Math.log,i=Math.LN10,o=Math.floor(a(e[1]-e[0])/i),n=Math.round(a(Math.abs(t[1]-t[0]))/i),l=Math.min(Math.max(-o+n,0),20);return isFinite(l)?l:20},t.getPercentWithPrecision=function(e,t,a){if(!e[t])return 0;var i=o.reduce(e,function(e,t){return e+(isNaN(t)?0:t)},0);if(0===i)return 0;for(var n=Math.pow(10,a),l=o.map(e,function(e){return(isNaN(e)?0:e)/i*n*100}),r=100*n,s=o.map(l,function(e){return Math.floor(e)}),u=o.reduce(s,function(e,t){return e+t},0),c=o.map(l,function(e,t){return e-s[t]});uh&&(h=c[d],p=d);++s[p],c[p]=0,++u}return s[t]/n},t.MAX_SAFE_INTEGER=9007199254740991,t.remRadian=function(e){var t=2*Math.PI;return(e%t+t)%t},t.isRadianAroundZero=function(e){return e>-n&&e=-20?+e.toFixed(a<0?-a:0):e},t.reformIntervals=function(e){e.sort(function(e,t){return function e(t,a,i){return t.interval[i]=0}},function(e,t,a){function i(){var e=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var t=0;t=0||o&&i.indexOf(o,r)<0)){var s=t.getShallow(r);null!=s&&(n[e[l][0]]=s)}}return n}}},function(e,t,a){function i(e){for(var t in e=e||{},l.call(this,e),e)e.hasOwnProperty(t)&&"style"!==t&&(this[t]=e[t]);this.style=new n(e.style,this),this._rect=null,this.__clipPaths=[]}var o=a(0),n=a(40),l=a(16),r=a(48);i.prototype={constructor:i,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:-1,beforeBrush:function(e){},afterBrush:function(e){},brush:function(e,t){},getBoundingRect:function(){},contain:function(e,t){return this.rectContain(e,t)},traverse:function(e,t){e.call(t,this)},rectContain:function(e,t){var a=this.transformCoordToLocal(e,t);return this.getBoundingRect().contain(a[0],a[1])},dirty:function(){this.__dirty=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(e){return this.animate("style",e)},attrKV:function(e,t){"style"!==e?l.prototype.attrKV.call(this,e,t):this.style.set(t)},setStyle:function(e,t){return this.style.set(e,t),this.dirty(!1),this},useStyle:function(e){return this.style=new n(e,this),this.dirty(!1),this}},o.inherits(i,l),o.mixin(i,r);var s=i;e.exports=s},function(e,t,a){function i(e){return String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}var o=a(0),n=a(5),l=a(9),r=o.normalizeCssArray,s=["a","b","c","d","e","f","g"],u=function(e,t){return"{"+e+(null==t?"":t)+"}"},c=function(e){return e<10?"0"+e:e},h=n.truncateText,p=n.getBoundingRect;t.addCommas=function(e){return isNaN(e)?"-":(e=(e+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(e.length>1?"."+e[1]:"")},t.toCamelCase=function(e,t){return e=(e||"").toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()}),t&&e&&(e=e.charAt(0).toUpperCase()+e.slice(1)),e},t.normalizeCssArray=r,t.encodeHTML=i,t.formatTpl=function(e,t,a){o.isArray(t)||(t=[t]);var n=t.length;if(!n)return"";for(var l=t[0].$vars||[],r=0;r':""},t.formatTime=function(e,t,a){"week"!==e&&"month"!==e&&"quarter"!==e&&"half-year"!==e&&"year"!==e||(e="MM-dd\nyyyy");var i=l.parseDate(t),o=a?"UTC":"",n=i["get"+o+"FullYear"](),r=i["get"+o+"Month"]()+1,s=i["get"+o+"Date"](),u=i["get"+o+"Hours"](),h=i["get"+o+"Minutes"](),p=i["get"+o+"Seconds"]();return e=e.replace("MM",c(r)).replace("M",r).replace("yyyy",n).replace("yy",n%100).replace("dd",c(s)).replace("d",s).replace("hh",c(u)).replace("h",u).replace("mm",c(h)).replace("m",h).replace("ss",c(p)).replace("s",p)},t.capitalFirst=function(e){return e?e.charAt(0).toUpperCase()+e.substr(1):e},t.truncateText=h,t.getTextRect=p},function(e,t){var a=function(){this.head=null,this.tail=null,this._len=0},i=a.prototype;i.insert=function(e){var t=new o(e);return this.insertEntry(t),t},i.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,e.next=null,this.tail=e):this.head=this.tail=e,this._len++},i.remove=function(e){var t=e.prev,a=e.next;t?t.next=a:this.head=a,a?a.prev=t:this.tail=t,e.next=e.prev=null,this._len--},i.len=function(){return this._len},i.clear=function(){this.head=this.tail=null,this._len=0};var o=function(e){this.value=e,this.next,this.prev},n=function(e){this._list=new a,this._map={},this._maxSize=e||10,this._lastRemovedEntry=null},l=n.prototype;l.put=function(e,t){var a=this._list,i=this._map,n=null;if(null==i[e]){var l=a.len(),r=this._lastRemovedEntry;if(l>=this._maxSize&&l>0){var s=a.head;a.remove(s),delete i[s.key],n=s.value,this._lastRemovedEntry=s}r?r.value=t:r=new o(t),r.key=e,a.insertEntry(r),i[e]=r}return n},l.get=function(e){var t=this._map[e],a=this._list;if(null!=t)return t!==a.tail&&(a.remove(t),a.insertEntry(t)),t.value},l.clear=function(){this._list.clear(),this._map={}};var r=n;e.exports=r},function(e,t){var a="undefined"==typeof navigator?{browser:{},os:{},node:!0,canvasSupported:!0,svgSupported:!0}:function(e){var t={},a=e.match(/Firefox\/([\d.]+)/),i=e.match(/MSIE\s([\d.]+)/)||e.match(/Trident\/.+?rv:(([\d.]+))/),o=e.match(/Edge\/([\d.]+)/),n=/micromessenger/i.test(e);return a&&(t.firefox=!0,t.version=a[1]),i&&(t.ie=!0,t.version=i[1]),o&&(t.edge=!0,t.version=o[1]),n&&(t.weChat=!0),{browser:t,os:{},node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!t.ie&&!t.edge,pointerEventsSupported:"onpointerdown"in window&&(t.edge||t.ie&&t.version>=11)}}(navigator.userAgent);e.exports=a},function(e,t,a){var i=a(41),o=a(42),n=a(17),l=a(43),r=a(0),s=function(e){n.call(this,e),o.call(this,e),l.call(this,e),this.id=e.id||i()};s.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,drift:function(e,t){switch(this.draggable){case"horizontal":t=0;break;case"vertical":e=0}var a=this.transform;a||(a=this.transform=[1,0,0,1,0,0]),a[4]+=e,a[5]+=t,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(e,t){},attrKV:function(e,t){if("position"===e||"scale"===e||"origin"===e){if(t){var a=this[e];a||(a=this[e]=[]),a[0]=t[0],a[1]=t[1]}}else this[e]=t},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(e,t){if("string"==typeof e)this.attrKV(e,t);else if(r.isObject(e))for(var a in e)e.hasOwnProperty(a)&&this.attrKV(a,e[a]);return this.dirty(!1),this},setClipPath:function(e){var t=this.__zr;t&&e.addSelfToZr(t),this.clipPath&&this.clipPath!==e&&this.removeClipPath(),this.clipPath=e,e.__zr=t,e.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var e=this.clipPath;e&&(e.__zr&&e.removeSelfFromZr(e.__zr),e.__zr=null,e.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(e){this.__zr=e;var t=this.animators;if(t)for(var a=0;ar||e<-r}var o=a(8),n=a(2),l=o.identity,r=5e-5,s=function(e){(e=e||{}).position||(this.position=[0,0]),null==e.rotation&&(this.rotation=0),e.scale||(this.scale=[1,1]),this.origin=this.origin||null},u=s.prototype;u.transform=null,u.needLocalTransform=function(){return i(this.rotation)||i(this.position[0])||i(this.position[1])||i(this.scale[0]-1)||i(this.scale[1]-1)},u.updateTransform=function(){var e=this.parent,t=e&&e.transform,a=this.needLocalTransform(),i=this.transform;a||t?(i=i||o.create(),a?this.getLocalTransform(i):l(i),t&&(a?o.mul(i,e.transform,i):o.copy(i,e.transform)),this.transform=i,this.invTransform=this.invTransform||o.create(),o.invert(this.invTransform,i)):i&&l(i)},u.getLocalTransform=function(e){return s.getLocalTransform(this,e)},u.setTransform=function(e){var t=this.transform,a=e.dpr||1;t?e.setTransform(a*t[0],a*t[1],a*t[2],a*t[3],a*t[4],a*t[5]):e.setTransform(a,0,0,a,0,0)},u.restoreTransform=function(e){var t=e.dpr||1;e.setTransform(t,0,0,t,0,0)};var c=[];u.decomposeTransform=function(){if(this.transform){var e=this.parent,t=this.transform;e&&e.transform&&(o.mul(c,e.invTransform,t),t=c);var a=t[0]*t[0]+t[1]*t[1],n=t[2]*t[2]+t[3]*t[3],l=this.position,r=this.scale;i(a-1)&&(a=Math.sqrt(a)),i(n-1)&&(n=Math.sqrt(n)),t[0]<0&&(a=-a),t[3]<0&&(n=-n),l[0]=t[4],l[1]=t[5],r[0]=a,r[1]=n,this.rotation=Math.atan2(-t[1]/n,t[0]/a)}},u.getGlobalScale=function(){var e=this.transform;if(!e)return[1,1];var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]),a=Math.sqrt(e[2]*e[2]+e[3]*e[3]);return e[0]<0&&(t=-t),e[3]<0&&(a=-a),[t,a]},u.transformCoordToLocal=function(e,t){var a=[e,t],i=this.invTransform;return i&&n.applyTransform(a,a,i),a},u.transformCoordToGlobal=function(e,t){var a=[e,t],i=this.transform;return i&&n.applyTransform(a,a,i),a},s.getLocalTransform=function(e,t){l(t=t||[]);var a=e.origin,i=e.scale||[1,1],n=e.rotation||0,r=e.position||[0,0];return a&&(t[4]-=a[0],t[5]-=a[1]),o.scale(t,t,i),n&&o.rotate(t,t,n),a&&(t[4]+=a[0],t[5]+=a[1]),t[4]+=r[0],t[5]+=r[1],t};var h=s;e.exports=h},function(e,t,a){function i(e){return(e=Math.round(e))<0?0:e>255?255:e}function o(e){return e<0?0:e>1?1:e}function n(e){return i(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100*255:parseInt(e,10))}function l(e){return o(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100:parseFloat(e))}function r(e,t,a){return a<0?a+=1:a>1&&(a-=1),6*a<1?e+(t-e)*a*6:2*a<1?t:3*a<2?e+(t-e)*(2/3-a)*6:e}function s(e,t,a){return e+(t-e)*a}function u(e,t,a,i,o){return e[0]=t,e[1]=a,e[2]=i,e[3]=o,e}function c(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function h(e,t){x&&c(x,t),x=b.put(e,x||t.slice())}function p(e,t){if(e){t=t||[];var a=b.get(e);if(a)return c(t,a);var i=(e+="").replace(/ /g,"").toLowerCase();if(i in g)return c(t,g[i]),h(e,t),t;if("#"!==i.charAt(0)){var o=i.indexOf("("),r=i.indexOf(")");if(-1!==o&&r+1===i.length){var s=i.substr(0,o),p=i.substr(o+1,r-(o+1)).split(","),m=1;switch(s){case"rgba":if(4!==p.length)return void u(t,0,0,0,1);m=l(p.pop());case"rgb":return 3!==p.length?void u(t,0,0,0,1):(u(t,n(p[0]),n(p[1]),n(p[2]),m),h(e,t),t);case"hsla":return 4!==p.length?void u(t,0,0,0,1):(p[3]=l(p[3]),d(p,t),h(e,t),t);case"hsl":return 3!==p.length?void u(t,0,0,0,1):(d(p,t),h(e,t),t);default:return}}u(t,0,0,0,1)}else{if(4===i.length){var f=parseInt(i.substr(1),16);return f>=0&&f<=4095?(u(t,(3840&f)>>4|(3840&f)>>8,240&f|(240&f)>>4,15&f|(15&f)<<4,1),h(e,t),t):void u(t,0,0,0,1)}if(7===i.length){var f=parseInt(i.substr(1),16);return f>=0&&f<=16777215?(u(t,(16711680&f)>>16,(65280&f)>>8,255&f,1),h(e,t),t):void u(t,0,0,0,1)}}}}function d(e,t){var a=(parseFloat(e[0])%360+360)%360/360,o=l(e[1]),n=l(e[2]),s=n<=.5?n*(o+1):n+o-n*o,c=2*n-s;return u(t=t||[],i(255*r(c,s,a+1/3)),i(255*r(c,s,a)),i(255*r(c,s,a-1/3)),1),4===e.length&&(t[3]=e[3]),t}function m(e,t,a){if(t&&t.length&&e>=0&&e<=1){a=a||[];var n=e*(t.length-1),l=Math.floor(n),r=Math.ceil(n),u=t[l],c=t[r],h=n-l;return a[0]=i(s(u[0],c[0],h)),a[1]=i(s(u[1],c[1],h)),a[2]=i(s(u[2],c[2],h)),a[3]=o(s(u[3],c[3],h)),a}}function f(e,t,a){if(t&&t.length&&e>=0&&e<=1){var n=e*(t.length-1),l=Math.floor(n),r=Math.ceil(n),u=p(t[l]),c=p(t[r]),h=n-l,d=v([i(s(u[0],c[0],h)),i(s(u[1],c[1],h)),i(s(u[2],c[2],h)),o(s(u[3],c[3],h))],"rgba");return a?{color:d,leftIndex:l,rightIndex:r,value:n}:d}}function v(e,t){if(e&&e.length){var a=e[0]+","+e[1]+","+e[2];return"rgba"!==t&&"hsva"!==t&&"hsla"!==t||(a+=","+e[3]),t+"("+a+")"}}var y=a(14),g={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},b=new y(20),x=null,S=m,w=f;t.parse=p,t.lift=function(e,t){var a=p(e);if(a){for(var i=0;i<3;i++)a[i]=t<0?a[i]*(1-t)|0:(255-a[i])*t+a[i]|0;return v(a,4===a.length?"rgba":"rgb")}},t.toHex=function(e){var t=p(e);if(t)return((1<<24)+(t[0]<<16)+(t[1]<<8)+ +t[2]).toString(16).slice(1)},t.fastLerp=m,t.fastMapToColor=S,t.lerp=f,t.mapToColor=w,t.modifyHSL=function(e,t,a,i){if(e=p(e))return e=function(e){if(e){var t,a,i=e[0]/255,o=e[1]/255,n=e[2]/255,l=Math.min(i,o,n),r=Math.max(i,o,n),s=r-l,u=(r+l)/2;if(0===s)t=0,a=0;else{a=u<.5?s/(r+l):s/(2-r-l);var c=((r-i)/6+s/2)/s,h=((r-o)/6+s/2)/s,p=((r-n)/6+s/2)/s;i===r?t=p-h:o===r?t=1/3+c-p:n===r&&(t=2/3+h-c),t<0&&(t+=1),t>1&&(t-=1)}var d=[360*t,a,u];return null!=e[3]&&d.push(e[3]),d}}(e),null!=t&&(e[0]=function(e){return(e=Math.round(e))<0?0:e>360?360:e}(t)),null!=a&&(e[1]=l(a)),null!=i&&(e[2]=l(i)),v(d(e),"rgba")},t.modifyAlpha=function(e,t){if((e=p(e))&&null!=t)return e[3]=o(t),v(e,"rgba")},t.stringify=v},function(e,t){var a=1;"undefined"!=typeof window&&(a=Math.max(window.devicePixelRatio||1,1));var i=a;t.debugMode=0,t.devicePixelRatio=i},function(e,t,a){function i(e){if(e){e.font=q.makeFont(e);var t=e.textAlign;"middle"===t&&(t="center"),e.textAlign=null==t||T[t]?t:"left";var a=e.textVerticalAlign||e.textBaseline;"center"===a&&(a="middle"),e.textVerticalAlign=null==a||O[a]?a:"top",e.textPadding&&(e.textPadding=x(e.textPadding))}}function o(e,t,a,i,o){var u=e.__textCotentBlock;u&&!e.__dirty||(u=e.__textCotentBlock=q.parseRichText(a,i)),function(e,t,a,i,o){var u=a.width,h=a.outerWidth,p=a.outerHeight,d=i.textPadding,m=c(0,i,o),f=m.baseX,v=m.baseY,y=m.textAlign,g=m.textVerticalAlign;n(t,i,o,f,v);var b=q.adjustTextX(f,h,y),x=q.adjustTextY(v,p,g),S=b,w=x;d&&(S+=d[3],w+=d[0]);var C=S+u;r(i)&&s(e,t,i,b,x,h,p);for(var D=0;D=0&&"right"===(T=_[P]).textAlign;)l(e,t,T,i,L,w,W,"right"),z-=T.width,W-=T.width,P--;for(A+=(u-(A-S)-(C-W)-z)/2;F<=P;)T=_[F],l(e,t,T,i,L,w,A+T.width/2,"center"),A+=T.width,F++;w+=L}}(e,t,u,i,o)}function n(e,t,a,i,o){if(a&&t.textRotation){var n=t.textOrigin;"center"===n?(i=a.width/2+a.x,o=a.height/2+a.y):n&&(i=n[0]+a.x,o=n[1]+a.y),e.translate(i,o),e.rotate(-t.textRotation),e.translate(-i,-o)}}function l(e,t,a,i,o,n,l,u){var c=i.rich[a.styleName]||{},m=a.textVerticalAlign,v=n+o/2;"top"===m?v=n+a.height/2:"bottom"===m&&(v=n+o-a.height/2),!a.isLineHolder&&r(c)&&s(e,t,c,"right"===u?l-a.width:"center"===u?l-a.width/2:l,v-a.height/2,a.width,a.height);var b=a.textPadding;b&&(l=f(l,u,b),v-=a.height/2-b[2]-a.textHeight/2),h(t,"shadowBlur",g(c.textShadowBlur,i.textShadowBlur,0)),h(t,"shadowColor",c.textShadowColor||i.textShadowColor||"transparent"),h(t,"shadowOffsetX",g(c.textShadowOffsetX,i.textShadowOffsetX,0)),h(t,"shadowOffsetY",g(c.textShadowOffsetY,i.textShadowOffsetY,0)),h(t,"textAlign",u),h(t,"textBaseline","middle"),h(t,"font",a.font||q.DEFAULT_FONT);var x=p(c.textStroke||i.textStroke,w),S=d(c.textFill||i.textFill),w=y(c.textStrokeWidth,i.textStrokeWidth);x&&(h(t,"lineWidth",w),h(t,"strokeStyle",x),t.strokeText(a.text,l,v)),S&&(h(t,"fillStyle",S),t.fillText(a.text,l,v))}function r(e){return e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor}function s(e,t,a,i,o,n,l){var r=a.textBackgroundColor,s=a.textBorderWidth,c=a.textBorderColor,p=S(r);if(h(t,"shadowBlur",a.textBoxShadowBlur||0),h(t,"shadowColor",a.textBoxShadowColor||"transparent"),h(t,"shadowOffsetX",a.textBoxShadowOffsetX||0),h(t,"shadowOffsetY",a.textBoxShadowOffsetY||0),p||s&&c){t.beginPath();var d=a.textBorderRadius;d?C.buildPath(t,{x:i,y:o,width:n,height:l,r:d}):t.rect(i,o,n,l),t.closePath()}if(p)h(t,"fillStyle",r),t.fill();else if(w(r)){var m=r.image;(m=D.createOrUpdateImage(m,null,e,u,r))&&D.isImageReady(m)&&t.drawImage(m,i,o,n,l)}s&&c&&(h(t,"lineWidth",s),h(t,"strokeStyle",c),t.stroke())}function u(e,t){t.image=e}function c(e,t,a){var i=t.x||0,o=t.y||0,n=t.textAlign,l=t.textVerticalAlign;if(a){var r=t.textPosition;if(r instanceof Array)i=a.x+m(r[0],a.width),o=a.y+m(r[1],a.height);else{var s=q.adjustTextPositionOnRect(r,a,t.textDistance);i=s.x,o=s.y,n=n||s.textAlign,l=l||s.textVerticalAlign}var u=t.textOffset;u&&(i+=u[0],o+=u[1])}return{baseX:i,baseY:o,textAlign:n,textVerticalAlign:l}}function h(e,t,a){return e[t]=a,e[t]}function p(e,t){return null==e||t<=0||"transparent"===e||"none"===e?null:e.image||e.colorStops?"#000":e}function d(e){return null==e||"none"===e?null:e.image||e.colorStops?"#000":e}function m(e,t){return"string"==typeof e?e.lastIndexOf("%")>=0?parseFloat(e)/100*t:parseFloat(e):e}function f(e,t,a){return"right"===t?e-a[1]:"center"===t?e+a[3]/2-a[1]/2:e+a[3]}var v=a(0),y=v.retrieve2,g=v.retrieve3,b=v.each,x=v.normalizeCssArray,S=v.isString,w=v.isObject,q=a(5),C=a(21),D=a(10),T={left:1,right:1,center:1},O={top:1,bottom:1,middle:1};t.normalizeTextStyle=function(e){return i(e),b(e.rich,i),e},t.renderText=function(e,t,a,i,l){i.rich?o(e,t,a,i,l):function(e,t,a,i,o){var l=h(t,"font",i.font||q.DEFAULT_FONT),u=i.textPadding,m=e.__textCotentBlock;m&&!e.__dirty||(m=e.__textCotentBlock=q.parsePlainText(a,l,u,i.truncate));var v=m.outerHeight,y=m.lines,g=m.lineHeight,b=c(0,i,o),x=b.baseX,S=b.baseY,w=b.textAlign,C=b.textVerticalAlign;n(t,i,o,x,S);var D=q.adjustTextY(S,v,C),T=x,O=D,_=r(i);if(_||u){var k=q.getWidth(a,l),L=k;u&&(L+=u[1]+u[3]);var z=q.adjustTextX(x,L,w);_&&s(e,t,i,z,D,L,v),u&&(T=f(x,w,u),O+=u[0])}h(t,"textAlign",w||"left"),h(t,"textBaseline","middle"),h(t,"shadowBlur",i.textShadowBlur||0),h(t,"shadowColor",i.textShadowColor||"transparent"),h(t,"shadowOffsetX",i.textShadowOffsetX||0),h(t,"shadowOffsetY",i.textShadowOffsetY||0),O+=g/2;var F=i.textStrokeWidth,A=p(i.textStroke,F),W=d(i.textFill);A&&(h(t,"lineWidth",F),h(t,"strokeStyle",A)),W&&h(t,"fillStyle",W);for(var P=0;Pu&&(a*=u/(l=a+i),i*=u/l),o+n>u&&(o*=u/(l=o+n),n*=u/l),i+o>c&&(i*=c/(l=i+o),o*=c/l),a+n>c&&(a*=c/(l=a+n),n*=c/l),e.moveTo(r+a,s),e.lineTo(r+u-i,s),0!==i&&e.quadraticCurveTo(r+u,s,r+u,s+i),e.lineTo(r+u,s+c-o),0!==o&&e.quadraticCurveTo(r+u,s+c,r+u-o,s+c),e.lineTo(r+n,s+c),0!==n&&e.quadraticCurveTo(r,s+c,r,s+c-n),e.lineTo(r,s+a),0!==a&&e.quadraticCurveTo(r,s,r+a,s)}},function(e,t){var a=2*Math.PI;t.normalizeRadian=function(e){return(e%=a)<0&&(e+=a),e}},function(e,t,a){var i=a(66),o=a(67);t.buildPath=function(e,t,a){var n=t.points,l=t.smooth;if(n&&n.length>=2){if(l&&"spline"!==l){var r=o(n,l,a,t.smoothConstraint);e.moveTo(n[0][0],n[0][1]);for(var s=n.length,u=0;u<(a?s:s-1);u++){var c=r[2*u],h=r[2*u+1],p=n[(u+1)%s];e.bezierCurveTo(c[0],c[1],h[0],h[1],p[0],p[1])}}else{"spline"===l&&(n=i(n,a)),e.moveTo(n[0][0],n[0][1]);for(var u=1,d=n.length;u128){var s=a.data[l]+a.data[l+1]+a.data[l+2];o+=s,++n}}for(var u=o/n,l=0;lu?(i.data[l]=0,i.data[l+1]=0,i.data[l+2]=0,i.data[l+3]=0):(i.data[l]=255,i.data[l+1]=255,i.data[l+2]=255,i.data[l+3]=255)}t.putImageData(i,0,0)}(u)}catch(e){console.error("Invalid mask image"),console.error(e.toString())}var p=a.get("sizeRange"),d=a.get("rotationRange"),m=s.getDataExtent("value"),f=Math.PI/180,v=a.get("gridSize");n(u,{list:s.mapArray("value",function(e,t){var a=s.getItemModel(t);return[s.getName(t),a.get("textStyle.normal.textSize",!0)||i.number.linearMap(e,m,p),t]}).sort(function(e,t){return t[1]-e[1]}),fontFamily:a.get("textStyle.normal.fontFamily")||a.get("textStyle.emphasis.fontFamily")||e.get("textStyle.fontFamily"),fontWeight:a.get("textStyle.normal.fontWeight")||a.get("textStyle.emphasis.fontWeight")||e.get("textStyle.fontWeight"),gridSize:v,ellipticity:r.height/r.width,minRotation:d[0]*f,maxRotation:d[1]*f,clearCanvas:!h,rotateRatio:1,rotationStep:a.get("rotationStep")*f,drawOutOfBound:a.get("drawOutOfBound"),shuffle:!1,shape:a.get("shape")}),u.addEventListener("wordclouddrawn",l),a.layoutInstance&&a.layoutInstance.dispose(),a.layoutInstance={ondraw:null,dispose:function(){u.removeEventListener("wordclouddrawn",l),u.addEventListener("wordclouddrawn",function(e){e.preventDefault()})}}})}),i.registerPreprocessor(function(e){function t(e){e&&i.util.each(o,function(t){e.hasOwnProperty(t)&&(e["text"+i.format.capitalFirst(t)]=e[t])})}var a=(e||{}).series;!i.util.isArray(a)&&(a=a?[a]:[]);var o=["shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];i.util.each(a,function(e){if(e&&"wordCloud"===e.type){var a=e.textStyle||{};t(a.normal),t(a.emphasis)}})})},function(e,t,a){function i(e,t,a,i,o){var n=0,l=0;null==i&&(i=1/0),null==o&&(o=1/0);var r=0;t.eachChild(function(s,u){var c,h,p=s.position,d=s.getBoundingRect(),m=t.childAt(u+1),f=m&&m.getBoundingRect();if("horizontal"===e){var v=d.width+(f?-f.x+d.x:0);(c=n+v)>i||s.newline?(n=0,c=v,l+=r+a,r=d.height):r=Math.max(r,d.height)}else{var y=d.height+(f?-f.y+d.y:0);(h=l+y)>o||s.newline?(n+=r+a,l=0,h=y,r=d.width):r=Math.max(r,d.width)}s.newline||(p[0]=n,p[1]=l,"horizontal"===e?n=c+a:l=h+a)})}function o(e,t,a){a=c.normalizeCssArray(a||0);var i=t.width,o=t.height,n=u(e.left,i),l=u(e.top,o),s=u(e.right,i),h=u(e.bottom,o),p=u(e.width,i),d=u(e.height,o),m=a[2]+a[0],f=a[1]+a[3],v=e.aspect;switch(isNaN(p)&&(p=i-s-f-n),isNaN(d)&&(d=o-h-m-l),null!=v&&(isNaN(p)&&isNaN(d)&&(v>i/o?p=.8*i:d=.8*o),isNaN(p)&&(p=v*d),isNaN(d)&&(d=p/v)),isNaN(n)&&(n=i-s-p-f),isNaN(l)&&(l=o-h-d-m),e.left||e.right){case"center":n=i/2-p/2-a[3];break;case"right":n=i-p-f}switch(e.top||e.bottom){case"middle":case"center":l=o/2-d/2-a[0];break;case"bottom":l=o-d-m}n=n||0,l=l||0,isNaN(p)&&(p=i-f-n-(s||0)),isNaN(d)&&(d=o-m-l-(h||0));var y=new r(n+a[3],l+a[0],p,d);return y.margin=a,y}function n(e,t){return t&&e&&h(p,function(a){t.hasOwnProperty(a)&&(e[a]=t[a])}),e}var l=a(0),r=a(3),s=a(9),u=s.parsePercent,c=a(13),h=l.each,p=["left","right","top","bottom","width","height"],d=[["width","left","right"],["height","top","bottom"]],m=i,f=l.curry(i,"vertical"),v=l.curry(i,"horizontal");t.LOCATION_PARAMS=p,t.HV_NAMES=d,t.box=m,t.vbox=f,t.hbox=v,t.getAvailableSize=function(e,t,a){var i=t.width,o=t.height,n=u(e.x,i),l=u(e.y,o),r=u(e.x2,i),s=u(e.y2,o);return(isNaN(n)||isNaN(parseFloat(e.x)))&&(n=0),(isNaN(r)||isNaN(parseFloat(e.x2)))&&(r=i),(isNaN(l)||isNaN(parseFloat(e.y)))&&(l=0),(isNaN(s)||isNaN(parseFloat(e.y2)))&&(s=o),a=c.normalizeCssArray(a||0),{width:Math.max(r-n-a[1]-a[3],0),height:Math.max(s-l-a[0]-a[2],0)}},t.getLayoutRect=o,t.positionElement=function(e,t,a,i,n){var s=!n||!n.hv||n.hv[0],u=!n||!n.hv||n.hv[1],c=n&&n.boundingMode||"all";if(s||u){var h;if("raw"===c)h="group"===e.type?new r(0,0,+t.width||0,+t.height||0):e.getBoundingRect();else if(h=e.getBoundingRect(),e.needLocalTransform()){var p=e.getLocalTransform();(h=h.clone()).applyTransform(p)}t=o(l.defaults({width:h.width,height:h.height},t),a,i);var d=e.position,m=s?t.x-h.x:0,f=u?t.y-h.y:0;e.attr("position","raw"===c?[m,f]:[d[0]+m,d[1]+f])}},t.sizeCalculable=function(e,t){return null!=e[d[t][0]]||null!=e[d[t][1]]&&null!=e[d[t][2]]},t.mergeLayoutParam=function(e,t,a){function i(a,i){var l={},r=0,u={},c=0;if(h(a,function(t){u[t]=e[t]}),h(a,function(e){o(t,e)&&(l[e]=u[e]=t[e]),n(l,e)&&r++,n(u,e)&&c++}),s[i])return n(t,a[1])?u[a[2]]=null:n(t,a[2])&&(u[a[1]]=null),u;if(2!==c&&r){if(r>=2)return l;for(var p=0;p=a.length&&a.push({option:e})}}),a},t.makeIdAndName=function(e){var t=l.createHashMap();c(e,function(e,a){var i=e.exist;i&&t.set(i.id,e)}),c(e,function(e,a){var i=e.option;l.assert(!i||null==i.id||!t.get(i.id)||t.get(i.id)===e,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&t.set(i.id,e),!e.keyInfo&&(e.keyInfo={})}),c(e,function(e,a){var i=e.exist,o=e.option,n=e.keyInfo;if(h(o)){if(n.name=null!=o.name?o.name+"":i?i.name:"\0-",i)n.id=i.id;else if(null!=o.id)n.id=o.id+"";else{var l=0;do{n.id="\0"+n.name+"\0"+l++}while(t.get(n.id))}t.set(n.id,e)}})},t.isIdInner=o,t.compressBatches=function(e,t){function a(e,t,a){for(var o=0,n=e.length;o=0)&&(i={textFill:null,textStroke:e.textStroke,textStrokeWidth:e.textStrokeWidth},e.textFill="#fff",null==e.textStroke&&(e.textStroke=a.autoColor,null==e.textStrokeWidth&&(e.textStrokeWidth=2))),i}function C(e,t,a,i,o,n){if("function"==typeof o&&(n=o,o=null),i&&i.isAnimationEnabled()){var l=e?"Update":"",r=i.getShallow("animationDuration"+l),s=i.getShallow("animationEasing"+l),u=i.getShallow("animationDelay"+l);"function"==typeof u&&(u=u(o,i.getAnimationDelayParams?i.getAnimationDelayParams(t,o):null)),"function"==typeof r&&(r=r(o)),r>0?t.animateTo(a,r,u||0,s,n,!!n):(t.stopAnimation(),t.attr(a),n&&n())}else t.stopAnimation(),t.attr(a),n&&n()}function D(e,t,a,i,o){C(!0,e,t,a,i,o)}function T(e,t,a){return t&&!O.isArrayLike(t)&&(t=A.getLocalTransform(t)),a&&(t=L.invert([],t)),z.applyTransform([],e,t)}var O=a(0),_=a(39),k=a(18),L=a(8),z=a(2),F=a(1),A=a(17),W=a(58);t.Image=W;var P=a(59);t.Group=P;var I=a(60);t.Text=I;var M=a(61);t.Circle=M;var R=a(62);t.Sector=R;var N=a(64);t.Ring=N;var E=a(65);t.Polygon=E;var B=a(68);t.Polyline=B;var Y=a(69);t.Rect=Y;var j=a(70);t.Line=j;var X=a(71);t.BezierCurve=X;var V=a(72);t.Arc=V;var $=a(73);t.CompoundPath=$;var H=a(74);t.LinearGradient=H;var U=a(75);t.RadialGradient=U;var G=a(3);t.BoundingRect=G;var Z=Math.round,K=Math.max,Q=Math.min,J={},ee=_.mergePath;t.extendShape=function(e){return F.extend(e)},t.extendPath=function(e,t){return _.extendFromString(e,t)},t.makePath=i,t.makeImage=function(e,t,a){var i=new W({style:{image:e,x:t.x,y:t.y,width:t.width,height:t.height},onload:function(e){if("center"===a){var n={width:e.width,height:e.height};i.setStyle(o(t,n))}}});return i},t.mergePath=ee,t.resizePath=n,t.subPixelOptimizeLine=function(e){var t=e.shape,a=e.style.lineWidth;return Z(2*t.x1)===Z(2*t.x2)&&(t.x1=t.x2=l(t.x1,a,!0)),Z(2*t.y1)===Z(2*t.y2)&&(t.y1=t.y2=l(t.y1,a,!0)),e},t.subPixelOptimizeRect=function(e){var t=e.shape,a=e.style.lineWidth,i=t.x,o=t.y,n=t.width,r=t.height;return t.x=l(t.x,a,!0),t.y=l(t.y,a,!0),t.width=Math.max(l(i+n,a,!1)-t.x,0===n?0:1),t.height=Math.max(l(o+r,a,!1)-t.y,0===r?0:1),e},t.subPixelOptimize=l,t.setHoverStyle=function(e,t,a){e.__hoverSilentOnTouch=a&&a.hoverSilentOnTouch,"group"===e.type?e.traverse(function(e){"group"!==e.type&&m(e,t)}):m(e,t),e.on("mouseover",f).on("mouseout",v),e.on("emphasis",y).on("normal",g)},t.setLabelStyle=function(e,t,a,i,o,n,l){var r=(o=o||J).labelFetcher,s=o.labelDataIndex,u=o.labelDimIndex,c=a.getShallow("show"),h=i.getShallow("show"),p=c||h?O.retrieve2(r?r.getFormattedLabel(s,"normal",null,u):null,o.defaultText):null,d=c?p:null,m=h?O.retrieve2(r?r.getFormattedLabel(s,"emphasis",null,u):null,p):null;null==d&&null==m||(b(e,a,n,o),b(t,i,l,o,!0)),e.text=d,t.text=m},t.setTextStyle=b,t.setText=function(e,t,a){var i,o={isRectText:!0};!1===a?i=!0:o.autoColor=a,x(e,t,o,i),e.host&&e.host.dirty&&e.host.dirty(!1)},t.getFont=function(e,t){var a=t||t.getModel("textStyle");return[e.fontStyle||a&&a.getShallow("fontStyle")||"",e.fontWeight||a&&a.getShallow("fontWeight")||"",(e.fontSize||a&&a.getShallow("fontSize")||12)+"px",e.fontFamily||a&&a.getShallow("fontFamily")||"sans-serif"].join(" ")},t.updateProps=D,t.initProps=function(e,t,a,i,o){C(!1,e,t,a,i,o)},t.getTransform=function(e,t){for(var a=L.identity([]);e&&e!==t;)L.mul(a,e.getLocalTransform(),a),e=e.parent;return a},t.applyTransform=T,t.transformDirection=function(e,t,a){var i=0===t[4]||0===t[5]||0===t[0]?1:Math.abs(2*t[4]/t[0]),o=0===t[4]||0===t[5]||0===t[2]?1:Math.abs(2*t[4]/t[2]),n=["left"===e?-i:"right"===e?i:0,"top"===e?-o:"bottom"===e?o:0];return n=T(n,t,a),Math.abs(n[0])>Math.abs(n[1])?n[0]>0?"right":"left":n[1]>0?"bottom":"top"},t.groupTransition=function(e,t,a,i){function o(e){var t={position:z.clone(e.position),rotation:e.rotation};return e.shape&&(t.shape=O.extend({},e.shape)),t}if(e&&t){var n=function(e){var t={};return e.traverse(function(e){!e.isGroup&&e.anid&&(t[e.anid]=e)}),t}(e);t.traverse(function(e){if(!e.isGroup&&e.anid){var t=n[e.anid];if(t){var i=o(e);e.attr(o(t)),D(e,i,a,e.dataIndex)}}})}},t.clipPointsByRect=function(e,t){return O.map(e,function(e){var a=e[0];a=K(a,t.x),a=Q(a,t.x+t.width);var i=e[1];return i=K(i,t.y),i=Q(i,t.y+t.height),[a,i]})},t.clipRectByRect=function(e,t){var a=K(e.x,t.x),i=Q(e.x+e.width,t.x+t.width),o=K(e.y,t.y),n=Q(e.y+e.height,t.y+t.height);if(i>=a&&n>=o)return{x:a,y:o,width:i-a,height:n-o}},t.createIcon=function(e,t,a){var o=(t=O.extend({rectHover:!0},t)).style={strokeNoScale:!0};if(a=a||{x:-1,y:-1,width:2,height:2},e)return 0===e.indexOf("image://")?(o.image=e.slice(8),O.defaults(o,a),new W(t)):i(e.replace("path://",""),t,a,"center")}},function(e,t,a){function i(e,t,a,i,o,n,l,r,s,d,v){var y=s*(p/180),g=h(y)*(e-a)/2+c(y)*(t-i)/2,b=-1*c(y)*(e-a)/2+h(y)*(t-i)/2,x=g*g/(l*l)+b*b/(r*r);x>1&&(l*=u(x),r*=u(x));var S=(o===n?-1:1)*u((l*l*(r*r)-l*l*(b*b)-r*r*(g*g))/(l*l*(b*b)+r*r*(g*g)))||0,w=S*l*b/r,q=S*-r*g/l,C=(e+a)/2+h(y)*w-c(y)*q,D=(t+i)/2+c(y)*w+h(y)*q,T=f([1,0],[(g-w)/l,(b-q)/r]),O=[(g-w)/l,(b-q)/r],_=[(-1*g-w)/l,(-1*b-q)/r],k=f(O,_);m(O,_)<=-1&&(k=p),m(O,_)>=1&&(k=0),0===n&&k>0&&(k-=2*p),1===n&&k<0&&(k+=2*p),v.addData(d,C,D,l,r,T,k,y,n)}function o(e,t){var a=function(e){if(!e)return[];var t,a=e.replace(/-/g," -").replace(/ /g," ").replace(/ /g,",").replace(/,,/g,",");for(t=0;t0&&""===v[0]&&v.shift();for(var y=0;y0},extendFrom:function(e,t){if(e)for(var a in e)!e.hasOwnProperty(a)||!0!==t&&(!1===t?this.hasOwnProperty(a):null==e[a])||(this[a]=e[a])},set:function(e,t){"string"==typeof e?this[e]=t:this.extendFrom(e,!0)},clone:function(){var e=new this.constructor;return e.extendFrom(this,!0),e},getGradient:function(e,t,o){for(var n="radial"===t.type?i:a,l=n(e,t,o),r=t.colorStops,s=0;s3&&(t=a.call(t,1));for(var o=this._$handlers[e],n=o.length,l=0;l4&&(t=a.call(t,1,t.length-1));for(var o=t[t.length-1],n=this._$handlers[e],l=n.length,r=0;r0&&this.animate(e,!1).when(null==i?500:i,n).delay(o||0),this}};var p=h;e.exports=p},function(e,t,a){function i(e,t){return e[t]}function o(e,t,a){e[t]=a}function n(e,t,a){return(t-e)*a+e}function l(e,t,a){return a>.5?t:e}function r(e,t,a,i,o){var l=e.length;if(1==o)for(var r=0;ro)e.length=o;else for(var n=i;n=0&&!(O[a]<=t);a--);a=Math.min(a,x-2)}else{for(a=B;at);a++);a=Math.min(a-1,x-2)}B=a,Y=t;var i=O[a+1]-O[a];if(0!==i)if(I=(t-O[a])/i,b)if(R=_[a],M=_[0===a?a:a-1],N=_[a>x-2?x-1:a+1],E=_[a>x-3?x-1:a+2],q)c(M,R,N,E,I,I*I,I*I*I,m(e,o),T);else{if(C)s=c(M,R,N,E,I,I*I,I*I*I,j,1),s=d(j);else{if(D)return l(R,N,I);s=h(M,R,N,E,I,I*I,I*I*I)}y(e,o,s)}else if(q)r(_[a],_[a+1],I,m(e,o),T);else{var s;if(C)r(_[a],_[a+1],I,j,1),s=d(j);else{if(D)return l(_[a],_[a+1],I);s=n(_[a],_[a+1],I)}y(e,o,s)}},ondestroy:a});return t&&"spline"!==t&&(X.easing=t),X}}}var f=a(45),v=a(18),y=a(0),g=y.isArrayLike,b=Array.prototype.slice,x=function(e,t,a,n){this._tracks={},this._target=e,this._loop=t||!1,this._getter=a||i,this._setter=n||o,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};x.prototype={when:function(e,t){var a=this._tracks;for(var i in t)if(t.hasOwnProperty(i)){if(!a[i]){a[i]=[];var o=this._getter(this._target,i);if(null==o)continue;0!==e&&a[i].push({time:0,value:p(o)})}a[i].push({time:e,value:t[i]})}return this},during:function(e){return this._onframeList.push(e),this},pause:function(){for(var e=0;e1&&(n=function(){for(var e in arguments)console.log(arguments[e])});var l=n;e.exports=l},function(e,t,a){var i=a(20),o=a(3),n=new o,l=function(){};l.prototype={constructor:l,drawRectText:function(e,t){var a=this.style;t=a.textRect||t,this.__dirty&&i.normalizeTextStyle(a,!0);var o=a.text;if(null!=o&&(o+=""),i.needDrawText(o,a)){e.save();var l=this.transform;a.transformText?this.setTransform(e):l&&(n.copy(t),n.applyTransform(l),t=n),i.renderText(this,e,o,a,t),e.restore()}}};var r=l;e.exports=r},function(e,t,a){var i=a(2),o=a(4),n=Math.min,l=Math.max,r=Math.sin,s=Math.cos,u=2*Math.PI,c=i.create(),h=i.create(),p=i.create(),d=[],m=[];t.fromPoints=function(e,t,a){if(0!==e.length){var i,o=e[0],r=o[0],s=o[0],u=o[1],c=o[1];for(i=1;i1e-4)return m[0]=e-a,m[1]=t-o,f[0]=e+a,void(f[1]=t+o);if(c[0]=s(n)*a+e,c[1]=r(n)*o+t,h[0]=s(l)*a+e,h[1]=r(l)*o+t,v(m,c,h),y(f,c,h),(n%=u)<0&&(n+=u),(l%=u)<0&&(l+=u),n>l&&!d?l+=u:nn&&(p[0]=s(x)*a+e,p[1]=r(x)*o+t,v(m,p,m),y(f,p,f))}},function(e,t,a){function i(e,t){return Math.abs(e-t)t&&c>i&&c>l&&c>s||c1&&o(),p=v.cubicAt(t,i,l,s,w[0]),f>1&&(d=v.cubicAt(t,i,l,s,w[1]))),2==f?gt&&r>i&&r>n||r=0&&u<=1){for(var c=0,h=v.quadraticAt(t,i,n,u),p=0;pa||r<-a)return 0;var s=Math.sqrt(a*a-r*r);S[0]=-s,S[1]=s;var u=Math.abs(i-o);if(u<1e-4)return 0;if(u%b<1e-4){i=0,o=b;var c=n?1:-1;return l>=S[0]+e&&l<=S[1]+e?c:0}if(n){var s=i;i=f(o),o=f(s)}else i=f(i),o=f(o);i>o&&(o+=b);for(var h=0,p=0;p<2;p++){var d=S[p];if(d+e>l){var m=Math.atan2(r,d),c=n?1:-1;m<0&&(m=b+m),(m>=i&&m<=o||m+b>=i&&m+b<=o)&&(m>Math.PI/2&&m<1.5*Math.PI&&(c=-c),h+=c)}}return h}function s(e,t,a,o,s){for(var u=0,m=0,f=0,v=0,b=0,x=0;x1&&(a||(u+=y(m,f,v,b,o,s))),1==x&&(m=e[x],f=e[x+1],v=m,b=f),S){case g.M:v=e[x++],b=e[x++],m=v,f=b;break;case g.L:if(a){if(c.containStroke(m,f,e[x],e[x+1],t,o,s))return!0}else u+=y(m,f,e[x],e[x+1],o,s)||0;m=e[x++],f=e[x++];break;case g.C:if(a){if(h.containStroke(m,f,e[x++],e[x++],e[x++],e[x++],e[x],e[x+1],t,o,s))return!0}else u+=n(m,f,e[x++],e[x++],e[x++],e[x++],e[x],e[x+1],o,s)||0;m=e[x++],f=e[x++];break;case g.Q:if(a){if(p.containStroke(m,f,e[x++],e[x++],e[x],e[x+1],t,o,s))return!0}else u+=l(m,f,e[x++],e[x++],e[x],e[x+1],o,s)||0;m=e[x++],f=e[x++];break;case g.A:var w=e[x++],q=e[x++],C=e[x++],D=e[x++],T=e[x++],O=e[x++],_=(e[x++],1-e[x++]),k=Math.cos(T)*C+w,L=Math.sin(T)*D+q;x>1?u+=y(m,f,k,L,o,s):(v=k,b=L);var z=(o-w)*D/C+w;if(a){if(d.containStroke(w,q,D,T,T+O,_,t,z,s))return!0}else u+=r(w,q,D,T,T+O,_,z,s);m=Math.cos(T+O)*C+w,f=Math.sin(T+O)*D+q;break;case g.R:v=m=e[x++],b=f=e[x++];var F=e[x++],A=e[x++],k=v+F,L=b+A;if(a){if(c.containStroke(v,b,k,b,t,o,s)||c.containStroke(k,b,k,L,t,o,s)||c.containStroke(k,L,v,L,t,o,s)||c.containStroke(v,L,v,b,t,o,s))return!0}else u+=y(k,b,k,L,o,s),u+=y(v,L,v,b,o,s);break;case g.Z:if(a){if(c.containStroke(m,f,v,b,t,o,s))return!0}else u+=y(m,f,v,b,o,s);m=v,f=b}}return a||i(f,b)||(u+=y(m,f,v,b,o,s)||0),0!==u}var u=a(6),c=a(51),h=a(52),p=a(53),d=a(54),m=a(22),f=m.normalizeRadian,v=a(4),y=a(55),g=u.CMD,b=2*Math.PI,x=1e-4,S=[-1,-1,-1],w=[-1,-1];t.contain=function(e,t,a){return s(e,0,!1,t,a)},t.containStroke=function(e,t,a,i){return s(e,t,!0,a,i)}},function(e,t){t.containStroke=function(e,t,a,i,o,n,l){if(0===o)return!1;var r=o,s=0;if(l>t+r&&l>i+r||le+r&&n>a+r||nt+p&&h>o+p&&h>l+p&&h>s+p||he+p&&c>a+p&&c>n+p&&c>r+p||ct+c&&u>i+c&&u>l+c||ue+c&&s>a+c&&s>n+c||sa||p+hl&&(l+=n);var m=Math.atan2(c,u);return m<0&&(m+=n),m>=i&&m<=l||m+n>=i&&m+n<=l}},function(e,t){e.exports=function(e,t,a,i,o,n){if(n>t&&n>i||no?l:0}},function(e,t){var a=function(e,t){this.image=e,this.repeat=t,this.type="pattern"};a.prototype.getCanvasPattern=function(e){return e.createPattern(this.image,this.repeat||"repeat")};var i=a;e.exports=i},function(e,t,a){var i=a(6),o=a(2),n=o.applyTransform,l=i.CMD,r=[[],[],[]],s=Math.sqrt,u=Math.atan2;e.exports=function(e,t){var a,i,o,c,h,p=e.data,d=l.M,m=l.C,f=l.L,v=l.R,y=l.A,g=l.Q;for(o=0,c=0;o=0&&(a.splice(i,0,e),this._doAdd(e))}return this},_doAdd:function(e){e.parent&&e.parent.remove(e),e.parent=this;var t=this.__storage,a=this.__zr;t&&t!==e.__storage&&(t.addToStorage(e),e instanceof l&&e.addChildrenToStorage(t)),a&&a.refresh()},remove:function(e){var t=this.__zr,a=this.__storage,o=this._children,n=i.indexOf(o,e);return n<0?this:(o.splice(n,1),e.parent=null,a&&(a.delFromStorage(e),e instanceof l&&e.delChildrenFromStorage(a)),t&&t.refresh(),this)},removeAll:function(){var e,t,a=this._children,i=this.__storage;for(t=0;t=11?function(){var t,a=this.__clipPaths,i=this.style;if(a)for(var n=0;na-2?a-1:d+1],h=e[d>a-3?a-1:d+2]);var v=m*m,y=m*v;o.push([i(u[0],f[0],c[0],h[0],m,v,y),i(u[1],f[1],c[1],h[1],m,v,y)])}return o}},function(e,t,a){var i=a(2),o=i.min,n=i.max,l=i.scale,r=i.distance,s=i.add,u=i.clone,c=i.sub;e.exports=function(e,t,a,i){var h,p,d,m,f=[],v=[],y=[],g=[];if(i){d=[1/0,1/0],m=[-1/0,-1/0];for(var b=0,x=e.length;b=0?1/(Math.cos(2*Math.PI/10-t)+3.07768*Math.sin(2*Math.PI/10-t)):1/(Math.cos(t)+3.07768*Math.sin(t))}}i.gridSize=Math.max(Math.floor(i.gridSize),4);var u,c,h,p,d,m,f,v=i.gridSize,y=v-i.maskGapWidth,g=Math.abs(i.maxRotation-i.minRotation),b=Math.min(i.maxRotation,i.minRotation),x=i.rotationStep;switch(i.color){case"random-dark":f=function(){return a(10,50)};break;case"random-light":f=function(){return a(50,90)};break;default:"function"==typeof i.color&&(f=i.color)}var S=null;"function"==typeof i.classes&&(S=i.classes);var w,q=!1,C=[],D=function(e){var t,a,i=e.currentTarget,o=i.getBoundingClientRect();e.touches?(t=e.touches[0].clientX,a=e.touches[0].clientY):(t=e.clientX,a=e.clientY);var n=t-o.left,l=a-o.top,r=Math.floor(n*(i.width/o.width||1)/v),s=Math.floor(l*(i.height/o.height||1)/v);return C[r][s]},T=function(e){var t=D(e);if(w!==t){if(w=t,!t)return void i.hover(void 0,void 0,e);i.hover(t.item,t.dimension,e)}},O=function(e){var t=D(e);t&&(i.click(t.item,t.dimension,e),e.preventDefault())},_=[],k=function(e){if(_[e])return _[e];var t=8*e,a=t,o=[];for(0===e&&o.push([p[0],p[1],0]);a--;){var n=1;"circle"!==i.shape&&(n=i.shape(a/t*2*Math.PI)),o.push([p[0]+e*n*Math.cos(-a/t*2*Math.PI),p[1]+e*n*Math.sin(-a/t*2*Math.PI)*i.ellipticity,a/t*2*Math.PI])}return _[e]=o,o},L=function(){return i.abortThreshold>0&&(new Date).getTime()-m>i.abortThreshold},z=function(e,t,a){var o=i.weightFactor(t);if(o<=i.minSize)return!1;var l=1;o_[1]&&(_[1]=O),q<_[0]&&(_[0]=q),q>_[2]&&(_[2]=q);break e}}return{mu:l,occupied:T,bounds:_,gw:b,gh:g,fillTextOffsetX:f,fillTextOffsetY:y,fillTextWidth:u,fillTextHeight:c,fontSize:o}},F=function(e,t,a,o,n){for(var l=n.length;l--;){var r=e+n[l][0],s=t+n[l][1];if(r>=c||s>=h||r<0||s<0){if(!i.drawOutOfBound)return!1}else if(!u[r][s])return!1}return!0},A=function(t,a,o,n,l,r,s,u,c){var h,p,d=o.fontSize;h=f?f(n,l,d,r,s):i.color,p=S?S(n,l,d,r,s):i.classes;var m=o.bounds;m[3],m[0],m[1],m[3],m[2],m[0],e.forEach(function(e){if(e.getContext){var l=e.getContext("2d"),r=o.mu;l.save(),l.scale(1/r,1/r),l.font=i.fontWeight+" "+(d*r).toString(10)+"px "+i.fontFamily,l.fillStyle=h,l.translate((t+o.gw/2)*v*r,(a+o.gh/2)*v*r),0!==u&&l.rotate(-u),l.textBaseline="middle",l.fillText(n,o.fillTextOffsetX*r,(o.fillTextOffsetY+.5*d)*r),l.restore()}else{var s=document.createElement("span"),m="";m="rotate("+-u/Math.PI*180+"deg) ",1!==o.mu&&(m+="translateX(-"+o.fillTextWidth/4+"px) scale("+1/o.mu+")");var f={position:"absolute",display:"block",font:i.fontWeight+" "+d*o.mu+"px "+i.fontFamily,left:(t+o.gw/2)*v+o.fillTextOffsetX+"px",top:(a+o.gh/2)*v+o.fillTextOffsetY+"px",width:o.fillTextWidth+"px",height:o.fillTextHeight+"px",lineHeight:d+"px",whiteSpace:"nowrap",transform:m,webkitTransform:m,msTransform:m,transformOrigin:"50% 40%",webkitTransformOrigin:"50% 40%",msTransformOrigin:"50% 40%"};for(var y in h&&(f.color=h),s.textContent=n,f)s.style[y]=f[y];if(c)for(var g in c)s.setAttribute(g,c[g]);p&&(s.className+=p),e.appendChild(s)}})},W=function(t,a,i,o,n){t>=c||a>=h||t<0||a<0||(u[t][a]=!1,i&&e[0].getContext("2d").fillRect(t*v,a*v,y,y),q&&(C[t][a]={item:n,dimension:o}))},P=function(t,a,o,n,l,r){var s,u,p=l.occupied,d=i.drawMask;if(d&&((s=e[0].getContext("2d")).save(),s.fillStyle=i.maskColor),q){var m=l.bounds;u={x:(t+m[3])*v,y:(a+m[0])*v,w:(m[1]-m[3]+1)*v,h:(m[2]-m[0]+1)*v}}for(var f=p.length;f--;){var y=t+p[f][0],g=a+p[f][1];y>=c||g>=h||y<0||g<0||W(y,g,d,u,r)}d&&s.restore()},I=function(e){var t,a,o;Array.isArray(e)?(t=e[0],a=e[1]):(t=e.word,a=e.weight,o=e.attributes);var n=0===i.rotateRatio?0:Math.random()>i.rotateRatio?0:0===g?b:b+Math.round(Math.random()*g/x)*x,r=z(t,a,n);if(!r)return!1;if(L())return!1;if(!i.drawOutOfBound){var s=r.bounds;if(s[1]-s[3]+1>c||s[2]-s[0]+1>h)return!1}for(var u=d+1;u--;){var p=k(d-u);i.shuffle&&(p=[].concat(p),l(p));for(var m=0;m=i.list.length)return s(_),M("wordcloudstop",!1),void S("wordcloudstart",D);m=(new Date).getTime();var t=I(i.list[l]),a=!M("wordclouddrawn",!0,{item:i.list[l],drawn:t});if(L()||a)return s(_),i.abort(),M("wordcloudabort",!1),M("wordcloudstop",!1),void S("wordcloudstart",D);l++,_=r(e,i.wait)},i.wait)}}()}};r.isSupported=o,r.minFontSize=n,void 0!==(i=function(){return r}.apply(t,[]))&&(e.exports=i)}()}])}(a("TSjp"))},"9H/H":function(e,t,a){"use strict";var i=a("Y48Z");a.n(i).a},BPcn:function(e,t,a){},CJ5O:function(e,t,a){"use strict";var i=a("cLjf"),o=a.n(i),n=a("hDQ3"),l=a.n(n),r=a("sm2R"),s={name:"GetDictionary",props:{dictKey:String,updataDict:String,value:String},data:function(){return{dictionary:"",dictionaryOptions:[]}},watch:{dictKey:{immediate:!0,handler:function(){this.getSystem()}},value:{handler:function(e){this.dictionary=e},deep:!0}},created:function(){this.getSystem()},mounted:function(){this.dictionary=this.value},methods:{getSystem:function(){var e=this;return l()(o.a.mark(function t(){var a,i,n;return o.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(r.a)(e.dictKey);case 2:if(a=t.sent,i=a.code,n=a.data,"200"==i){t.next=7;break}return t.abrupt("return");case 7:e.dictionaryOptions=n;case 8:case"end":return t.stop()}},t,e)}))()},selectChange:function(e){this.$emit("input",e)}}},u=(a("rVG9"),a("ZrdR")),c=Object(u.a)(s,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-select",{attrs:{placeholder:"请选择",clearable:"",size:"mini"},on:{change:e.selectChange},model:{value:e.dictionary,callback:function(t){e.dictionary=t},expression:"dictionary"}},e._l(e.dictionaryOptions,function(e){return a("el-option",{key:e.id,attrs:{label:e.text,value:e.id}})}),1)},[],!1,null,"23d4be90",null);c.options.__file="index.vue";t.a=c.exports},CZ5I:function(e,t,a){},Cjkk:function(e,t,a){"use strict";var i=a("/Arj");a.n(i).a},"EO+T":function(e,t,a){"use strict";var i=a("u8RD");a.n(i).a},EwIA:function(e,t,a){},FxKO:function(e,t,a){"use strict";var i=a("TSjp"),o=a.n(i),n=(a("Z5Hk"),{"台湾":[121.5135,25.0308],"黑龙江":[127.9688,45.368],"内蒙古":[110.3467,41.4899],"吉林":[125.8154,44.2584],"北京":[116.4551,40.2539],"辽宁":[123.1238,42.1216],"河北":[114.4995,38.1006],"天津":[117.4219,39.4189],"山西":[112.3352,37.9413],"陕西":[109.1162,34.2004],"甘肃":[103.5901,36.3043],"宁夏":[106.3586,38.1775],"青海":[101.4038,36.8207],"新疆":[87.9236,43.5883],"西藏":[91.11,29.97],"四川":[103.9526,30.7617],"重庆":[108.384366,30.439702],"山东":[117.1582,36.8701],"河南":[113.4668,34.6234],"江苏":[118.8062,31.9208],"安徽":[117.29,32.0581],"湖北":[114.3896,30.6628],"浙江":[119.5313,29.8773],"福建":[119.4543,25.9222],"江西":[116.0046,28.6633],"湖南":[113.0823,28.2568],"贵州":[106.6992,26.7682],"云南":[102.9199,25.4663],"广东":[113.12244,23.009505],"广西":[108.479,23.1152],"海南":[110.3893,19.8516],"上海":[121.4648,31.2891]}),l=[{name:"南海诸岛",value:1},{name:"北京",value:524},{name:"天津",value:14},{name:"上海",value:150},{name:"重庆",value:75},{name:"河北",value:13},{name:"河南",value:83},{name:"云南",value:11},{name:"辽宁",value:19},{name:"黑龙江",value:15},{name:"湖南",value:69},{name:"安徽",value:260},{name:"山东",value:39},{name:"新疆",value:4},{name:"江苏",value:31},{name:"浙江",value:104},{name:"江西",value:36},{name:"湖北",value:1052},{name:"广西",value:33},{name:"甘肃",value:347},{name:"山西",value:8},{name:"内蒙古",value:157},{name:"陕西",value:22},{name:"吉林",value:4},{name:"福建",value:36},{name:"贵州",value:39},{name:"广东",value:996},{name:"青海",value:27},{name:"西藏",value:31},{name:"四川",value:46},{name:"宁夏",value:16},{name:"海南",value:22},{name:"台湾",value:6},{name:"香港",value:2},{name:"澳门",value:9}],r=function(e){for(var t=[],a=0;a1?"  "+e.name+"   "+e.value[2]+"  ":"  "+e.name+"   "+e.value+"  "}},geo:{map:"china",show:!0,roam:!1,label:{emphasis:{show:!1}},layoutSize:"80%",itemStyle:{normal:{borderColor:new o.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#00F6FF"},{offset:1,color:"#53D9FF"}],!1),borderWidth:3,shadowColor:"rgba(10,76,139,1)",shadowOffsetY:0,shadowBlur:60}}},series:[{type:"map",map:"china",aspectScale:.75,label:{normal:{position:"right",show:!0,color:"#53D9FF",fontSize:20},emphasis:{show:!0}},itemStyle:{normal:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#061E3D"}]},borderColor:"#215495",borderWidth:1},emphasis:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#2B91B7"}]}}},data:l},{type:"effectScatter",coordinateSystem:"geo",rippleEffect:{brushType:"stroke"},showEffectOn:"render",itemStyle:{normal:{color:{type:"radial",x:.5,y:.5,r:.5,colorStops:[{offset:0,color:"rgba(5,80,151,0.2)"},{offset:.8,color:"rgba(5,80,151,0.8)"},{offset:1,color:"rgba(0,108,255,0.7)"}],global:!1}}},label:{normal:{show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:13,color:"#D4EEFF"}}}},symbol:"circle",symbolSize:function(e){return 0==e[2]?0:(s-u)/5990*e[2]+1.2*(s-(s-u)/5990*6e3)},data:r(l),zlevel:1}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.setup,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionTextValue(),this.setOptionsData(),this.setOptionAirSize(),this.setOptionMapBlocak()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.show=e.isNoTitle,t.text=e.titleText,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionTextValue:function(){var e=this.optionsSetup,t=this.options.series[0].label,a={position:"right",show:!0,color:e.fontTextColor,fontSize:e.fontTextSize,fontWeight:e.fontTextWeight};t.normal=a},setOptionMapBlocak:function(){var e=this.optionsSetup,t=this.options.series[0].itemStyle,a={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.font0PreColor},{offset:1,color:e.font100PreColor}]},borderColor:"#215495",borderWidth:1},i={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:e.fontHighlightColor}]}};t.normal=a,t.emphasis=i},setOptionAirSize:function(){s=this.optionsSetup.fontmaxSize4Pin,u=this.optionsSetup.fontminSize4Pin},setOptionsData:function(){var e=this.optionsData;"staticData"==e.dataType?this.staticDataFn(e.staticData):this.dynamicDataFn(e.dynamicData,e.refreshTime)},staticDataFn:function(e){this.options.series[0].data=e;var t=this.optionsSetup,a=this.options.series[1].label,i={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:t.fontDataSize,color:t.fontDataColor,fontWeight:t.fontDataWeight}}},o=r(e);this.options.series[1].data=o,a.normal=i},dynamicDataFn:function(e,t){var a=this;e&&(this.ispreview?(this.getEchartData(e),this.flagInter=setInterval(function(){a.getEchartData(e)},t)):this.getEchartData(e))},getEchartData:function(e){var t=this;this.queryEchartsData(e).then(function(e){t.renderingFn(e)})},renderingFn:function(e){this.options.series[0].data=e;var t=this.optionsSetup,a=this.options.series[1].label,i={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:t.fontDataSize,color:t.fontDataColor,fontWeight:t.fontDataWeight}}},o=r(e);this.options.series[1].data=o,a.normal=i}}},h=(a("5wqb"),a("ZrdR")),p=Object(h.a)(c,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{style:this.styleObj},[t("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"82db8fb2",null);p.options.__file="widgetAirBubbleMap.vue";t.a=p.exports},GWHw:function(e,t,a){"use strict";var i={name:"WidgetIframe",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px",iframeAdress:this.transStyle.iframeAdress}}},watch:{value:{handler:function(e){this.options=e},deep:!0}},mounted:function(){this.options=this.value},methods:{}},o=(a("qpv/"),a("ZrdR")),n=Object(o.a)(i,function(){var e=this.$createElement;return(this._self._c||e)("iframe",{style:this.styleColor,attrs:{src:this.styleColor.iframeAdress,width:"100%",height:"100%"}})},[],!1,null,"537c80f2",null);n.options.__file="widgetIframe.vue";t.a=n.exports},HMir:function(e,t,a){"use strict";var i=a("TSjp"),o=a.n(i),n={name:"widgetMoreBarLineChart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{tooltip:{trigger:"item",axisPointer:{type:"shadow"}},grid:{left:"2%",right:"4%",bottom:"14%",top:"16%",containLabel:!0},legend:{data:["调解成功","调解失败","调解终止","调解成功率"],left:"7%",top:"5%",textStyle:{color:"#666666"},itemWidth:15,itemHeight:10,itemGap:25},xAxis:{type:"category",data:["2012","2013","2014","2015","2016","2017","2018","2019"],axisLine:{lineStyle:{color:"#cdd5e2"}},axisLabel:{textStyle:{color:"#666666"}}},yAxis:[{type:"value",axisLine:{show:!0,lineStyle:{color:"#cdd5e2"}},splitLine:{show:!1},axisLabel:{textStyle:{color:"#666666"}}},{type:"value",nameTextStyle:{color:"#666666"},position:"right",axisLine:{lineStyle:{color:"#cdd5e2"}},splitLine:{show:!1},axisLabel:{show:!0,textStyle:{color:"#666666"}}}],series:[{name:"调解成功",type:"bar",itemStyle:{normal:{color:new o.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#29acff"},{offset:1,color:"#4bdfff"}]),barBorderRadius:6}},data:[]},{name:"调解失败",type:"bar",itemStyle:{normal:{color:new o.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#3d93f2"},{offset:1,color:"#5dc1fd"}]),barBorderRadius:6}},data:[]},{name:"调解终止",type:"bar",itemStyle:{normal:{color:new o.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#01c871"},{offset:1,color:"#55f49c"}]),barBorderRadius:6}},data:[]},{name:"调解成功率",type:"line",yAxisIndex:1,smooth:!1,symbol:"circle",symbolSize:8,itemStyle:{normal:{color:"#ffa43a",borderColor:"rgba(255, 234, 0, 0.5)",borderWidth:5}},lineStyle:{color:"#ffa43a"},data:[]}]}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsLegend(),this.setOptionsTooltip(),this.setOptionsMargin(),this.setOptionsColor(),this.setOptionsData()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.nameColorX,fontSize:e.nameFontSizeX},nameRotate:e.textAngle,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t=[{type:"value",show:e.isShowYLeft,name:e.textNameYLeft,nameTextStyle:{color:e.nameColorYLeft,fontSize:e.namefontSizeYLeft},axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:e.isShowYLeft,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}},{type:"value",position:"right",show:e.isShowYRight,name:e.textNameYRight,nameTextStyle:{color:e.nameColorYRight,fontSize:e.namefontSizeYRight},axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:e.isShowYRight,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipFontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.top=e.longitudinalPosition,t.bottom=e.longitudinalPosition,t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.lengedFontSize},t.itemWidth=e.lengedWidth},setOptionsLegendName:function(e){var t=this.optionsSetup,a=this.options.series,i=t.legendName;if(null==i||""==i){for(var o=0;o{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:[{type:"category",data:[],axisLabel:{show:!1,textStyle:{color:"#fff"}}}],yAxis:[{type:"value",name:"",min:0,max:250,interval:50,axisLabel:{show:!0,textStyle:{color:"#fff"}}},{type:"value",name:"",min:0,max:25,interval:5,axisLabel:{show:!0,textStyle:{color:"#fff"}}}],series:[{name:"",type:"bar",yAxisIndex:0,data:[],itemStyle:{barBorderRadius:null}},{name:"",type:"line",yAxisIndex:1,data:[],itemStyle:{}}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsLine(),this.setOptionsBar(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.nameColorX,fontSize:e.nameFontSizeX},nameRotate:e.textAngle,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t=[{type:"value",splitNumber:e.splitNumberLeft,show:e.isShowYLeft,name:e.textNameYLeft,nameTextStyle:{color:e.nameColorYLeft,fontSize:e.namefontSizeYLeft},inverse:e.reversalY,axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}},{type:"value",splitNumber:e.splitNumberRight,show:e.isShowYRight,name:e.textNameYRight,nameTextStyle:{color:e.nameColorYRight,fontSize:e.namefontSizeYRight},inverse:e.reversalY,axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=t},setOptionsLine:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"line"==t[a].type&&(t[a].showSymbol=e.markPoint,t[a].symbolSize=e.pointSize,t[a].smooth=e.smoothCurve,e.area?t[a].areaStyle={opacity:e.areaThickness/100}:t[a].areaStyle={opacity:0},t[a].lineStyle={width:e.lineWidth},t[a].itemStyle.borderRadius=e.radius,t[a].label={show:e.isShowLine,position:"top",distance:e.distanceLine,fontSize:e.fontSizeLine,color:e.subTextColorLine,fontWeight:e.fontWeightLine});this.options.series=t},setOptionsBar:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"bar"==t[a].type&&(t[a].label={show:e.isShowBar,position:"top",distance:e.distanceBar,fontSize:e.fontSizeBar,color:e.subTextColorBar,fontWeight:e.fontWeightBar},t[a].barWidth=e.maxWidth,t[a].barMinHeight=e.minHeight,t[a].itemStyle.barBorderRadius=e.radius);this.options.series=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipFontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.top=e.longitudinalPosition,t.bottom=e.longitudinalPosition,t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.lengedFontSize},t.itemWidth=e.lengedWidth},setOptionsLegendName:function(e){var t=this.optionsSetup,a=this.options.series,i=t.legendName;if(null==i||""==i){for(var o=0;o"+e.seriesName+" ---\x3e "+e.data.name+"
人数:"+e.data.value[2]+"人":"lines"==e.seriesType?"流出
"+e.data.fromName+" ---\x3e "+e.data.toName+"
人数:"+e.data.value+"人":e.name}},legend:{show:!1,orient:"vertical",top:"bottom",left:"right",data:["广州"],textStyle:{color:"#fff"},selectedMode:"single"},geo:{map:"china",label:{emphasis:{show:!0,color:"white"}},roam:!0,itemStyle:{normal:{areaColor:"#323c48",borderColor:"#404a59"},emphasis:{areaColor:"#2a333d"}}},series:[]},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position},deep:!0}},created:function(){this.optionsStyle=this.value.position},mounted:function(){this.initData()},methods:{initData:function(){var e=this.options;e.series.push({name:n[0],type:"lines",zlevel:1,effect:{show:!0,period:6,trailLength:.7,color:"#fff",symbolSize:3},lineStyle:{normal:{color:o[0],width:0,curveness:.2}},data:this.convertData(n[1])},{name:n[0],type:"lines",zlevel:2,effect:{show:!0,period:6,trailLength:0,symbol:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",symbolSize:15},lineStyle:{normal:{color:o[0],width:1,opacity:.4,curveness:.2}},data:this.convertData(n[1])},{name:n[0],type:"effectScatter",coordinateSystem:"geo",zlevel:2,rippleEffect:{brushType:"stroke"},label:{normal:{show:!0,position:"right",formatter:"{b}"}},symbolSize:function(e){return e[2]/8},itemStyle:{normal:{color:o[0]}},data:n[1].map(function(e){return{name:e[1].name,value:i[e[1].name].concat([e[1].value])}})}),this.options=e},convertData:function(e){for(var t=[],a=0;a0)for(var a=0;a0){for(var t=0;t0)for(var r=0;r=this.widgets.length||(this.widgetIndex=e.index,this.widgets[e.index].value.position=e,this.widgets[e.index].options.position.forEach(function(t){for(var a in e)t.name==a&&(t.value=e[a])}),this.widgetOptions=this.deepClone(this.widgets[e.index].options)):this.widgetOptions=this.deepClone(this.widgets[e].options)},widgetsClick:function(e){for(var t=this.$refs.widgets,a=0;a{b} : {c}"},legend:{x:"center",y:"92%",textStyle:{color:"#fff"}},series:[{name:"",type:"funnel",left:"center",width:"80%",sort:"descending",label:{normal:{show:!0,position:"inside",formatter:"{c}",textStyle:{color:"#fff",fontSize:14}},emphasis:{position:"inside",formatter:"{b}: {c}"}},itemStyle:{normal:{opacity:.8,borderColor:"rgba(12, 13, 43, .9)",borderWidth:1,shadowBlur:4,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0, 0, 0, .6)"}},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setEnding(),this.setOptionsText(),this.setOptionsTitle(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData()},setEnding:function(){var e=this.optionsSetup,t=this.options.series;e.ending?t[0].sort="ascending":t[0].sort="descending"},setOptionsText:function(){var e=this.optionsSetup,t={show:e.isShow,position:"inside",formatter:"{c}",textStyle:{color:e.color,fontSize:e.fontSize,fontWeight:e.fontWeight}};this.options.series[0].label.normal=t},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipFontSize}};this.options.tooltip=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.right=e.lateralPosition,t.top=e.longitudinalPosition,t.bottom=e.longitudinalPosition,t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.lengedFontSize},t.itemWidth=e.lengedWidth},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a-1?this.formatWeek(new Date,this.transStyle.timeFormat):this.formatFunction(new Date,this.transStyle.timeFormat)},getTime:function(){var e=this;setInterval(function(){e.displayTime()},1e3)}}},o=(a("/y+v"),a("ZrdR")),n=Object(o.a)(i,function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"text",style:this.styleColor},[this._v(this._s(this.timestr))])},[],!1,null,"6da4b633",null);n.options.__file="widgetTime.vue";t.a=n.exports},"cf/8":function(e,t,a){},ctb9:function(e,t,a){},cyzc:function(e,t,a){"use strict";var i={name:"WidgetImage",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",background:this.transStyle.background,"text-align":this.transStyle.textAlign,width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px"}},imgStyle:function(){return{imageAdress:this.transStyle.imageAdress,"border-radius":this.transStyle.borderRadius+"px",opacity:this.transStyle.transparency/100}}},watch:{value:{handler:function(e){this.options=e},deep:!0}},created:function(){this.options=this.value},mounted:function(){},methods:{}},o=(a("palL"),a("ZrdR")),n=Object(o.a)(i,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"imagebox",style:this.styleColor},[t("img",{class:this.transStyle.startRotate?"startImg":"",style:this.imgStyle,attrs:{src:this.imgStyle.imageAdress,alt:""}})])},[],!1,null,"92e12b86",null);n.options.__file="widgetImage.vue";t.a=n.exports},eVDu:function(e,t,a){"use strict";var i=a("53tm");a.n(i).a},fYW0:function(e,t,a){"use strict";var i=a("2Hon");a.n(i).a},gLgb:function(e,t,a){"use strict";var i={name:"WidgetHref",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{}}},computed:{transStyle:function(){return this.objToOne(this.options)},styleColor:function(){return{position:this.ispreview?"absolute":"static",color:this.transStyle.color||"#fff","font-weight":this.transStyle.fontWeight||"600",text:this.transStyle.text||"超链接","font-size":this.transStyle.fontSize+"px"||"12px","letter-spacing":this.transStyle.letterSpacing+"em",background:this.transStyle.background,"text-align":this.transStyle.textAlign,display:void 0==this.transStyle.hideLayer?"block":this.transStyle.hideLayer?"none":"block",width:this.transStyle.width+"px",height:this.transStyle.height+"px",left:this.transStyle.left+"px",top:this.transStyle.top+"px",right:this.transStyle.right+"px",linkAdress:this.transStyle.linkAdress,jumpMode:"other"==this.transStyle.jumpMode?"_blank":"_self"}}},watch:{value:{handler:function(e){this.options=e},deep:!0}},mounted:function(){this.options=this.value},methods:{}},o=(a("uLc6"),a("ZrdR")),n=Object(o.a)(i,function(){var e=this.$createElement;return(this._self._c||e)("a",{style:this.styleColor,attrs:{href:this.styleColor.linkAdress,target:this.styleColor.jumpMode}},[this._v(this._s(this.styleColor.text))])},[],!1,null,"6ebd3276",null);n.options.__file="widgetHref.vue";t.a=n.exports},gvzL:function(e,t,a){},"h+18":function(e,t,a){"use strict";var i=a("T7H8");a.n(i).a},h6gK:function(e,t,a){"use strict";var i=a("cf/8");a.n(i).a},j9f0:function(e,t,a){"use strict";var i=a("jof3");a.n(i).a},jOJk:function(e,t,a){"use strict";var i=a("1OLZ");a.n(i).a},jZP0:function(e,t,a){"use strict";var i=a("OeK3");a.n(i).a},jmgl:function(e,t,a){"use strict";var i=a("TSjp"),o=a.n(i),n={name:"WidgetGauge",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{series:[{type:"gauge",z:100,axisLine:{lineStyle:{width:10,color:[[.3,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(0, 237, 3,0.1)"},{offset:.5,color:"rgba(0, 237, 3,0.6)"},{offset:1,color:"rgba(0, 237, 3,1)"}])],[.7,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(255, 184, 0,0.1)"},{offset:.5,color:"rgba(255, 184, 0,0.6)"},{offset:1,color:"rgba(255, 184, 0,1)"}])],[1,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:"rgba(175, 36, 74,0.1)"},{offset:.5,color:"rgba(255, 36, 74,0.6)"},{offset:1,color:"rgba(255, 36, 74,1)"}])]]}},pointer:{itemStyle:{color:"auto"}},axisTick:{show:!0,distance:0,length:10,lineStyle:{color:"auto",width:2}},splitLine:{show:!0,distance:0,length:14,lineStyle:{color:"auto",width:4}},axisLabel:{show:!0,color:"white",distance:2,fontSize:10},detail:{valueAnimation:!0,formatter:"{value} %",color:"white",fontSize:18},data:[{value:70}]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptions(),this.setOptionsData()},setOptions:function(){var e=this.optionsSetup,t=this.options.series;if("gauge"==t[0].type){var a={show:e.ringShow,lineStyle:{width:e.pieWeight,color:[[.3,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:e.color30p0},{offset:.5,color:e.color30p5},{offset:1,color:e.color30p10}])],[.7,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:e.color70p0},{offset:.5,color:e.color70p5},{offset:1,color:e.color70p10}])],[1,new o.a.graphic.LinearGradient(0,1,1,0,[{offset:0,color:e.color100p0},{offset:.5,color:e.color100p5},{offset:1,color:e.color100p10}])]]}},i={show:e.tickShow,distance:e.tickDistance,length:e.tickLength,lineStyle:{color:"auto",width:e.tickWidth}},n={show:e.splitShow,distance:e.splitDistance,length:e.splitLength,lineStyle:{color:"auto",width:e.splitWidth}};t[0].axisLine=a,t[0].axisTick=i,t[0].splitLine=n}},setOptionsData:function(){var e=this.optionsData;"staticData"==e.dataType?this.staticDataFn(e.staticData):this.dynamicDataFn(e.dynamicData,e.refreshTime)},staticDataFn:function(e){var t=this.optionsSetup,a=this.options.series,i=[{value:e[0].num}],o={valueAnimation:!0,formatter:"{value} %",color:t.labelColor,fontSize:t.labelFontSize,fontWeight:t.labelFontWeight};a[0].data=i,a[0].detail=o},dynamicDataFn:function(e,t){var a=this;e&&(this.ispreview?(this.getEchartData(e),this.flagInter=setInterval(function(){a.getEchartData(e)},t)):this.getEchartData(e))},getEchartData:function(e){var t=this;this.queryEchartsData(e).then(function(e){t.renderingFn(e)})},renderingFn:function(e){var t=this.optionsSetup,a=this.options.series,i=[{value:e[0].value}],o={valueAnimation:!0,formatter:"{value} %",color:t.labelColor,fontSize:t.labelFontSize,fontWeight:t.labelFontWeight};a[0].data=i,a[0].detail=o}}},l=(a("Ydp4"),a("ZrdR")),r=Object(l.a)(n,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{style:this.styleObj},[t("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"a83b2528",null);r.options.__file="widgetGauge.vue";t.a=r.exports},jof3:function(e,t,a){},kLPZ:function(e,t,a){"use strict";var i=a("I8wO");a.n(i).a},kq3f:function(e,t,a){"use strict";var i=a("6ZY3"),o=a.n(i),n={name:"WidgetPieNightingaleRoseArea",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{legend:{top:"bottom"},toolbox:{show:!0,feature:{mark:{show:!0}}},series:[{type:"pie",radius:["10%","50%"],center:["50%","50%"],roseType:"area",itemStyle:{borderRadius:8},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.setup,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsValue(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData(),this.setOptionsRosetype()},setOptionsRosetype:function(){this.options.series[0].roseType=this.optionsSetup.nightingleRosetype},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsValue:function(){var e=this.optionsSetup,t=this.options.series,a=e.numberValue?"{c}":"",i=e.percentage?"({d})%":"",o={show:e.isShow,formatter:"{a|{b}:"+a+" "+i+"}",rich:{a:{padding:[-30,15,-20,15],color:e.subTextColor,fontSize:e.fontSize,fontWeight:e.fontWeight}},fontSize:e.fontSize,fontWeight:e.optionsCollapse};for(var n in t)"pie"==t[n].type&&(t[n].label=o,t[n].labelLine={show:e.isShow})},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.fontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left="left"==e.lateralPosition?0:"auto",t.right="right"==e.lateralPosition?0:"auto",t.top="top"==e.longitudinalPosition?0:"auto",t.bottom="bottom"==e.longitudinalPosition?0:"auto",t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.fontSize},t.itemWidth=e.lengedWidth},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],type:"line"}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.nameColorX,fontSize:e.nameFontSizeX},nameRotate:e.textAngle,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t={type:"value",scale:e.scale,splitNumber:e.splitNumber,show:e.isShowY,name:e.textNameY,nameTextStyle:{color:e.nameColorY,fontSize:e.namefontSizeY},inverse:e.reversalY,axisLabel:{show:!0,rotate:e.ytextAngle,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:e.isShowSplitLineY,lineStyle:{color:e.splitLineColorY}}};this.options.yAxis=t},setOptionsTop:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"line"==t[a].type&&(t[a].showSymbol=e.markPoint,t[a].symbolSize=e.pointSize,t[a].smooth=e.smoothCurve,e.area?t[a].areaStyle={opacity:e.areaThickness/100}:t[a].areaStyle={opacity:0},t[a].lineStyle={width:e.lineWidth},t[a].label={show:e.isShow,position:"top",distance:10,fontSize:e.fontSize,color:e.subTextColor,fontWeight:e.fontWeight});this.options.series=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.fontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.right=e.lateralPosition,t.top=e.longitudinalPosition,t.bottom=e.longitudinalPosition,t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.fontSize},t.itemWidth=e.lengedWidth},setOptionsLegendName:function(e){var t=this.optionsSetup,a=this.options.series,i=t.legendName;if(null==i||""==i){for(var o=0;o-1?C.languages.CompletionItemKind.Keyword:C.languages.CompletionItemKind.Text,documentation:e,insertText:e}})}(t,t.getValueInRange({startLineNumber:a.lineNumber,startColumn:1,endLineNumber:a.lineNumber,endColumn:a.column}))}}}};var N=function(e){return{provideCompletionItems:function(t,a){return{suggestions:function(t,a){var n=t.getValue(),i=(a=a.replace(/[\*\[\]@\$\(\)]/g,"").replace(/(\s+|\.)/g," ")).split(/[\s;]/),r=i[i.length-1],o=r.length,s=new RegExp("([^\\w]|^)"+r+"\\w*","gim"),l=n.match(s);return E()(new R.a([].concat(w()(e(t))))).sort().filter(function(e){var t=new RegExp(e.substr(0,o),"gim");return!(l&&1===l.length&&e===r||1===e.length)&&r.match(t)}).map(function(e){return{label:e,kind:C.languages.CompletionItemKind.Text,documentation:e,insertText:e}})}(t,t.getValueInRange({startLineNumber:a.lineNumber,startColumn:1,endLineNumber:a.lineNumber,endColumn:a.column}))}}}};var L=function(e){e.languages.register({id:"log"}),e.languages.setMonarchTokensProvider("log",{tokenizer:{root:[[/(^[=a-zA-Z].*|\d\s.*)/,"log-normal"],[/\sERROR\s.*/,"log-error"],[/\sWARN\s.*/,"log-warn"],[/\sINFO\s.*/,"log-info"],[/^([0-9]{4}||[0-9]{2})-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/,"log-date"],[/^[0-9]{2}\/[0-9]{2}\/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/,"log-date"],[/(^\*\*Waiting queue:.*)/,"log-info"],[/(^\*\*result tips:.*)/,"log-info"]]}}),e.editor.defineTheme("log",{base:"vs",inherit:!0,rules:[{token:"log-info",foreground:"4b71ca"},{token:"log-error",foreground:"ff0000",fontStyle:"bold"},{token:"log-warn",foreground:"FFA500"},{token:"log-date",foreground:"008800"},{token:"log-normal",foreground:"808080"}],colors:{"editor.lineHighlightBackground":"#ffffff","editorGutter.background":"#f7f7f7"}})},$={},j=function(e){var t=e.id.substring(6);return $[t]&&$[t].hints||[]};C.languages.registerCompletionItemProvider("sql",O(j)),C.languages.registerCompletionItemProvider("javascript",N(j)),L(C);var I={props:{options:{type:Object,default:function(){return{}}},value:{type:String,required:!1},language:{type:String},hints:{type:Array,default:function(){return[]}}},name:"MonacoEditor",data:function(){return{editorInstance:null,defaultOptions:{theme:"vs-dark",fontSize:14}}},watch:{value:function(){this.value!==this.editorInstance.getValue()&&this.editorInstance.setValue(this.value)}},mounted:function(){this.initEditor(),$[this.editorInstance._id]=this,window.addEventListener("resize",this.layout)},destroyed:function(){this.editorInstance.dispose(),$[this.editorInstance._id]=null,window.removeEventListener("resize",this.layout)},methods:{layout:function(){this.editorInstance.layout()},undo:function(){this.editorInstance.trigger("anyString","undo"),this.onValueChange()},redo:function(){this.editorInstance.trigger("anyString","redo"),this.onValueChange()},getOptions:function(){var e={value:this.value};return void 0!==this.language&&(e.language=this.language),m()({},this.defaultOptions,this.options,e)},onValueChange:function(){this.$emit("input",this.editorInstance.getValue()),this.$emit("change",this.editorInstance.getValue())},initEditor:function(){var e=this;this.MonacoEnvironment={getWorkerUrl:function(){return"./editor.worker.bundle.js"}},this.editorInstance=C.editor.create(this.$refs.editor,this.getOptions()),this.editorInstance.onContextMenu(function(t){e.$emit("contextmenu",t)}),this.editorInstance.onDidChangeModelContent(function(){e.onValueChange()}),this.editorInstance.addCommand(C.KeyMod.CtrlCmd|C.KeyCode.KEY_S,function(){e.$emit("save",e.editorInstance.getValue())})}}},V=(a("z5hZ"),a("ZrdR")),P=Object(V.a)(I,function(){var e=this.$createElement;return(this._self._c||e)("div",{ref:"editor",staticClass:"main"})},[],!1,null,"6f01286f",null);P.options.__file="MonacoEditor.vue";var A=P.exports,M=a("Yfch"),q={name:"Support",components:{Dictionary:D.a,codemirror:S.codemirror,vueJsonEditor:x.a,MonacoEditor:A},props:{visib:{required:!0,type:Boolean,default:!1},dataSet:{required:!1,type:Object,default:function(){return""}}},data:function(){return{data:[],listLoading:!0,permission:{add:["admin","alipayConfig:add"],edit:["admin","alipayConfig:edit"],del:["admin","datasource:del"]},code:"",optionsSql:{mode:"text/x-sql",tabSize:2,lineNumbers:!0,line:!0,styleActiveLine:!0,hintOptions:{completeSingle:!0}},optionsJavascript:{mode:"text/javascript",tabSize:2,lineNumbers:!0,line:!0,styleActiveLine:!0,hintOptions:{completeSingle:!0}},selectedList:[],clickType:"",formData:{},dialogFormVisible:!1,dialogFormVisibleTitle:"",dialogPermissionVisible:!1,dialogSwitchVisible:!1,permissionTextarea:"",isItemFilterType:"",itemFilterList:[{transformType:"js",transformScript:""}],transformScript:"function dataTransform(data){\n\t//自定义脚本内容\n\treturn data;\n}",itemFilterScriptId:"",title:"自定义高级规则",totalCount:0,totalPage:0,params:{pageNumber:1,pageSize:10,helpTitle:"",enabled:null,helpCategory:"",order:"DESC",sort:"update_time"},formRules:{setName:[{required:!0,message:"数据集名称必填",trigger:"blur"}],setCode:[{required:!0,message:"数据集编码必填",trigger:"blur"},{validator:M.a,trigger:"blur"}],sourceCode:[{required:!0,message:"数据源必选",trigger:"change"}]},sourceList:[],validationRules:"",tabsActiveName:"first",cols:[],tableData:[{paramName:"",paramDesc:"",paramType:"",sampleItem:"",mandatory:!0,requiredFlag:1,validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'}],isRowData:{},tableData2:[],dialogTitle:"js脚本填写",isShowPagination:!1,updataDisabled:!1,dialogCaseResult:!1,caseResultTitle:"",caseResultContent:null,testMassageCode:null,query:{setName:"",setCode:""},setType:"",httpForm:{apiUrl:"",method:"GET",header:'{"Content-Type":"application/json;charset=UTF-8"}',body:""},dictionaryOptions:[],list:null,basicDialog:!1,dialogForm:{sourceName:"",sourceCode:"",sourceType:"",sourceDesc:"",sourceConfig:""},dataLink:[],rules:{sourceType:[{required:!0,message:"数据集名称必选",trigger:"change"}],sourceCode:[{required:!0,message:"数据集编码必填",trigger:"blur"}],sourceName:[{required:!0,message:"数据源名称必选",trigger:"blur"}]},value:"",testReplyCode:null}},methods:{addOrEditDataSet:function(e,t){var a=this;return v()(b.a.mark(function n(){var i,r,o;return b.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return a.setType=t,"http"==t&&e.dynSentence&&(a.httpForm=JSON.parse(e.dynSentence)),n.next=4,Object(y.f)();case 4:if(i=n.sent,r=i.code,o=i.data,"200"==r){n.next=9;break}return n.abrupt("return");case 9:a.sourceList=o,a.dialogFormVisible=!0,a.tabsActiveName="first",a.testMassageCode=null,e.id?(a.updataDisabled=!0,a.dialogFormVisibleTitle="编辑数据集",Object(y.c)(e).then(function(e){if(a.formData=e.data,null!=e.data.dataSetParamDtoList||e.data.dataSetParamDtoList.length>0){a.tableData=e.data.dataSetParamDtoList;var t=0;a.tableData.find(function(e,n){"pageNumber"!==e.paramName&&"pageSize"!==e.paramName||t++,1==e.requiredFlag?a.tableData[n].mandatory=!0:a.tableData[n].mandatory=!1}),a.isShowPagination=2===t}else a.tableData=[],a.isShowPagination=!1;null!==e.data.dataSetTransformDtoList?a.itemFilterList=e.data.dataSetTransformDtoList:a.itemFilterList=[],a.itemFilterList.forEach(function(e,t){if("dict"==e.transformType){var n=JSON.parse(e.transformScript),i=[];for(var r in n){var o=[];for(var s in n[r])o.push({name:s,value:n[r][s]});i.push({name:r,children:o})}a.tableData2=i}})})):(a.dialogFormVisibleTitle="新增数据集",a.updataDisabled=!1,a.formData={setName:"",setCode:"",setDesc:"",sourceCode:"",dynSentence:""},a.tableData=[],a.itemFilterList=[],a.isShowPagination=!1);case 14:case"end":return n.stop()}},n,a)}))()},closeDialog:function(){this.$emit("handleClose")},onJsonChange:function(e){},onJsonSave:function(e){},handleClose:function(e){this.dialogFormVisible=!1},isShowCaseResult:function(e){this.dialogCaseResult=!0,this.caseResultTitle=e.setName,this.caseResultContent=JSON.parse(e.caseResult)},handleClickTabs:function(e,t){var a=this;return v()(b.a.mark(function t(){var n,i,r,o;return b.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("http"==a.setType&&(console.log("http数据集"+a.httpForm),a.formData.dynSentence=f()(a.httpForm)),"third"!=e.paneName){t.next=12;break}return n={sourceCode:a.formData.sourceCode,dynSentence:a.formData.dynSentence,dataSetParamDtoList:a.tableData,dataSetTransformDtoList:a.itemFilterList,setType:a.setType},t.next=5,Object(y.h)(n);case 5:if(i=t.sent,r=i.code,o=i.data,"200"==r){t.next=10;break}return t.abrupt("return");case 10:a.cols=o.data,a.testMassageCode=r;case 12:case"end":return t.stop()}},t,a)}))()},Mandatory:function(e){this.tableData[e].mandatory?this.tableData[e].requiredFlag=1:this.tableData[e].requiredFlag=0},changePagination:function(){var e=this;this.isShowPagination?this.tableData.push({paramName:"pageNumber",paramDesc:"当前页",paramType:"int",sampleItem:"1",mandatory:!0,requiredFlag:1,validationRules:"function verification(data){\n\t//自定义脚本内容\n\treturn true;\n}"},{paramName:"pageSize",paramDesc:"条数",paramType:"int",sampleItem:"10",mandatory:!0,requiredFlag:1,validationRules:"function verification(data){\n\t//自定义脚本内容\n\treturn true;\n}"}):this.tableData.forEach(function(t,a){"pageSize"!=t.paramName&&"pageNumber"!=t.paramName||e.tableData.splice(a,2)})},filterScriptBtn:function(e){var t=this;return v()(b.a.mark(function a(){var n;return b.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:console.log(e),t.isItemFilterType=e,t.dialogSwitchVisible=!0,"js"==e.transformType?(t.itemFilterScriptId=e.itemFilterSort,n="function dataTransform(data){\n\t//自定义脚本内容\n\treturn data;\n}",t.transformScript=e.transformScript?e.transformScript:n):e.transformType;case 4:case"end":return a.stop()}},a,t)}))()},filterScriptConfirm:function(){var e=this,t=this.toObject(this.tableData2);this.itemFilterList.forEach(function(a,n){"dict"==a.transformType?a.transformScript=f()(t):a.transformScript=e.transformScript}),this.dialogSwitchVisible=!1},addFilter:function(){var e={};this.tableData2=[],e=0==this.itemFilterList.length?{transformType:"",transformScript:"",itemFilterSort:1}:{transformType:"",transformScript:"",itemFilterSort:this.itemFilterList.length+1},this.itemFilterList.push(e)},reduceFilter:function(e){if(this.itemFilterList.length>0){var t=this.itemFilterList.indexOf(e);t>-1&&this.itemFilterList.splice(t,1)}},permissionClick:function(e,t){if(this.title="自定义高级规则",""!=this.isRowData.sampleItem){this.isRowData=e;this.validationRules=e.validationRules?e.validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'}this.dialogPermissionVisible=!0},dialogValidationRules:function(){this.isRowData.validationRules=this.validationRules,this.dialogPermissionVisible=!1},addAllDict:function(){this.tableData2.push({name:"",children:[{name:"",value:""}]})},addDict:function(e,t){t.push({name:"",value:""})},delAllDict:function(e,t){t.splice(e,1)},delDict:function(e,t){0!=e?t.splice(e,1):this.$message.error("至少保留一条")},changeSource:function(){},testResultset:function(){var e=this;return v()(b.a.mark(function t(){var a,n,i,r;return b.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.isRowData.validationRules=e.validationRules,console.log(e.isRowData,"12345678"),t.next=4,Object(y.i)(e.isRowData);case 4:a=t.sent,n=a.code,i=a.message,r=a.data,"200"==n?r?e.$message.success("返回结果:"+r):e.$message.warning("当前示例值校验不通过"):e.$message.error(i);case 9:case"end":return t.stop()}},t,e)}))()},cutOutRow:function(e,t){t.splice(e,1)},addRow:function(e,t){this.tableData.push({paramName:"",paramDesc:"",paramType:"",sampleItem:"",mandatory:!0,requiredFlag:1,validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'})},submit:function(e){var t=this;return v()(b.a.mark(function a(){return b.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:"http"==t.setType&&(console.log("http数据集"+t.httpForm),t.formData.dynSentence=f()(t.httpForm)),t.formData.setType=t.setType,t.$refs[e].validate(function(){var e=v()(b.a.mark(function e(a,n){var i,r;return b.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!a){e.next=30;break}if(200!=t.testMassageCode){e.next=26;break}if(t.formData.dataSetParamDtoList=t.tableData,t.formData.dataSetTransformDtoList=t.itemFilterList,t.formData.caseResult=f()(t.cols),"新增数据集"!==t.dialogFormVisibleTitle){e.next=16;break}return e.next=8,Object(y.a)(t.formData);case 8:if(i=e.sent,"200"==i.code){e.next=12;break}return e.abrupt("return");case 12:t.$emit("refreshList"),t.closeDialog(),e.next=24;break;case 16:return e.next=18,Object(y.d)(t.formData);case 18:if(r=e.sent,"200"==r.code){e.next=22;break}return e.abrupt("return");case 22:t.$emit("refreshList"),t.closeDialog();case 24:e.next=28;break;case 26:return t.$message.error("请先测试预览,操作成功后便可保存!"),e.abrupt("return");case 28:e.next=31;break;case 30:return e.abrupt("return");case 31:case"end":return e.stop()}},e,t)}));return function(t,a){return e.apply(this,arguments)}}());case 3:case"end":return a.stop()}},a,t)}))()},toObject:function(e){var t={},a={};e.forEach(function(e){e.name&&(t[e.name]=e.children)});var n=function(e){var n={};t[e].map(function(e){m()(n,u()({},e.name,e.value))}),a[e]=n};for(var i in t)n(i);return a}}},z=(a("9iGv"),Object(V.a)(q,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-dialog",{attrs:{title:e.dialogFormVisibleTitle,visible:e.visib,"close-on-click-modal":!1,"before-close":e.closeDialog,width:"65%"},on:{"update:visible":function(t){e.visib=t}}},[a("el-form",{ref:"form",attrs:{model:e.formData,rules:e.formRules,size:"small","label-width":"130px"}},[a("el-row",{attrs:{gutter:10}},["sql"==this.setType?a("el-col",{attrs:{xs:24,sm:20,md:8,lg:8,xl:8}},[a("el-form-item",{attrs:{label:"数据源",prop:"sourceCode"}},[a("el-select",{staticClass:"organisation",attrs:{size:"mini"},on:{change:e.changeSource},model:{value:e.formData.sourceCode,callback:function(t){e.$set(e.formData,"sourceCode","string"==typeof t?t.trim():t)},expression:"formData.sourceCode"}},e._l(e.sourceList,function(e){return a("el-option",{key:e.sourceName,attrs:{label:e.sourceName,value:e.sourceCode}})}),1)],1)],1):e._e(),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:7,lg:7,xl:7}},[a("el-form-item",{attrs:{label:"数据集编码",prop:"setCode"}},[a("el-input",{attrs:{disabled:e.updataDisabled,placeholder:"唯一标识",size:"mini"},model:{value:e.formData.setCode,callback:function(t){e.$set(e.formData,"setCode","string"==typeof t?t.trim():t)},expression:"formData.setCode"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:7,lg:7,xl:7}},[a("el-form-item",{attrs:{label:"数据集名称",prop:"setName"}},[a("el-input",{attrs:{size:"mini"},model:{value:e.formData.setName,callback:function(t){e.$set(e.formData,"setName","string"==typeof t?t.trim():t)},expression:"formData.setName"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form-item",{attrs:{label:"数据集描述"}},[a("el-input",{attrs:{size:"mini"},model:{value:e.formData.setDesc,callback:function(t){e.$set(e.formData,"setDesc","string"==typeof t?t.trim():t)},expression:"formData.setDesc"}})],1)],1)],1),e._v(" "),"sql"==this.setType?a("el-row",{attrs:{gutter:10}},[a("el-col",{staticClass:"code-mirror-form",attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form-item",{attrs:{label:"查询SQL"}},[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"sql"},model:{value:e.formData.dynSentence,callback:function(t){e.$set(e.formData,"dynSentence","string"==typeof t?t.trim():t)},expression:"formData.dynSentence"}})],1)])],1)],1):e._e(),e._v(" "),"http"==this.setType?a("el-row",[a("el-form-item",{attrs:{label:"请求路径"}},[a("el-input",{staticClass:"input-with-select",attrs:{placeholder:"请输入请求路径..."},model:{value:e.httpForm.apiUrl,callback:function(t){e.$set(e.httpForm,"apiUrl",t)},expression:"httpForm.apiUrl"}},[a("el-select",{attrs:{slot:"prepend",placeholder:"请选择"},slot:"prepend",model:{value:e.httpForm.method,callback:function(t){e.$set(e.httpForm,"method",t)},expression:"httpForm.method"}},[a("el-option",{attrs:{label:"GET",value:"GET"}}),e._v(" "),a("el-option",{attrs:{label:"POST",value:"POST"}}),e._v(" "),a("el-option",{attrs:{label:"PUT",value:"PUT"}}),e._v(" "),a("el-option",{attrs:{label:"DELETE",value:"DELETE"}})],1)],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"请求头"}},[a("el-input",{attrs:{size:"mini",placeholder:"请输入请求头..."},model:{value:e.httpForm.header,callback:function(t){e.$set(e.httpForm,"header","string"==typeof t?t.trim():t)},expression:"httpForm.header"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"请求体"}},[a("el-input",{attrs:{size:"mini",placeholder:"请输入请求体..."},model:{value:e.httpForm.body,callback:function(t){e.$set(e.httpForm,"body","string"==typeof t?t.trim():t)},expression:"httpForm.body"}})],1)],1):e._e(),e._v(" "),a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form",{staticClass:"demo-ruleForm",attrs:{"label-width":"100px"}},[a("el-tabs",{attrs:{type:"card"},on:{"tab-click":e.handleClickTabs},model:{value:e.tabsActiveName,callback:function(t){e.tabsActiveName="string"==typeof t?t.trim():t},expression:"tabsActiveName"}},[a("el-tab-pane",{attrs:{label:"查询参数",name:"first"}},[0==e.tableData.length?a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(t){return e.addRow()}}},[e._v("添加\n ")]):e._e(),e._v(" "),a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[a("el-table-column",{attrs:{align:"center",label:"序号",type:"index","min-width":"80"}}),e._v(" "),a("el-table-column",{attrs:{label:"参数名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{attrs:{disabled:"pageSize"==e.tableData[t.$index].paramName||"pageNumber"==e.tableData[t.$index].paramName},model:{value:e.tableData[t.$index].paramName,callback:function(a){e.$set(e.tableData[t.$index],"paramName","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramName"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"描述",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].paramDesc,callback:function(a){e.$set(e.tableData[t.$index],"paramDesc","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramDesc"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"数据类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].paramType,callback:function(a){e.$set(e.tableData[t.$index],"paramType","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramType"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"示例值",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].sampleItem,callback:function(a){e.$set(e.tableData[t.$index],"sampleItem","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].sampleItem"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"校验",width:"220",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-checkbox",{on:{change:function(a){return e.Mandatory(t.$index)}},model:{value:e.tableData[t.$index].mandatory,callback:function(a){e.$set(e.tableData[t.$index],"mandatory",a)},expression:"tableData[scope.$index].mandatory"}},[e._v("必选\n ")]),e._v(" "),a("el-button",{attrs:{type:"primary",icon:"el-icon-plus"},on:{click:function(a){return e.permissionClick(t.row,t.$index)}}},[e._v("\n 高级规则\n ")])]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"操作",width:"200",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{type:"text",size:"small"},nativeOn:{click:function(a){return a.preventDefault(),e.cutOutRow(t.$index,e.tableData)}}},[e._v("删除\n ")]),e._v(" "),a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return e.addRow(t.row)}}},[e._v("追加\n ")])]}}])})],1)],1),e._v(" "),a("el-tab-pane",{attrs:{label:"数据转换",name:"second"}},[[a("div",{staticClass:"filterWrapper"},[a("div",{staticClass:"filterTable"},[e._l(e.itemFilterList,function(t,n){return a("div",{key:n,staticClass:"filterBox"},[a("div",{staticClass:"box"},[a("Dictionary",{attrs:{"updata-dict":t.transformType,"dict-key":"TRANSFORM_TYPE"},model:{value:t.transformType,callback:function(a){e.$set(t,"transformType",a)},expression:"item.transformType"}}),e._v(" "),a("el-button",{staticClass:"reduceFilter",attrs:{type:"text",icon:"el-icon-close"},on:{click:function(a){return e.reduceFilter(t)}}}),e._v(" "),"js"==t.transformType||"dict"==t.transformType?a("el-button",{staticClass:"editor",attrs:{type:"text",icon:"el-icon-edit"},on:{click:function(a){return e.filterScriptBtn(t)}}}):e._e()],1),e._v(" "),a("el-button",{staticClass:"font-icon-right",attrs:{type:"text",icon:"el-icon-right"}})],1)}),e._v(" "),a("el-dialog",{attrs:{title:e.dialogTitle,visible:e.dialogSwitchVisible,"close-on-click-modal":!1,width:"60%","min-height":"400px","append-to-body":""},on:{"update:visible":function(t){e.dialogSwitchVisible=t}}},["js"==e.isItemFilterType.transformType?a("div",[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"javascript"},model:{value:e.transformScript,callback:function(t){e.transformScript="string"==typeof t?t.trim():t},expression:"transformScript"}})],1)]):a("div",[e._l(e.tableData2,function(t,n){return a("div",{key:n},[a("label",[e._v("字典项名称:")]),e._v(" "),a("el-input",{staticStyle:{width:"25%"},attrs:{size:"small"},model:{value:t.name,callback:function(a){e.$set(t,"name","string"==typeof a?a.trim():a)},expression:"item.name"}}),e._v(" "),a("el-button",{attrs:{type:"danger",size:"small",plain:"",icon:"el-icon-delete"},on:{click:function(t){return e.delAllDict(n,e.tableData2)}}}),e._v(" "),a("el-table",{staticStyle:{width:"80%"},attrs:{data:t.children,border:""}},[a("el-table-column",{attrs:{label:"key",width:"180"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-input",{model:{value:t.children[n.$index].name,callback:function(a){e.$set(t.children[n.$index],"name","string"==typeof a?a.trim():a)},expression:"\n item.children[scope.$index].name\n "}})]}}],null,!0)}),e._v(" "),a("el-table-column",{attrs:{label:"值"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-input",{model:{value:t.children[n.$index].value,callback:function(a){e.$set(t.children[n.$index],"value","string"==typeof a?a.trim():a)},expression:"\n item.children[scope.$index].value\n "}})]}}],null,!0)}),e._v(" "),a("el-table-column",{attrs:{label:"操作",width:"150px",align:"center"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-button",{attrs:{type:"success",circle:"",plain:"",icon:"el-icon-plus"},on:{click:function(a){return e.addDict(n.$index,t.children)}}}),e._v(" "),a("el-button",{attrs:{type:"danger",circle:"",plain:"",icon:"el-icon-delete"},on:{click:function(a){return e.delDict(n.$index,t.children)}}})]}}],null,!0)})],1)],1)}),e._v(" "),a("el-button",{attrs:{type:"success"},on:{click:function(t){return e.addAllDict()}}},[e._v("新增\n ")])],2),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.dialogSwitchVisible=!1}}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.filterScriptConfirm}},[e._v("保存")])],1)]),e._v(" "),a("div",{staticClass:"addFilter",attrs:{disabled:"true"},on:{click:e.addFilter}},[a("i",{staticClass:"el-icon-plus"}),a("span",[e._v("新增")])])],2)])]],2),e._v(" "),a("el-tab-pane",{attrs:{label:"测试预览",name:"third"}},[a("div",{staticStyle:{"max-height":"400px",overflow:"auto"}},[a("vue-json-editor",{attrs:{"show-btns":!1,mode:"code",lang:"zh"},on:{"json-change":e.onJsonChange,"json-save":e.onJsonSave},model:{value:e.cols,callback:function(t){e.cols=t},expression:"cols"}})],1)])],1)],1)],1)],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:e.closeDialog}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submit("form")}}},[e._v("保存")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:e.title,visible:e.dialogPermissionVisible,"close-on-click-modal":!1,width:"60%"},on:{"update:visible":function(t){e.dialogPermissionVisible=t}}},[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"javascript"},model:{value:e.validationRules,callback:function(t){e.validationRules="string"==typeof t?t.trim():t},expression:"validationRules"}})],1),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"warning"},on:{click:e.testResultset}},[e._v("测试")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.dialogValidationRules}},[e._v("保存")]),e._v(" "),a("el-button",{on:{click:function(t){e.dialogPermissionVisible=!1}}},[e._v("关闭")])],1)])],1)},[],!1,null,"47b2c5a4",null));z.options.__file="EditDataSet.vue";var B=z.exports,J={name:"Support",components:{vueJsonEditor:x.a},props:{visib:{required:!0,type:Boolean,default:!1}},data:function(){return{dialogCaseResult:!1,caseResultTitle:"",caseResultContent:null}},methods:{dataViewPreview:function(e,t){this.caseResultTitle=e,this.caseResultContent=t},closeDialog:function(){this.$emit("handleClose")},onJsonChange:function(e){},onJsonSave:function(e){}}},G=Object(V.a)(J,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-dialog",{attrs:{title:e.caseResultTitle,"close-on-click-modal":!1,visible:e.visib,width:"70%","before-close":e.closeDialog},on:{"update:visible":function(t){e.visib=t}}},[a("vue-json-editor",{staticClass:"my-editor",attrs:{"show-btns":!1,mode:"code",lang:"zh"},on:{"json-change":e.onJsonChange,"json-save":e.onJsonSave},model:{value:e.caseResultContent,callback:function(t){e.caseResultContent=t},expression:"caseResultContent"}}),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"primary"},on:{click:e.closeDialog}},[e._v("关闭")])],1)],1)},[],!1,null,null,null);G.options.__file="DataView.vue";var K={name:"ReportDataSet",components:{EditDataSet:B,DataView:G.exports},data:function(){var e=this;return{dialogVisibleSetDataSet:!1,dataSet:{},dialogCaseResult:!1,crudOption:{title:"数据集",labelWidth:"120px",queryFormFields:[{inputType:"input",label:"数据集编码",field:"setCode"},{inputType:"input",label:"数据集名称",field:"setName"},{inputType:"anji-select",anjiSelectOption:{url:"/dataSource/queryAllDataSource",label:"sourceName",option:"sourceCode",mergeLabel:!0},label:"数据源",field:"sourceCode"},{inputType:"anji-select",anjiSelectOption:{dictCode:"SET_TYPE"},label:"数据集类型",field:"setType"}],buttons:{customButton:{operationWidth:180},query:{api:i,permission:"resultsetManage:query",sort:"update_time",order:"DESC"},queryByPrimarykey:{api:l,permission:"resultsetManage:detail"},add:{api:r,permission:"resultsetManage:insert",isShow:!1},delete:{api:o,permission:"resultsetManage:delete"},edit:{api:s,permission:"resultsetManage:update",isShow:!1}},columns:[{label:"",field:"id",primaryKey:!0,tableHide:!0,editHide:!0},{label:"数据集编码",placeholder:"",field:"setCode",editField:"setCode",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"数据集名称",placeholder:"",field:"setName",editField:"setName",inputType:"input",rules:[{min:1,max:100,message:"不超过100个字符",trigger:"blur"}],disabled:!1},{label:"描述",placeholder:"",field:"setDesc",editField:"setDesc",inputType:"input",rules:[{min:1,max:255,message:"不超过255个字符",trigger:"blur"}],disabled:!1},{label:"数据源编码",placeholder:"",field:"sourceCode",editField:"sourceCode",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"数据集类型",placeholder:"",field:"setType",editField:"setType",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"动态查询sql或者接口中的请求体",placeholder:"",field:"dynSentence",editField:"dynSentence",tableHide:!0,inputType:"input",rules:[{min:1,max:2048,message:"不超过2048个字符",trigger:"blur"}],disabled:!1},{label:"结果案例",placeholder:"",field:"caseResult",tableHide:!0,editField:"caseResult",inputType:"input",rules:[{min:1,max:65535,message:"不超过65535个字符",trigger:"blur"}],disabled:!1},{label:"状态",placeholder:"",field:"enableFlag",fieldTableRowRenderer:function(t){return e.getDictLabelByCode("ENABLE_FLAG",t.enableFlag)},colorStyle:{0:"table-danger",1:"table-success"},editField:"enableFlag",inputType:"input",rules:[],disabled:!1},{label:"删除标记",placeholder:"",field:"deleteFlag",editField:"deleteFlag",tableHide:!0,inputType:"input",rules:[],disabled:!1}]}}},methods:{operateDataset:function(e,t){this.dialogVisibleSetDataSet=!0,t&&t.msg?(this.dataSet=t.msg,e=t.msg.setType):this.dataSet={},this.$refs.EditDataSet.addOrEditDataSet(this.dataSet,e)},refreshList:function(){this.$refs.listPage.handleQueryForm("query")},dataView:function(e){this.dialogCaseResult=!0,this.$refs.DataView.dataViewPreview(e.msg.setName,JSON.parse(e.msg.caseResult))}}},U=(a("NMof"),Object(V.a)(K,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("anji-crud",{ref:"listPage",attrs:{option:e.crudOption},scopedSlots:e._u([{key:"buttonLeftOnTable",fn:function(){return[a("el-dropdown",{attrs:{placement:"bottom"},on:{command:e.operateDataset}},[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus"}},[e._v("\n 新增\n "),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),e._v(" "),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"sql"}},[e._v("SQL")]),e._v(" "),a("el-dropdown-item",{attrs:{command:"http"}},[e._v("HTTP")])],1)],1)]},proxy:!0},{key:"rowButton",fn:function(t){return[a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"resultsetManage:update",expression:"'resultsetManage:update'"}],attrs:{type:"text"},on:{click:function(a){return e.operateDataset("edit",t)}}},[e._v("编辑\n ")])]}},{key:"rowButtonInMore",fn:function(t){return[a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"resultsetManage:query",expression:"'resultsetManage:query'"}],attrs:{type:"text"},on:{click:function(a){return e.dataView(t)}}},[e._v("数据预览\n ")])]}},{key:"pageSection",fn:function(){return[a("EditDataSet",{ref:"EditDataSet",attrs:{dataSet:e.dataSet,visib:e.dialogVisibleSetDataSet},on:{handleClose:function(t){e.dialogVisibleSetDataSet=!1},refreshList:e.refreshList}}),e._v(" "),a("DataView",{ref:"DataView",attrs:{visib:e.dialogCaseResult},on:{handleClose:function(t){e.dialogCaseResult=!1}}})]},proxy:!0}])})},[],!1,null,"00111258",null));U.options.__file="index.vue";t.default=U.exports},ctb9:function(e,t,a){},eLLl:function(e,t,a){},kTZg:function(e,t,a){},rVG9:function(e,t,a){"use strict";var n=a("ctb9");a.n(n).a},z5hZ:function(e,t,a){"use strict";var n=a("kTZg");a.n(n).a}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-a4f3.e89bd54b.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-a4f3.c56a57f9.js similarity index 100% rename from pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-a4f3.e89bd54b.js rename to pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-a4f3.c56a57f9.js diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-b935.7d009458.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-b935.7d009458.js deleted file mode 100644 index 96490c1a3..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-b935.7d009458.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-b935"],{CJ5O:function(e,t,a){"use strict";var n=a("cLjf"),i=a.n(n),r=a("hDQ3"),o=a.n(r),s=a("sm2R"),l={name:"GetDictionary",props:{dictKey:String,updataDict:String,value:String},data:function(){return{dictionary:"",dictionaryOptions:[]}},watch:{dictKey:{immediate:!0,handler:function(){this.getSystem()}},value:{handler:function(e){this.dictionary=e},deep:!0}},created:function(){this.getSystem()},mounted:function(){this.dictionary=this.value},methods:{getSystem:function(){var e=this;return o()(i.a.mark(function t(){var a,n,r;return i.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(s.a)(e.dictKey);case 2:if(a=t.sent,n=a.code,r=a.data,"200"==n){t.next=7;break}return t.abrupt("return");case 7:e.dictionaryOptions=r;case 8:case"end":return t.stop()}},t,e)}))()},selectChange:function(e){this.$emit("input",e)}}},c=(a("rVG9"),a("ZrdR")),u=Object(c.a)(l,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-select",{attrs:{placeholder:"请选择",clearable:"",size:"mini"},on:{change:e.selectChange},model:{value:e.dictionary,callback:function(t){e.dictionary=t},expression:"dictionary"}},e._l(e.dictionaryOptions,function(e){return a("el-option",{key:e.id,attrs:{label:e.text,value:e.id}})}),1)},[],!1,null,"23d4be90",null);u.options.__file="index.vue";t.a=u.exports},FThD:function(e,t,a){"use strict";var n=a("y8hv");a.n(n).a},HDHf:function(e,t,a){"use strict";a.d(t,"c",function(){return i}),a.d(t,"a",function(){return r}),a.d(t,"d",function(){return o}),a.d(t,"f",function(){return s}),a.d(t,"i",function(){return l}),a.d(t,"h",function(){return c}),a.d(t,"g",function(){return u}),a.d(t,"b",function(){return d}),a.d(t,"e",function(){return m});var n=a("t3Un");function i(e){return Object(n.a)({url:"/dataSet/detailBysetId/"+e.id,method:"get"})}function r(e){return Object(n.a)({url:"/dataSet",method:"post",data:e})}function o(e){return Object(n.a)({url:"/dataSet",method:"put",data:e})}function s(e){return Object(n.a)({url:"/dataSource/queryAllDataSource",method:"get",data:e})}function l(e){return Object(n.a)({url:"/dataSetParam/verification",method:"post",data:e})}function c(e){return Object(n.a)({url:"/dataSet/testTransform",method:"post",data:e})}function u(e){return Object(n.a)({url:"/report/pageList",method:"get",params:e})}function d(e){return Object(n.a)({url:"/reportExcel",method:"post",data:e})}function m(e){return Object(n.a)({url:"/reportExcel",method:"put",data:e})}},VHRZ:function(e,t,a){},XIpD:function(e,t,a){"use strict";var n=a("VHRZ");a.n(n).a},Yfch:function(e,t,a){"use strict";function n(e,t,a){""==t||void 0==t||null==t?a():/^[_a-zA-Z0-9]+$/.test(t)?a():a(new Error("英文字母、数字或下划线"))}a.d(t,"a",function(){return n})},ctb9:function(e,t,a){},rVG9:function(e,t,a){"use strict";var n=a("ctb9");a.n(n).a},y8hv:function(e,t,a){},z9F4:function(e,t,a){"use strict";a.r(t);var n=a("t3Un");function i(e){return Object(n.a)({url:"dataSet/pageList",method:"GET",params:e})}function r(e){return Object(n.a)({url:"dataSet",method:"post",data:e})}function o(e){return Object(n.a)({url:"dataSet/delete/batch",method:"post",data:e})}function s(e){return Object(n.a)({url:"dataSet",method:"put",data:e})}function l(e){return Object(n.a)({url:"dataSet/"+e.id,method:"get",params:{accessKey:e.accessKey}})}var c=a("/umX"),u=a.n(c),d=a("6ZY3"),m=a.n(d),p=a("omC7"),f=a.n(p),g=a("cLjf"),b=a.n(g),h=a("hDQ3"),v=a.n(h),y=a("HDHf"),D=a("CJ5O"),S=a("iivf"),x=(a("iDFn"),a("FITP"),a("URX1"),a("oKmD"),a("atyl")),C=a("SynA"),T=a("unDg"),w=a.n(T),R=a("nKCB"),_=a.n(R),k=a("LGhb"),E=a.n(k),F=["SELECT","INSERT","DELETE","UPDATE","CREATE TABLE","DROP TABLE","ALTER TABLE","CREATE VIEW","DROP VIEW","CREATE INDEX","DROP INDEX","CREATE PROCEDURE","DROP PROCEDURE","CREATE TRIGGER","DROP TRIGGER","CREATE SCHEMA","DROP SCHEMA","CREATE DOMAIN","ALTER DOMAIN","DROP DOMAIN","GRANT","DENY","REVOKE","COMMIT","ROLLBACK","SET TRANSACTION","DECLARE","EXPLAN","OPEN","FETCH","CLOSE","PREPARE","EXECUTE","DESCRIBE","FROM","ORDER BY"];var O=function(e){return{provideCompletionItems:function(t,a){return{suggestions:function(t,a){var n=t.getValue(),i=(a=a.replace(/[\*\[\]@\$\(\)]/g,"").replace(/(\s+|\.)/g," ")).split(/[\s;]/),r=i[i.length-1],o=r.length,s=new RegExp("([^\\w]|^)"+r+"\\w*","gim"),l=n.match(s),c=l?l.map(function(e){var t=new RegExp(r,"gim"),a=e.search(t);return e.substr(a)}):[];return E()(new _.a([].concat(F,w()(c),w()(e(t))))).sort().filter(function(e){var t=new RegExp(e.substr(0,o),"gim");return!(l&&1===l.length&&e===r||1===e.length)&&r.match(t)}).map(function(e){return{label:e,kind:F.indexOf(e)>-1?C.languages.CompletionItemKind.Keyword:C.languages.CompletionItemKind.Text,documentation:e,insertText:e}})}(t,t.getValueInRange({startLineNumber:a.lineNumber,startColumn:1,endLineNumber:a.lineNumber,endColumn:a.column}))}}}};var N=function(e){return{provideCompletionItems:function(t,a){return{suggestions:function(t,a){var n=t.getValue(),i=(a=a.replace(/[\*\[\]@\$\(\)]/g,"").replace(/(\s+|\.)/g," ")).split(/[\s;]/),r=i[i.length-1],o=r.length,s=new RegExp("([^\\w]|^)"+r+"\\w*","gim"),l=n.match(s);return E()(new _.a([].concat(w()(e(t))))).sort().filter(function(e){var t=new RegExp(e.substr(0,o),"gim");return!(l&&1===l.length&&e===r||1===e.length)&&r.match(t)}).map(function(e){return{label:e,kind:C.languages.CompletionItemKind.Text,documentation:e,insertText:e}})}(t,t.getValueInRange({startLineNumber:a.lineNumber,startColumn:1,endLineNumber:a.lineNumber,endColumn:a.column}))}}}};var $=function(e){e.languages.register({id:"log"}),e.languages.setMonarchTokensProvider("log",{tokenizer:{root:[[/(^[=a-zA-Z].*|\d\s.*)/,"log-normal"],[/\sERROR\s.*/,"log-error"],[/\sWARN\s.*/,"log-warn"],[/\sINFO\s.*/,"log-info"],[/^([0-9]{4}||[0-9]{2})-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/,"log-date"],[/^[0-9]{2}\/[0-9]{2}\/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}(.[0-9]{3})?/,"log-date"],[/(^\*\*Waiting queue:.*)/,"log-info"],[/(^\*\*result tips:.*)/,"log-info"]]}}),e.editor.defineTheme("log",{base:"vs",inherit:!0,rules:[{token:"log-info",foreground:"4b71ca"},{token:"log-error",foreground:"ff0000",fontStyle:"bold"},{token:"log-warn",foreground:"FFA500"},{token:"log-date",foreground:"008800"},{token:"log-normal",foreground:"808080"}],colors:{"editor.lineHighlightBackground":"#ffffff","editorGutter.background":"#f7f7f7"}})},L={},I=function(e){var t=e.id.substring(6);return L[t]&&L[t].hints||[]};C.languages.registerCompletionItemProvider("sql",O(I)),C.languages.registerCompletionItemProvider("javascript",N(I)),$(C);var V={props:{options:{type:Object,default:function(){return{}}},value:{type:String,required:!1},language:{type:String},hints:{type:Array,default:function(){return[]}}},name:"MonacoEditor",data:function(){return{editorInstance:null,defaultOptions:{theme:"vs-dark",fontSize:14}}},watch:{value:function(){this.value!==this.editorInstance.getValue()&&this.editorInstance.setValue(this.value)}},mounted:function(){this.initEditor(),L[this.editorInstance._id]=this,window.addEventListener("resize",this.layout)},destroyed:function(){this.editorInstance.dispose(),L[this.editorInstance._id]=null,window.removeEventListener("resize",this.layout)},methods:{layout:function(){this.editorInstance.layout()},undo:function(){this.editorInstance.trigger("anyString","undo"),this.onValueChange()},redo:function(){this.editorInstance.trigger("anyString","redo"),this.onValueChange()},getOptions:function(){var e={value:this.value};return void 0!==this.language&&(e.language=this.language),m()({},this.defaultOptions,this.options,e)},onValueChange:function(){this.$emit("input",this.editorInstance.getValue()),this.$emit("change",this.editorInstance.getValue())},initEditor:function(){var e=this;this.MonacoEnvironment={getWorkerUrl:function(){return"./editor.worker.bundle.js"}},this.editorInstance=C.editor.create(this.$refs.editor,this.getOptions()),this.editorInstance.onContextMenu(function(t){e.$emit("contextmenu",t)}),this.editorInstance.onDidChangeModelContent(function(){e.onValueChange()}),this.editorInstance.addCommand(C.KeyMod.CtrlCmd|C.KeyCode.KEY_S,function(){e.$emit("save",e.editorInstance.getValue())})}}},j=(a("FThD"),a("ZrdR")),P=Object(j.a)(V,function(){var e=this.$createElement;return(this._self._c||e)("div",{ref:"editor",staticClass:"main"})},[],!1,null,"d2955d34",null);P.options.__file="MonacoEditor.vue";var A=P.exports,q=a("Yfch"),M={name:"Support",components:{Dictionary:D.a,codemirror:S.codemirror,vueJsonEditor:x.a,MonacoEditor:A},props:{visib:{required:!0,type:Boolean,default:!1},dataSet:{required:!1,type:Object,default:function(){return""}}},data:function(){return{data:[],listLoading:!0,permission:{add:["admin","alipayConfig:add"],edit:["admin","alipayConfig:edit"],del:["admin","datasource:del"]},code:"",optionsSql:{mode:"text/x-sql",tabSize:2,lineNumbers:!0,line:!0,styleActiveLine:!0,hintOptions:{completeSingle:!0}},optionsJavascript:{mode:"text/javascript",tabSize:2,lineNumbers:!0,line:!0,styleActiveLine:!0,hintOptions:{completeSingle:!0}},selectedList:[],clickType:"",formData:{},dialogFormVisible:!1,dialogFormVisibleTitle:"",dialogPermissionVisible:!1,dialogSwitchVisible:!1,permissionTextarea:"",isItemFilterType:"",itemFilterList:[{transformType:"js",transformScript:""}],transformScript:"function dataTransform(data){\n\t//自定义脚本内容\n\treturn data;\n}",itemFilterScriptId:"",title:"自定义高级规则",totalCount:0,totalPage:0,params:{pageNumber:1,pageSize:10,helpTitle:"",enabled:null,helpCategory:"",order:"DESC",sort:"update_time"},formRules:{setName:[{required:!0,message:"数据集名称必填",trigger:"blur"}],setCode:[{required:!0,message:"数据集编码必填",trigger:"blur"},{validator:q.a,trigger:"blur"}],sourceCode:[{required:!0,message:"数据源必选",trigger:"change"}]},sourceList:[],validationRules:"",tabsActiveName:"first",cols:[],tableData:[{paramName:"",paramDesc:"",paramType:"",sampleItem:"",mandatory:!0,requiredFlag:1,validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'}],isRowData:{},tableData2:[],dialogTitle:"js脚本填写",isShowPagination:!1,updataDisabled:!1,dialogCaseResult:!1,caseResultTitle:"",caseResultContent:null,testMassageCode:null,query:{setName:"",setCode:""},setType:"",httpForm:{apiUrl:"",method:"GET",header:'{"Content-Type":"application/json;charset=UTF-8"}',body:""},dictionaryOptions:[],list:null,basicDialog:!1,dialogForm:{sourceName:"",sourceCode:"",sourceType:"",sourceDesc:"",sourceConfig:""},dataLink:[],rules:{sourceType:[{required:!0,message:"数据集名称必选",trigger:"change"}],sourceCode:[{required:!0,message:"数据集编码必填",trigger:"blur"}],sourceName:[{required:!0,message:"数据源名称必选",trigger:"blur"}]},value:"",testReplyCode:null}},beforeCreate:function(){},mounted:function(){},methods:{addOrEditDataSet:function(e,t){var a=this;return v()(b.a.mark(function n(){var i,r,o;return b.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:return a.setType=t,"http"==t&&e.dynSentence&&(a.httpForm=JSON.parse(e.dynSentence)),n.next=4,Object(y.f)();case 4:if(i=n.sent,r=i.code,o=i.data,"200"==r){n.next=9;break}return n.abrupt("return");case 9:a.sourceList=o,a.dialogFormVisible=!0,a.tabsActiveName="first",a.testMassageCode=null,e.id?(a.updataDisabled=!0,a.dialogFormVisibleTitle="编辑数据集",Object(y.c)(e).then(function(e){if(a.formData=e.data,null!=e.data.dataSetParamDtoList||e.data.dataSetParamDtoList.length>0){a.tableData=e.data.dataSetParamDtoList;var t=0;a.tableData.find(function(e,n){"pageNumber"!==e.paramName&&"pageSize"!==e.paramName||t++,1==e.requiredFlag?a.tableData[n].mandatory=!0:a.tableData[n].mandatory=!1}),a.isShowPagination=2===t}else a.tableData=[],a.isShowPagination=!1;null!==e.data.dataSetTransformDtoList?a.itemFilterList=e.data.dataSetTransformDtoList:a.itemFilterList=[],a.itemFilterList.forEach(function(e,t){if("dict"==e.transformType){var n=JSON.parse(e.transformScript),i=[];for(var r in n){var o=[];for(var s in n[r])o.push({name:s,value:n[r][s]});i.push({name:r,children:o})}a.tableData2=i}})})):(a.dialogFormVisibleTitle="新增数据集",a.updataDisabled=!1,a.formData={setName:"",setCode:"",setDesc:"",sourceCode:"",dynSentence:""},a.tableData=[],a.itemFilterList=[],a.isShowPagination=!1);case 14:case"end":return n.stop()}},n,a)}))()},closeDialog:function(){this.$emit("handleClose")},onJsonChange:function(e){},onJsonSave:function(e){},handleClose:function(e){this.dialogFormVisible=!1},isShowCaseResult:function(e){this.dialogCaseResult=!0,this.caseResultTitle=e.setName,this.caseResultContent=JSON.parse(e.caseResult)},handleClickTabs:function(e,t){var a=this;return v()(b.a.mark(function t(){var n,i,r,o;return b.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if("http"==a.setType&&(console.log("http数据集"+a.httpForm),a.formData.dynSentence=f()(a.httpForm)),"third"!=e.paneName){t.next=12;break}return n={sourceCode:a.formData.sourceCode,dynSentence:a.formData.dynSentence,dataSetParamDtoList:a.tableData,dataSetTransformDtoList:a.itemFilterList,setType:a.setType},t.next=5,Object(y.h)(n);case 5:if(i=t.sent,r=i.code,o=i.data,"200"==r){t.next=10;break}return t.abrupt("return");case 10:a.cols=o.data,a.testMassageCode=r;case 12:case"end":return t.stop()}},t,a)}))()},Mandatory:function(e){this.tableData[e].mandatory?this.tableData[e].requiredFlag=1:this.tableData[e].requiredFlag=0},changePagination:function(){var e=this;this.isShowPagination?this.tableData.push({paramName:"pageNumber",paramDesc:"当前页",paramType:"int",sampleItem:"1",mandatory:!0,requiredFlag:1,validationRules:"function verification(data){\n\t//自定义脚本内容\n\treturn true;\n}"},{paramName:"pageSize",paramDesc:"条数",paramType:"int",sampleItem:"10",mandatory:!0,requiredFlag:1,validationRules:"function verification(data){\n\t//自定义脚本内容\n\treturn true;\n}"}):this.tableData.forEach(function(t,a){"pageSize"!=t.paramName&&"pageNumber"!=t.paramName||e.tableData.splice(a,2)})},filterScriptBtn:function(e){var t=this;return v()(b.a.mark(function a(){var n;return b.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:console.log(e),t.isItemFilterType=e,t.dialogSwitchVisible=!0,"js"==e.transformType?(t.itemFilterScriptId=e.itemFilterSort,n="function dataTransform(data){\n\t//自定义脚本内容\n\treturn data;\n}",t.transformScript=e.transformScript?e.transformScript:n):e.transformType;case 4:case"end":return a.stop()}},a,t)}))()},filterScriptConfirm:function(){var e=this,t=this.toObject(this.tableData2);this.itemFilterList.forEach(function(a,n){"dict"==a.transformType?a.transformScript=f()(t):a.transformScript=e.transformScript}),this.dialogSwitchVisible=!1},addFilter:function(){var e={};this.tableData2=[],e=0==this.itemFilterList.length?{transformType:"",transformScript:"",itemFilterSort:1}:{transformType:"",transformScript:"",itemFilterSort:this.itemFilterList.length+1},this.itemFilterList.push(e)},reduceFilter:function(e){if(this.itemFilterList.length>0){var t=this.itemFilterList.indexOf(e);t>-1&&this.itemFilterList.splice(t,1)}},permissionClick:function(e,t){if(this.title="自定义高级规则",""!=this.isRowData.sampleItem){this.isRowData=e;this.validationRules=e.validationRules?e.validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'}this.dialogPermissionVisible=!0},dialogValidationRules:function(){this.isRowData.validationRules=this.validationRules,this.dialogPermissionVisible=!1},addAllDict:function(){this.tableData2.push({name:"",children:[{name:"",value:""}]})},addDict:function(e,t){t.push({name:"",value:""})},delAllDict:function(e,t){t.splice(e,1)},delDict:function(e,t){0!=e?t.splice(e,1):this.$message.error("至少保留一条")},changeSource:function(){},testResultset:function(){var e=this;return v()(b.a.mark(function t(){var a,n,i,r;return b.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return e.isRowData.validationRules=e.validationRules,console.log(e.isRowData,"12345678"),t.next=4,Object(y.i)(e.isRowData);case 4:a=t.sent,n=a.code,i=a.message,r=a.data,"200"==n?r?e.$message.success("返回结果:"+r):e.$message.warning("当前示例值校验不通过"):e.$message.error(i);case 9:case"end":return t.stop()}},t,e)}))()},cutOutRow:function(e,t){t.splice(e,1)},addRow:function(e,t){this.tableData.push({paramName:"",paramDesc:"",paramType:"",sampleItem:"",mandatory:!0,requiredFlag:1,validationRules:'function verification(data){\n\t//自定义脚本内容\n\t//可返回true/false单纯校验键入的data正确性\n\t//可返回文本,实时替换,比如当前时间等\n\t//return "2099-01-01 00:00:00";\n\treturn true;\n}'})},submit:function(e){var t=this;return v()(b.a.mark(function a(){return b.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:"http"==t.setType&&(console.log("http数据集"+t.httpForm),t.formData.dynSentence=f()(t.httpForm)),t.formData.setType=t.setType,t.$refs[e].validate(function(){var e=v()(b.a.mark(function e(a,n){var i,r;return b.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!a){e.next=30;break}if(200!=t.testMassageCode){e.next=26;break}if(t.formData.dataSetParamDtoList=t.tableData,t.formData.dataSetTransformDtoList=t.itemFilterList,t.formData.caseResult=f()(t.cols),"新增数据集"!==t.dialogFormVisibleTitle){e.next=16;break}return e.next=8,Object(y.a)(t.formData);case 8:if(i=e.sent,"200"==i.code){e.next=12;break}return e.abrupt("return");case 12:t.$emit("refreshList"),t.closeDialog(),e.next=24;break;case 16:return e.next=18,Object(y.d)(t.formData);case 18:if(r=e.sent,"200"==r.code){e.next=22;break}return e.abrupt("return");case 22:t.$emit("refreshList"),t.closeDialog();case 24:e.next=28;break;case 26:return t.$message.error("请先测试预览,操作成功后便可保存!"),e.abrupt("return");case 28:e.next=31;break;case 30:return e.abrupt("return");case 31:case"end":return e.stop()}},e,t)}));return function(t,a){return e.apply(this,arguments)}}());case 3:case"end":return a.stop()}},a,t)}))()},toObject:function(e){var t={},a={};e.forEach(function(e){e.name&&(t[e.name]=e.children)});var n=function(e){var n={};t[e].map(function(e){m()(n,u()({},e.name,e.value))}),a[e]=n};for(var i in t)n(i);return a}}},z=(a("XIpD"),Object(j.a)(M,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-dialog",{attrs:{title:e.dialogFormVisibleTitle,visible:e.visib,"close-on-click-modal":!1,"before-close":e.closeDialog,width:"65%"},on:{"update:visible":function(t){e.visib=t}}},[a("el-form",{ref:"form",attrs:{model:e.formData,rules:e.formRules,size:"small","label-width":"130px"}},[a("el-row",{attrs:{gutter:10}},["sql"==this.setType?a("el-col",{attrs:{xs:24,sm:20,md:8,lg:8,xl:8}},[a("el-form-item",{attrs:{label:"数据源",prop:"sourceCode"}},[a("el-select",{staticClass:"organisation",attrs:{size:"mini"},on:{change:e.changeSource},model:{value:e.formData.sourceCode,callback:function(t){e.$set(e.formData,"sourceCode","string"==typeof t?t.trim():t)},expression:"formData.sourceCode"}},e._l(e.sourceList,function(e){return a("el-option",{key:e.sourceName,attrs:{label:e.sourceName,value:e.sourceCode}})}),1)],1)],1):e._e(),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:7,lg:7,xl:7}},[a("el-form-item",{attrs:{label:"数据集编码",prop:"setCode"}},[a("el-input",{attrs:{disabled:e.updataDisabled,placeholder:"唯一标识",size:"mini"},model:{value:e.formData.setCode,callback:function(t){e.$set(e.formData,"setCode","string"==typeof t?t.trim():t)},expression:"formData.setCode"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:7,lg:7,xl:7}},[a("el-form-item",{attrs:{label:"数据集名称",prop:"setName"}},[a("el-input",{attrs:{size:"mini"},model:{value:e.formData.setName,callback:function(t){e.$set(e.formData,"setName","string"==typeof t?t.trim():t)},expression:"formData.setName"}})],1)],1),e._v(" "),a("el-col",{attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form-item",{attrs:{label:"数据集描述"}},[a("el-input",{attrs:{size:"mini"},model:{value:e.formData.setDesc,callback:function(t){e.$set(e.formData,"setDesc","string"==typeof t?t.trim():t)},expression:"formData.setDesc"}})],1)],1)],1),e._v(" "),"sql"==this.setType?a("el-row",{attrs:{gutter:10}},[a("el-col",{staticClass:"code-mirror-form",attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form-item",{attrs:{label:"查询SQL"}},[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"sql"},model:{value:e.formData.dynSentence,callback:function(t){e.$set(e.formData,"dynSentence","string"==typeof t?t.trim():t)},expression:"formData.dynSentence"}})],1)])],1)],1):e._e(),e._v(" "),"http"==this.setType?a("el-row",[a("el-form-item",{attrs:{label:"请求路径"}},[a("el-input",{staticClass:"input-with-select",attrs:{placeholder:"请输入请求路径..."},model:{value:e.httpForm.apiUrl,callback:function(t){e.$set(e.httpForm,"apiUrl",t)},expression:"httpForm.apiUrl"}},[a("el-select",{attrs:{slot:"prepend",placeholder:"请选择"},slot:"prepend",model:{value:e.httpForm.method,callback:function(t){e.$set(e.httpForm,"method",t)},expression:"httpForm.method"}},[a("el-option",{attrs:{label:"GET",value:"GET"}}),e._v(" "),a("el-option",{attrs:{label:"POST",value:"POST"}}),e._v(" "),a("el-option",{attrs:{label:"PUT",value:"PUT"}}),e._v(" "),a("el-option",{attrs:{label:"DELETE",value:"DELETE"}})],1)],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"请求头"}},[a("el-input",{attrs:{size:"mini",placeholder:"请输入请求头..."},model:{value:e.httpForm.header,callback:function(t){e.$set(e.httpForm,"header","string"==typeof t?t.trim():t)},expression:"httpForm.header"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"请求体"}},[a("el-input",{attrs:{size:"mini",placeholder:"请输入请求体..."},model:{value:e.httpForm.body,callback:function(t){e.$set(e.httpForm,"body","string"==typeof t?t.trim():t)},expression:"httpForm.body"}})],1)],1):e._e(),e._v(" "),a("el-row",{attrs:{gutter:10}},[a("el-col",{attrs:{xs:24,sm:20,md:22,lg:22,xl:22}},[a("el-form",{staticClass:"demo-ruleForm",attrs:{"label-width":"100px"}},[a("el-tabs",{attrs:{type:"card"},on:{"tab-click":e.handleClickTabs},model:{value:e.tabsActiveName,callback:function(t){e.tabsActiveName="string"==typeof t?t.trim():t},expression:"tabsActiveName"}},[a("el-tab-pane",{attrs:{label:"查询参数",name:"first"}},[0==e.tableData.length?a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(t){return e.addRow()}}},[e._v("添加\n ")]):e._e(),e._v(" "),a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData,border:""}},[a("el-table-column",{attrs:{align:"center",label:"序号",type:"index","min-width":"80"}}),e._v(" "),a("el-table-column",{attrs:{label:"参数名",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{attrs:{disabled:"pageSize"==e.tableData[t.$index].paramName||"pageNumber"==e.tableData[t.$index].paramName},model:{value:e.tableData[t.$index].paramName,callback:function(a){e.$set(e.tableData[t.$index],"paramName","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramName"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"描述",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].paramDesc,callback:function(a){e.$set(e.tableData[t.$index],"paramDesc","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramDesc"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"数据类型",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].paramType,callback:function(a){e.$set(e.tableData[t.$index],"paramType","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].paramType"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"示例值",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-input",{model:{value:e.tableData[t.$index].sampleItem,callback:function(a){e.$set(e.tableData[t.$index],"sampleItem","string"==typeof a?a.trim():a)},expression:"tableData[scope.$index].sampleItem"}})]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"校验",width:"220",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-checkbox",{on:{change:function(a){return e.Mandatory(t.$index)}},model:{value:e.tableData[t.$index].mandatory,callback:function(a){e.$set(e.tableData[t.$index],"mandatory",a)},expression:"tableData[scope.$index].mandatory"}},[e._v("必选\n ")]),e._v(" "),a("el-button",{attrs:{type:"primary",icon:"el-icon-plus"},on:{click:function(a){return e.permissionClick(t.row,t.$index)}}},[e._v("\n 高级规则\n ")])]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"操作",width:"200",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{type:"text",size:"small"},nativeOn:{click:function(a){return a.preventDefault(),e.cutOutRow(t.$index,e.tableData)}}},[e._v("删除\n ")]),e._v(" "),a("el-button",{attrs:{type:"text",size:"small"},on:{click:function(a){return e.addRow(t.row)}}},[e._v("追加\n ")])]}}])})],1)],1),e._v(" "),a("el-tab-pane",{attrs:{label:"数据转换",name:"second"}},[[a("div",{staticClass:"filterWrapper"},[a("div",{staticClass:"filterTable"},[e._l(e.itemFilterList,function(t,n){return a("div",{key:n,staticClass:"filterBox"},[a("div",{staticClass:"box"},[a("Dictionary",{attrs:{"updata-dict":t.transformType,"dict-key":"TRANSFORM_TYPE"},model:{value:t.transformType,callback:function(a){e.$set(t,"transformType",a)},expression:"item.transformType"}}),e._v(" "),a("el-button",{staticClass:"reduceFilter",attrs:{type:"text",icon:"el-icon-close"},on:{click:function(a){return e.reduceFilter(t)}}}),e._v(" "),"js"==t.transformType||"dict"==t.transformType?a("el-button",{staticClass:"editor",attrs:{type:"text",icon:"el-icon-edit"},on:{click:function(a){return e.filterScriptBtn(t)}}}):e._e()],1),e._v(" "),a("el-button",{staticClass:"font-icon-right",attrs:{type:"text",icon:"el-icon-right"}})],1)}),e._v(" "),a("el-dialog",{attrs:{title:e.dialogTitle,visible:e.dialogSwitchVisible,"close-on-click-modal":!1,width:"60%","min-height":"400px","append-to-body":""},on:{"update:visible":function(t){e.dialogSwitchVisible=t}}},["js"==e.isItemFilterType.transformType?a("div",[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"javascript"},model:{value:e.transformScript,callback:function(t){e.transformScript="string"==typeof t?t.trim():t},expression:"transformScript"}})],1)]):a("div",[e._l(e.tableData2,function(t,n){return a("div",{key:n},[a("label",[e._v("字典项名称:")]),e._v(" "),a("el-input",{staticStyle:{width:"25%"},attrs:{size:"small"},model:{value:t.name,callback:function(a){e.$set(t,"name","string"==typeof a?a.trim():a)},expression:"item.name"}}),e._v(" "),a("el-button",{attrs:{type:"danger",size:"small",plain:"",icon:"el-icon-delete"},on:{click:function(t){return e.delAllDict(n,e.tableData2)}}}),e._v(" "),a("el-table",{staticStyle:{width:"80%"},attrs:{data:t.children,border:""}},[a("el-table-column",{attrs:{label:"key",width:"180"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-input",{model:{value:t.children[n.$index].name,callback:function(a){e.$set(t.children[n.$index],"name","string"==typeof a?a.trim():a)},expression:"\n item.children[scope.$index].name\n "}})]}}],null,!0)}),e._v(" "),a("el-table-column",{attrs:{label:"值"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-input",{model:{value:t.children[n.$index].value,callback:function(a){e.$set(t.children[n.$index],"value","string"==typeof a?a.trim():a)},expression:"\n item.children[scope.$index].value\n "}})]}}],null,!0)}),e._v(" "),a("el-table-column",{attrs:{label:"操作",width:"150px",align:"center"},scopedSlots:e._u([{key:"default",fn:function(n){return[a("el-button",{attrs:{type:"success",circle:"",plain:"",icon:"el-icon-plus"},on:{click:function(a){return e.addDict(n.$index,t.children)}}}),e._v(" "),a("el-button",{attrs:{type:"danger",circle:"",plain:"",icon:"el-icon-delete"},on:{click:function(a){return e.delDict(n.$index,t.children)}}})]}}],null,!0)})],1)],1)}),e._v(" "),a("el-button",{attrs:{type:"success"},on:{click:function(t){return e.addAllDict()}}},[e._v("新增\n ")])],2),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:function(t){e.dialogSwitchVisible=!1}}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.filterScriptConfirm}},[e._v("保存")])],1)]),e._v(" "),a("div",{staticClass:"addFilter",attrs:{disabled:"true"},on:{click:e.addFilter}},[a("i",{staticClass:"el-icon-plus"}),a("span",[e._v("新增")])])],2)])]],2),e._v(" "),a("el-tab-pane",{attrs:{label:"测试预览",name:"third"}},[a("div",{staticStyle:{"max-height":"400px",overflow:"auto"}},[a("vue-json-editor",{attrs:{"show-btns":!1,mode:"code",lang:"zh"},on:{"json-change":e.onJsonChange,"json-save":e.onJsonSave},model:{value:e.cols,callback:function(t){e.cols=t},expression:"cols"}})],1)])],1)],1)],1)],1)],1),e._v(" "),a("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{on:{click:e.closeDialog}},[e._v("取消")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submit("form")}}},[e._v("保存")])],1)],1),e._v(" "),a("el-dialog",{attrs:{title:e.title,visible:e.dialogPermissionVisible,"close-on-click-modal":!1,width:"60%"},on:{"update:visible":function(t){e.dialogPermissionVisible=t}}},[a("div",{staticClass:"codemirror"},[a("monaco-editor",{staticStyle:{height:"500px"},attrs:{language:"javascript"},model:{value:e.validationRules,callback:function(t){e.validationRules="string"==typeof t?t.trim():t},expression:"validationRules"}})],1),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"warning"},on:{click:e.testResultset}},[e._v("测试")]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.dialogValidationRules}},[e._v("保存")]),e._v(" "),a("el-button",{on:{click:function(t){e.dialogPermissionVisible=!1}}},[e._v("关闭")])],1)])],1)},[],!1,null,"3c3cbae6",null));z.options.__file="EditDataSet.vue";var B=z.exports,J={name:"Support",components:{vueJsonEditor:x.a},props:{visib:{required:!0,type:Boolean,default:!1}},data:function(){return{dialogCaseResult:!1,caseResultTitle:"",caseResultContent:null}},beforeCreate:function(){},mounted:function(){},methods:{dataViewPreview:function(e,t){this.caseResultTitle=e,this.caseResultContent=t},closeDialog:function(){this.$emit("handleClose")},onJsonChange:function(e){},onJsonSave:function(e){}}},K=Object(j.a)(J,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-dialog",{attrs:{title:e.caseResultTitle,"close-on-click-modal":!1,visible:e.visib,width:"70%","before-close":e.closeDialog},on:{"update:visible":function(t){e.visib=t}}},[a("vue-json-editor",{staticClass:"my-editor",attrs:{"show-btns":!1,mode:"code",lang:"zh"},on:{"json-change":e.onJsonChange,"json-save":e.onJsonSave},model:{value:e.caseResultContent,callback:function(t){e.caseResultContent=t},expression:"caseResultContent"}}),e._v(" "),a("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[a("el-button",{attrs:{type:"primary"},on:{click:e.closeDialog}},[e._v("关闭")])],1)],1)},[],!1,null,null,null);K.options.__file="DataView.vue";var H={name:"ReportDataSet",components:{EditDataSet:B,DataView:K.exports},data:function(){var e=this;return{dialogVisibleSetDataSet:!1,dataSet:{},dialogCaseResult:!1,crudOption:{title:"数据集",labelWidth:"120px",queryFormFields:[{inputType:"input",label:"数据集编码",field:"setCode"},{inputType:"input",label:"数据集名称",field:"setName"},{inputType:"anji-select",anjiSelectOption:{url:"/dataSource/queryAllDataSource",label:"sourceName",option:"sourceCode",mergeLabel:!0},label:"数据源",field:"sourceCode"},{inputType:"anji-select",anjiSelectOption:{dictCode:"SET_TYPE"},label:"数据集类型",field:"setType"}],buttons:{customButton:{operationWidth:150},query:{api:i,permission:"resultsetManage:query",sort:"update_time",order:"DESC"},queryByPrimarykey:{api:l,permission:"resultsetManage:detail"},add:{api:r,permission:"resultsetManage:insert",isShow:!1},delete:{api:o,permission:"resultsetManage:delete"},edit:{api:s,permission:"resultsetManage:update",isShow:!1}},columns:[{label:"",field:"id",primaryKey:!0,tableHide:!0,editHide:!0},{label:"数据集编码",placeholder:"",field:"setCode",editField:"setCode",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"数据集名称",placeholder:"",field:"setName",editField:"setName",inputType:"input",rules:[{min:1,max:100,message:"不超过100个字符",trigger:"blur"}],disabled:!1},{label:"描述",placeholder:"",field:"setDesc",editField:"setDesc",inputType:"input",rules:[{min:1,max:255,message:"不超过255个字符",trigger:"blur"}],disabled:!1},{label:"数据源编码",placeholder:"",field:"sourceCode",editField:"sourceCode",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"数据集类型",placeholder:"",field:"setType",editField:"setType",inputType:"input",rules:[{min:1,max:50,message:"不超过50个字符",trigger:"blur"}],disabled:!1},{label:"动态查询sql或者接口中的请求体",placeholder:"",field:"dynSentence",editField:"dynSentence",tableHide:!0,inputType:"input",rules:[{min:1,max:2048,message:"不超过2048个字符",trigger:"blur"}],disabled:!1},{label:"结果案例",placeholder:"",field:"caseResult",tableHide:!0,editField:"caseResult",inputType:"input",rules:[{min:1,max:65535,message:"不超过65535个字符",trigger:"blur"}],disabled:!1},{label:"状态",placeholder:"",field:"enableFlag",fieldTableRowRenderer:function(t){return e.getDictLabelByCode("ENABLE_FLAG",t.enableFlag)},colorStyle:{0:"table-danger",1:"table-success"},editField:"enableFlag",inputType:"input",rules:[],disabled:!1},{label:"删除标记",placeholder:"",field:"deleteFlag",editField:"deleteFlag",tableHide:!0,inputType:"input",rules:[],disabled:!1}]}}},created:function(){},methods:{operateDataset:function(e,t){this.dialogVisibleSetDataSet=!0,t&&t.msg?(this.dataSet=t.msg,e=t.msg.setType):this.dataSet={},this.$refs.EditDataSet.addOrEditDataSet(this.dataSet,e)},refreshList:function(){this.$refs.listPage.handleQueryForm("query")},dataView:function(e){this.dialogCaseResult=!0,this.$refs.DataView.dataViewPreview(e.msg.setName,JSON.parse(e.msg.caseResult))}}},G=Object(j.a)(H,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("anji-crud",{ref:"listPage",attrs:{option:e.crudOption},scopedSlots:e._u([{key:"buttonLeftOnTable",fn:function(){return[a("el-dropdown",{attrs:{placement:"bottom"},on:{command:e.operateDataset}},[a("el-button",{attrs:{type:"primary",icon:"el-icon-plus"}},[e._v("\n 新增\n "),a("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),e._v(" "),a("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[a("el-dropdown-item",{attrs:{command:"sql"}},[e._v("SQL")]),e._v(" "),a("el-dropdown-item",{attrs:{command:"http"}},[e._v("HTTP")])],1)],1)]},proxy:!0},{key:"edit",fn:function(t){return[a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"resultsetManage:update",expression:"'resultsetManage:update'"}],attrs:{type:"text"},on:{click:function(a){return e.operateDataset("edit",t)}}},[e._v("编辑\n ")])]}},{key:"rowButton",fn:function(t){return[a("el-button",{directives:[{name:"permission",rawName:"v-permission",value:"resultsetManage:query",expression:"'resultsetManage:query'"}],attrs:{type:"text"},on:{click:function(a){return e.dataView(t)}}},[e._v("数据预览\n ")])]}},{key:"pageSection",fn:function(){return[a("EditDataSet",{ref:"EditDataSet",attrs:{dataSet:e.dataSet,visib:e.dialogVisibleSetDataSet},on:{handleClose:function(t){e.dialogVisibleSetDataSet=!1},refreshList:e.refreshList}}),e._v(" "),a("DataView",{ref:"DataView",attrs:{visib:e.dialogCaseResult},on:{handleClose:function(t){e.dialogCaseResult=!1}}})]},proxy:!0}])})},[],!1,null,null,null);G.options.__file="index.vue";t.default=G.exports}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-be10.72b9403e.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-be10.72b9403e.js deleted file mode 100644 index f3b316c7d..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-be10.72b9403e.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-be10"],{W6l8:function(e,t,o){"use strict";o.d(t,"a",function(){return s}),o.d(t,"b",function(){return n});var r=o("t3Un");function s(e){return Object(r.a)({url:"report/share",method:"post",data:e})}function n(e){return Object(r.a)({url:"reportShare/detailByCode",method:"get",params:{shareCode:e}})}},"n+eF":function(e,t,o){"use strict";o.r(t);var r=o("cLjf"),s=o.n(r),n=o("hDQ3"),a=o.n(n),i=o("W6l8"),c=o("X4fA"),l={name:"Report",components:{},data:function(){return{password:"",sharePassword:"",dialogVisible:!1,reportCode:"",shareToken:""}},created:function(){this.handleOpen()},methods:{handleOpen:function(){var e=this;return a()(s.a.mark(function t(){var o,r,n,a,c;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return o=window.location.href,r=o.substring(o.lastIndexOf("/")+1),console.log(r),t.next=5,Object(i.b)(r);case 5:if(n=t.sent,a=n.code,c=n.data,"200"==a){t.next=10;break}return t.abrupt("return");case 10:console.log(c),e.reportCode=c.reportCode,e.sharePassword=c.sharePassword,e.shareToken=c.shareToken,e.sharePassword?(console.log(e.sharePassword),e.dialogVisible=!0):e.pushAj();case 15:case"end":return t.stop()}},t,e)}))()},checkPassword:function(){var e=o("iX2V")(this.password);console.log(this.password+"--------------"+e+"--------"+this.sharePassword),e==this.sharePassword?this.pushAj():this.$message.error("分享码输入不正确")},pushAj:function(){Object(c.i)(this.shareToken),this.$router.push({path:"/bigscreen/viewer",query:{reportCode:this.reportCode}})},handleClose:function(e){this.$confirm("确认关闭?").then(function(t){e()}).catch(function(e){})}}},d=o("ZrdR"),u=Object(d.a)(l,function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("el-dialog",{attrs:{title:"请输入分享码",visible:e.dialogVisible,width:"30%","close-on-click-modal":!1,"before-close":e.handleClose},on:{"update:visible":function(t){e.dialogVisible=t}}},[o("el-input",{attrs:{placeholder:"请输入分享码"},model:{value:e.password,callback:function(t){e.password=t},expression:"password"}}),e._v(" "),o("span",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[o("el-button",{on:{click:function(t){e.dialogVisible=!1}}},[e._v("取 消")]),e._v(" "),o("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.checkPassword()}}},[e._v("确 定")])],1)],1)],1)},[],!1,null,null,null);u.options.__file="index.vue";t.default=u.exports}}]); \ No newline at end of file diff --git a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-c0ac.123ecd99.js b/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-c0ac.123ecd99.js deleted file mode 100644 index e97921ee8..000000000 --- a/pigx-visual/pigx-report-platform/src/main/resources/static/static/js/chunk-c0ac.123ecd99.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-c0ac"],{"0X+l":function(t,i,e){"use strict";var o=e("nBN6");e.n(o).a},"0oh7":function(t,i,e){"use strict";var o=e("fDL3");e.n(o).a},"0wrG":function(t,i,e){},"1suT":function(t,i,e){"use strict";var o=e("TSjp"),s=e.n(o),n={name:"WidgetGradientColorBarchart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{title:{text:"",x:"center",y:"4%",textStyle:{color:"#fff",fontSize:"22"},subtextStyle:{color:"#90979c",fontSize:"16"}},tooltip:{trigger:"axis",axisPointer:{type:"shadow"}},grid:{top:"15%",right:"3%",left:"5%",bottom:"12%"},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:[],axisLine:{lineStyle:{color:"rgba(255,255,255,0.12)"}},axisLabel:{margin:10,color:"#e2e9ff",textStyle:{fontSize:14}}},yAxis:{name:"",axisLabel:{formatter:"{value}",color:"#e2e9ff"},axisLine:{show:!1,lineStyle:{color:"rgba(255,255,255,0)"}},splitLine:{lineStyle:{color:"rgba(255,255,255,0.12)"}}},series:[{type:"bar",data:[5e3,2600,1300,1300,1250,1500],barWidth:"20px",itemStyle:{normal:{color:new s.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"rgba(0,244,255,1)"},{offset:1,color:"rgba(0,77,167,1)"}],!1),shadowColor:"rgba(0,160,221,1)",shadowBlur:4}},label:{normal:{show:!0,position:["-10","-30"],distance:1,formatter:"{a|{c}}",rich:{a:{fontSize:15,color:"#fff",align:"center"}}}}}]},optionsStyle:{},optionsData:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsMargin(),this.setOptionsColor(),this.setOptionsData()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionsX:function(){var t=this.optionsSetup,i={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=i},setOptionsY:function(){var t=this.optionsSetup,i={type:"value",scale:t.scale,splitNumber:t.splitNumber,show:t.isShowY,name:t.textNameY,nameTextStyle:{color:t.nameColorY,fontSize:t.namefontSizeY},inverse:t.reversalY,axisLabel:{show:!0,rotate:t.ytextAngle,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:t.isShowSplitLineY,lineStyle:{color:t.splitLineColorY}}};this.options.yAxis=i},setOptionsTop:function(){var t=this.optionsSetup,i=this.options.series;"bar"==i[0].type&&(t.verticalShow?i[0].label={show:t.isShow,position:"right",distance:t.distance,fontSize:t.fontSize,color:t.subTextColor,fontWeight:t.fontWeight}:i[0].label={show:t.isShow,position:"top",distance:t.distance,fontSize:t.fontSize,color:t.subTextColor,fontWeight:t.fontWeight},i[0].barWidth=t.maxWidth)},setOptionsTooltip:function(){var t=this.optionsSetup,i={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.fontSize}};this.options.tooltip=i},setOptionsMargin:function(){var t=this.optionsSetup,i={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=i},setOptionsLegend:function(){var t=this.optionsSetup,i=this.options.legend;i.show=t.isShowLegend,i.left="left"==t.lateralPosition?0:"auto",i.right="right"==t.lateralPosition?0:"auto",i.top="top"==t.longitudinalPosition?0:"auto",i.bottom="bottom"==t.longitudinalPosition?0:"auto",i.orient=t.layoutFront,i.textStyle={color:t.lengedColor,fontSize:t.fontSize},i.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup,i=this.options.series[0].itemStyle,e={};e=t.verticalShow?{color:new s.a.graphic.LinearGradient(1,0,0,0,[{offset:0,color:t.bar0color},{offset:1,color:t.bar100color}]),barBorderRadius:t.radius,shadowColor:t.shadowColor,shadowBlur:t.shadowBlur}:{color:new s.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:t.bar0color},{offset:1,color:t.bar100color}]),barBorderRadius:t.radius,shadowColor:t.shadowColor,shadowBlur:t.shadowBlur},i.normal=e},setOptionsData:function(){var t=this.optionsSetup,i=this.optionsData;"staticData"==i.dataType?this.staticDataFn(i.staticData):this.dynamicDataFn(i.dynamicData,i.refreshTime,t)},staticDataFn:function(t){var i=this.optionsSetup,e=this.options.series,o=[],s=[];for(var n in t)o[n]=t[n].axis,s[n]=t[n].data;i.verticalShow?(this.options.xAxis.data=[],this.options.yAxis.data=o,this.options.xAxis.type="value",this.options.yAxis.type="category"):(this.options.xAxis.data=o,this.options.yAxis.data=[],this.options.xAxis.type="category",this.options.yAxis.type="value"),"bar"==e[0].type&&(e[0].data=s)},dynamicDataFn:function(t,i,e){var o=this;t&&(this.ispreview?(this.getEchartData(t,e),this.flagInter=setInterval(function(){o.getEchartData(t,e)},i)):this.getEchartData(t,e))},getEchartData:function(t,i){var e=this;this.queryEchartsData(t).then(function(t){e.renderingFn(i,t)})},renderingFn:function(t,i){t.verticalShow?(this.options.xAxis.data=[],this.options.yAxis.data=i.xAxis,this.options.xAxis.type="value",this.options.yAxis.type="category"):(this.options.xAxis.data=i.xAxis,this.options.yAxis.data=[],this.options.xAxis.type="category",this.options.yAxis.type="value");var e=this.options.series;for(var o in e)"bar"==e[o].type&&(e[o].data=i.series[o].data)}}},a=(e("brcV"),e("ZrdR")),r=Object(a.a)(n,function(){var t=this.$createElement,i=this._self._c||t;return i("div",{style:this.styleObj},[i("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"30601663",null);r.options.__file="widgetGradientColorBarchart.vue";i.a=r.exports},"25KC":function(t,i,e){"use strict";var o={name:"WidgetBarCompareChart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{axisPointer:{link:{xAxisIndex:"all"}},title:{x:"center",textStyle:{color:"#ffffff"}},tooltip:{show:!0,trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"#ffffff",type:"dashed"}}},grid:[{left:30,right:20,top:"60px",containLabel:!0,bottom:"50%"},{left:30,containLabel:!0,right:20,top:"51%"}],legend:{textStyle:{color:"#fff",textAlign:"center"}},xAxis:[{gridIndex:0,show:!0,type:"category",boundaryGap:!0,axisLine:{show:!0,lineStyle:{color:"#ffffff"}},axisTick:{show:!0},axisLabel:{show:!0,textStyle:{interval:0,color:"#ffffff",fontSize:14}},data:[]},{gridIndex:1,show:!0,type:"category",position:"top",boundaryGap:!0,axisLine:{show:!0,lineStyle:{color:"#ffffff"}},axisTick:{show:!0},axisLabel:{show:!1,interval:0},data:[]}],yAxis:[{gridIndex:0,show:!0,scale:!0,axisLabel:{show:!0,textStyle:{color:"#ffffff",fontSize:14}},axisLine:{show:!0,lineStyle:{color:"#ffffff"}},splitLine:{show:!1,lineStyle:{color:"#ffffff"}},axisPointer:{snap:!0}},{gridIndex:1,scale:!1,inverse:!0,axisLabel:{show:!0,textStyle:{color:"#ffffff",fontSize:14}},axisLine:{show:!0,lineStyle:{color:"#ffffff"}},splitLine:{show:!1,lineStyle:{color:"#ffffff"}},axisPointer:{snap:!0}}],series:[{name:"",type:"line",xAxisIndex:0,yAxisIndex:0,showSymbol:!0,symbol:"circle",symbolSize:5,smooth:!0,itemStyle:{color:"#36c5e7"},lineStyle:{color:"#36c5e7",width:2},label:{position:"top",distance:10,show:!0,color:"#36c5e7",fontSize:14},data:[]},{name:"",type:"line",xAxisIndex:1,yAxisIndex:1,showSymbol:!0,symbol:"circle",symbolSize:5,smooth:!0,itemStyle:{color:"#e68b55"},lineStyle:{color:"#e68b55",width:2},label:{position:"bottom",distance:10,show:!0,color:"#e68b55",fontSize:16},data:[]}]},optionsStyle:{},optionsData:{},optionsSetup:{},flagInter:null}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsYTop(),this.setOptionsYBottom(),this.setOptionsTop(),this.setOptionsTooltip(),this.setOptionsGrid(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},this.options.title=i},setOptionsX:function(){var t=this.optionsSetup,i={gridIndex:0,show:t.isShowX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},type:"category",boundaryGap:t.boundaryX,axisLine:{show:t.lineX,lineStyle:{color:t.lineColorX}},axisTick:{show:t.tickLineX},axisLabel:{show:!0,interval:t.splitNumberX,textStyle:{color:t.colorX,fontSize:t.fontSizeX}}},e={gridIndex:1,show:t.isShowX,type:"category",position:"top",boundaryGap:t.boundaryX,axisLine:{show:t.lineX,lineStyle:{color:t.lineColorX}},axisTick:{show:t.tickLineX},axisLabel:{show:!1,interval:t.splitNumberX}};this.options.xAxis[0]=i,this.options.xAxis[1]=e},setOptionsYTop:function(){var t=this.optionsSetup,i={gridIndex:0,splitNumber:t.splitNumberYTop,show:t.isShowYTop,scale:t.scaleYTop,name:t.textNameYTop,nameTextStyle:{color:t.nameColorYTop,fontSize:t.namefontSizeYTop},axisLabel:{show:!0,textStyle:{color:t.colorYTop,fontSize:t.fontSizeYTop}},axisTick:{show:t.tickLineYTop},axisLine:{show:t.lineYTop,lineStyle:{color:t.lineColorYTop}},splitLine:{show:t.splitLineYTop,lineStyle:{width:t.splitLinefontSizeYTop,color:t.splitLineColorYTop}},axisPointer:{snap:!0}};this.options.yAxis[0]=i},setOptionsYBottom:function(){var t=this.optionsSetup,i={gridIndex:1,splitNumber:t.splitNumberYBottom,show:t.isShowYBottom,scale:t.scaleYBottom,name:t.textNameYBottom,nameTextStyle:{color:t.nameColorYBottom,fontSize:t.namefontSizeYBottom},inverse:!0,axisLabel:{show:!0,textStyle:{color:t.colorYBottom,fontSize:t.fontSizeYBottom}},axisTick:{show:t.tickLineYBottom},axisLine:{show:t.lineYBottom,lineStyle:{color:t.lineColorYBottom}},splitLine:{show:t.splitLineYBottom,lineStyle:{width:t.splitLinefontSizeYBottom,color:t.splitLineColorYBottom}},axisPointer:{snap:!0}};this.options.yAxis[1]=i},setOptionsTop:function(){var t=this.optionsSetup,i=this.options.series;for(var e in i)i[e].showSymbol=t.markPoint,i[e].symbolSize=t.pointSize,i[e].smooth=t.smoothCurve,t.area?i[e].areaStyle={opacity:t.areaThickness/100}:i[e].areaStyle={opacity:0};"line"==i[0].type&&(i[0].label={position:"top",distance:10,show:t.isShow,color:t.subTextColor,fontSize:t.fontSize,fontWeight:t.fontWeight},i[1].label={position:"bottom",distance:10,show:t.isShow,color:t.subTextColor,fontSize:t.fontSize,fontWeight:t.fontWeight})},setOptionsTooltip:function(){var t=this.optionsSetup,i={};i="line"==t.tipType?{show:t.tipShow,trigger:"axis",axisPointer:{type:t.tipType,lineStyle:{color:t.tipColor,type:"dashed"}}}:{show:t.tipShow,trigger:"axis",axisPointer:{type:t.tipType,lineStyle:{color:t.tipColor,type:"dashed"},crossStyle:{color:t.tipColor}}},this.options.tooltip=i},setOptionsGrid:function(){var t=this.optionsSetup,i=[{left:t.marginLeft,right:t.marginRight,top:t.marginTop,containLabel:!0,bottom:"50%"},{left:t.marginLeft,right:t.marginRight,containLabel:!0,top:"51%",bottom:t.marginBottom}];this.options.grid=i},setOptionsLegend:function(){var t=this.optionsSetup,i=this.options.legend;i.show=t.isShowLegend,i.left=t.lateralPosition,i.top="top"==t.longitudinalPosition?0:"auto",i.bottom="bottom"==t.longitudinalPosition?0:"auto",i.orient=t.layoutFront,i.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},i.itemWidth=t.lengedWidth},setOptionsColor:function(){for(var t=this.optionsSetup,i=t.customColor,e=this.options.series,o=[],s=0;s"+t.seriesName+" ---\x3e "+t.data.name+"
人数:"+t.data.value[2]+"人":"lines"==t.seriesType?"流出
"+t.data.fromName+" ---\x3e "+t.data.toName+"
人数:"+t.data.value+"人":t.name}},legend:{show:!1,orient:"vertical",top:"bottom",left:"right",data:["广州"],textStyle:{color:"#fff"},selectedMode:"single"},geo:{map:"china",label:{emphasis:{show:!0,color:"white"}},roam:!0,itemStyle:{normal:{areaColor:"#323c48",borderColor:"#404a59"},emphasis:{areaColor:"#2a333d"}}},series:[]},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position},deep:!0}},created:function(){this.optionsStyle=this.value.position},mounted:function(){this.initData()},methods:{initData:function(){var t=this.options;t.series.push({name:n[0],type:"lines",zlevel:1,effect:{show:!0,period:6,trailLength:.7,color:"#fff",symbolSize:3},lineStyle:{normal:{color:s[0],width:0,curveness:.2}},data:this.convertData(n[1])},{name:n[0],type:"lines",zlevel:2,effect:{show:!0,period:6,trailLength:0,symbol:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",symbolSize:15},lineStyle:{normal:{color:s[0],width:1,opacity:.4,curveness:.2}},data:this.convertData(n[1])},{name:n[0],type:"effectScatter",coordinateSystem:"geo",zlevel:2,rippleEffect:{brushType:"stroke"},label:{normal:{show:!0,position:"right",formatter:"{b}"}},symbolSize:function(t){return t[2]/8},itemStyle:{normal:{color:s[0]}},data:n[1].map(function(t){return{name:t[1].name,value:o[t[1].name].concat([t[1].value])}})}),this.options=t},convertData:function(t){for(var i=[],e=0;e{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],type:"line"}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionsX:function(){var t=this.optionsSetup,i={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=i},setOptionsY:function(){var t=this.optionsSetup,i={type:"value",scale:t.scale,splitNumber:t.splitNumber,show:t.isShowY,name:t.textNameY,nameTextStyle:{color:t.nameColorY,fontSize:t.namefontSizeY},inverse:t.reversalY,axisLabel:{show:!0,rotate:t.ytextAngle,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:t.isShowSplitLineY,lineStyle:{color:t.splitLineColorY}}};this.options.yAxis=i},setOptionsTop:function(){var t=this.optionsSetup,i=this.options.series;for(var e in i)"line"==i[e].type&&(i[e].showSymbol=t.markPoint,i[e].symbolSize=t.pointSize,i[e].smooth=t.smoothCurve,t.area?i[e].areaStyle={opacity:t.areaThickness/100}:i[e].areaStyle={opacity:0},i[e].lineStyle={width:t.lineWidth},i[e].label={show:t.isShow,position:"top",distance:10,fontSize:t.fontSize,color:t.subTextColor,fontWeight:t.fontWeight});this.options.series=i},setOptionsTooltip:function(){var t=this.optionsSetup,i={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.fontSize}};this.options.tooltip=i},setOptionsMargin:function(){var t=this.optionsSetup,i={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=i},setOptionsLegend:function(){var t=this.optionsSetup,i=this.options.legend;i.show=t.isShowLegend,i.left="left"==t.lateralPosition?0:"auto",i.right="right"==t.lateralPosition?0:"auto",i.top="top"==t.longitudinalPosition?0:"auto",i.bottom="bottom"==t.longitudinalPosition?0:"auto",i.orient=t.layoutFront,i.textStyle={color:t.lengedColor,fontSize:t.fontSize},i.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var i=[],e=0;e{b} : {c}"},legend:{x:"center",y:"92%",textStyle:{color:"#fff"}},series:[{name:"",type:"funnel",left:"center",width:"80%",sort:"descending",label:{normal:{show:!0,position:"inside",formatter:"{c}",textStyle:{color:"#fff",fontSize:14}},emphasis:{position:"inside",formatter:"{b}: {c}"}},itemStyle:{normal:{opacity:.8,borderColor:"rgba(12, 13, 43, .9)",borderWidth:1,shadowBlur:4,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0, 0, 0, .6)"}},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setEnding(),this.setOptionsText(),this.setOptionsTitle(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData()},setEnding:function(){var t=this.optionsSetup,i=this.options.series;t.ending?i[0].sort="ascending":i[0].sort="descending"},setOptionsText:function(){var t=this.optionsSetup,i={show:t.isShow,position:"inside",formatter:"{c}",textStyle:{color:t.color,fontSize:t.fontSize,fontWeight:t.fontWeight}};this.options.series[0].label.normal=i},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionsTooltip:function(){var t=this.optionsSetup,i={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipFontSize}};this.options.tooltip=i},setOptionsLegend:function(){var t=this.optionsSetup,i=this.options.legend;i.show=t.isShowLegend,i.left=t.lateralPosition,i.right=t.lateralPosition,i.top=t.longitudinalPosition,i.bottom=t.longitudinalPosition,i.orient=t.layoutFront,i.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},i.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var i=[],e=0;e1?"  "+t.name+"   "+t.value[2]+"  ":"  "+t.name+"   "+t.value+"  "}},geo:{map:"china",show:!0,roam:!1,label:{emphasis:{show:!1}},layoutSize:"80%",itemStyle:{normal:{borderColor:new s.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#00F6FF"},{offset:1,color:"#53D9FF"}],!1),borderWidth:3,shadowColor:"rgba(10,76,139,1)",shadowOffsetY:0,shadowBlur:60}}},series:[{type:"map",map:"china",aspectScale:.75,label:{normal:{position:"right",show:!0,color:"#53D9FF",fontSize:20},emphasis:{show:!0}},itemStyle:{normal:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#061E3D"}]},borderColor:"#215495",borderWidth:1},emphasis:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#2B91B7"}]}}},data:a},{type:"effectScatter",coordinateSystem:"geo",rippleEffect:{brushType:"stroke"},showEffectOn:"render",itemStyle:{normal:{color:{type:"radial",x:.5,y:.5,r:.5,colorStops:[{offset:0,color:"rgba(5,80,151,0.2)"},{offset:.8,color:"rgba(5,80,151,0.8)"},{offset:1,color:"rgba(0,108,255,0.7)"}],global:!1}}},label:{normal:{show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:13,color:"#D4EEFF"}}}},symbol:"circle",symbolSize:function(t){return 0==t[2]?0:(l-h)/5990*t[2]+1.2*(l-(l-h)/5990*6e3)},data:r(a),zlevel:1}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionTextValue(),this.setOptionsData(),this.setOptionAirSize(),this.setOptionMapBlocak()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.show=t.isNoTitle,i.text=t.titleText,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionTextValue:function(){var t=this.optionsSetup,i=this.options.series[0].label,e={position:"right",show:!0,color:t.fontTextColor,fontSize:t.fontTextSize,fontWeight:t.fontTextWeight};i.normal=e},setOptionMapBlocak:function(){var t=this.optionsSetup,i=this.options.series[0].itemStyle,e={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:t.font0PreColor},{offset:1,color:t.font100PreColor}]},borderColor:"#215495",borderWidth:1},o={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:t.fontHighlightColor}]}};i.normal=e,i.emphasis=o},setOptionAirSize:function(){l=this.optionsSetup.fontmaxSize4Pin,h=this.optionsSetup.fontminSize4Pin},setOptionsData:function(){var t=this.optionsData;"staticData"==t.dataType?this.staticDataFn(t.staticData):this.dynamicDataFn(t.dynamicData,t.refreshTime)},staticDataFn:function(t){this.options.series[0].data=t;var i=this.optionsSetup,e=this.options.series[1].label,o={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:i.fontDataSize,color:i.fontDataColor,fontWeight:i.fontDataWeight}}},s=r(t);this.options.series[1].data=s,e.normal=o},dynamicDataFn:function(t,i){var e=this;t&&(this.ispreview?(this.getEchartData(t),this.flagInter=setInterval(function(){e.getEchartData(t)},i)):this.getEchartData(t))},getEchartData:function(t){var i=this;this.queryEchartsData(t).then(function(t){i.renderingFn(t)})},renderingFn:function(t){this.options.series[0].data=t;var i=this.optionsSetup,e=this.options.series[1].label,o={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(t){return"{cnNum|"+t.data.value[2]+"}"},rich:{cnNum:{fontSize:i.fontDataSize,color:i.fontDataColor,fontWeight:i.fontDataWeight}}},s=r(t);this.options.series[1].data=s,e.normal=o}}},c=(e("y19Z"),e("ZrdR")),u=Object(c.a)(p,function(){var t=this.$createElement,i=this._self._c||t;return i("div",{style:this.styleObj},[i("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"4cafc378",null);u.options.__file="widgetAirBubbleMap.vue";i.a=u.exports},"he/L":function(t,i,e){},iFC1:function(t,i,e){"use strict";var o=e("6ZY3"),s=e.n(o),n={name:"WidgetBarStackchart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{grid:{},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:[],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",data:[],axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],name:"",type:"line",barGap:"0%",itemStyle:{barBorderRadius:null}}]},optionsStyle:{},optionsData:{},optionsSetup:{},flagInter:null}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.setup,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTooltip(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsData()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionsX:function(){var t=this.optionsSetup,i={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.xNameColor,fontSize:t.xNameFontSize},nameRotate:t.textAngleX,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=i},setOptionsY:function(){var t=this.optionsSetup,i={type:"value",show:t.isShowY,name:t.textNameY,nameTextStyle:{color:t.NameColorY,fontSize:t.NameFontSizeY},inverse:t.reversalY,axisLabel:{show:!0,rotate:t.textAngleY,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:t.isShowSplitLineY,lineStyle:{color:t.splitLineColorY}}};this.options.yAxis=i},getOptionArea:function(){var t=this.optionsSetup;return t.area?{opacity:t.areaThickness/100}:{opacity:0}},setOptionsTooltip:function(){var t=this.optionsSetup,i={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipsFontSize}};this.options.tooltip=i},setOptionsMargin:function(){var t=this.optionsSetup,i={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=i},setOptionsLegend:function(){var t=this.optionsSetup,i=this.options.legend;i.show=t.isShowLegend,i.left=t.lateralPosition,i.top="top"==t.longitudinalPosition?0:"auto",i.bottom="bottom"==t.longitudinalPosition?0:"auto",i.orient=t.layoutFront,i.textStyle={color:t.lengedColor,fontSize:t.lengedFontSize},i.itemWidth=t.lengedWidth},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var i=[],e=0;e-1?this.formatWeek(new Date,this.transStyle.timeFormat):this.formatFunction(new Date,this.transStyle.timeFormat)},getTime:function(){var t=this;setInterval(function(){t.displayTime()},1e3)}}},s=(e("C1yC"),e("ZrdR")),n=Object(s.a)(o,function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"text",style:this.styleColor},[this._v(this._s(this.timestr))])},[],!1,null,"00cb103e",null);n.options.__file="widgetTime.vue";i.a=n.exports},mPNK:function(t,i,e){},nBN6:function(t,i,e){},npz5:function(t,i,e){"use strict";var o=e("epmM");e.n(o).a},oRtw:function(t,i,e){"use strict";var o=e("xpOT");e.n(o).a},oaTJ:function(t,i,e){},pbBD:function(t,i,e){},qcVT:function(t,i,e){"use strict";var o=e("jLpF");e.n(o).a},rVoX:function(t,i,e){},sXJk:function(t,i,e){"use strict";var o=e("pbBD");e.n(o).a},"ubT/":function(t,i,e){"use strict";var o=e("6ZY3"),s=e.n(o),n={name:"WidgetBarlinechart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{color:[],grid:{},title:{text:"",textStyle:{color:"#fff"}},tooltip:{trigger:"item",formatter:"{a}
{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:[{type:"category",data:[],axisLabel:{show:!1,textStyle:{color:"#fff"}}}],yAxis:[{type:"value",name:"",min:0,max:250,interval:50,axisLabel:{show:!0,textStyle:{color:"#fff"}}},{type:"value",name:"",min:0,max:25,interval:5,axisLabel:{show:!0,textStyle:{color:"#fff"}}}],series:[{name:"",type:"bar",data:[],itemStyle:{barBorderRadius:null}},{name:"",type:"line",yAxisIndex:1,data:[],itemStyle:{}}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(t){this.optionsStyle=t.position,this.optionsData=t.data,this.optionsCollapse=t.collapse,this.optionsSetup=t.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsBar(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsColor()},setOptionsTitle:function(){var t=this.optionsSetup,i={};i.text=t.titleText,i.show=t.isNoTitle,i.left=t.textAlign,i.textStyle={color:t.textColor,fontSize:t.textFontSize,fontWeight:t.textFontWeight},i.subtext=t.subText,i.subtextStyle={color:t.subTextColor,fontWeight:t.subTextFontWeight,fontSize:t.subTextFontSize},this.options.title=i},setOptionsX:function(){var t=this.optionsSetup,i={type:"category",show:t.hideX,name:t.xName,nameTextStyle:{color:t.nameColorX,fontSize:t.nameFontSizeX},nameRotate:t.textAngle,inverse:t.reversalX,axisLabel:{show:!0,interval:t.textInterval,rotate:t.textAngle,textStyle:{color:t.Xcolor,fontSize:t.fontSizeX}},axisLine:{show:!0,lineStyle:{color:t.lineColorX}},splitLine:{show:t.isShowSplitLineX,lineStyle:{color:t.splitLineColorX}}};this.options.xAxis=i},setOptionsY:function(){var t=this.optionsSetup,i=[{type:"value",splitNumber:t.splitNumberLeft,show:t.isShowYLeft,name:t.textNameYLeft,nameTextStyle:{color:t.nameColorYLeft,fontSize:t.namefontSizeYLeft},inverse:t.reversalY,axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}},{type:"value",splitNumber:t.splitNumberRight,show:t.isShowYRight,name:t.textNameYRight,nameTextStyle:{color:t.nameColorYRight,fontSize:t.namefontSizeYRight},inverse:t.reversalY,axisLabel:{show:!0,textStyle:{color:t.colorY,fontSize:t.fontSizeY}},axisLine:{show:!0,lineStyle:{color:t.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=i},setOptionsTop:function(){var t=this.optionsSetup,i=this.options.series;for(var e in i)"line"==i[e].type&&(i[e].showSymbol=t.markPoint,i[e].symbolSize=t.pointSize,i[e].smooth=t.smoothCurve,t.area?i[e].areaStyle={opacity:t.areaThickness/100}:i[e].areaStyle={opacity:0},i[e].lineStyle={width:t.lineWidth},i[e].itemStyle.borderRadius=t.radius,i[e].label={show:t.isShowLine,position:"top",distance:t.distanceLine,fontSize:t.fontSizeLine,color:t.subTextColorLine,fontWeight:t.fontWeightLine});this.options.series=i},setOptionsBar:function(){var t=this.optionsSetup,i=this.options.series;for(var e in i)"bar"==i[e].type&&(i[e].label={show:t.isShowBar,position:"top",distance:t.distanceBar,fontSize:t.fontSizeBar,color:t.subTextColorBar,fontWeight:t.fontWeightBar},i[e].barWidth=t.maxWidth,i[e].barMinHeight=t.minHeight,i[e].itemStyle.barBorderRadius=t.radius);this.options.series=i},setOptionsTooltip:function(){var t=this.optionsSetup,i={trigger:"item",show:!0,textStyle:{color:t.lineColor,fontSize:t.tipFontSize}};this.options.tooltip=i},setOptionsMargin:function(){var t=this.optionsSetup,i={left:t.marginLeft,right:t.marginRight,bottom:t.marginBottom,top:t.marginTop,containLabel:!0};this.options.grid=i},setOptionsColor:function(){var t=this.optionsSetup.customColor;if(t){for(var i=[],e=0;e0){var e={};t.dataSetParamDtoList.forEach(function(t){e[t.paramName]=t.sampleItem}),l[t.setCode]=e}}),t.reportExcelDto.setParam=o()(l),t.reportExcelDto.setCodes=n.join("|"),t.reportExcelDto.reportCode=t.reportCode,null!=t.reportId){e.next=19;break}return e.next=12,Object(h.b)(t.reportExcelDto);case 12:if(c=e.sent,"200"==c.code){e.next=16;break}return e.abrupt("return");case 16:t.$message.success("保存成功"),e.next=27;break;case 19:return t.reportExcelDto.id=t.reportId,e.next=22,Object(h.e)(t.reportExcelDto);case 22:if(s=e.sent,"200"==s.code){e.next=26;break}return e.abrupt("return");case 26:t.$message.success("更新成功");case 27:case"end":return e.stop()}},e,t)}))()},detailByReportCode:function(t){var e=this;return c()(i.a.mark(function a(){var r,o;return i.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Object(d.b)(t);case 2:r=a.sent,r.code,null!=(o=r.data)&&(e.reportId=o.id);case 6:case"end":return a.stop()}},a,e)}))()},preview:function(){var t=this;return c()(i.a.mark(function e(){var a;return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.$router.resolve({path:"/excelreport/viewer",query:{reportCode:t.reportCode}}),window.open(a.href,"_blank");case 2:case"end":return e.stop()}},e,t)}))()},queryAllDataSet:function(){var t=this;return c()(i.a.mark(function e(){return i.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:t.outerVisible=!0;case 1:case"end":return e.stop()}},e,t)}))()},handleSelectionChange:function(t){this.multipleSelection=t},checkDataSet:function(){this.outerVisible=!1,this.multipleSelection.length>1?(this.$message({message:"一次最多勾选一个数据集",type:"warning"}),this.outerVisible=!0):this.detail(this.multipleSelection[0].id)},detail:function(t){var e=this;return c()(i.a.mark(function a(){var r,o,n,l;return i.a.wrap(function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,Object(d.a)(t);case 2:if(r=a.sent,o=r.code,n=r.data,200==o){a.next=7;break}return a.abrupt("return");case 7:l=!0,e.dataSet.forEach(function(t){t.setCode===n.setCode&&(l=!1)}),l&&e.dataSet.push(n);case 10:case"end":return a.stop()}},a,e)}))()},del:function(t){for(var e=0;e"+e.seriesName+" ---\x3e "+e.data.name+"
人数:"+e.data.value[2]+"人":"lines"==e.seriesType?"流出
"+e.data.fromName+" ---\x3e "+e.data.toName+"
人数:"+e.data.value+"人":e.name}},legend:{show:!1,orient:"vertical",top:"bottom",left:"right",data:["广州"],textStyle:{color:"#fff"},selectedMode:"single"},geo:{map:"china",label:{emphasis:{show:!0,color:"white"}},roam:!0,itemStyle:{normal:{areaColor:"#323c48",borderColor:"#404a59"},emphasis:{areaColor:"#2a333d"}}},series:[]},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position},deep:!0}},created:function(){this.optionsStyle=this.value.position},mounted:function(){this.initData()},methods:{initData:function(){var e=this.options;e.series.push({name:o[0],type:"lines",zlevel:1,effect:{show:!0,period:6,trailLength:.7,color:"#fff",symbolSize:3},lineStyle:{normal:{color:l[0],width:0,curveness:.2}},data:this.convertData(o[1])},{name:o[0],type:"lines",zlevel:2,effect:{show:!0,period:6,trailLength:0,symbol:"path://M1705.06,1318.313v-89.254l-319.9-221.799l0.073-208.063c0.521-84.662-26.629-121.796-63.961-121.491c-37.332-0.305-64.482,36.829-63.961,121.491l0.073,208.063l-319.9,221.799v89.254l330.343-157.288l12.238,241.308l-134.449,92.931l0.531,42.034l175.125-42.917l175.125,42.917l0.531-42.034l-134.449-92.931l12.238-241.308L1705.06,1318.313z",symbolSize:15},lineStyle:{normal:{color:l[0],width:1,opacity:.4,curveness:.2}},data:this.convertData(o[1])},{name:o[0],type:"effectScatter",coordinateSystem:"geo",zlevel:2,rippleEffect:{brushType:"stroke"},label:{normal:{show:!0,position:"right",formatter:"{b}"}},symbolSize:function(e){return e[2]/8},itemStyle:{normal:{color:l[0]}},data:o[1].map(function(e){return{name:e[1].name,value:i[e[1].name].concat([e[1].value])}})}),this.options=e},convertData:function(e){for(var t=[],a=0;a0)for(var a=0;a0){for(var t=0;t0)for(var r=0;r=this.widgets.length||(this.widgetIndex=e.index,this.widgets[e.index].value.position=e,this.widgets[e.index].options.position.forEach(function(t){for(var a in e)t.name==a&&(t.value=e[a])}),this.widgetOptions=this.deepClone(this.widgets[e.index].options)):this.widgetOptions=this.deepClone(this.widgets[e].options)},widgetsClick:function(e){for(var t=this.$refs.widgets,a=0;a{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],type:"line"}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsColor()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.nameColorX,fontSize:e.nameFontSizeX},nameRotate:e.textAngle,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t={type:"value",scale:e.scale,splitNumber:e.splitNumber,show:e.isShowY,name:e.textNameY,nameTextStyle:{color:e.nameColorY,fontSize:e.namefontSizeY},inverse:e.reversalY,axisLabel:{show:!0,rotate:e.ytextAngle,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:e.isShowSplitLineY,lineStyle:{color:e.splitLineColorY}}};this.options.yAxis=t},setOptionsTop:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"line"==t[a].type&&(t[a].showSymbol=e.markPoint,t[a].symbolSize=e.pointSize,t[a].smooth=e.smoothCurve,e.area?t[a].areaStyle={opacity:e.areaThickness/100}:t[a].areaStyle={opacity:0},t[a].lineStyle={width:e.lineWidth},t[a].label={show:e.isShow,position:"top",distance:10,fontSize:e.fontSize,color:e.subTextColor,fontWeight:e.fontWeight});this.options.series=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.fontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left="left"==e.lateralPosition?0:"auto",t.right="right"==e.lateralPosition?0:"auto",t.top="top"==e.longitudinalPosition?0:"auto",t.bottom="bottom"==e.longitudinalPosition?0:"auto",t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.fontSize},t.itemWidth=e.lengedWidth},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a{b} : {c}"},legend:{x:"center",y:"92%",textStyle:{color:"#fff"}},series:[{name:"",type:"funnel",left:"center",width:"80%",sort:"descending",label:{normal:{show:!0,position:"inside",formatter:"{c}",textStyle:{color:"#fff",fontSize:14}},emphasis:{position:"inside",formatter:"{b}: {c}"}},itemStyle:{normal:{opacity:.8,borderColor:"rgba(12, 13, 43, .9)",borderWidth:1,shadowBlur:4,shadowOffsetX:0,shadowOffsetY:0,shadowColor:"rgba(0, 0, 0, .6)"}},data:[]}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setEnding(),this.setOptionsText(),this.setOptionsTitle(),this.setOptionsTooltip(),this.setOptionsLegend(),this.setOptionsColor(),this.setOptionsData()},setEnding:function(){var e=this.optionsSetup,t=this.options.series;e.ending?t[0].sort="ascending":t[0].sort="descending"},setOptionsText:function(){var e=this.optionsSetup,t={show:e.isShow,position:"inside",formatter:"{c}",textStyle:{color:e.color,fontSize:e.fontSize,fontWeight:e.fontWeight}};this.options.series[0].label.normal=t},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipFontSize}};this.options.tooltip=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.right=e.lateralPosition,t.top=e.longitudinalPosition,t.bottom=e.longitudinalPosition,t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.lengedFontSize},t.itemWidth=e.lengedWidth},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a1?"  "+e.name+"   "+e.value[2]+"  ":"  "+e.name+"   "+e.value+"  "}},geo:{map:"china",show:!0,roam:!1,label:{emphasis:{show:!1}},layoutSize:"80%",itemStyle:{normal:{borderColor:new l.a.graphic.LinearGradient(0,0,0,1,[{offset:0,color:"#00F6FF"},{offset:1,color:"#53D9FF"}],!1),borderWidth:3,shadowColor:"rgba(10,76,139,1)",shadowOffsetY:0,shadowBlur:60}}},series:[{type:"map",map:"china",aspectScale:.75,label:{normal:{position:"right",show:!0,color:"#53D9FF",fontSize:20},emphasis:{show:!0}},itemStyle:{normal:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#061E3D"}]},borderColor:"#215495",borderWidth:1},emphasis:{areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:"#2B91B7"}]}}},data:n},{type:"effectScatter",coordinateSystem:"geo",rippleEffect:{brushType:"stroke"},showEffectOn:"render",itemStyle:{normal:{color:{type:"radial",x:.5,y:.5,r:.5,colorStops:[{offset:0,color:"rgba(5,80,151,0.2)"},{offset:.8,color:"rgba(5,80,151,0.8)"},{offset:1,color:"rgba(0,108,255,0.7)"}],global:!1}}},label:{normal:{show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:13,color:"#D4EEFF"}}}},symbol:"circle",symbolSize:function(e){return 0==e[2]?0:(s-p)/5990*e[2]+1.2*(s-(s-p)/5990*6e3)},data:r(n),zlevel:1}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.setup,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionTextValue(),this.setOptionsData(),this.setOptionAirSize(),this.setOptionMapBlocak()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.show=e.isNoTitle,t.text=e.titleText,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionTextValue:function(){var e=this.optionsSetup,t=this.options.series[0].label,a={position:"right",show:!0,color:e.fontTextColor,fontSize:e.fontTextSize,fontWeight:e.fontTextWeight};t.normal=a},setOptionMapBlocak:function(){var e=this.optionsSetup,t=this.options.series[0].itemStyle,a={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:e.font0PreColor},{offset:1,color:e.font100PreColor}]},borderColor:"#215495",borderWidth:1},i={areaColor:{x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"#073684"},{offset:1,color:e.fontHighlightColor}]}};t.normal=a,t.emphasis=i},setOptionAirSize:function(){s=this.optionsSetup.fontmaxSize4Pin,p=this.optionsSetup.fontminSize4Pin},setOptionsData:function(){var e=this.optionsData;"staticData"==e.dataType?this.staticDataFn(e.staticData):this.dynamicDataFn(e.dynamicData,e.refreshTime)},staticDataFn:function(e){this.options.series[0].data=e;var t=this.optionsSetup,a=this.options.series[1].label,i={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:t.fontDataSize,color:t.fontDataColor,fontWeight:t.fontDataWeight}}},l=r(e);this.options.series[1].data=l,a.normal=i},dynamicDataFn:function(e,t){var a=this;e&&(this.ispreview?(this.getEchartData(e),this.flagInter=setInterval(function(){a.getEchartData(e)},t)):this.getEchartData(e))},getEchartData:function(e){var t=this;this.queryEchartsData(e).then(function(e){t.renderingFn(e)})},renderingFn:function(e){this.options.series[0].data=e;var t=this.optionsSetup,a=this.options.series[1].label,i={show:!0,color:"#fff",fontWeight:"bold",position:"inside",formatter:function(e){return"{cnNum|"+e.data.value[2]+"}"},rich:{cnNum:{fontSize:t.fontDataSize,color:t.fontDataColor,fontWeight:t.fontDataWeight}}},l=r(e);this.options.series[1].data=l,a.normal=i}}},c=(a("y19Z"),a("ZrdR")),d=Object(c.a)(u,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{style:this.styleObj},[t("v-chart",{attrs:{options:this.options,autoresize:""}})],1)},[],!1,null,"4cafc378",null);d.options.__file="widgetAirBubbleMap.vue";t.a=d.exports},hcjt:function(e,t,a){},"he/L":function(e,t,a){},iFC1:function(e,t,a){"use strict";var i=a("6ZY3"),l=a.n(i),o={name:"WidgetBarStackchart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{grid:{},legend:{textStyle:{color:"#fff"}},xAxis:{type:"category",data:[],axisLabel:{show:!0,textStyle:{color:"#fff"}}},yAxis:{type:"value",data:[],axisLabel:{show:!0,textStyle:{color:"#fff"}}},series:[{data:[],name:"",type:"line",barGap:"0%",itemStyle:{barBorderRadius:null}}]},optionsStyle:{},optionsData:{},optionsSetup:{},flagInter:null}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.setup,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},mounted:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.setup,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTooltip(),this.setOptionsMargin(),this.setOptionsLegend(),this.setOptionsData()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.xNameColor,fontSize:e.xNameFontSize},nameRotate:e.textAngleX,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t={type:"value",show:e.isShowY,name:e.textNameY,nameTextStyle:{color:e.NameColorY,fontSize:e.NameFontSizeY},inverse:e.reversalY,axisLabel:{show:!0,rotate:e.textAngleY,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:e.isShowSplitLineY,lineStyle:{color:e.splitLineColorY}}};this.options.yAxis=t},getOptionArea:function(){var e=this.optionsSetup;return e.area?{opacity:e.areaThickness/100}:{opacity:0}},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipsFontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsLegend:function(){var e=this.optionsSetup,t=this.options.legend;t.show=e.isShowLegend,t.left=e.lateralPosition,t.top="top"==e.longitudinalPosition?0:"auto",t.bottom="bottom"==e.longitudinalPosition?0:"auto",t.orient=e.layoutFront,t.textStyle={color:e.lengedColor,fontSize:e.lengedFontSize},t.itemWidth=e.lengedWidth},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a-1?this.formatWeek(new Date,this.transStyle.timeFormat):this.formatFunction(new Date,this.transStyle.timeFormat)},getTime:function(){var e=this;setInterval(function(){e.displayTime()},1e3)}}},l=(a("C1yC"),a("ZrdR")),o=Object(l.a)(i,function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"text",style:this.styleColor},[this._v(this._s(this.timestr))])},[],!1,null,"00cb103e",null);o.options.__file="widgetTime.vue";t.a=o.exports},mPNK:function(e,t,a){},nBN6:function(e,t,a){},"nZ+g":function(e,t,a){},npz5:function(e,t,a){"use strict";var i=a("epmM");a.n(i).a},oRtw:function(e,t,a){"use strict";var i=a("xpOT");a.n(i).a},oaTJ:function(e,t,a){},pbBD:function(e,t,a){},qcVT:function(e,t,a){"use strict";var i=a("jLpF");a.n(i).a},rVG9:function(e,t,a){"use strict";var i=a("ctb9");a.n(i).a},rVoX:function(e,t,a){},sXJk:function(e,t,a){"use strict";var i=a("pbBD");a.n(i).a},tsJQ:function(e,t,a){},"ubT/":function(e,t,a){"use strict";var i=a("6ZY3"),l=a.n(i),o={name:"WidgetBarlinechart",components:{},props:{value:Object,ispreview:Boolean},data:function(){return{options:{color:[],grid:{},title:{text:"",textStyle:{color:"#fff"}},tooltip:{trigger:"item",formatter:"{a}
{b} : {c}%"},legend:{textStyle:{color:"#fff"}},xAxis:[{type:"category",data:[],axisLabel:{show:!1,textStyle:{color:"#fff"}}}],yAxis:[{type:"value",name:"",min:0,max:250,interval:50,axisLabel:{show:!0,textStyle:{color:"#fff"}}},{type:"value",name:"",min:0,max:25,interval:5,axisLabel:{show:!0,textStyle:{color:"#fff"}}}],series:[{name:"",type:"bar",data:[],itemStyle:{barBorderRadius:null}},{name:"",type:"line",yAxisIndex:1,data:[],itemStyle:{}}]},optionsStyle:{},optionsData:{},optionsCollapse:{},optionsSetup:{}}},computed:{styleObj:function(){return{position:this.ispreview?"absolute":"static",width:this.optionsStyle.width+"px",height:this.optionsStyle.height+"px",left:this.optionsStyle.left+"px",top:this.optionsStyle.top+"px",background:this.optionsSetup.background}}},watch:{value:{handler:function(e){this.optionsStyle=e.position,this.optionsData=e.data,this.optionsCollapse=e.collapse,this.optionsSetup=e.setup,this.editorOptions()},deep:!0}},created:function(){this.optionsStyle=this.value.position,this.optionsData=this.value.data,this.optionsCollapse=this.value.collapse,this.optionsSetup=this.value.setup,this.editorOptions()},methods:{editorOptions:function(){this.setOptionsTitle(),this.setOptionsX(),this.setOptionsY(),this.setOptionsTop(),this.setOptionsBar(),this.setOptionsTooltip(),this.setOptionsData(),this.setOptionsMargin(),this.setOptionsColor()},setOptionsTitle:function(){var e=this.optionsSetup,t={};t.text=e.titleText,t.show=e.isNoTitle,t.left=e.textAlign,t.textStyle={color:e.textColor,fontSize:e.textFontSize,fontWeight:e.textFontWeight},t.subtext=e.subText,t.subtextStyle={color:e.subTextColor,fontWeight:e.subTextFontWeight,fontSize:e.subTextFontSize},this.options.title=t},setOptionsX:function(){var e=this.optionsSetup,t={type:"category",show:e.hideX,name:e.xName,nameTextStyle:{color:e.nameColorX,fontSize:e.nameFontSizeX},nameRotate:e.textAngle,inverse:e.reversalX,axisLabel:{show:!0,interval:e.textInterval,rotate:e.textAngle,textStyle:{color:e.Xcolor,fontSize:e.fontSizeX}},axisLine:{show:!0,lineStyle:{color:e.lineColorX}},splitLine:{show:e.isShowSplitLineX,lineStyle:{color:e.splitLineColorX}}};this.options.xAxis=t},setOptionsY:function(){var e=this.optionsSetup,t=[{type:"value",splitNumber:e.splitNumberLeft,show:e.isShowYLeft,name:e.textNameYLeft,nameTextStyle:{color:e.nameColorYLeft,fontSize:e.namefontSizeYLeft},inverse:e.reversalY,axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}},{type:"value",splitNumber:e.splitNumberRight,show:e.isShowYRight,name:e.textNameYRight,nameTextStyle:{color:e.nameColorYRight,fontSize:e.namefontSizeYRight},inverse:e.reversalY,axisLabel:{show:!0,textStyle:{color:e.colorY,fontSize:e.fontSizeY}},axisLine:{show:!0,lineStyle:{color:e.lineColorY}},splitLine:{show:!1}}];this.options.yAxis=t},setOptionsTop:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"line"==t[a].type&&(t[a].showSymbol=e.markPoint,t[a].symbolSize=e.pointSize,t[a].smooth=e.smoothCurve,e.area?t[a].areaStyle={opacity:e.areaThickness/100}:t[a].areaStyle={opacity:0},t[a].lineStyle={width:e.lineWidth},t[a].itemStyle.borderRadius=e.radius,t[a].label={show:e.isShowLine,position:"top",distance:e.distanceLine,fontSize:e.fontSizeLine,color:e.subTextColorLine,fontWeight:e.fontWeightLine});this.options.series=t},setOptionsBar:function(){var e=this.optionsSetup,t=this.options.series;for(var a in t)"bar"==t[a].type&&(t[a].label={show:e.isShowBar,position:"top",distance:e.distanceBar,fontSize:e.fontSizeBar,color:e.subTextColorBar,fontWeight:e.fontWeightBar},t[a].barWidth=e.maxWidth,t[a].barMinHeight=e.minHeight,t[a].itemStyle.barBorderRadius=e.radius);this.options.series=t},setOptionsTooltip:function(){var e=this.optionsSetup,t={trigger:"item",show:!0,textStyle:{color:e.lineColor,fontSize:e.tipFontSize}};this.options.tooltip=t},setOptionsMargin:function(){var e=this.optionsSetup,t={left:e.marginLeft,right:e.marginRight,bottom:e.marginBottom,top:e.marginTop,containLabel:!0};this.options.grid=t},setOptionsColor:function(){var e=this.optionsSetup.customColor;if(e){for(var t=[],a=0;a=0,r=c.indexOf("Macintosh")>=0,l=c.indexOf("Macintosh")>=0&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,s=c.indexOf("Linux")>=0,u=!0,navigator.language;var g=o,m=r,v=s,_=a,y=u,b=l,w="object"==typeof self?self:"object"==typeof i?i:{},C=function(){if(w.setImmediate)return w.setImmediate.bind(w);if("function"==typeof w.postMessage&&!w.importScripts){var t=[];w.addEventListener("message",function(e){if(e.data&&e.data.vscodeSetImmediateId)for(var n=0,i=t.length;n/?";var a=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",n=0,i=s;n=0||(t+="\\"+o)}return t+="\\s]+)",new RegExp(t,"g")}();function u(e){var t=a;if(e&&e instanceof RegExp)if(e.global)t=e;else{var n="g";e.ignoreCase&&(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),t=new RegExp(e.source,n)}return t.lastIndex=0,t}function l(e,t,n,i){t.lastIndex=0;var o=t.exec(n);if(!o)return null;var r=o[0].indexOf(" ")>=0?function(e,t,n,i){var o,r=e-1-i;for(t.lastIndex=0;o=t.exec(n);){var s=o.index||0;if(s>r)return null;if(t.lastIndex>=r)return{word:o[0],startColumn:i+1+s,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i):function(e,t,n,i){var o,r=e-1-i,s=n.lastIndexOf(" ",r-1)+1;for(t.lastIndex=s;o=t.exec(n);){var a=o.index||0;if(a<=r&&t.lastIndex>=r)return{word:o[0],startColumn:i+1+a,endColumn:i+1+t.lastIndex}}return null}(e,t,n,i);return t.lastIndex=0,r}var c=function(){var e=function(t,n){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(t,n)};return function(t,n){function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}}(),d=function(){return(d=Object.assign||function(e){for(var t,n=1,i=arguments.length;nn?n:e},t.float=function(e,t){if("number"==typeof e)return e;if(void 0===e)return t;var n=parseFloat(e);return isNaN(n)?t:n},t.prototype.validate=function(e){return this.validationFn(t.float(e,this.defaultValue))},t}(m),b=function(e){function t(t,n,i,o){void 0===o&&(o=void 0);return void 0!==o&&(o.type="string",o.default=i),e.call(this,t,n,i,o)||this}return c(t,e),t.string=function(e,t){return"string"!=typeof e?t:e},t.prototype.validate=function(e){return t.string(e,this.defaultValue)},t}(m),w=function(e){function t(t,n,i,o,r){void 0===r&&(r=void 0);var s=this;return void 0!==r&&(r.type="string",r.enum=o,r.default=i),(s=e.call(this,t,n,i,r)||this)._allowedValues=o,s}return c(t,e),t.stringSet=function(e,t,n){return"string"!=typeof e?t:-1===n.indexOf(e)?t:e},t.prototype.validate=function(e){return t.stringSet(e,this.defaultValue,this._allowedValues)},t}(m),C=function(e){function t(t,n,i,o,r,s,a){void 0===a&&(a=void 0);var u=this;return void 0!==a&&(a.type="string",a.enum=r,a.default=o),(u=e.call(this,t,n,i,a)||this)._allowedValues=r,u._convert=s,u}return c(t,e),t.prototype.validate=function(e){return"string"!=typeof e?this.defaultValue:-1===this._allowedValues.indexOf(e)?this.defaultValue:this._convert(e)},t}(f);var S,L=function(e){function t(){return e.call(this,2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[o("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),o("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),o("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:"auto",description:o("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")})||this}return c(t,e),t.prototype.validate=function(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue},t.prototype.compute=function(e,t,n){return 0===n?e.accessibilitySupport:n},t}(f),x=function(e){function t(){var t={insertSpace:!0};return e.call(this,13,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:o("comments.insertSpace","Controls whether a space character is inserted when commenting.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{insertSpace:v.boolean(t.insertSpace,this.defaultValue.insertSpace)}},t}(f);!function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(S||(S={}));var D=function(e){function t(){return e.call(this,104,[55,26])||this}return c(t,e),t.prototype.compute=function(e,t,n){var i="monaco-editor";return t.get(26)&&(i+=" "+t.get(26)),e.extraEditorClassName&&(i+=" "+e.extraEditorClassName),"default"===t.get(55)?i+=" mouse-default":"copy"===t.get(55)&&(i+=" mouse-copy"),t.get(85)&&(i+=" showUnused"),i},t}(g),N=function(e){function t(){return e.call(this,25,"emptySelectionClipboard",!0,{description:o("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})||this}return c(t,e),t.prototype.compute=function(e,t,n){return n&&e.emptySelectionClipboard},t}(v),k=function(e){function t(){var t={seedSearchStringFromSelection:!0,autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0};return e.call(this,28,"find",t,{"editor.find.seedSearchStringFromSelection":{type:"boolean",default:t.seedSearchStringFromSelection,description:o("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[o("editor.find.autoFindInSelection.never","Never turn on Find in selection automatically (default)"),o("editor.find.autoFindInSelection.always","Always turn on Find in selection automatically"),o("editor.find.autoFindInSelection.multiline","Turn on Find in selection automatically when multiple lines of content are selected.")],description:o("find.autoFindInSelection","Controls whether the find operation is carried out on selected text or the entire file in the editor.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:o("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:r.e},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:o("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{seedSearchStringFromSelection:v.boolean(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection),autoFindInSelection:"boolean"==typeof e.autoFindInSelection?e.autoFindInSelection?"always":"never":w.stringSet(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:v.boolean(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:v.boolean(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop)}},t}(f),E=function(e){function t(){return e.call(this,35,"fontLigatures",t.OFF,{anyOf:[{type:"boolean",description:o("fontLigatures","Enables/Disables font ligatures.")},{type:"string",description:o("fontFeatureSettings","Explicit font-feature-settings.")}],description:o("fontLigaturesGeneral","Configures font ligatures."),default:!1})||this}return c(t,e),t.prototype.validate=function(e){return void 0===e?this.defaultValue:"string"==typeof e?"false"===e?t.OFF:"true"===e?t.ON:e:Boolean(e)?t.ON:t.OFF},t.OFF='"liga" off, "calt" off',t.ON='"liga" on, "calt" on',t}(f),I=function(e){function t(){return e.call(this,34)||this}return c(t,e),t.prototype.compute=function(e,t,n){return e.fontInfo},t}(g),O=function(e){function t(){return e.call(this,36,"fontSize",Y.fontSize,{type:"number",minimum:6,maximum:100,default:Y.fontSize,description:o("fontSize","Controls the font size in pixels.")})||this}return c(t,e),t.prototype.validate=function(e){var t=y.float(e,this.defaultValue);return 0===t?Y.fontSize:y.clamp(t,6,100)},t.prototype.compute=function(e,t,n){return e.fontInfo.fontSize},t}(m),M=function(e){function t(){var t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},n={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[o("editor.gotoLocation.multiple.peek","Show peek view of the results (default)"),o("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a peek view"),o("editor.gotoLocation.multiple.goto","Go to the primary result and enable peek-less navigation to others")]};return e.call(this,41,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:o("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":d({description:o("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist.")},n),"editor.gotoLocation.multipleTypeDefinitions":d({description:o("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.")},n),"editor.gotoLocation.multipleDeclarations":d({description:o("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.")},n),"editor.gotoLocation.multipleImplementations":d({description:o("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.")},n),"editor.gotoLocation.multipleReferences":d({description:o("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist.")},n),"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,description:o("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,description:o("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,description:o("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,description:o("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,description:o("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})||this}return c(t,e),t.prototype.validate=function(e){var t,n,i,o,r;if("object"!=typeof e)return this.defaultValue;var s=e;return{multiple:w.stringSet(s.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(t=s.multipleDefinitions)&&void 0!==t?t:w.stringSet(s.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(n=s.multipleTypeDefinitions)&&void 0!==n?n:w.stringSet(s.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(i=s.multipleDeclarations)&&void 0!==i?i:w.stringSet(s.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(o=s.multipleImplementations)&&void 0!==o?o:w.stringSet(s.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(r=s.multipleReferences)&&void 0!==r?r:w.stringSet(s.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:b.string(s.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:b.string(s.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:b.string(s.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:b.string(s.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:b.string(s.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}},t}(f),T=function(e){function t(){var t={enabled:!0,delay:300,sticky:!0};return e.call(this,44,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:o("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,description:o("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:o("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:v.boolean(t.enabled,this.defaultValue.enabled),delay:_.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:v.boolean(t.sticky,this.defaultValue.sticky)}},t}(f),P=function(e){function t(){return e.call(this,107,[40,48,30,54,78,50])||this}return c(t,e),t.prototype.compute=function(e,n,i){return t.computeLayout(n,{outerWidth:e.outerWidth,outerHeight:e.outerHeight,lineHeight:e.fontInfo.lineHeight,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio})},t.computeLayout=function(e,t){var n,i=0|t.outerWidth,o=0|t.outerHeight,r=0|t.lineHeight,s=0|t.lineNumbersDigitCount,a=t.typicalHalfwidthCharacterWidth,u=t.maxDigitWidth,l=t.pixelRatio,c=e.get(40),d=0!==e.get(50).renderType,h=0|e.get(51),p=e.get(54),f=p.enabled,g=p.side,m=p.renderCharacters,v=l>=2?Math.round(2*p.scale):p.scale,y=0|p.maxColumn,b=e.get(78),w=0|b.verticalScrollbarSize,C=b.verticalHasArrows,S=0|b.arrowSize,L=0|b.horizontalScrollbarSize,x=e.get(48),D=e.get(30);if("string"==typeof x&&/^\d+(\.\d+)?ch$/.test(x)){var N=parseFloat(x.substr(0,x.length-2));n=_.clampedInt(N*a,0,0,1e3)}else n=_.clampedInt(x,0,0,1e3);D&&(n+=16);var k=0;if(d){var E=Math.max(s,h);k=Math.round(E*u)}var I=0;c&&(I=r);var O,M,T,P,R=0,A=R+I,F=A+k,W=F+n,V=i-I-k-n;if(f){var B=v/l;O=m?1:2,(T=Math.max(0,Math.floor((V-w-2)*B/(a+B)))+8)/B>y&&(T=Math.floor(y*B)),P=V-T,"left"===g?(M=0,R+=T,A+=T,F+=T,W+=T):M=i-T-w}else M=0,T=0,O=0,P=V;var H=Math.max(1,Math.floor((P-w-2)/a)),z=C?S:0;return{width:i,height:o,glyphMarginLeft:R,glyphMarginWidth:I,lineNumbersLeft:A,lineNumbersWidth:k,decorationsLeft:F,decorationsWidth:n,contentLeft:W,contentWidth:P,renderMinimap:O,minimapLeft:M,minimapWidth:T,viewportColumn:H,verticalScrollbarWidth:w,horizontalScrollbarHeight:L,overviewRuler:{top:z,width:w,height:o-2*z,right:0}}},t}(g),R=function(e){function t(){var t={enabled:!0};return e.call(this,47,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:o("codeActions","Enables the code action lightbulb in the editor.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:v.boolean(t.enabled,this.defaultValue.enabled)}},t}(f),A=function(e){function t(){return e.call(this,49,"lineHeight",Y.lineHeight,0,150,{description:o("lineHeight","Controls the line height. Use 0 to compute the line height from the font size.")})||this}return c(t,e),t.prototype.compute=function(e,t,n){return e.fontInfo.lineHeight},t}(_),F=function(e){function t(){var t={enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120,scale:1};return e.call(this,54,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:o("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:o("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:o("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,description:o("minimap.scale","Scale of content drawn in the minimap.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:o("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:o("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:v.boolean(t.enabled,this.defaultValue.enabled),side:w.stringSet(t.side,this.defaultValue.side,["right","left"]),showSlider:w.stringSet(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:v.boolean(t.renderCharacters,this.defaultValue.renderCharacters),scale:_.clampedInt(t.scale,1,1,3),maxColumn:_.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}},t}(f);var W=function(e){function t(){var t={enabled:!0,cycle:!1};return e.call(this,64,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:o("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:o("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})||this}return c(t,e),t.prototype.validate=function(e){if("object"!=typeof e)return this.defaultValue;var t=e;return{enabled:v.boolean(t.enabled,this.defaultValue.enabled),cycle:v.boolean(t.cycle,this.defaultValue.cycle)}},t}(f),V=function(e){function t(){return e.call(this,105)||this}return c(t,e),t.prototype.compute=function(e,t,n){return e.pixelRatio},t}(g),B=function(e){function t(){var t=this,n={other:!0,comments:!1,strings:!1};return(t=e.call(this,66,"quickSuggestions",n,{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:n.strings,description:o("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:n.comments,description:o("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:n.other,description:o("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}}}],default:n,description:o("quickSuggestions","Controls whether suggestions should automatically show up while typing.")})||this).defaultValue=n,t}return c(t,e),t.prototype.validate=function(e){if("boolean"==typeof e)return e;if("object"==typeof e){var t=e,n={other:v.boolean(t.other,this.defaultValue.other),comments:v.boolean(t.comments,this.defaultValue.comments),strings:v.boolean(t.strings,this.defaultValue.strings)};return!!(n.other&&n.comments&&n.strings)||!!(n.other||n.comments||n.strings)&&n}return this.defaultValue},t}(f),H=function(e){function t(){return e.call(this,50,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[o("lineNumbers.off","Line numbers are not rendered."),o("lineNumbers.on","Line numbers are rendered as absolute number."),o("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),o("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:o("lineNumbers","Controls the display of line numbers.")})||this}return c(t,e),t.prototype.validate=function(e){var t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return void 0!==e&&("function"==typeof e?(t=4,n=e):t="interval"===e?3:"relative"===e?2:"on"===e?1:0),{renderType:t,renderFn:n}},t}(f);function z(e){var t=e.get(73);return"editable"===t?e.get(68):"on"!==t}var j=function(e){function t(){var t=[];return e.call(this,77,"rulers",t,{type:"array",items:{type:"number"},default:t,description:o("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})||this}return c(t,e),t.prototype.validate=function(e){if(Array.isArray(e)){for(var t=[],n=0,i=e;n