提交 963d6351 authored 作者: taojinlong's avatar taojinlong

Merge branch 'v1.4' of github.com:dataease/dataease into v1.4

...@@ -53,7 +53,7 @@ public class ShiroServiceImpl implements ShiroService { ...@@ -53,7 +53,7 @@ public class ShiroServiceImpl implements ShiroService {
filterChainDefinitionMap.put("/linkJump/queryPanelJumpInfo/**", ANON); filterChainDefinitionMap.put("/linkJump/queryPanelJumpInfo/**", ANON);
//未读消息数量 //未读消息数量
filterChainDefinitionMap.put("/api/sys_msg/unReadCount", ANON); // filterChainDefinitionMap.put("/api/sys_msg/unReadCount/**", ANON);
filterChainDefinitionMap.put("/**/*.json", ANON); filterChainDefinitionMap.put("/**/*.json", ANON);
filterChainDefinitionMap.put("/system/ui/**", ANON); filterChainDefinitionMap.put("/system/ui/**", ANON);
......
...@@ -2,10 +2,12 @@ package io.dataease.base.domain; ...@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel("消息渠道")
public class SysMsgChannel implements Serializable { public class SysMsgChannel implements Serializable {
@ApiModelProperty("消息渠道ID") @ApiModelProperty("消息渠道ID")
......
...@@ -2,10 +2,12 @@ package io.dataease.base.domain; ...@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel("订阅信息")
public class SysMsgSetting implements Serializable { public class SysMsgSetting implements Serializable {
@ApiModelProperty(hidden = true) @ApiModelProperty(hidden = true)
private Long msgSettingId; private Long msgSettingId;
......
...@@ -2,10 +2,12 @@ package io.dataease.base.domain; ...@@ -2,10 +2,12 @@ package io.dataease.base.domain;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ApiModel("消息类型")
public class SysMsgType implements Serializable { public class SysMsgType implements Serializable {
@ApiModelProperty("消息类型ID") @ApiModelProperty("消息类型ID")
...@@ -17,10 +19,10 @@ public class SysMsgType implements Serializable { ...@@ -17,10 +19,10 @@ public class SysMsgType implements Serializable {
@ApiModelProperty("消息类型名称") @ApiModelProperty("消息类型名称")
private String typeName; private String typeName;
@ApiModelProperty(hidden = true) @ApiModelProperty("回调路由")
private String router; private String router;
@ApiModelProperty(hidden = true) @ApiModelProperty("回调函数")
private String callback; private String callback;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
package io.dataease.base.domain; package io.dataease.base.domain;
import java.io.Serializable; import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class SysUser implements Serializable { public class SysUser implements Serializable {
@ApiModelProperty("ID")
private Long userId; private Long userId;
@ApiModelProperty("组织ID")
private Long deptId; private Long deptId;
@ApiModelProperty("账号")
private String username; private String username;
@ApiModelProperty("姓名")
private String nickName; private String nickName;
@ApiModelProperty("性别")
private String gender; private String gender;
@ApiModelProperty("电话")
private String phone; private String phone;
@ApiModelProperty("邮箱")
private String email; private String email;
@ApiModelProperty(hidden = true)
private String password; private String password;
@ApiModelProperty("是否管理员")
private Boolean isAdmin; private Boolean isAdmin;
@ApiModelProperty("状态")
private Long enabled; private Long enabled;
@ApiModelProperty("创建人")
private String createBy; private String createBy;
@ApiModelProperty("修改人")
private String updateBy; private String updateBy;
@ApiModelProperty("密码重置时间")
private Long pwdResetTime; private Long pwdResetTime;
@ApiModelProperty("创建时间")
private Long createTime; private Long createTime;
@ApiModelProperty("修改时间")
private Long updateTime; private Long updateTime;
@ApiModelProperty("语言")
private String language; private String language;
@ApiModelProperty("用户来源")
private Integer from; private Integer from;
@ApiModelProperty(hidden = true)
private String sub; private String sub;
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -94,6 +94,7 @@ ...@@ -94,6 +94,7 @@
`custom_attr`, `custom_attr`,
`custom_style`, `custom_style`,
`custom_filter`, `custom_filter`,
`drill_fields`,
`create_by`, `create_by`,
`create_time`, `create_time`,
`update_time`, `update_time`,
...@@ -117,6 +118,7 @@ ...@@ -117,6 +118,7 @@
`custom_attr`, `custom_attr`,
`custom_style`, `custom_style`,
`custom_filter`, `custom_filter`,
`drill_fields`,
`create_by`, `create_by`,
`create_time`, `create_time`,
`update_time`, `update_time`,
......
...@@ -43,8 +43,8 @@ public class IndexController { ...@@ -43,8 +43,8 @@ public class IndexController {
return "doc.html"; return "doc.html";
default: default:
// DataEaseException.throwException("Invalid License."); // DataEaseException.throwException("Invalid License.");
return "nolic.html"; /* return "nolic.html"; */
// return "doc.html"; return "doc.html";
} }
// return "index.html"; // return "index.html";
} }
......
package io.dataease.controller.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("已同步用户")
public class ExistLdapUser {
@ApiModelProperty("账号")
private String username;
}
...@@ -23,6 +23,8 @@ import javax.annotation.Resource; ...@@ -23,6 +23,8 @@ import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
@Api(tags = "系统:消息管理") @Api(tags = "系统:消息管理")
@ApiSupport(order = 230) @ApiSupport(order = 230)
...@@ -35,6 +37,11 @@ public class MsgController { ...@@ -35,6 +37,11 @@ public class MsgController {
@ApiOperation("分页查询") @ApiOperation("分页查询")
@PostMapping("/list/{goPage}/{pageSize}") @PostMapping("/list/{goPage}/{pageSize}")
@ApiImplicitParams({
@ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
@ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "msgRequest", value = "查询条件", required = true)
})
public Pager<List<MsgGridDto>> messages(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody MsgRequest msgRequest) { public Pager<List<MsgGridDto>> messages(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody MsgRequest msgRequest) {
Long userId = AuthUtils.getUser().getUserId(); Long userId = AuthUtils.getUser().getUserId();
List<Long> typeIds = null; List<Long> typeIds = null;
...@@ -50,16 +57,18 @@ public class MsgController { ...@@ -50,16 +57,18 @@ public class MsgController {
@ApiOperation("查询未读数量") @ApiOperation("查询未读数量")
@PostMapping("/unReadCount") @PostMapping("/unReadCount")
public Long unReadCount(@RequestBody Map<String, Long> request) { public Long unReadCount() {;
if(null == request || null == request.get("userId")) { Long userId = null;
if(null == AuthUtils.getUser() || (userId = AuthUtils.getUser().getUserId()) == null) {
throw new RuntimeException("缺少用户ID"); throw new RuntimeException("缺少用户ID");
} }
Long userId = request.get("userId"); // Long userId = request.get("userId");
return sysMsgService.queryCount(userId); return sysMsgService.queryCount(userId);
} }
@ApiOperation("设置已读") @ApiOperation("设置已读")
@PostMapping("/setReaded/{msgId}") @PostMapping("/setReaded/{msgId}")
@ApiImplicitParam(paramType="path", name = "msgId", value = "消息ID", required = true, dataType = "Long")
public void setReaded(@PathVariable Long msgId) { public void setReaded(@PathVariable Long msgId) {
sysMsgService.setReaded(msgId); sysMsgService.setReaded(msgId);
} }
...@@ -67,6 +76,7 @@ public class MsgController { ...@@ -67,6 +76,7 @@ public class MsgController {
@ApiOperation("批量设置已读") @ApiOperation("批量设置已读")
@PostMapping("/batchRead") @PostMapping("/batchRead")
@ApiImplicitParam(name = "msgIds", value = "消息ID集合", required = true, dataType = "List")
public void batchRead(@RequestBody List<Long> msgIds) { public void batchRead(@RequestBody List<Long> msgIds) {
sysMsgService.setBatchReaded(msgIds); sysMsgService.setBatchReaded(msgIds);
} }
...@@ -79,6 +89,7 @@ public class MsgController { ...@@ -79,6 +89,7 @@ public class MsgController {
@ApiOperation("批量删除") @ApiOperation("批量删除")
@PostMapping("/batchDelete") @PostMapping("/batchDelete")
@ApiImplicitParam(name = "msgIds", value = "消息ID集合", required = true, dataType = "List")
public void batchDelete(@RequestBody List<Long> msgIds) { public void batchDelete(@RequestBody List<Long> msgIds) {
sysMsgService.batchDelete(msgIds); sysMsgService.batchDelete(msgIds);
} }
......
...@@ -9,6 +9,7 @@ import io.dataease.base.domain.SysRole; ...@@ -9,6 +9,7 @@ import io.dataease.base.domain.SysRole;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager; import io.dataease.commons.utils.Pager;
import io.dataease.controller.response.ExistLdapUser;
import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.base.BaseGridRequest;
import io.dataease.controller.sys.request.SysUserCreateRequest; import io.dataease.controller.sys.request.SysUserCreateRequest;
import io.dataease.controller.sys.request.SysUserPwdRequest; import io.dataease.controller.sys.request.SysUserPwdRequest;
...@@ -18,13 +19,17 @@ import io.dataease.controller.sys.response.SysUserGridResponse; ...@@ -18,13 +19,17 @@ import io.dataease.controller.sys.response.SysUserGridResponse;
import io.dataease.service.sys.SysRoleService; import io.dataease.service.sys.SysRoleService;
import io.dataease.service.sys.SysUserService; import io.dataease.service.sys.SysUserService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.stream.Collectors;
@RestController @RestController
@Api(tags = "系统:用户管理") @Api(tags = "系统:用户管理")
...@@ -40,6 +45,11 @@ public class SysUserController { ...@@ -40,6 +45,11 @@ public class SysUserController {
@ApiOperation("查询用户") @ApiOperation("查询用户")
@PostMapping("/userGrid/{goPage}/{pageSize}") @PostMapping("/userGrid/{goPage}/{pageSize}")
@ApiImplicitParams({
@ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
@ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { public Pager<List<SysUserGridResponse>> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true); Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
return PageUtils.setPageInfo(page, sysUserService.query(request)); return PageUtils.setPageInfo(page, sysUserService.query(request));
...@@ -63,6 +73,7 @@ public class SysUserController { ...@@ -63,6 +73,7 @@ public class SysUserController {
@ApiOperation("删除用户") @ApiOperation("删除用户")
@PostMapping("/delete/{userId}") @PostMapping("/delete/{userId}")
@ApiImplicitParam(paramType = "path", value = "用户ID", name = "userId", required = true, dataType = "Integer")
public void delete(@PathVariable("userId") Long userId){ public void delete(@PathVariable("userId") Long userId){
sysUserService.delete(userId); sysUserService.delete(userId);
} }
...@@ -103,6 +114,7 @@ public class SysUserController { ...@@ -103,6 +114,7 @@ public class SysUserController {
@ApiOperation("设置语言") @ApiOperation("设置语言")
@PostMapping("/setLanguage/{language}") @PostMapping("/setLanguage/{language}")
@ApiImplicitParam(paramType="path", name = "language", value = "语言(zh_CN, zh_TW, en_US)", required = true, dataType = "String")
public void setLanguage(@PathVariable String language) { public void setLanguage(@PathVariable String language) {
CurrentUserDto user = AuthUtils.getUser(); CurrentUserDto user = AuthUtils.getUser();
Optional.ofNullable(language).ifPresent(currentLanguage -> { Optional.ofNullable(language).ifPresent(currentLanguage -> {
...@@ -122,6 +134,11 @@ public class SysUserController { ...@@ -122,6 +134,11 @@ public class SysUserController {
@ApiOperation("查询角色") @ApiOperation("查询角色")
@PostMapping("/roleGrid/{goPage}/{pageSize}") @PostMapping("/roleGrid/{goPage}/{pageSize}")
@ApiImplicitParams({
@ApiImplicitParam(paramType="path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
@ApiImplicitParam(paramType="path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
public Pager<List<SysRole>> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { public Pager<List<SysRole>> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) {
Page<Object> page = PageHelper.startPage(goPage, pageSize, true); Page<Object> page = PageHelper.startPage(goPage, pageSize, true);
Pager<List<SysRole>> listPager = PageUtils.setPageInfo(page, sysRoleService.query(request)); Pager<List<SysRole>> listPager = PageUtils.setPageInfo(page, sysRoleService.query(request));
...@@ -137,8 +154,13 @@ public class SysUserController { ...@@ -137,8 +154,13 @@ public class SysUserController {
@ApiOperation("已同步用户") @ApiOperation("已同步用户")
@PostMapping("/existLdapUsers") @PostMapping("/existLdapUsers")
public List<String> getExistLdapUsers() { public List<ExistLdapUser> getExistLdapUsers() {
return sysUserService.ldapUserNames(); List<String> userNames = sysUserService.ldapUserNames();
return userNames.stream().map(name -> {
ExistLdapUser ldapUser = new ExistLdapUser();
ldapUser.setUsername(name);
return ldapUser;
}).collect(Collectors.toList());
} }
} }
package io.dataease.controller.sys.base; package io.dataease.controller.sys.base;
import io.dataease.base.mapper.ext.query.GridExample; import io.dataease.base.mapper.ext.query.GridExample;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -8,9 +9,11 @@ import java.io.Serializable; ...@@ -8,9 +9,11 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
@ApiModel("查询条件")
public class BaseGridRequest implements Serializable { public class BaseGridRequest implements Serializable {
@ApiModelProperty("查询条件") @ApiModelProperty("条件集合")
private List<ConditionEntity> conditions; private List<ConditionEntity> conditions;
public List<ConditionEntity> getConditions() { public List<ConditionEntity> getConditions() {
......
package io.dataease.controller.sys.request; package io.dataease.controller.sys.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -7,6 +8,7 @@ import java.io.Serializable; ...@@ -7,6 +8,7 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel("消息条件")
public class MsgRequest implements Serializable { public class MsgRequest implements Serializable {
private static final long serialVersionUID = 1920091635946508658L; private static final long serialVersionUID = 1920091635946508658L;
......
package io.dataease.controller.sys.request; package io.dataease.controller.sys.request;
import io.dataease.base.domain.SysUser; import io.dataease.base.domain.SysUser;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel("用户信息")
public class SysUserCreateRequest extends SysUser { public class SysUserCreateRequest extends SysUser {
@ApiModelProperty(value = "角色ID集合", required = true, position = 7) @ApiModelProperty(value = "角色ID集合", required = true, position = 7)
......
package io.dataease.controller.sys.request; package io.dataease.controller.sys.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@ApiModel("更新密码参数")
public class SysUserPwdRequest implements Serializable { public class SysUserPwdRequest implements Serializable {
@ApiModelProperty(value = "用户ID", required = true) @ApiModelProperty(value = "用户ID", required = true)
......
package io.dataease.controller.sys.request; package io.dataease.controller.sys.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@Data @Data
@ApiModel("更新状态参数")
public class SysUserStateRequest implements Serializable { public class SysUserStateRequest implements Serializable {
@ApiModelProperty(value = "用户ID", required = true) @ApiModelProperty(value = "用户ID", required = true)
private Long userId; private Long userId;
@ApiModelProperty(value = "状态", required = true, allowableValues = "1,0") @ApiModelProperty(value = "状态{1:可用, 0:禁用}", required = true, allowableValues = "1,0")
private Long enabled; private Long enabled;
} }
package io.dataease.controller.sys.response; package io.dataease.controller.sys.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import java.io.Serializable; ...@@ -8,6 +9,7 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
@Data @Data
@ApiModel("消息类型节点")
public class SettingTreeNode implements Serializable { public class SettingTreeNode implements Serializable {
private static final long serialVersionUID = -2416283978185545199L; private static final long serialVersionUID = -2416283978185545199L;
......
...@@ -158,32 +158,6 @@ INSERT INTO `sys_theme_item` VALUES (2, 'customSiderTextColor', '#ACBAC3'); ...@@ -158,32 +158,6 @@ INSERT INTO `sys_theme_item` VALUES (2, 'customSiderTextColor', '#ACBAC3');
INSERT INTO `sys_theme_item` VALUES (2, 'customTableBG', '#21333B'); INSERT INTO `sys_theme_item` VALUES (2, 'customTableBG', '#21333B');
INSERT INTO `sys_theme_item` VALUES (2, 'customTableColor', '#ACBAC3'); INSERT INTO `sys_theme_item` VALUES (2, 'customTableColor', '#ACBAC3');
INSERT INTO `sys_theme_item` VALUES (2, 'customTableBorderColor', '#495865'); INSERT INTO `sys_theme_item` VALUES (2, 'customTableBorderColor', '#495865');
INSERT INTO `sys_theme_item` VALUES (7, 'primary', '#409EFF');
INSERT INTO `sys_theme_item` VALUES (7, 'deSuccess', '#67C23A');
INSERT INTO `sys_theme_item` VALUES (7, 'deWarning', '#E6A23C');
INSERT INTO `sys_theme_item` VALUES (7, 'deDanger', '#F56C6C');
INSERT INTO `sys_theme_item` VALUES (7, 'deInfo', '#909399');
INSERT INTO `sys_theme_item` VALUES (7, 'deTextPrimary', '#303133');
INSERT INTO `sys_theme_item` VALUES (7, 'deTextRegular', '#606266');
INSERT INTO `sys_theme_item` VALUES (7, 'deTextSecondary', '#909399');
INSERT INTO `sys_theme_item` VALUES (7, 'deTextPlaceholder', '#C0C4CC');
INSERT INTO `sys_theme_item` VALUES (7, 'deBorderBase', '#DCDFE6');
INSERT INTO `sys_theme_item` VALUES (7, 'deBorderLight', '#E4E7ED');
INSERT INTO `sys_theme_item` VALUES (7, 'deBorderLighter', '#EBEEF5');
INSERT INTO `sys_theme_item` VALUES (7, 'deBorderExtraLight', '#F2F6FC');
INSERT INTO `sys_theme_item` VALUES (7, 'deWhite', '#FFFFFF');
INSERT INTO `sys_theme_item` VALUES (7, 'deBlack', '#000000');
INSERT INTO `sys_theme_item` VALUES (7, 'deBackgroundBase', '#F5F7FA');
INSERT INTO `sys_theme_item` VALUES (7, 'shade-1', 'rgb(58, 142, 230)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-1', 'rgb(83, 168, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-2', 'rgb(102, 177, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-3', 'rgb(121, 187, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-4', 'rgb(140, 197, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-5', 'rgb(160, 207, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-6', 'rgb(179, 216, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-7', 'rgb(198, 226, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-8', 'rgb(217, 236, 255)');
INSERT INTO `sys_theme_item` VALUES (7, 'light-9', 'rgb(236, 245, 255)');
INSERT INTO `sys_theme_item` VALUES (1, 'primary', '#409EFF'); INSERT INTO `sys_theme_item` VALUES (1, 'primary', '#409EFF');
INSERT INTO `sys_theme_item` VALUES (1, 'deSuccess', '#67C23A'); INSERT INTO `sys_theme_item` VALUES (1, 'deSuccess', '#67C23A');
INSERT INTO `sys_theme_item` VALUES (1, 'deWarning', '#E6A23C'); INSERT INTO `sys_theme_item` VALUES (1, 'deWarning', '#E6A23C');
......
...@@ -9,12 +9,12 @@ export function query(pageIndex, pageSize, data) { ...@@ -9,12 +9,12 @@ export function query(pageIndex, pageSize, data) {
}) })
} }
export function unReadCount(data) { export function unReadCount() {
return request({ return request({
url: '/api/sys_msg/unReadCount', url: '/api/sys_msg/unReadCount',
method: 'post', method: 'post',
loading: false, loading: false
data // data
}) })
} }
......
...@@ -187,10 +187,10 @@ export default { ...@@ -187,10 +187,10 @@ export default {
}.bind(this) }.bind(this)
}) })
} }
const param = { /* const param = {
userId: this.user.userId userId: this.user.userId
} } */
unReadCount(param).then(res => { unReadCount().then(res => {
this.count = res.data this.count = res.data
}) })
}, },
......
...@@ -114,7 +114,8 @@ export default { ...@@ -114,7 +114,8 @@ export default {
}, },
computed: { computed: {
...mapState([ ...mapState([
'curComponent' 'curComponent',
'curCanvasScale'
]) ])
}, },
created() { created() {
...@@ -135,10 +136,13 @@ export default { ...@@ -135,10 +136,13 @@ export default {
modelChange(val) { modelChange(val) {
if (val === '0') { if (val === '0') {
this.curComponent.style.height = 100 this.curComponent.style.height = 100
this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight)
} else if (val === '1') { } else if (val === '1') {
this.curComponent.style.height = 150 this.curComponent.style.height = 150
this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight)
} else { } else {
this.curComponent.style.height = 300 this.curComponent.style.height = 300
this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight)
} }
} }
} }
......
...@@ -61,6 +61,7 @@ export default { ...@@ -61,6 +61,7 @@ export default {
methods: { methods: {
onSubmit() { onSubmit() {
this.curComponent.hyperlinks = deepCopy(this.linkInfo) this.curComponent.hyperlinks = deepCopy(this.linkInfo)
this.$store.state.styleChangeTimes++
this.popoverClose() this.popoverClose()
}, },
onClose() { onClose() {
......
...@@ -347,6 +347,11 @@ export default { ...@@ -347,6 +347,11 @@ export default {
this.innerOpacity = this.styleInfo['opacity'] * 100 this.innerOpacity = this.styleInfo['opacity'] * 100
} }
this.mainWidthOffset = document.getElementById('main-attr').offsetWidth - 50 this.mainWidthOffset = document.getElementById('main-attr').offsetWidth - 50
if (this.curComponent.type === 'v-text') {
this.mainWidthOffset = 600
} else if (this.curComponent.type === 'de-show-date') {
this.mainWidthOffset = 600
}
// console.log('mainWidthOffset:' + this.mainWidthOffset) // console.log('mainWidthOffset:' + this.mainWidthOffset)
}, },
attrShow(attr) { attrShow(attr) {
......
...@@ -339,14 +339,20 @@ export default { ...@@ -339,14 +339,20 @@ export default {
}, },
jumpClick(param) { jumpClick(param) {
const dimension = param.dimensionList[0] let dimension, jumpInfo, sourceInfo
// 倒序取最后一个能匹配的
param.sourcePanelId = this.panelInfo.id for (let i = param.dimensionList.length - 1; i >= 0; i--) {
param.sourceViewId = param.viewId dimension = param.dimensionList[i]
param.sourceFieldId = dimension.id sourceInfo = param.viewId + '#' + dimension.id
const sourceInfo = param.viewId + '#' + dimension.id jumpInfo = this.nowPanelJumpInfo[sourceInfo]
const jumpInfo = this.nowPanelJumpInfo[sourceInfo] if (jumpInfo) {
break
}
}
if (jumpInfo) { if (jumpInfo) {
param.sourcePanelId = this.panelInfo.id
param.sourceViewId = param.viewId
param.sourceFieldId = dimension.id
// 内部仪表板跳转 // 内部仪表板跳转
if (jumpInfo.linkType === 'inner') { if (jumpInfo.linkType === 'inner') {
if (jumpInfo.targetPanelId) { if (jumpInfo.targetPanelId) {
......
...@@ -58,6 +58,9 @@ export default { ...@@ -58,6 +58,9 @@ export default {
} }
} }
} }
if (!style.background) {
style.background = '#FFFFFF'
}
return style return style
}, },
...mapState([ ...mapState([
......
...@@ -423,7 +423,14 @@ export default { ...@@ -423,7 +423,14 @@ export default {
theme: { theme: {
change: 'Change Theme', change: 'Change Theme',
documentation: 'Theme documentation', documentation: 'Theme documentation',
tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.' tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.',
base: 'Base color',
font: 'Font color',
border: 'Border color',
background: 'Background color',
custom: 'Custom color',
otherSave: 'Theme Save as',
info: 'Theme info'
}, },
tagsView: { tagsView: {
refresh: 'Refresh', refresh: 'Refresh',
......
...@@ -423,7 +423,14 @@ export default { ...@@ -423,7 +423,14 @@ export default {
theme: { theme: {
change: '換膚', change: '換膚',
documentation: '換膚文檔', documentation: '換膚文檔',
tips: 'Tips: 它區別于 navbar 上的 theme-pick, 是兩種不同的換膚方法,各自有不同的應用場景,具體請參考文檔。' tips: 'Tips: 它區別于 navbar 上的 theme-pick, 是兩種不同的換膚方法,各自有不同的應用場景,具體請參考文檔。',
base: '基礎配色',
font: '字體顏色',
border: '邊框顏色',
background: '背景顏色',
custom: '自定義顏色',
otherSave: '主題另存為',
info: '主題信息'
}, },
tagsView: { tagsView: {
refresh: '刷新', refresh: '刷新',
......
...@@ -425,7 +425,14 @@ export default { ...@@ -425,7 +425,14 @@ export default {
theme: { theme: {
change: '换肤', change: '换肤',
documentation: '换肤文档', documentation: '换肤文档',
tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。' tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。',
base: '基础配色',
font: '字体颜色',
border: '边框颜色',
background: '背景颜色',
custom: '自定义颜色',
otherSave: '主题另存为',
info: '主题信息'
}, },
tagsView: { tagsView: {
refresh: '刷新', refresh: '刷新',
...@@ -1253,7 +1260,7 @@ export default { ...@@ -1253,7 +1260,7 @@ export default {
export_to_pdf: '导出为PDF', export_to_pdf: '导出为PDF',
preview: '预览', preview: '预览',
fullscreen_preview: '全屏预览', fullscreen_preview: '全屏预览',
ta: '新Tab页预览', new_tab_preview: '新Tab页预览',
select_panel_from_left: '请从左侧选择仪表板', select_panel_from_left: '请从左侧选择仪表板',
template_nale: '模板名称', template_nale: '模板名称',
template: '模板', template: '模板',
......
...@@ -864,6 +864,6 @@ export const COLOR_PANEL = [ ...@@ -864,6 +864,6 @@ export const COLOR_PANEL = [
'#1e90ff', '#1e90ff',
'#c71585', '#c71585',
'#999999', '#999999',
'#ffffff', '#00008b',
'#000000' '#000000'
] ]
...@@ -51,7 +51,7 @@ export function componentStyle(chart_option, chart) { ...@@ -51,7 +51,7 @@ export function componentStyle(chart_option, chart) {
chart_option.legend.orient = customStyle.legend.orient chart_option.legend.orient = customStyle.legend.orient
chart_option.legend.icon = customStyle.legend.icon chart_option.legend.icon = customStyle.legend.icon
chart_option.legend.textStyle = customStyle.legend.textStyle chart_option.legend.textStyle = customStyle.legend.textStyle
if (chart.type === 'treemap') { if (chart.type === 'treemap' || chart.type === 'gauge') {
chart_option.legend.show = false chart_option.legend.show = false
} }
} }
......
...@@ -418,7 +418,7 @@ ...@@ -418,7 +418,7 @@
<title-selector v-if="view.render && view.render === 'echarts'" :param="param" class="attr-selector" :chart="chart" @onTextChange="onTextChange" /> <title-selector v-if="view.render && view.render === 'echarts'" :param="param" class="attr-selector" :chart="chart" @onTextChange="onTextChange" />
<title-selector-ant-v v-else-if="view.render && view.render === 'antv'" :param="param" class="attr-selector" :chart="chart" @onTextChange="onTextChange" /> <title-selector-ant-v v-else-if="view.render && view.render === 'antv'" :param="param" class="attr-selector" :chart="chart" @onTextChange="onTextChange" />
</el-collapse-item> </el-collapse-item>
<el-collapse-item v-show="view.type && view.type !== 'map' && !view.type.includes('table') && !view.type.includes('text') && (chart.type !== 'treemap' || chart.render === 'antv') && view.type !== 'liquid' && view.type !== 'waterfall'" name="legend" :title="$t('chart.legend')"> <el-collapse-item v-show="view.type && view.type !== 'map' && !view.type.includes('table') && !view.type.includes('text') && (chart.type !== 'treemap' || chart.render === 'antv') && view.type !== 'liquid' && view.type !== 'waterfall' && chart.type !== 'gauge'" name="legend" :title="$t('chart.legend')">
<legend-selector v-if="view.render && view.render === 'echarts'" :param="param" class="attr-selector" :chart="chart" @onLegendChange="onLegendChange" /> <legend-selector v-if="view.render && view.render === 'echarts'" :param="param" class="attr-selector" :chart="chart" @onLegendChange="onLegendChange" />
<legend-selector-ant-v v-else-if="view.render && view.render === 'antv'" :param="param" class="attr-selector" :chart="chart" @onLegendChange="onLegendChange" /> <legend-selector-ant-v v-else-if="view.render && view.render === 'antv'" :param="param" class="attr-selector" :chart="chart" @onLegendChange="onLegendChange" />
</el-collapse-item> </el-collapse-item>
......
...@@ -120,6 +120,10 @@ export default { ...@@ -120,6 +120,10 @@ export default {
this.form.uri = uri ? (this.origin + uri) : uri this.form.uri = uri ? (this.origin + uri) : uri
// 返回的密码是共钥加密后的 所以展示需要私钥解密一波 // 返回的密码是共钥加密后的 所以展示需要私钥解密一波
pwd && (this.form.pwd = pwd) pwd && (this.form.pwd = pwd)
if (pwd && pwd.length > 0 && pwd.length > this.pwdNums) {
this.resetPwd()
}
/* pwd && (this.form.pwd = decrypt(pwd)) */ /* pwd && (this.form.pwd = decrypt(pwd)) */
/* overTime && (this.form.overTime = overTime) */ /* overTime && (this.form.overTime = overTime) */
overTime && (this.$set(this.form, 'overTime', overTime)) overTime && (this.$set(this.form, 'overTime', overTime))
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<span @click.stop> <span @click.stop>
<div> <div>
<span class="auth-span"> <span class="auth-span">
<el-checkbox v-model="data.checked" /> <el-checkbox v-model="data.checked" @change="sourceFieldCheckedChange(data)"/>
</span> </span>
</div> </div>
</span> </span>
...@@ -323,6 +323,12 @@ export default { ...@@ -323,6 +323,12 @@ export default {
}, },
viewInfoOnChange(targetViewInfo) { viewInfoOnChange(targetViewInfo) {
targetViewInfo.targetFieldId = null targetViewInfo.targetFieldId = null
},
sourceFieldCheckedChange(data) {
this.$nextTick(() => {
this.$refs.linkJumpInfoTree.setCurrentKey(data.sourceFieldId)
this.nodeClick(data)
})
} }
} }
} }
...@@ -452,4 +458,7 @@ export default { ...@@ -452,4 +458,7 @@ export default {
line-height:28px line-height:28px
} }
/deep/ .el-tree--highlight-current .el-tree-node.is-current >.el-tree-node__content {
background-color: #8dbbef !important;
}
</style> </style>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<el-radio v-model="panel.backgroundType" label="color" @change="onChangeType">{{ $t('chart.color') }}</el-radio> <el-radio v-model="panel.backgroundType" label="color" @change="onChangeType">{{ $t('chart.color') }}</el-radio>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<el-color-picker v-model="panel.color" size="mini" style="cursor: pointer;z-index: 1004;" /> <el-color-picker v-model="panel.color" size="mini" style="cursor: pointer;z-index: 1004;" @change="onChangeType"/>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="height: 60px;margin-top:10px;overflow: hidden"> <el-row style="height: 60px;margin-top:10px;overflow: hidden">
......
...@@ -238,7 +238,7 @@ export default { ...@@ -238,7 +238,7 @@ export default {
ldapUsers().then(res => { ldapUsers().then(res => {
if (res && res.data) { if (res && res.data) {
this.users = res.data.map(item => { this.users = res.data.map(item => {
if (this.exitsUsers.some(existUser => existUser === item.userName)) { if (this.exitsUsers.some(existUser => existUser.username === item.userName)) {
item.disabled = true item.disabled = true
} }
return item return item
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论