Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
dataease
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
njgzx
dataease
Commits
ab886fe1
提交
ab886fe1
authored
3月 26, 2022
作者:
wangjiahao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: 仪表板支持接收外部参数
上级
dd306a30
隐藏空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
282 行增加
和
31 行删除
+282
-31
ExtPanelOuterParamsMapper.java
...o/dataease/base/mapper/ext/ExtPanelOuterParamsMapper.java
+5
-1
ExtPanelOuterParamsMapper.xml
...io/dataease/base/mapper/ext/ExtPanelOuterParamsMapper.xml
+18
-0
IndexController.java
...src/main/java/io/dataease/controller/IndexController.java
+9
-0
PanelOuterParamsController.java
...dataease/controller/panel/PanelOuterParamsController.java
+7
-0
ChartExtRequest.java
...io/dataease/controller/request/chart/ChartExtRequest.java
+3
-1
PanelOuterParamsBaseResponse.java
...e/dto/panel/outerParams/PanelOuterParamsBaseResponse.java
+25
-0
PanelOuterParamsInfoDTO.java
...taease/dto/panel/outerParams/PanelOuterParamsInfoDTO.java
+6
-0
ChartViewService.java
...main/java/io/dataease/service/chart/ChartViewService.java
+14
-3
PanelOuterParamsService.java
...va/io/dataease/service/panel/PanelOuterParamsService.java
+9
-0
link.html
frontend/public/link.html
+4
-0
outerParams.js
frontend/src/api/panel/outerParams.js
+8
-2
PreviewEject.vue
.../src/components/canvas/components/Editor/PreviewEject.vue
+44
-8
UserView.vue
frontend/src/components/canvas/custom-component/UserView.vue
+1
-0
en.js
frontend/src/lang/en.js
+1
-0
tw.js
frontend/src/lang/tw.js
+1
-0
zh.js
frontend/src/lang/zh.js
+1
-0
index.js
frontend/src/store/index.js
+49
-0
check.js
frontend/src/utils/check.js
+11
-0
index.vue
frontend/src/views/link/view/index.vue
+52
-15
index.vue
frontend/src/views/panel/OuterParamsSet/index.vue
+14
-1
没有找到文件。
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelOuterParamsMapper.java
浏览文件 @
ab886fe1
package
io
.
dataease
.
base
.
mapper
.
ext
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsDTO
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsInfoDTO
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
ExtPanelOuterParamsMapper
{
PanelOuterParamsDTO
queryWithPanelId
(
@Param
(
"panelId"
)
String
panelId
);
...
...
@@ -14,4 +16,6 @@ public interface ExtPanelOuterParamsMapper {
void
deleteOuterParamsWithPanelId
(
@Param
(
"panelId"
)
String
panelId
);
List
<
PanelOuterParamsInfoDTO
>
getPanelOuterParamsInfo
(
@Param
(
"panelId"
)
String
panelId
);
}
backend/src/main/java/io/dataease/base/mapper/ext/ExtPanelOuterParamsMapper.xml
浏览文件 @
ab886fe1
...
...
@@ -17,6 +17,13 @@
</collection>
</resultMap>
<resultMap
id=
"AllOuterParamsMap"
type=
"io.dataease.dto.panel.outerParams.PanelOuterParamsInfoDTO"
>
<result
column=
"sourceInfo"
jdbcType=
"VARCHAR"
property=
"sourceInfo"
/>
<collection
property=
"targetInfoList"
ofType=
"String"
>
<result
column=
"targetInfo"
jdbcType=
"VARCHAR"
/>
</collection>
</resultMap>
<select
id=
"getOuterParamsInfo"
resultMap=
"OuterParamsInfoMap"
>
SELECT
pop.panel_id,
...
...
@@ -76,6 +83,17 @@
pop.panel_id = #{panelId}
</delete>
<select
id=
"getPanelOuterParamsInfo"
resultMap=
"AllOuterParamsMap"
>
SELECT DISTINCT
param_name AS sourceInfo,
CONCAT( poptvi.target_view_id, '#', poptvi.target_field_id ) AS targetInfo
FROM
panel_outer_params pop
LEFT JOIN panel_outer_params_info popi ON pop.params_id = popi.params_id
LEFT JOIN panel_outer_params_target_view_info poptvi ON popi.params_info_id = poptvi.params_info_id
WHERE
pop.panel_id = #{panelId}
</select>
</mapper>
backend/src/main/java/io/dataease/controller/IndexController.java
浏览文件 @
ab886fe1
...
...
@@ -7,12 +7,15 @@ import io.dataease.commons.utils.CodingUtil;
import
io.dataease.commons.utils.LogUtil
;
import
io.dataease.commons.utils.ServletUtils
;
import
io.dataease.service.panel.PanelLinkService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.http.HttpRequest
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
javax.annotation.Resource
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
...
...
@@ -59,6 +62,12 @@ public class IndexController {
}
HttpServletResponse
response
=
ServletUtils
.
response
();
try
{
// TODO 增加仪表板外部参数
HttpServletRequest
request
=
ServletUtils
.
request
();
String
attachParams
=
request
.
getParameter
(
"attachParams"
);
if
(
StringUtils
.
isNotEmpty
(
attachParams
)){
url
=
url
+
"&attachParams="
+
attachParams
;
}
response
.
sendRedirect
(
url
);
}
catch
(
IOException
e
)
{
LogUtil
.
error
(
e
.
getMessage
());
...
...
backend/src/main/java/io/dataease/controller/panel/PanelOuterParamsController.java
浏览文件 @
ab886fe1
package
io
.
dataease
.
controller
.
panel
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsBaseResponse
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsDTO
;
import
io.dataease.service.panel.PanelOuterParamsService
;
import
io.swagger.annotations.Api
;
...
...
@@ -34,4 +35,10 @@ public class PanelOuterParamsController {
public
void
updateOuterParamsSet
(
@RequestBody
PanelOuterParamsDTO
OuterParamsDTO
)
{
panelOuterParamsService
.
updateOuterParamsSet
(
OuterParamsDTO
);
}
@ApiOperation
(
"仪表板外部参数映射关系"
)
@GetMapping
(
"/getOuterParamsInfo/{panelId}"
)
public
PanelOuterParamsBaseResponse
getOuterParamsInfo
(
@PathVariable
(
"panelId"
)
String
panelId
){
return
panelOuterParamsService
.
getOuterParamsInfo
(
panelId
);
}
}
backend/src/main/java/io/dataease/controller/request/chart/ChartExtRequest.java
浏览文件 @
ab886fe1
...
...
@@ -18,10 +18,12 @@ public class ChartExtRequest {
@ApiModelProperty
(
"视图额外过滤条件集合"
)
private
List
<
ChartExtFilterRequest
>
filter
;
// 联动过滤条件
@ApiModelProperty
(
"联动过滤条件集合"
)
private
List
<
ChartExtFilterRequest
>
linkageFilters
;
@ApiModelProperty
(
"外部参数过滤条件集合"
)
private
List
<
ChartExtFilterRequest
>
outerParamsFilters
;
@ApiModelProperty
(
"下钻维度集合"
)
private
List
<
ChartDrillRequest
>
drill
;
...
...
backend/src/main/java/io/dataease/dto/panel/outerParams/PanelOuterParamsBaseResponse.java
0 → 100644
浏览文件 @
ab886fe1
package
io
.
dataease
.
dto
.
panel
.
outerParams
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.Map
;
/**
* Author: wangjiahao
* Date: 2022/3/25
* Description:
*/
@Data
public
class
PanelOuterParamsBaseResponse
{
// 获取仪表板外部参数映射信息
private
Map
<
String
,
List
<
String
>>
outerParamsInfoMap
;
public
PanelOuterParamsBaseResponse
(
Map
<
String
,
List
<
String
>>
outerParamsInfoMap
)
{
this
.
outerParamsInfoMap
=
outerParamsInfoMap
;
}
public
PanelOuterParamsBaseResponse
()
{
}
}
backend/src/main/java/io/dataease/dto/panel/outerParams/PanelOuterParamsInfoDTO.java
浏览文件 @
ab886fe1
...
...
@@ -18,4 +18,10 @@ public class PanelOuterParamsInfoDTO extends PanelOuterParamsInfo {
private
String
panelId
;
private
List
<
PanelOuterParamsTargetViewInfo
>
targetViewInfoList
=
new
ArrayList
<>();
//仪表板外部参数信息 panelId#paramName
private
String
sourceInfo
;
//目标联动参数 targetViewId#targetFieldId
private
List
<
String
>
targetInfoList
;
}
backend/src/main/java/io/dataease/service/chart/ChartViewService.java
浏览文件 @
ab886fe1
...
...
@@ -426,9 +426,20 @@ public class ChartViewService {
}
}
//联动过滤条件联动条件全部加上
if
(
ObjectUtils
.
isNotEmpty
(
requestList
.
getLinkageFilters
()))
{
for
(
ChartExtFilterRequest
request
:
requestList
.
getLinkageFilters
())
{
List
<
ChartExtFilterRequest
>
filters
=
new
ArrayList
<>();
// 联动条件
if
(
ObjectUtils
.
isNotEmpty
(
requestList
.
getLinkageFilters
())){
filters
.
addAll
(
requestList
.
getLinkageFilters
());
}
// 外部参数条件
if
(
ObjectUtils
.
isNotEmpty
(
requestList
.
getOuterParamsFilters
())){
filters
.
addAll
(
requestList
.
getOuterParamsFilters
());
}
//联动过滤条件和外部参数过滤条件全部加上
if
(
ObjectUtils
.
isNotEmpty
(
filters
))
{
for
(
ChartExtFilterRequest
request
:
filters
)
{
DatasetTableField
datasetTableField
=
dataSetTableFieldsService
.
get
(
request
.
getFieldId
());
if
(!
desensitizationList
.
contains
(
datasetTableField
.
getDataeaseName
())
&&
dataeaseNames
.
contains
(
datasetTableField
.
getDataeaseName
()))
{
request
.
setDatasetTableField
(
datasetTableField
);
...
...
backend/src/main/java/io/dataease/service/panel/PanelOuterParamsService.java
浏览文件 @
ab886fe1
...
...
@@ -5,15 +5,19 @@ import io.dataease.base.mapper.PanelOuterParamsMapper;
import
io.dataease.base.mapper.PanelOuterParamsTargetViewInfoMapper
;
import
io.dataease.base.mapper.ext.ExtPanelOuterParamsMapper
;
import
io.dataease.dto.panel.linkJump.PanelLinkJumpDTO
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsBaseResponse
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsDTO
;
import
io.dataease.dto.panel.outerParams.PanelOuterParamsInfoDTO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.Assert
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
/**
* Author: wangjiahao
...
...
@@ -67,4 +71,9 @@ public class PanelOuterParamsService {
});
}
public
PanelOuterParamsBaseResponse
getOuterParamsInfo
(
String
panelId
){
List
<
PanelOuterParamsInfoDTO
>
result
=
extPanelOuterParamsMapper
.
getPanelOuterParamsInfo
(
panelId
);
return
new
PanelOuterParamsBaseResponse
(
Optional
.
ofNullable
(
result
).
orElse
(
new
ArrayList
<>()).
stream
().
collect
(
Collectors
.
toMap
(
PanelOuterParamsInfoDTO:
:
getSourceInfo
,
PanelOuterParamsInfoDTO:
:
getTargetInfoList
)));
}
}
frontend/public/link.html
浏览文件 @
ab886fe1
...
...
@@ -32,6 +32,7 @@
const
link
=
getQueryVariable
(
'link'
)
const
user
=
getQueryVariable
(
'user'
)
const
terminal
=
getQueryVariable
(
'terminal'
)
const
attachParams
=
getQueryVariable
(
'attachParams'
)
let
url
=
"/#/delink?link="
+
encodeURIComponent
(
link
)
if
(
terminal
)
{
url
+=
'&terminal='
+
terminal
...
...
@@ -39,6 +40,9 @@
if
(
user
)
{
url
+=
'&user='
+
user
}
if
(
attachParams
)
{
url
+=
'&attachParams='
+
attachParams
}
window
.
location
.
href
=
url
</script>
...
...
frontend/src/api/panel/outerParams.js
浏览文件 @
ab886fe1
...
...
@@ -7,8 +7,6 @@ export function queryWithPanelId(panelId) {
})
}
export
function
updateOuterParamsSet
(
requestInfo
)
{
return
request
({
url
:
'/outerParams/updateOuterParamsSet'
,
...
...
@@ -17,3 +15,11 @@ export function updateOuterParamsSet(requestInfo) {
loading
:
true
})
}
export
function
getOuterParamsInfo
(
panelId
)
{
return
request
({
url
:
'/outerParams/getOuterParamsInfo/'
+
panelId
,
method
:
'get'
,
loading
:
true
})
}
frontend/src/components/canvas/components/Editor/PreviewEject.vue
浏览文件 @
ab886fe1
...
...
@@ -9,6 +9,7 @@ import { uuid } from 'vue-uuid'
import
{
initPanelData
}
from
'@/api/panel/panel'
import
{
queryTargetPanelJumpInfo
}
from
'@/api/panel/linkJump'
import
{
proxyInitPanelData
}
from
'@/api/panel/shareProxy'
import
{
getOuterParamsInfo
}
from
'@/api/panel/outerParams'
export
default
{
components
:
{
Preview
},
...
...
@@ -75,9 +76,33 @@ export default {
},
initCallBack
()
{
this
.
dataLoading
=
false
this
.
dataLoading
=
true
let
loadingCount
=
0
// 如果含有跳转参数 进行触发
const
tempParam
=
localStorage
.
getItem
(
'jumpInfoParam'
)
// 添加外部参数
const
attachParamsEncode
=
this
.
$route
.
query
.
attachParams
tempParam
&&
loadingCount
++
attachParamsEncode
&&
loadingCount
++
if
(
attachParamsEncode
)
{
try
{
const
Base64
=
require
(
'js-base64'
).
Base64
const
attachParam
=
JSON
.
parse
(
Base64
.
decode
(
attachParamsEncode
))
getOuterParamsInfo
(
this
.
panelId
).
then
(
rsp
=>
{
if
(
--
loadingCount
===
0
)
{
this
.
dataLoading
=
false
}
this
.
$store
.
commit
(
'setNowPanelOuterParamsInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addOuterParamsFilter'
,
attachParam
)
})
}
catch
(
e
)
{
if
(
--
loadingCount
===
0
)
{
this
.
dataLoading
=
false
}
console
.
log
(
'outerParams Deocode error:'
,
e
)
}
}
if
(
tempParam
)
{
localStorage
.
removeItem
(
'jumpInfoParam'
)
const
jumpParam
=
JSON
.
parse
(
tempParam
)
...
...
@@ -87,13 +112,24 @@ export default {
sourceFieldId
:
jumpParam
.
sourceFieldId
,
targetPanelId
:
this
.
panelId
}
this
.
dataLoading
=
true
// 刷新跳转目标仪表板联动信息
queryTargetPanelJumpInfo
(
jumpRequestParam
).
then
(
rsp
=>
{
this
.
dataLoading
=
false
this
.
$store
.
commit
(
'setNowTargetPanelJumpInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addViewTrackFilter'
,
jumpParam
)
})
try
{
// 刷新跳转目标仪表板联动信息
queryTargetPanelJumpInfo
(
jumpRequestParam
).
then
(
rsp
=>
{
if
(
--
loadingCount
===
0
)
{
this
.
dataLoading
=
false
}
this
.
$store
.
commit
(
'setNowTargetPanelJumpInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addViewTrackFilter'
,
jumpParam
)
})
}
catch
(
e
)
{
if
(
--
loadingCount
===
0
)
{
this
.
dataLoading
=
false
}
console
.
log
(
'queryTargetPanelJumpInfo error:'
,
e
)
}
}
if
(
loadingCount
===
0
)
{
this
.
dataLoading
=
false
}
},
resetID
(
data
)
{
...
...
frontend/src/components/canvas/custom-component/UserView.vue
浏览文件 @
ab886fe1
...
...
@@ -213,6 +213,7 @@ export default {
const
filter
=
{}
filter
.
filter
=
this
.
isFirstLoad
?
this
.
filters
:
this
.
cfilters
filter
.
linkageFilters
=
this
.
element
.
linkageFilters
filter
.
outerParamsFilters
=
this
.
element
.
outerParamsFilters
filter
.
drill
=
this
.
drillClickDimensionList
filter
.
resultCount
=
this
.
resultCount
filter
.
resultMode
=
this
.
resultMode
...
...
frontend/src/lang/en.js
浏览文件 @
ab886fe1
...
...
@@ -1382,6 +1382,7 @@ export default {
sure_bt
:
'Confirm'
},
panel
:
{
repeat_params
:
'Repeat Params Exist'
,
enable_outer_param_set
:
'Enable Outer Param Set'
,
select_param
:
'Please Select Param...'
,
add_param_link_field
:
"Add Params' Linked Field"
,
...
...
frontend/src/lang/tw.js
浏览文件 @
ab886fe1
...
...
@@ -1383,6 +1383,7 @@ export default {
sure_bt
:
'確定'
},
panel
:
{
repeat_params
:
'存在名称重复的参数'
,
enable_outer_param_set
:
'启用外部参数设置'
,
select_param
:
'请选择参数...'
,
add_param_link_field
:
'添加参数联动字段'
,
...
...
frontend/src/lang/zh.js
浏览文件 @
ab886fe1
...
...
@@ -1391,6 +1391,7 @@ export default {
sure_bt
:
'确定'
},
panel
:
{
repeat_params
:
'存在名称重复的参数'
,
enable_outer_param_set
:
'启用外部参数设置'
,
select_param
:
'请选择参数...'
,
add_param_link_field
:
'添加参数联动字段'
,
...
...
frontend/src/store/index.js
浏览文件 @
ab886fe1
...
...
@@ -79,6 +79,8 @@ const data = {
nowPanelJumpInfo
:
{},
// 当前仪表板的跳转信息(只包括仪表板)
nowPanelJumpInfoTargetPanel
:
{},
// 当前仪表板的外部参数信息
nowPanelOuterParamsInfo
:
{},
// 拖拽的组件信息
dragComponentInfo
:
null
,
// 仪表板组件间隙大小 px
...
...
@@ -293,6 +295,50 @@ const data = {
state
.
componentData
[
index
]
=
element
}
},
// 添加外部参数的过滤条件
addOuterParamsFilter
(
state
,
params
)
{
// params 结构 {key1:value1,key2:value2}
if
(
params
)
{
const
trackInfo
=
state
.
nowPanelOuterParamsInfo
for
(
let
index
=
0
;
index
<
state
.
componentData
.
length
;
index
++
)
{
const
element
=
state
.
componentData
[
index
]
if
(
!
element
.
type
||
element
.
type
!==
'view'
)
continue
const
currentFilters
=
element
.
outerParamsFilters
||
[]
// 外部参数信息
// 外部参数 可能会包含多个参数
Object
.
keys
(
params
).
forEach
(
function
(
sourceInfo
)
{
// 获取外部参数的值 sourceInfo 是外部参数名称
const
paramValue
=
params
[
sourceInfo
]
// 获取所有目标联动信息
const
targetInfoList
=
trackInfo
[
sourceInfo
]
||
[]
targetInfoList
.
forEach
(
targetInfo
=>
{
const
targetInfoArray
=
targetInfo
.
split
(
'#'
)
const
targetViewId
=
targetInfoArray
[
0
]
// 目标视图
if
(
element
.
propValue
.
viewId
===
targetViewId
)
{
// 如果目标视图 和 当前循环组件id相等 则进行条件增减
const
targetFieldId
=
targetInfoArray
[
1
]
// 目标视图列ID
const
condition
=
new
Condition
(
''
,
targetFieldId
,
'eq'
,
[
paramValue
],
[
targetViewId
])
let
j
=
currentFilters
.
length
while
(
j
--
)
{
const
filter
=
currentFilters
[
j
]
// 兼容性准备 viewIds 只会存放一个值
if
(
targetFieldId
===
filter
.
fieldId
&&
filter
.
viewIds
.
includes
(
targetViewId
))
{
currentFilters
.
splice
(
j
,
1
)
}
}
// 不存在该条件 且 条件有效 直接保存该条件
// !filterExist && vValid && currentFilters.push(condition)
currentFilters
.
push
(
condition
)
}
})
element
.
outerParamsFilters
=
currentFilters
state
.
componentData
[
index
]
=
element
})
}
}
},
setComponentWithId
(
state
,
component
)
{
for
(
let
index
=
0
;
index
<
state
.
componentData
.
length
;
index
++
)
{
const
element
=
state
.
componentData
[
index
]
...
...
@@ -338,6 +384,9 @@ const data = {
setNowTargetPanelJumpInfo
(
state
,
jumpInfo
)
{
state
.
nowPanelJumpInfoTargetPanel
=
jumpInfo
.
baseJumpInfoPanelMap
},
setNowPanelOuterParamsInfo
(
state
,
outerParamsInfo
)
{
state
.
nowPanelOuterParamsInfo
=
outerParamsInfo
.
outerParamsInfoMap
},
clearPanelLinkageInfo
(
state
)
{
state
.
componentData
.
forEach
(
item
=>
{
if
(
item
.
linkageFilters
&&
item
.
linkageFilters
.
length
>
0
)
{
...
...
frontend/src/utils/check.js
0 → 100644
浏览文件 @
ab886fe1
export
function
checkRepeat
(
arrayData
,
key
)
{
for
(
let
i
=
0
;
i
<
arrayData
.
length
;
i
++
)
{
for
(
let
j
=
i
+
1
;
j
<
arrayData
.
length
;
j
++
)
{
if
(
arrayData
[
i
][
key
]
===
arrayData
[
j
][
key
])
{
return
true
}
}
}
return
false
}
frontend/src/views/link/view/index.vue
浏览文件 @
ab886fe1
...
...
@@ -11,6 +11,7 @@ import Preview from '@/components/canvas/components/Editor/Preview'
import
{
getPanelAllLinkageInfo
}
from
'@/api/panel/linkage'
import
{
queryPanelJumpInfo
,
queryTargetPanelJumpInfo
}
from
'@/api/panel/linkJump'
import
{
panelInit
}
from
'@/components/canvas/utils/utils'
import
{
getOuterParamsInfo
}
from
'@/api/panel/outerParams'
export
default
{
name
:
'LinkView'
,
...
...
@@ -37,6 +38,8 @@ export default {
methods
:
{
setPanelInfo
()
{
loadResource
(
this
.
resourceId
).
then
(
res
=>
{
this
.
show
=
false
let
loadingCount
=
0
this
.
$store
.
dispatch
(
'panel/setPanelInfo'
,
{
id
:
res
.
data
.
id
,
name
:
res
.
data
.
name
,
...
...
@@ -54,25 +57,59 @@ export default {
queryPanelJumpInfo
(
this
.
resourceId
).
then
(
rsp
=>
{
this
.
$store
.
commit
(
'setNowPanelJumpInfo'
,
rsp
.
data
)
})
// 如果含有跳转参数 进行触发
const
tempParam
=
localStorage
.
getItem
(
'jumpInfoParam'
)
// 添加外部参数
const
attachParamsEncode
=
this
.
$route
.
query
.
attachParams
tempParam
&&
loadingCount
++
attachParamsEncode
&&
loadingCount
++
if
(
attachParamsEncode
)
{
try
{
const
Base64
=
require
(
'js-base64'
).
Base64
const
attachParam
=
JSON
.
parse
(
Base64
.
decode
(
attachParamsEncode
))
getOuterParamsInfo
(
this
.
resourceId
).
then
(
rsp
=>
{
if
(
--
loadingCount
===
0
)
{
this
.
show
=
true
}
this
.
$store
.
commit
(
'setNowPanelOuterParamsInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addOuterParamsFilter'
,
attachParam
)
})
}
catch
(
e
)
{
if
(
--
loadingCount
===
0
)
{
this
.
show
=
true
}
console
.
log
(
'outerParams Decode error:'
,
e
)
}
}
if
(
tempParam
)
{
localStorage
.
removeItem
(
'jumpInfoParam'
)
const
jumpParam
=
JSON
.
parse
(
tempParam
)
const
jumpRequestParam
=
{
sourcePanelId
:
jumpParam
.
sourcePanelId
,
sourceViewId
:
jumpParam
.
sourceViewId
,
sourceFieldId
:
jumpParam
.
sourceFieldId
,
targetPanelId
:
this
.
resourceId
try
{
localStorage
.
removeItem
(
'jumpInfoParam'
)
const
jumpParam
=
JSON
.
parse
(
tempParam
)
const
jumpRequestParam
=
{
sourcePanelId
:
jumpParam
.
sourcePanelId
,
sourceViewId
:
jumpParam
.
sourceViewId
,
sourceFieldId
:
jumpParam
.
sourceFieldId
,
targetPanelId
:
this
.
resourceId
}
// 刷新跳转目标仪表板联动信息
queryTargetPanelJumpInfo
(
jumpRequestParam
).
then
(
rsp
=>
{
this
.
show
=
true
this
.
$store
.
commit
(
'setNowTargetPanelJumpInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addViewTrackFilter'
,
jumpParam
)
})
}
catch
(
e
)
{
if
(
--
loadingCount
===
0
)
{
this
.
show
=
true
}
console
.
log
(
'tempParam error:'
,
e
)
}
this
.
show
=
false
// 刷新跳转目标仪表板联动信息
queryTargetPanelJumpInfo
(
jumpRequestParam
).
then
(
rsp
=>
{
this
.
show
=
true
this
.
$store
.
commit
(
'setNowTargetPanelJumpInfo'
,
rsp
.
data
)
this
.
$store
.
commit
(
'addViewTrackFilter'
,
jumpParam
)
})
}
else
{
}
if
(
loadingCount
===
0
)
{
this
.
show
=
true
}
})
...
...
frontend/src/views/panel/OuterParamsSet/index.vue
浏览文件 @
ab886fe1
...
...
@@ -173,6 +173,7 @@ import { mapState } from 'vuex'
import
{
queryWithPanelId
,
updateOuterParamsSet
}
from
'@/api/panel/outerParams'
import
{
uuid
}
from
'vue-uuid'
import
{
deepCopy
}
from
'@/components/canvas/utils/utils'
import
{
checkRepeat
}
from
'@/utils/check'
export
default
{
name
:
'OuterParamsSet'
,
...
...
@@ -258,9 +259,17 @@ export default {
this
.
$emit
(
'outerParamsSetVisibleChange'
,
false
)
},
save
()
{
if
(
checkRepeat
(
this
.
outerParams
.
outerParamsInfoArray
,
'name'
))
{
this
.
$message
({
message
:
this
.
$t
(
'panel.repeat_params'
),
type
:
'warn'
,
showClose
:
true
})
return
}
updateOuterParamsSet
(
this
.
outerParams
).
then
(
rsp
=>
{
this
.
$message
({
message
:
'保存成功'
,
message
:
this
.
$t
(
'commons.save_success'
)
,
type
:
'success'
,
showClose
:
true
})
...
...
@@ -329,6 +338,10 @@ export default {
const
children
=
parent
.
data
.
children
||
parent
.
data
const
index
=
children
.
findIndex
(
d
=>
d
.
paramsInfoId
===
data
.
paramsInfoId
)
children
.
splice
(
index
,
1
)
if
(
data
.
paramsInfoId
===
this
.
outerParamsInfo
.
paramsInfoId
)
{
delete
this
.
mapOuterParamsInfoArray
[
data
.
paramsInfoId
]
this
.
outerParamsInfo
=
null
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论