From efe3ba2319b14d68d1066b05460b0c501ce3bba2 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 2 Nov 2021 10:15:54 +0800 Subject: [PATCH 01/11] =?UTF-8?q?fix:=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=A4=8D?= =?UTF-8?q?=E5=88=B6=E8=A7=86=E5=9B=BE=E6=B2=A1=E6=9C=89=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E4=B8=8B=E9=92=BB=E5=AD=97=E6=AE=B5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml index 14f6a46568..d755e2dc61 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml @@ -94,6 +94,7 @@ `custom_attr`, `custom_style`, `custom_filter`, + `drill_fields`, `create_by`, `create_time`, `update_time`, @@ -117,6 +118,7 @@ `custom_attr`, `custom_style`, `custom_filter`, + `drill_fields`, `create_by`, `create_time`, `update_time`, From f38186cee065b30b874a7ab0100ca3f02a58095e Mon Sep 17 00:00:00 2001 From: junjie Date: Tue, 2 Nov 2021 10:32:30 +0800 Subject: [PATCH 02/11] =?UTF-8?q?feat:=E8=B0=83=E8=89=B2=E6=9D=BF=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/chart.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/chart.js b/frontend/src/views/chart/chart/chart.js index 77a8cd1007..043268e780 100644 --- a/frontend/src/views/chart/chart/chart.js +++ b/frontend/src/views/chart/chart/chart.js @@ -864,6 +864,6 @@ export const COLOR_PANEL = [ '#1e90ff', '#c71585', '#999999', - '#ffffff', + '#00008b', '#000000' ] From ab57e66b72efcd5e992097f92b5f0bfdaf3d8020 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 2 Nov 2021 10:41:45 +0800 Subject: [PATCH 03/11] =?UTF-8?q?style:=20=E6=97=B6=E9=97=B4=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/canvas/components/Editor/DateFormat.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/canvas/components/Editor/DateFormat.vue b/frontend/src/components/canvas/components/Editor/DateFormat.vue index cbf7b2f4ef..d1a513aac6 100644 --- a/frontend/src/components/canvas/components/Editor/DateFormat.vue +++ b/frontend/src/components/canvas/components/Editor/DateFormat.vue @@ -114,7 +114,8 @@ export default { }, computed: { ...mapState([ - 'curComponent' + 'curComponent', + 'curCanvasScale' ]) }, created() { @@ -135,10 +136,13 @@ export default { modelChange(val) { if (val === '0') { this.curComponent.style.height = 100 + this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight) } else if (val === '1') { this.curComponent.style.height = 150 + this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight) } else { this.curComponent.style.height = 300 + this.curComponent.sizey = Math.round(this.curComponent.style.height / this.curCanvasScale.matrixStyleOriginHeight) } } } From fae9aefc77451e8fb02982024894ee6d4aba55e9 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 2 Nov 2021 11:04:00 +0800 Subject: [PATCH 04/11] =?UTF-8?q?refactor:=E5=A4=9A=E7=BB=B4=E5=BA=A6?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E6=98=AF=EF=BC=8C=E5=8F=96=E6=9C=80=E5=90=8E?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=8F=AF=E7=94=A8=E7=9A=84=E7=BB=B4=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/custom-component/UserView.vue | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index c4d7aff9d8..0a5e3da298 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -339,14 +339,20 @@ export default { }, jumpClick(param) { - const dimension = param.dimensionList[0] - - param.sourcePanelId = this.panelInfo.id - param.sourceViewId = param.viewId - param.sourceFieldId = dimension.id - const sourceInfo = param.viewId + '#' + dimension.id - const jumpInfo = this.nowPanelJumpInfo[sourceInfo] + let dimension, jumpInfo, sourceInfo + // 倒序取最后一个能匹配的 + for (let i = param.dimensionList.length - 1; i >= 0; i--) { + dimension = param.dimensionList[i] + sourceInfo = param.viewId + '#' + dimension.id + jumpInfo = this.nowPanelJumpInfo[sourceInfo] + if (jumpInfo) { + break + } + } if (jumpInfo) { + param.sourcePanelId = this.panelInfo.id + param.sourceViewId = param.viewId + param.sourceFieldId = dimension.id // 内部仪表板跳转 if (jumpInfo.linkType === 'inner') { if (jumpInfo.targetPanelId) { From 482809747fb426833504b01abdfecf400d2ccd16 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 2 Nov 2021 11:34:41 +0800 Subject: [PATCH 05/11] =?UTF-8?q?refactor:=E5=A6=82=E6=9E=9C=E4=BB=AA?= =?UTF-8?q?=E8=A1=A8=E6=9D=BF=E6=9C=AA=E8=AE=BE=E7=BD=AE=E5=BA=95=E8=89=B2?= =?UTF-8?q?=EF=BC=8C=E8=A7=86=E5=9B=BE=E6=94=BE=E5=A4=A7=E5=BA=95=E8=89=B2?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA=E7=99=BD=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/canvas/custom-component/UserViewDialog.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/components/canvas/custom-component/UserViewDialog.vue b/frontend/src/components/canvas/custom-component/UserViewDialog.vue index 1a077dc2a0..3dbb90cb1f 100644 --- a/frontend/src/components/canvas/custom-component/UserViewDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewDialog.vue @@ -58,6 +58,9 @@ export default { } } } + if (!style.background) { + style.background = '#FFFFFF' + } return style }, ...mapState([ From 5300ed1a7df1ca9de9b9436b361dabe26da80a8d Mon Sep 17 00:00:00 2001 From: junjie Date: Tue, 2 Nov 2021 12:01:42 +0800 Subject: [PATCH 06/11] =?UTF-8?q?feat:=E8=AF=8D=E4=BA=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/icons/svg/word-cloud.svg | 1 + frontend/src/lang/en.js | 5 +- frontend/src/lang/tw.js | 5 +- frontend/src/lang/zh.js | 5 +- .../views/chart/chart/waterfall/waterfall.js | 3 + .../views/chart/chart/wordCloud/word_cloud.js | 62 +++++++++++++++++++ .../chart/components/ChartComponentG2.vue | 3 + frontend/src/views/chart/view/ChartEdit.vue | 6 +- frontend/src/views/chart/view/ChartType.vue | 6 +- 9 files changed, 90 insertions(+), 6 deletions(-) create mode 100644 frontend/src/icons/svg/word-cloud.svg create mode 100644 frontend/src/views/chart/chart/wordCloud/word_cloud.js diff --git a/frontend/src/icons/svg/word-cloud.svg b/frontend/src/icons/svg/word-cloud.svg new file mode 100644 index 0000000000..7b42315b37 --- /dev/null +++ b/frontend/src/icons/svg/word-cloud.svg @@ -0,0 +1 @@ + diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 8682b36dcc..76dc68baeb 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -946,7 +946,10 @@ export default { table_page_size: 'Page Size', table_page_size_unit: 'Item/Page', result_count: 'Result', - result_mode_all: 'ALL' + result_mode_all: 'ALL', + chart_word_cloud: 'Word Cloud', + drag_block_word_cloud_label: 'Word Label', + drag_block_word_cloud_size: 'Word Size' }, dataset: { sheet_warn: 'There are multiple sheet pages, and the first one is extracted by default', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 47cca6524e..8548e80956 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -947,7 +947,10 @@ export default { table_page_size: '分頁', table_page_size_unit: '條/頁', result_count: '結果展示', - result_mode_all: '全部' + result_mode_all: '全部', + chart_word_cloud: '詞雲', + drag_block_word_cloud_label: '詞標簽', + drag_block_word_cloud_size: '詞大小' }, dataset: { sheet_warn: '有多個 Sheet 頁,默認抽取第一個', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index e0d5a42d6a..93c153fb9c 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -950,7 +950,10 @@ export default { table_page_size: '分页', table_page_size_unit: '条/页', result_count: '结果展示', - result_mode_all: '全部' + result_mode_all: '全部', + chart_word_cloud: '词云', + drag_block_word_cloud_label: '词标签', + drag_block_word_cloud_size: '词大小' }, dataset: { sheet_warn: '有多个 Sheet 页,默认抽取第一个', diff --git a/frontend/src/views/chart/chart/waterfall/waterfall.js b/frontend/src/views/chart/chart/waterfall/waterfall.js index 4432fe6c7a..fdb3805d9d 100644 --- a/frontend/src/views/chart/chart/waterfall/waterfall.js +++ b/frontend/src/views/chart/chart/waterfall/waterfall.js @@ -103,5 +103,8 @@ export function baseWaterfallOptionAntV(plot, container, chart, action) { } plot = new Waterfall(container, options) + plot.off('interval:click') + plot.on('interval:click', action) + return plot } diff --git a/frontend/src/views/chart/chart/wordCloud/word_cloud.js b/frontend/src/views/chart/chart/wordCloud/word_cloud.js new file mode 100644 index 0000000000..c506e7cf8b --- /dev/null +++ b/frontend/src/views/chart/chart/wordCloud/word_cloud.js @@ -0,0 +1,62 @@ +import { + getPadding, + getTheme, + getTooltip +} from '@/views/chart/chart/common/common_antv' +import { WordCloud } from '@antv/g2plot' + +export function baseWordCloudOptionAntV(plot, container, chart, action) { + // theme + const theme = getTheme(chart) + // attr + const tooltip = getTooltip(chart) + // data + const data = chart.data.datas + // options + const options = { + theme: theme, + data: data, + wordField: 'field', + weightField: 'value', + colorField: 'field', + wordStyle: { + fontFamily: 'Verdana', + fontSize: [8, 32], + rotation: [0, 0], + padding: 6 + }, + random: () => 0.5, + appendPadding: getPadding(chart), + tooltip: tooltip, + legend: false, + interactions: [ + { + type: 'element-active', cfg: { + start: [{ trigger: 'element:mouseenter', action: ['element-highlight:highlight', 'element-active:reset', 'cursor:pointer'] }], + end: [{ trigger: 'element:mouseleave', action: ['element-highlight:reset', 'element-active:reset', 'cursor:default'] }] + } + } + ] + } + // size + // let customAttr = {} + // if (chart.customAttr) { + // customAttr = JSON.parse(chart.customAttr) + // if (customAttr.size) { + // const s = JSON.parse(JSON.stringify(customAttr.size)) + // if (s.barDefault) { + // delete options.marginRatio + // } else { + // options.marginRatio = s.barGap + // } + // } + // } + + // 开始渲染 + if (plot) { + plot.destroy() + } + plot = new WordCloud(container, options) + + return plot +} diff --git a/frontend/src/views/chart/components/ChartComponentG2.vue b/frontend/src/views/chart/components/ChartComponentG2.vue index 48156af50d..6e9eef6d43 100644 --- a/frontend/src/views/chart/components/ChartComponentG2.vue +++ b/frontend/src/views/chart/components/ChartComponentG2.vue @@ -23,6 +23,7 @@ import { baseFunnelOptionAntV } from '@/views/chart/chart/funnel/funnel_antv' import { baseTreemapOptionAntV } from '@/views/chart/chart/treemap/treemap_antv' import { baseRadarOptionAntV } from '@/views/chart/chart/radar/radar_antv' import { baseWaterfallOptionAntV } from '@/views/chart/chart/waterfall/waterfall' +import { baseWordCloudOptionAntV } from '@/views/chart/chart/wordCloud/word_cloud' export default { name: 'ChartComponentG2', @@ -161,6 +162,8 @@ export default { this.myChart = baseLiquid(this.myChart, this.chartId, chart) } else if (chart.type === 'waterfall') { this.myChart = baseWaterfallOptionAntV(this.myChart, this.chartId, chart, this.antVAction) + } else if (chart.type === 'word-cloud') { + this.myChart = baseWordCloudOptionAntV(this.myChart, this.chartId, chart, this.antVAction) } else { if (this.myChart) { this.antVRenderStatus = false diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 8c57a5d51f..a25d6f38fc 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -176,6 +176,7 @@ {{ $t('chart.drag_block_radar_label') }} {{ $t('chart.area') }} {{ $t('chart.drag_block_treemap_label') }} + {{ $t('chart.drag_block_word_cloud_label') }} / {{ $t('chart.dimension') }} {{ $t('chart.dimension_or_quota') }} @@ -211,6 +212,7 @@ {{ $t('chart.drag_block_treemap_size') }} {{ $t('chart.drag_block_value_axis_main') }} {{ $t('chart.drag_block_progress') }} + {{ $t('chart.drag_block_word_cloud_size') }} / {{ $t('chart.quota') }} @@ -334,7 +336,7 @@ {{ $t('chart.placeholder_field') }} - + {{ $t('chart.drill') }} / @@ -381,7 +383,7 @@ - + diff --git a/frontend/src/views/chart/view/ChartType.vue b/frontend/src/views/chart/view/ChartType.vue index 46170ced83..136bcb155a 100644 --- a/frontend/src/views/chart/view/ChartType.vue +++ b/frontend/src/views/chart/view/ChartType.vue @@ -103,13 +103,17 @@ + + + + + -
From e3d9f78200cb0906ca09a2525bb2e576538e614e Mon Sep 17 00:00:00 2001 From: junjie Date: Tue, 2 Nov 2021 12:14:47 +0800 Subject: [PATCH 07/11] =?UTF-8?q?fix:=20=E6=8C=87=E9=92=88=E5=9B=BE?= =?UTF-8?q?=E5=9B=BE=E4=BE=8B=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/common/common.js | 2 +- frontend/src/views/chart/view/ChartEdit.vue | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/chart/chart/common/common.js b/frontend/src/views/chart/chart/common/common.js index 493926d33d..3945d4f4bf 100644 --- a/frontend/src/views/chart/chart/common/common.js +++ b/frontend/src/views/chart/chart/common/common.js @@ -51,7 +51,7 @@ export function componentStyle(chart_option, chart) { chart_option.legend.orient = customStyle.legend.orient chart_option.legend.icon = customStyle.legend.icon chart_option.legend.textStyle = customStyle.legend.textStyle - if (chart.type === 'treemap') { + if (chart.type === 'treemap' || chart.type === 'gauge') { chart_option.legend.show = false } } diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 8c57a5d51f..fff47ebf69 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -418,7 +418,7 @@ - + From 96749e35e3f8b171e5951fdb5ded0ebb2c0d3eab Mon Sep 17 00:00:00 2001 From: junjie Date: Tue, 2 Nov 2021 12:33:06 +0800 Subject: [PATCH 08/11] =?UTF-8?q?feat:=E8=AF=8D=E4=BA=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/view/ChartEdit.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 8059c49dc5..448217a4ea 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -387,7 +387,7 @@ - + @@ -420,7 +420,7 @@ - + From a4683eca0de3e0f8f0bd995806ee588be39c5085 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 2 Nov 2021 13:38:48 +0800 Subject: [PATCH 09/11] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=AE=A1=E7=90=86api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/impl/ShiroServiceImpl.java | 2 +- .../dataease/base/domain/SysMsgChannel.java | 2 ++ .../dataease/base/domain/SysMsgSetting.java | 2 ++ .../io/dataease/base/domain/SysMsgType.java | 6 +++-- .../java/io/dataease/base/domain/SysUser.java | 20 ++++++++++++++ .../dataease/controller/IndexController.java | 4 +-- .../controller/response/ExistLdapUser.java | 15 +++++++++++ .../controller/sys/MsgController.java | 17 +++++++++--- .../controller/sys/SysUserController.java | 26 +++++++++++++++++-- .../controller/sys/base/BaseGridRequest.java | 5 +++- .../controller/sys/request/MsgRequest.java | 2 ++ .../sys/request/SysUserCreateRequest.java | 2 ++ .../sys/request/SysUserPwdRequest.java | 2 ++ .../sys/request/SysUserStateRequest.java | 4 ++- .../sys/response/SettingTreeNode.java | 2 ++ frontend/src/api/system/msg.js | 6 ++--- .../src/components/Notification/index.vue | 6 ++--- 17 files changed, 105 insertions(+), 18 deletions(-) create mode 100644 backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java index fdf4c43a6f..44db0ba932 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java @@ -53,7 +53,7 @@ public class ShiroServiceImpl implements ShiroService { 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("/system/ui/**", ANON); diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java b/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java index 2bae1b3142..4febdde0fb 100644 --- a/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java +++ b/backend/src/main/java/io/dataease/base/domain/SysMsgChannel.java @@ -2,10 +2,12 @@ package io.dataease.base.domain; import java.io.Serializable; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel("消息渠道") public class SysMsgChannel implements Serializable { @ApiModelProperty("消息渠道ID") diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java b/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java index 49862f077e..13780af7d8 100644 --- a/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java +++ b/backend/src/main/java/io/dataease/base/domain/SysMsgSetting.java @@ -2,10 +2,12 @@ package io.dataease.base.domain; import java.io.Serializable; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel("订阅信息") public class SysMsgSetting implements Serializable { @ApiModelProperty(hidden = true) private Long msgSettingId; diff --git a/backend/src/main/java/io/dataease/base/domain/SysMsgType.java b/backend/src/main/java/io/dataease/base/domain/SysMsgType.java index 97262451b5..63d1e7db8a 100644 --- a/backend/src/main/java/io/dataease/base/domain/SysMsgType.java +++ b/backend/src/main/java/io/dataease/base/domain/SysMsgType.java @@ -2,10 +2,12 @@ package io.dataease.base.domain; import java.io.Serializable; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data +@ApiModel("消息类型") public class SysMsgType implements Serializable { @ApiModelProperty("消息类型ID") @@ -17,10 +19,10 @@ public class SysMsgType implements Serializable { @ApiModelProperty("消息类型名称") private String typeName; - @ApiModelProperty(hidden = true) + @ApiModelProperty("回调路由") private String router; - @ApiModelProperty(hidden = true) + @ApiModelProperty("回调函数") private String callback; private static final long serialVersionUID = 1L; diff --git a/backend/src/main/java/io/dataease/base/domain/SysUser.java b/backend/src/main/java/io/dataease/base/domain/SysUser.java index 8867cc75c4..19b0ad8da8 100644 --- a/backend/src/main/java/io/dataease/base/domain/SysUser.java +++ b/backend/src/main/java/io/dataease/base/domain/SysUser.java @@ -1,44 +1,64 @@ package io.dataease.base.domain; import java.io.Serializable; + +import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data public class SysUser implements Serializable { + @ApiModelProperty("ID") private Long userId; + @ApiModelProperty("组织ID") private Long deptId; + @ApiModelProperty("账号") private String username; + @ApiModelProperty("姓名") private String nickName; + @ApiModelProperty("性别") private String gender; + @ApiModelProperty("电话") private String phone; + @ApiModelProperty("邮箱") private String email; + @ApiModelProperty(hidden = true) private String password; + @ApiModelProperty("是否管理员") private Boolean isAdmin; + @ApiModelProperty("状态") private Long enabled; + @ApiModelProperty("创建人") private String createBy; + @ApiModelProperty("修改人") private String updateBy; + @ApiModelProperty("密码重置时间") private Long pwdResetTime; + @ApiModelProperty("创建时间") private Long createTime; + @ApiModelProperty("修改时间") private Long updateTime; + @ApiModelProperty("语言") private String language; + @ApiModelProperty("用户来源") private Integer from; + @ApiModelProperty(hidden = true) private String sub; private static final long serialVersionUID = 1L; diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java index 7cb3f07b78..3edc80323d 100644 --- a/backend/src/main/java/io/dataease/controller/IndexController.java +++ b/backend/src/main/java/io/dataease/controller/IndexController.java @@ -43,8 +43,8 @@ public class IndexController { return "doc.html"; default: // DataEaseException.throwException("Invalid License."); - return "nolic.html"; - // return "doc.html"; + /* return "nolic.html"; */ + return "doc.html"; } // return "index.html"; } diff --git a/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java b/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java new file mode 100644 index 0000000000..f8ffcc9957 --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/response/ExistLdapUser.java @@ -0,0 +1,15 @@ +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; + +} diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java index 8db6b4cba9..eddcc18bda 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -23,6 +23,8 @@ import javax.annotation.Resource; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; @Api(tags = "系统:消息管理") @ApiSupport(order = 230) @@ -35,6 +37,11 @@ public class MsgController { @ApiOperation("分页查询") @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> messages(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody MsgRequest msgRequest) { Long userId = AuthUtils.getUser().getUserId(); List typeIds = null; @@ -50,16 +57,18 @@ public class MsgController { @ApiOperation("查询未读数量") @PostMapping("/unReadCount") - public Long unReadCount(@RequestBody Map request) { - if(null == request || null == request.get("userId")) { + public Long unReadCount() {; + Long userId = null; + if(null == AuthUtils.getUser() || (userId = AuthUtils.getUser().getUserId()) == null) { throw new RuntimeException("缺少用户ID"); } - Long userId = request.get("userId"); + // Long userId = request.get("userId"); return sysMsgService.queryCount(userId); } @ApiOperation("设置已读") @PostMapping("/setReaded/{msgId}") + @ApiImplicitParam(paramType="path", name = "msgId", value = "消息ID", required = true, dataType = "Long") public void setReaded(@PathVariable Long msgId) { sysMsgService.setReaded(msgId); } @@ -67,6 +76,7 @@ public class MsgController { @ApiOperation("批量设置已读") @PostMapping("/batchRead") + @ApiImplicitParam(name = "msgIds", value = "消息ID集合", required = true, dataType = "List") public void batchRead(@RequestBody List msgIds) { sysMsgService.setBatchReaded(msgIds); } @@ -79,6 +89,7 @@ public class MsgController { @ApiOperation("批量删除") @PostMapping("/batchDelete") + @ApiImplicitParam(name = "msgIds", value = "消息ID集合", required = true, dataType = "List") public void batchDelete(@RequestBody List msgIds) { sysMsgService.batchDelete(msgIds); } diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java index ff0706a6c5..f91d32ef81 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java @@ -9,6 +9,7 @@ import io.dataease.base.domain.SysRole; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; +import io.dataease.controller.response.ExistLdapUser; import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.request.SysUserCreateRequest; import io.dataease.controller.sys.request.SysUserPwdRequest; @@ -18,13 +19,17 @@ import io.dataease.controller.sys.response.SysUserGridResponse; import io.dataease.service.sys.SysRoleService; import io.dataease.service.sys.SysUserService; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; + import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import javax.annotation.Resource; import java.util.List; import java.util.Optional; +import java.util.stream.Collectors; @RestController @Api(tags = "系统:用户管理") @@ -40,6 +45,11 @@ public class SysUserController { @ApiOperation("查询用户") @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> userGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); return PageUtils.setPageInfo(page, sysUserService.query(request)); @@ -63,6 +73,7 @@ public class SysUserController { @ApiOperation("删除用户") @PostMapping("/delete/{userId}") + @ApiImplicitParam(paramType = "path", value = "用户ID", name = "userId", required = true, dataType = "Integer") public void delete(@PathVariable("userId") Long userId){ sysUserService.delete(userId); } @@ -103,6 +114,7 @@ public class SysUserController { @ApiOperation("设置语言") @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) { CurrentUserDto user = AuthUtils.getUser(); Optional.ofNullable(language).ifPresent(currentLanguage -> { @@ -122,6 +134,11 @@ public class SysUserController { @ApiOperation("查询角色") @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> roleGrid(@PathVariable int goPage, @PathVariable int pageSize, @RequestBody BaseGridRequest request) { Page page = PageHelper.startPage(goPage, pageSize, true); Pager> listPager = PageUtils.setPageInfo(page, sysRoleService.query(request)); @@ -137,8 +154,13 @@ public class SysUserController { @ApiOperation("已同步用户") @PostMapping("/existLdapUsers") - public List getExistLdapUsers() { - return sysUserService.ldapUserNames(); + public List getExistLdapUsers() { + List userNames = sysUserService.ldapUserNames(); + return userNames.stream().map(name -> { + ExistLdapUser ldapUser = new ExistLdapUser(); + ldapUser.setUsername(name); + return ldapUser; + }).collect(Collectors.toList()); } } diff --git a/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java b/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java index 0e645dab29..91a25a9c9c 100644 --- a/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/base/BaseGridRequest.java @@ -1,6 +1,7 @@ package io.dataease.controller.sys.base; import io.dataease.base.mapper.ext.query.GridExample; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import org.apache.commons.collections.CollectionUtils; @@ -8,9 +9,11 @@ import java.io.Serializable; import java.util.List; + +@ApiModel("查询条件") public class BaseGridRequest implements Serializable { - @ApiModelProperty("查询条件") + @ApiModelProperty("条件集合") private List conditions; public List getConditions() { diff --git a/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java index 3645287be2..3e5ac7f497 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/MsgRequest.java @@ -1,5 +1,6 @@ package io.dataease.controller.sys.request; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -7,6 +8,7 @@ import java.io.Serializable; import java.util.List; @Data +@ApiModel("消息条件") public class MsgRequest implements Serializable { private static final long serialVersionUID = 1920091635946508658L; diff --git a/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java index 4ddf049a69..0aeb3c2a4c 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/SysUserCreateRequest.java @@ -1,12 +1,14 @@ package io.dataease.controller.sys.request; import io.dataease.base.domain.SysUser; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; @Data +@ApiModel("用户信息") public class SysUserCreateRequest extends SysUser { @ApiModelProperty(value = "角色ID集合", required = true, position = 7) diff --git a/backend/src/main/java/io/dataease/controller/sys/request/SysUserPwdRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/SysUserPwdRequest.java index 7f8c2aa3f1..7e15abb20b 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/SysUserPwdRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/SysUserPwdRequest.java @@ -1,12 +1,14 @@ package io.dataease.controller.sys.request; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data +@ApiModel("更新密码参数") public class SysUserPwdRequest implements Serializable { @ApiModelProperty(value = "用户ID", required = true) diff --git a/backend/src/main/java/io/dataease/controller/sys/request/SysUserStateRequest.java b/backend/src/main/java/io/dataease/controller/sys/request/SysUserStateRequest.java index 379eb14d47..115c96b9e9 100644 --- a/backend/src/main/java/io/dataease/controller/sys/request/SysUserStateRequest.java +++ b/backend/src/main/java/io/dataease/controller/sys/request/SysUserStateRequest.java @@ -1,16 +1,18 @@ package io.dataease.controller.sys.request; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @Data +@ApiModel("更新状态参数") public class SysUserStateRequest implements Serializable { @ApiModelProperty(value = "用户ID", required = true) private Long userId; - @ApiModelProperty(value = "状态", required = true, allowableValues = "1,0") + @ApiModelProperty(value = "状态{1:可用, 0:禁用}", required = true, allowableValues = "1,0") private Long enabled; } diff --git a/backend/src/main/java/io/dataease/controller/sys/response/SettingTreeNode.java b/backend/src/main/java/io/dataease/controller/sys/response/SettingTreeNode.java index 74d3f6a718..3b04880dba 100644 --- a/backend/src/main/java/io/dataease/controller/sys/response/SettingTreeNode.java +++ b/backend/src/main/java/io/dataease/controller/sys/response/SettingTreeNode.java @@ -1,6 +1,7 @@ package io.dataease.controller.sys.response; +import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -8,6 +9,7 @@ import java.io.Serializable; import java.util.List; @Data +@ApiModel("消息类型节点") public class SettingTreeNode implements Serializable { private static final long serialVersionUID = -2416283978185545199L; diff --git a/frontend/src/api/system/msg.js b/frontend/src/api/system/msg.js index 4dc120ae61..8c1623b0c3 100644 --- a/frontend/src/api/system/msg.js +++ b/frontend/src/api/system/msg.js @@ -9,12 +9,12 @@ export function query(pageIndex, pageSize, data) { }) } -export function unReadCount(data) { +export function unReadCount() { return request({ url: '/api/sys_msg/unReadCount', method: 'post', - loading: false, - data + loading: false + // data }) } diff --git a/frontend/src/components/Notification/index.vue b/frontend/src/components/Notification/index.vue index 796ac96762..8bc2c9bdf0 100644 --- a/frontend/src/components/Notification/index.vue +++ b/frontend/src/components/Notification/index.vue @@ -187,10 +187,10 @@ export default { }.bind(this) }) } - const param = { + /* const param = { userId: this.user.userId - } - unReadCount(param).then(res => { + } */ + unReadCount().then(res => { this.count = res.data }) }, From 39d240d6b008d30aca5c961f8f1f1d631067cb65 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 2 Nov 2021 15:06:51 +0800 Subject: [PATCH 10/11] =?UTF-8?q?refactor:=20=E4=B8=BB=E9=A2=98=E5=8F=A6?= =?UTF-8?q?=E5=AD=98=E4=B8=BA=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V27__de1.4.sql | 26 ------------------- frontend/src/lang/en.js | 9 ++++++- frontend/src/lang/tw.js | 9 ++++++- frontend/src/lang/zh.js | 9 ++++++- frontend/src/views/system/user/imp-ldap.vue | 2 +- 5 files changed, 25 insertions(+), 30 deletions(-) diff --git a/backend/src/main/resources/db/migration/V27__de1.4.sql b/backend/src/main/resources/db/migration/V27__de1.4.sql index 69a25ceedc..2b6b07d669 100644 --- a/backend/src/main/resources/db/migration/V27__de1.4.sql +++ b/backend/src/main/resources/db/migration/V27__de1.4.sql @@ -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, 'customTableColor', '#ACBAC3'); 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, 'deSuccess', '#67C23A'); INSERT INTO `sys_theme_item` VALUES (1, 'deWarning', '#E6A23C'); diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 76dc68baeb..6b4bcb57e6 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -423,7 +423,14 @@ export default { theme: { change: 'Change Theme', 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: { refresh: 'Refresh', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 8548e80956..1393e2e979 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -423,7 +423,14 @@ export default { theme: { change: '換膚', documentation: '換膚文檔', - tips: 'Tips: 它區別于 navbar 上的 theme-pick, 是兩種不同的換膚方法,各自有不同的應用場景,具體請參考文檔。' + tips: 'Tips: 它區別于 navbar 上的 theme-pick, 是兩種不同的換膚方法,各自有不同的應用場景,具體請參考文檔。', + base: '基礎配色', + font: '字體顏色', + border: '邊框顏色', + background: '背景顏色', + custom: '自定義顏色', + otherSave: '主題另存為', + info: '主題信息' }, tagsView: { refresh: '刷新', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 93c153fb9c..5a6b1381b1 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -425,7 +425,14 @@ export default { theme: { change: '换肤', documentation: '换肤文档', - tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。' + tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。', + base: '基础配色', + font: '字体颜色', + border: '边框颜色', + background: '背景颜色', + custom: '自定义颜色', + otherSave: '主题另存为', + info: '主题信息' }, tagsView: { refresh: '刷新', diff --git a/frontend/src/views/system/user/imp-ldap.vue b/frontend/src/views/system/user/imp-ldap.vue index ff8af77267..a6b48b5816 100644 --- a/frontend/src/views/system/user/imp-ldap.vue +++ b/frontend/src/views/system/user/imp-ldap.vue @@ -238,7 +238,7 @@ export default { ldapUsers().then(res => { if (res && res.data) { 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 } return item From f58adcda97bac5f61970359a14e8a11f1d5e328c Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 2 Nov 2021 15:17:40 +0800 Subject: [PATCH 11/11] =?UTF-8?q?fix:=20=E5=85=AC=E5=85=B1=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E5=88=86=E4=BA=AB=E8=80=81=E5=AF=86=E7=A0=81=E8=BF=87?= =?UTF-8?q?=E9=95=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/link/generate/index.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/src/views/link/generate/index.vue b/frontend/src/views/link/generate/index.vue index 887c32e930..5535777648 100644 --- a/frontend/src/views/link/generate/index.vue +++ b/frontend/src/views/link/generate/index.vue @@ -120,6 +120,10 @@ export default { this.form.uri = uri ? (this.origin + uri) : uri // 返回的密码是共钥加密后的 所以展示需要私钥解密一波 pwd && (this.form.pwd = pwd) + + if (pwd && pwd.length > 0 && pwd.length > this.pwdNums) { + this.resetPwd() + } /* pwd && (this.form.pwd = decrypt(pwd)) */ /* overTime && (this.form.overTime = overTime) */ overTime && (this.$set(this.form, 'overTime', overTime))