Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigDataSystem
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张伯涛
bigDataSystem
Commits
c9188a82
Commit
c9188a82
authored
Nov 15, 2024
by
chenjiahao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
数据质量-主体类-质量主体-存储管理
parent
13b6cb6a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
230 additions
and
7 deletions
+230
-7
account.data.ts
src/views/dataQuality/agentClass/mainBody/account.data.ts
+11
-6
associationRulesModal.vue
...dataQuality/agentClass/mainBody/associationRulesModal.vue
+104
-0
dataQualityMainBodyData.ts
...ataQuality/agentClass/mainBody/dataQualityMainBodyData.ts
+27
-0
index.vue
src/views/dataQuality/agentClass/mainBody/index.vue
+13
-0
mainBodyEdit.vue
src/views/dataQuality/agentClass/mainBody/mainBodyEdit.vue
+75
-1
No files found.
src/views/dataQuality/agentClass/mainBody/account.data.ts
View file @
c9188a82
...
...
@@ -9,11 +9,21 @@ type CheckedType = boolean | string | number;
export
const
columns
:
BasicColumn
[]
=
[
{
title
:
'名称'
,
title
:
'
质量主体
名称'
,
dataIndex
:
'fileName'
,
width
:
150
,
slots
:
{
customRender
:
'fileName'
},
},
{
title
:
'描述'
,
dataIndex
:
'descripe'
,
width
:
150
,
},
{
title
:
'创建者'
,
dataIndex
:
'holder'
,
width
:
150
,
},
{
title
:
'创建时间'
,
dataIndex
:
'createDate'
,
...
...
@@ -24,11 +34,6 @@ export const columns: BasicColumn[] = [
dataIndex
:
'updateDate'
,
width
:
150
,
},
{
title
:
'拥有者'
,
dataIndex
:
'holder'
,
width
:
150
,
},
{
title
:
'原始主体'
,
dataIndex
:
'originalPrincipal'
,
...
...
src/views/dataQuality/agentClass/mainBody/associationRulesModal.vue
0 → 100644
View file @
c9188a82
<
template
>
<BasicModal
v-bind=
"$attrs"
width=
"50%"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
minHeight=
"50"
>
<BasicTable
@
register=
"registerAssociationRulesTable"
/>
</BasicModal>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
}
from
'vue'
;
import
{
BasicTable
,
FormSchema
,
useTable
}
from
'@/components/Table'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
associationRulesData
}
from
'@/views/dataQuality/agentClass/mainBody/dataQualityMainBodyData'
;
defineOptions
({
name
:
'AccountModal'
});
const
associationData
=
ref
(
associationRulesData
);
const
associationRulesColumns
:
{
dataIndex
:
string
;
width
:
number
;
title
:
string
}[]
=
[
{
title
:
'规则名称'
,
dataIndex
:
'ruleName'
,
width
:
120
,
},
{
title
:
'质量模板'
,
dataIndex
:
'template'
,
width
:
120
,
},
{
title
:
'关联字段'
,
dataIndex
:
'keyField'
,
width
:
120
,
// edit: true,
},
{
title
:
'规则描述'
,
dataIndex
:
'described'
,
width
:
120
,
},
];
const
associationSearchFormSchema
:
FormSchema
[]
=
[
{
field
:
'ruleName'
,
label
:
''
,
componentProps
:
{
placeholder
:
'搜索字段'
,
},
component
:
'Input'
,
colProps
:
{
span
:
5
},
},
];
const
[
registerAssociationRulesTable
]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNum
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
associationData
.
value
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
};
//过滤data中的数据,取出等于params.deptId的数据
var
data
=
[];
data
=
associationData
.
value
.
filter
((
item
)
=>
item
.
parentId
!==
0
);
return
{
...
response
,
data
:
data
};
},
// dataSource: infoData,
columns
:
associationRulesColumns
,
useSearchForm
:
true
,
pagination
:
false
,
formConfig
:
{
labelWidth
:
120
,
schemas
:
associationSearchFormSchema
,
autoSubmitOnEnter
:
true
,
},
showIndexColumn
:
false
,
scroll
:
{
y
:
400
},
handleSearchInfoFn
(
info
)
{
associationData
.
value
=
associationRulesData
.
filter
((
item
)
=>
item
.
ruleName
.
includes
(
info
.
ruleName
),
);
// console.log('info', info);
// console.log('tableData', tableData.value);
return
info
;
},
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
()
=>
{
setModalProps
({
confirmLoading
:
false
});
});
const
getTitle
=
computed
(()
=>
'查看关联质量规则'
);
async
function
handleSubmit
()
{
closeModal
();
}
</
script
>
src/views/dataQuality/agentClass/mainBody/dataQualityMainBodyData.ts
View file @
c9188a82
...
...
@@ -383,6 +383,33 @@ export const infoData: any[] = [
},
];
export
const
associationRulesData
:
any
[]
=
[
{
ruleName
:
'最低成绩'
,
template
:
'学生成绩校验'
,
keyField
:
'score'
,
described
:
'最低成绩不能低于60'
,
},
{
ruleName
:
'青少年'
,
template
:
'年龄限制'
,
keyField
:
'age'
,
described
:
'年龄小于18'
,
},
{
ruleName
:
'规则1'
,
template
:
'质量模板1'
,
keyField
:
'cloums1'
,
described
:
'规则描述1'
,
},
{
ruleName
:
'规则2'
,
template
:
'质量模板2'
,
keyField
:
'cloums2'
,
described
:
'规则描述2'
,
},
];
export
const
reviewData
:
any
[]
=
[
{
age
:
23
,
...
...
src/views/dataQuality/agentClass/mainBody/index.vue
View file @
c9188a82
...
...
@@ -18,6 +18,10 @@
label: '复制',
onClick: copyButton.bind(null, record),
},
{
label: '关联',
onClick: handleOpenAssociationModal.bind(null, record),
},
{
label: '属性',
onClick: handleEdit.bind(null, record),
...
...
@@ -52,6 +56,7 @@
<CreateMainBodyModal
@
register=
"registerCreateCreateMainBodyModal"
@
success=
"handleSuccess"
/>
<MainBodyEdit
@
register=
"registerMainBodyEditModal"
/>
<StorageManageModal
@
register=
"registerStorageManageModal"
/>
<AssociationRulesModal
@
register=
"registerAssociationModal"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -80,6 +85,7 @@
import
CreateMainBodyModal
from
'@/views/dataQuality/agentClass/mainBody/createMainBodyModal.vue'
;
import
MainBodyEdit
from
'@/views/dataQuality/agentClass/mainBody/mainBodyEdit.vue'
;
import
StorageManageModal
from
'@/views/dataQuality/agentClass/mainBody/storageManageModal.vue'
;
import
AssociationRulesModal
from
'@/views/dataQuality/agentClass/mainBody/associationRulesModal.vue'
;
defineOptions
({
name
:
'AccountManagement'
});
const
{
createMessage
,
createConfirm
}
=
useMessage
();
...
...
@@ -93,6 +99,7 @@
const
[
registerCreateFileModal
,
{
openModal
:
openCreateFileModal
}]
=
useModal
();
// 新建文件夹弹窗
const
[
registerMainBodyEditModal
,
{
openModal
:
openMainBodyEditModal
}]
=
useModal
();
// 质量主体编辑
const
[
registerStorageManageModal
,
{
openModal
:
openStorageManageModal
}]
=
useModal
();
// 存储管理弹窗
const
[
registerAssociationModal
,
{
openModal
:
OpenAssociationModal
}]
=
useModal
();
// 关联规则弹窗
const
searchInfo
=
reactive
<
Recordable
>
({});
const
tableData
=
ref
([]);
const
[
...
...
@@ -252,6 +259,12 @@
});
}
function
handleOpenAssociationModal
(
record
:
Recordable
)
{
OpenAssociationModal
(
true
,
{
record
,
});
}
/** 删除按钮*/
function
handleDelete
(
record
:
Recordable
)
{
tableData
.
value
.
splice
(
...
...
src/views/dataQuality/agentClass/mainBody/mainBodyEdit.vue
View file @
c9188a82
...
...
@@ -67,7 +67,9 @@
</div>
</a-tab-pane>
<a-tab-pane
key=
"4"
tab=
"关联规则"
>
<div
v-if=
"page === '4'"
>
</div>
<div
v-if=
"page === '4'"
>
<BasicTable
@
register=
"registerAssociationRulesTable"
/>
</div>
</a-tab-pane>
</Tabs>
</div>
...
...
@@ -89,11 +91,13 @@
infoData
,
reviewData
,
TreeData
,
associationRulesData
,
}
from
'@/views/dataQuality/agentClass/mainBody/dataQualityMainBodyData'
;
const
{
createMessage
}
=
useMessage
();
const
page
=
ref
(
'1'
);
const
tableData
=
ref
(
infoData
);
const
associationData
=
ref
(
associationRulesData
);
const
title
=
ref
(
''
);
const
sql
=
ref
(
''
);
let
changeAble
=
ref
(
false
);
...
...
@@ -314,6 +318,76 @@
},
]);
});
const
associationRulesColumns
:
{
dataIndex
:
string
;
width
:
number
;
title
:
string
}[]
=
[
{
title
:
'规则名称'
,
dataIndex
:
'ruleName'
,
width
:
120
,
},
{
title
:
'质量模板'
,
dataIndex
:
'template'
,
width
:
120
,
},
{
title
:
'关联字段'
,
dataIndex
:
'keyField'
,
width
:
120
,
// edit: true,
},
{
title
:
'规则描述'
,
dataIndex
:
'described'
,
width
:
120
,
},
];
const
associationSearchFormSchema
:
FormSchema
[]
=
[
{
field
:
'ruleName'
,
label
:
''
,
componentProps
:
{
placeholder
:
'搜索字段'
,
},
component
:
'Input'
,
colProps
:
{
span
:
5
},
},
];
const
[
registerAssociationRulesTable
]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNum
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
associationData
.
value
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
};
//过滤data中的数据,取出等于params.deptId的数据
var
data
=
[];
data
=
associationData
.
value
.
filter
((
item
)
=>
item
.
parentId
!==
0
);
return
{
...
response
,
data
:
data
};
},
// dataSource: infoData,
columns
:
associationRulesColumns
,
useSearchForm
:
true
,
pagination
:
false
,
formConfig
:
{
labelWidth
:
120
,
schemas
:
associationSearchFormSchema
,
autoSubmitOnEnter
:
true
,
},
showIndexColumn
:
false
,
scroll
:
{
y
:
400
},
handleSearchInfoFn
(
info
)
{
associationData
.
value
=
associationRulesData
.
filter
((
item
)
=>
item
.
ruleName
.
includes
(
info
.
ruleName
),
);
// console.log('info', info);
// console.log('tableData', tableData.value);
return
info
;
},
});
function
handleCancel
()
{
changeAble
.
value
=
false
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment