|
@@ -67,35 +67,44 @@ export const IndexDataSet = () => {
|
|
|
, [dataset, temps]
|
|
|
);
|
|
|
|
|
|
+ /** 结果预览面板初始化 */
|
|
|
+ const initFilterPanel=(value)=>{
|
|
|
+ const {dimensionList,metricList} = value;
|
|
|
+ const dimension = (dimensionList||[])
|
|
|
+ // .filter(v=>v?.type!==DIM_TYPE_ENUM.DATETIME)
|
|
|
+ .map(v=>({
|
|
|
+ label:v.description||v.name,
|
|
|
+ value:v.id,
|
|
|
+ bizName:v.bizName,
|
|
|
+ semanticType:v.semanticType,
|
|
|
+ type:TYPE_ENUM.DIMENSION
|
|
|
+ }))
|
|
|
+ const metric = (metricList||[]).map(v=>({
|
|
|
+ label:v.description||v.name,
|
|
|
+ value:v.id,
|
|
|
+ bizName:v.bizName,
|
|
|
+ type:TYPE_ENUM.METRIC
|
|
|
+ }))
|
|
|
+
|
|
|
+ setOption({dimension,metric})
|
|
|
+ }
|
|
|
+
|
|
|
/** 选中数据集卡片时取数据并渲染WorkFlow */
|
|
|
const onCardSelect = useCallback((value) => {
|
|
|
if (value) {
|
|
|
- // 选中的模型
|
|
|
- selected.current=value.allModels
|
|
|
// 缓存点击的数据
|
|
|
recordRef.current=value
|
|
|
|
|
|
- const {dimensionList,metricList} = value
|
|
|
- const dimension = (dimensionList||[])
|
|
|
- // .filter(v=>v?.type!==DIM_TYPE_ENUM.DATETIME)
|
|
|
- .map(v=>({
|
|
|
- label:v.description||v.name,
|
|
|
- value:v.id,
|
|
|
- bizName:v.bizName,
|
|
|
- semanticType:v.semanticType,
|
|
|
- type:TYPE_ENUM.DIMENSION
|
|
|
- }))
|
|
|
- const metric = (metricList||[]).map(v=>({
|
|
|
- label:v.description||v.name,
|
|
|
- value:v.id,
|
|
|
- bizName:v.bizName,
|
|
|
- type:TYPE_ENUM.METRIC
|
|
|
- }))
|
|
|
-
|
|
|
- setOption({dimension,metric})
|
|
|
+ initFilterPanel(value)
|
|
|
|
|
|
// 获取模型信息
|
|
|
- dispatch(getModals({domainId:value.domainId}))
|
|
|
+ dispatch(getModals({
|
|
|
+ domainId:value.domainId,
|
|
|
+ resolve(){
|
|
|
+ // 选中的模型回显
|
|
|
+ selected.current=value.allModels
|
|
|
+ }
|
|
|
+ }))
|
|
|
|
|
|
if (value.id){
|
|
|
// 获取数据集详情-回显
|
|
@@ -119,23 +128,23 @@ export const IndexDataSet = () => {
|
|
|
})
|
|
|
|
|
|
// 插入关系节点
|
|
|
- let initEdges=[];
|
|
|
- modelRelas.map(rel=>{
|
|
|
- const {fromModelId,toModelId,joinConditions}=rel;
|
|
|
- const {leftField,rightField} = joinConditions[0];
|
|
|
- initEdges = [...initEdges,{
|
|
|
- id:`xy-edge__${fromModelId}.${leftField}-${toModelId}.${rightField}`,
|
|
|
- style: {strokeWidth: 2, stroke: 'black'},
|
|
|
- type: 'smoothstep',
|
|
|
- markerEnd: {
|
|
|
- type: MarkerType.ArrowClosed,
|
|
|
- color: 'black',
|
|
|
- },
|
|
|
- source: leftField,
|
|
|
- target: rightField
|
|
|
- }]
|
|
|
- updateEdgesState(initEdges);
|
|
|
- })
|
|
|
+ // let initEdges=[];
|
|
|
+ // modelRelas.map(rel=>{
|
|
|
+ // const {fromModelId,toModelId,joinConditions}=rel;
|
|
|
+ // const {leftField,rightField} = joinConditions[0];
|
|
|
+ // initEdges = [...initEdges,{
|
|
|
+ // id:`xy-edge__${fromModelId}.${leftField}-${toModelId}.${rightField}`,
|
|
|
+ // style: {strokeWidth: 2, stroke: 'black'},
|
|
|
+ // type: 'smoothstep',
|
|
|
+ // markerEnd: {
|
|
|
+ // type: MarkerType.ArrowClosed,
|
|
|
+ // color: 'black',
|
|
|
+ // },
|
|
|
+ // source: leftField,
|
|
|
+ // target: rightField
|
|
|
+ // }]
|
|
|
+ // updateEdgesState(initEdges);
|
|
|
+ // })
|
|
|
}else {
|
|
|
clear()
|
|
|
}
|
|
@@ -148,6 +157,8 @@ export const IndexDataSet = () => {
|
|
|
|
|
|
/** 选择模型回调*/
|
|
|
const onChangeModal = useCallback((id) => {
|
|
|
+ // 选中的模型
|
|
|
+ selected.current=[id]
|
|
|
// 获取模型明细
|
|
|
dispatch(getModalInfo({
|
|
|
id,
|
|
@@ -205,7 +216,7 @@ export const IndexDataSet = () => {
|
|
|
|
|
|
/** 保存数据集*/
|
|
|
const onDatasetSave = (update) => {
|
|
|
- const record = recordRef.current
|
|
|
+ const record = recordRef.current;
|
|
|
// 模型显示字段
|
|
|
const displayNodes = getNodesState.filter(node => node.data.checked)
|
|
|
const dataSetModelConfigs = getNodesState
|
|
@@ -237,27 +248,28 @@ export const IndexDataSet = () => {
|
|
|
return false
|
|
|
}
|
|
|
// 模型连接关系
|
|
|
- const modelRela = getEdgesState.map(edge => {
|
|
|
- const formModal = getNodesState.find(node => node.id === edge.source);
|
|
|
- const toModal = getNodesState.find(node => node.id === edge.target);
|
|
|
- return {
|
|
|
- domainId: record.domainId,
|
|
|
- fromModelId: parseInt(formModal.parentId),
|
|
|
- toModelId: parseInt(toModal.parentId),
|
|
|
- joinType: "LEFT",
|
|
|
- joinConditions: [
|
|
|
- {
|
|
|
- leftField: edge.source,
|
|
|
- rightField: edge.target,
|
|
|
- operator: "IN"
|
|
|
- }
|
|
|
- ],
|
|
|
- createdBy: "admin",
|
|
|
- updatedBy: "admin",
|
|
|
- createdAt: "2024-08-13T02:40:17.000+00:00",
|
|
|
- updatedAt: "2024-08-13T02:40:17.000+00:00"
|
|
|
- }
|
|
|
- })
|
|
|
+ // const modelRela = getEdgesState.map(edge => {
|
|
|
+ // console.log(edge)
|
|
|
+ // const formModal = getNodesState.find(node => node.id === edge.source);
|
|
|
+ // const toModal = getNodesState.find(node => node.id === edge.target);
|
|
|
+ // return {
|
|
|
+ // domainId: record.domainId,
|
|
|
+ // fromModelId: parseInt(formModal.parentId),
|
|
|
+ // toModelId: parseInt(toModal.parentId),
|
|
|
+ // joinType: "LEFT",
|
|
|
+ // joinConditions: [
|
|
|
+ // {
|
|
|
+ // leftField: edge.source,
|
|
|
+ // rightField: edge.target,
|
|
|
+ // operator: "IN"
|
|
|
+ // }
|
|
|
+ // ],
|
|
|
+ // createdBy: "admin",
|
|
|
+ // updatedBy: "admin",
|
|
|
+ // createdAt: "2024-08-13T02:40:17.000+00:00",
|
|
|
+ // updatedAt: "2024-08-13T02:40:17.000+00:00"
|
|
|
+ // }
|
|
|
+ // })
|
|
|
|
|
|
const params = {
|
|
|
name: record.name,
|
|
@@ -274,7 +286,7 @@ export const IndexDataSet = () => {
|
|
|
dataSetDetail: {
|
|
|
dataSetModelConfigs
|
|
|
},
|
|
|
- modelRela: modelRela,
|
|
|
+ modelRela: [],
|
|
|
alias: record.name,
|
|
|
queryConfig: {
|
|
|
metricTypeDefaultConfig: {
|
|
@@ -303,6 +315,7 @@ export const IndexDataSet = () => {
|
|
|
setTemps([])
|
|
|
message.success("修改成功")
|
|
|
dispatch(getAllDataset({}))
|
|
|
+ initFilterPanel(data)
|
|
|
}
|
|
|
}))
|
|
|
}else {
|
|
@@ -313,6 +326,7 @@ export const IndexDataSet = () => {
|
|
|
setTemps([])
|
|
|
message.success("保存成功")
|
|
|
dispatch(getAllDataset({}))
|
|
|
+ initFilterPanel(data)
|
|
|
}
|
|
|
}))
|
|
|
}
|
|
@@ -333,7 +347,7 @@ export const IndexDataSet = () => {
|
|
|
period: 'day',
|
|
|
detectWord: "",
|
|
|
isInherited: false,
|
|
|
- groupByDate: groups.length<dimension.length
|
|
|
+ groupByDate: groups.length<dimension?.length
|
|
|
}
|
|
|
let dimensionFilters = [];
|
|
|
(tags||[]).forEach(tag=>{
|
|
@@ -420,7 +434,7 @@ export const IndexDataSet = () => {
|
|
|
// const items = useMemo(() => [], [queryData,record,modals, getNodesState,getEdgesState]);
|
|
|
|
|
|
/** 创建临时数据集 */
|
|
|
- const handleDatasetFinish = useCallback((value) => {
|
|
|
+ const handleDatasetFinish = (value) => {
|
|
|
if (value?.id){
|
|
|
onDatasetSave(value)
|
|
|
}else {
|
|
@@ -429,7 +443,7 @@ export const IndexDataSet = () => {
|
|
|
onCardSelect(value)
|
|
|
setOpen(false)
|
|
|
}
|
|
|
- }, [])
|
|
|
+ }
|
|
|
|
|
|
const openForm = useCallback(() => {
|
|
|
recordRef.current=null
|