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
7d32fe34
Commit
7d32fe34
authored
Nov 26, 2024
by
LiXuyang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
fa784245
73f38de0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
379 additions
and
8 deletions
+379
-8
dataEntry.data.ts
...taIntegration/dataLoading/dataEntryLake/dataEntry.data.ts
+191
-8
dataOptionsModal.vue
...ntegration/dataLoading/dataEntryLake/dataOptionsModal.vue
+114
-0
databaseOfflineLoading.vue
...tion/dataLoading/dataEntryLake/databaseOfflineLoading.vue
+16
-0
globalOptionsModal.vue
...egration/dataLoading/dataEntryLake/globalOptionsModal.vue
+58
-0
No files found.
src/views/dataIntegration/dataLoading/dataEntryLake/dataEntry.data.ts
View file @
7d32fe34
...
...
@@ -241,10 +241,10 @@ export const DataTransformationRuleFormSchema: FormSchema[] = [
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'table_1'
,
value
:
'table_1'
},
{
label
:
'table_2'
,
value
:
'table_2'
},
{
label
:
'table_3'
,
value
:
'table_3'
},
{
label
:
'table_4'
,
value
:
'table_4'
},
{
label
:
'table_1'
,
value
:
'table_1'
},
{
label
:
'table_2'
,
value
:
'table_2'
},
{
label
:
'table_3'
,
value
:
'table_3'
},
{
label
:
'table_4'
,
value
:
'table_4'
},
],
},
required
:
true
,
...
...
@@ -420,10 +420,10 @@ export const SingleTableFieldMappingRuleFormSchema: FormSchema[] = [
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'table_1'
,
value
:
'table_1'
},
{
label
:
'table_2'
,
value
:
'table_2'
},
{
label
:
'table_3'
,
value
:
'table_3'
},
{
label
:
'table_4'
,
value
:
'table_4'
},
{
label
:
'table_1'
,
value
:
'table_1'
},
{
label
:
'table_2'
,
value
:
'table_2'
},
{
label
:
'table_3'
,
value
:
'table_3'
},
{
label
:
'table_4'
,
value
:
'table_4'
},
],
},
required
:
true
,
...
...
@@ -434,3 +434,186 @@ export const SingleTableFieldMappingRuleFormSchema: FormSchema[] = [
slot
:
'mappingTable'
,
},
];
export
const
recommendColumns
:
BasicColumn
[]
=
[
{
title
:
'参数名'
,
dataIndex
:
'name'
,
editable
:
true
,
edit
:
true
,
width
:
120
,
},
{
title
:
'表达式'
,
dataIndex
:
'expression'
,
editable
:
true
,
edit
:
true
,
width
:
120
,
},
{
title
:
'参数类型'
,
dataIndex
:
'type'
,
editable
:
true
,
edit
:
true
,
editComponent
:
'Select'
,
editComponentProps
:
{
options
:
[
{
label
:
'写入端引擎参数'
,
value
:
'1'
},
{
label
:
'服务参数'
,
value
:
'2'
},
{
label
:
'普通参数'
,
value
:
'3'
},
],
},
width
:
120
,
},
];
export
const
globalOptionsSchema
:
FormSchema
[]
=
[
{
field
:
'name'
,
label
:
'名称'
,
component
:
'Input'
,
componentProps
:
{
readonly
:
true
,
style
:
{
border
:
'none'
,
backgroundColor
:
'transparent'
,
},
},
defaultValue
:
'TDT1'
,
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'remark'
,
label
:
'描述'
,
component
:
'InputTextArea'
,
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'period'
,
label
:
'调度周期'
,
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'Cron表达式'
,
value
:
'1'
},
{
label
:
'每天一次'
,
value
:
'2'
},
{
label
:
'无周期'
,
value
:
'3'
},
],
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'cron'
,
label
:
'Cron表达式'
,
component
:
'Input'
,
colProps
:
{
lg
:
24
,
md
:
24
},
ifShow
:
({
model
})
=>
model
.
period
===
'1'
,
},
{
field
:
'periodTime'
,
label
:
'调度时间'
,
component
:
'TimePicker'
,
colProps
:
{
lg
:
24
,
md
:
24
},
ifShow
:
({
model
})
=>
model
.
period
===
'2'
,
},
{
field
:
'timeoutType'
,
component
:
'Checkbox'
,
label
:
'超时取消'
,
componentProps
:
({
formModel
,
formActionType
})
=>
({
onChange
:
()
=>
{
const
flag
=
formModel
.
timeoutType
;
formActionType
.
updateSchema
([{
field
:
'minute'
,
ifShow
:
flag
}]);
},
}),
renderComponentContent
:
'开启'
,
colProps
:
{
lg
:
12
,
md
:
12
},
},
{
field
:
'minute'
,
label
:
'分钟'
,
component
:
'InputNumber'
,
componentProps
:
{
min
:
0
,
max
:
1000
,
},
ifShow
:
false
,
labelWidth
:
40
,
colProps
:
{
lg
:
12
,
md
:
12
},
},
{
field
:
'DDLOption'
,
component
:
'Checkbox'
,
label
:
'DDL变化策略配置'
,
componentProps
:
({
formModel
,
formActionType
})
=>
({
onChange
:
()
=>
{
const
flag
=
formModel
.
DDLOption
;
formActionType
.
updateSchema
([{
field
:
'isDeleteTable'
,
ifShow
:
flag
}]);
formActionType
.
updateSchema
([{
field
:
'isDeleteTableField'
,
ifShow
:
flag
}]);
formActionType
.
updateSchema
([{
field
:
'addTableField'
,
ifShow
:
flag
}]);
formActionType
.
updateSchema
([{
field
:
'changeTableField'
,
ifShow
:
flag
}]);
formActionType
.
updateSchema
([{
field
:
'globalOptionsAlert'
,
ifShow
:
flag
}]);
},
}),
renderComponentContent
:
'开启'
,
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'globalOptionsAlert'
,
slot
:
'globalOptionsAlert'
,
ifShow
:
false
,
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'isDeleteTable'
,
label
:
'源端数据表被删除'
,
component
:
'RadioGroup'
,
defaultValue
:
'1'
,
ifShow
:
false
,
componentProps
:
{
options
:
[{
label
:
'取消运行子任务'
,
value
:
'1'
}],
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'isDeleteTableField'
,
label
:
'源端数据表字段被删除'
,
component
:
'RadioGroup'
,
defaultValue
:
'1'
,
ifShow
:
false
,
componentProps
:
{
options
:
[
{
label
:
'取消运行子任务'
,
value
:
'1'
},
{
label
:
'取消运行子任务并不能影响任务结果'
,
value
:
'2'
},
{
label
:
'空值填充'
,
value
:
'3'
},
],
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'addTableField'
,
label
:
'源端数据表新增字段'
,
component
:
'RadioGroup'
,
defaultValue
:
'1'
,
ifShow
:
false
,
componentProps
:
{
options
:
[
{
label
:
'取消运行子任务'
,
value
:
'1'
},
{
label
:
'取消运行子任务并不能影响任务结果'
,
value
:
'2'
},
{
label
:
'忽略新增字段'
,
value
:
'3'
},
{
label
:
'自动更新'
,
value
:
'4'
},
],
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
{
field
:
'changeTableField'
,
label
:
'源端数据表字段或类型变更'
,
component
:
'RadioGroup'
,
defaultValue
:
'1'
,
ifShow
:
false
,
componentProps
:
{
options
:
[{
label
:
'取消运行子任务'
,
value
:
'1'
}],
},
colProps
:
{
lg
:
24
,
md
:
24
},
},
];
src/views/dataIntegration/dataLoading/dataEntryLake/dataOptionsModal.vue
0 → 100644
View file @
7d32fe34
<
template
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"title"
@
ok=
"handleSubmit"
>
<BasicTable
@
register=
"registerTable"
>
<template
#
toolbar
>
<a-button
type=
"primary"
@
click=
"addProperty()"
>
添加参数
</a-button>
</
template
>
<
template
#
bodyCell=
"{ column, record }"
>
<template
v-if=
"column.key === 'action'"
>
<TableAction
:actions=
"[
{
color: 'error',
icon: 'ant-design:delete-outlined',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
]"
/>
</
template
>
</template>
</BasicTable>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
{
onMounted
,
ref
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicTable
,
TableAction
,
useTable
}
from
'@/components/Table'
;
import
{
recommendColumns
}
from
'./dataEntry.data'
;
defineOptions
({
name
:
'KnowledgeModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
title
=
ref
();
const
n
=
ref
(
1000
);
const
tableData
=
ref
([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const
[
registerTable
,
{
reload
}]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNum
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
tableData
.
value
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
};
let
data
=
[];
data
=
tableData
.
value
;
return
{
...
response
,
data
:
data
};
},
pagination
:
false
,
columns
:
recommendColumns
,
useSearchForm
:
false
,
actionColumn
:
{
width
:
50
,
title
:
'操作'
,
dataIndex
:
'action'
,
},
scroll
:
{
y
:
300
,
},
editRow
:
true
,
showTableSetting
:
false
,
bordered
:
true
,
showIndexColumn
:
false
,
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
tableData
.
value
=
[];
await
reload
();
setModalProps
({
confirmLoading
:
false
});
title
.
value
=
data
.
title
;
});
async
function
handleSubmit
()
{
closeModal
();
createMessage
.
success
(
'提交成功'
);
}
/**新增属性*/
function
addProperty
()
{
const
data
=
{
businessId
:
n
.
value
+
1
,
name
:
''
,
expression
:
''
,
type
:
''
,
};
tableData
.
value
.
push
(
data
);
n
.
value
++
;
reload
();
}
/** 删除按钮*/
function
handleDelete
(
record
:
Recordable
)
{
tableData
.
value
.
splice
(
tableData
.
value
.
findIndex
((
item
)
=>
item
.
businessId
===
record
.
businessId
),
1
,
);
createMessage
.
success
(
'删除成功!'
);
reload
();
}
onMounted
(()
=>
{});
</
script
>
src/views/dataIntegration/dataLoading/dataEntryLake/databaseOfflineLoading.vue
View file @
7d32fe34
...
...
@@ -189,6 +189,8 @@
<GetMetadataModal
@
register=
"registerGetMetadataModal"
/>
<DeplysModal
@
register=
"registerDeplysModal"
/>
<AddDataConversionRuleModal
@
register=
"registerAddRuleModal"
/>
<DataOptionsModal
@
register=
"registerDataOptionsModal"
/>
<GlobalOptionsModal
@
register=
"registerGlobalOptionsModal"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
...
...
@@ -220,6 +222,8 @@
import
DeplysModal
from
'@/views/dataIntegration/dataLoading/dataEntryLake/DeplysModal.vue'
;
import
CodeEditor
from
'@/components/CodeEditor/src/CodeEditor.vue'
;
import
AddDataConversionRuleModal
from
'@/views/dataIntegration/dataLoading/dataEntryLake/addDataConversionRuleModal.vue'
;
import
DataOptionsModal
from
'@/views/dataIntegration/dataLoading/dataEntryLake/dataOptionsModal.vue'
;
import
GlobalOptionsModal
from
'@/views/dataIntegration/dataLoading/dataEntryLake/globalOptionsModal.vue'
;
const
route
=
useRoute
();
const
emit
=
defineEmits
([
'success'
,
'register'
]);
...
...
@@ -500,6 +504,8 @@
const
[
registerGetMetadataModal
,
{
openModal
:
openGetMetadataModal
}]
=
useModal
();
const
[
registerDeplysModal
,
{
openModal
:
openDeplysModal
}]
=
useModal
();
const
[
registerAddRuleModal
,
{
openModal
:
openAddRuleModal
}]
=
useModal
();
const
[
registerDataOptionsModal
,
{
openModal
:
openDataOptionsModal
}]
=
useModal
();
const
[
registerGlobalOptionsModal
,
{
openModal
:
openGlobalOptionsModal
}]
=
useModal
();
const
[
registerSourceSideConfigurationForm
,
...
...
@@ -745,6 +751,16 @@
function
handleAddRule
()
{
openAddRuleModal
();
}
function
handleParameterConfiguration
()
{
openDataOptionsModal
(
true
,
{
title
:
'数据加载参数配置'
,
});
}
function
handleGobalDeply
()
{
openGlobalOptionsModal
(
true
,
{
title
:
'数据加载全局配置'
,
});
}
function
handleConversion
(
record
)
{
createMessage
.
success
(
'数据转换成功'
+
record
.
fieldType
);
...
...
src/views/dataIntegration/dataLoading/dataEntryLake/globalOptionsModal.vue
0 → 100644
View file @
7d32fe34
<
template
>
<BasicModal
width=
"30%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"title"
@
ok=
"handleSubmit"
>
<BasicForm
@
register=
"registerForm"
>
<template
#
globalOptionsAlert
>
<Alert
show-icon
style=
"font-size: 12px"
message=
"自定义SQL模式和数据出湖(tdh的数据到第三方数据库(mysql等))无法支持DDL变更处理且不会发变更通知。"
type=
"info"
/>
</
template
>
</BasicForm>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
globalOptionsSchema
}
from
'@/views/dataIntegration/dataLoading/dataEntryLake/dataEntry.data'
;
import
{
Alert
}
from
"ant-design-vue"
;
defineOptions
({
name
:
'KnowledgeModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
title
=
ref
();
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const
[
registerForm
,
{
resetFields
}]
=
useForm
({
labelAlign
:
'left'
,
labelWidth
:
180
,
baseColProps
:
{
lg
:
12
,
md
:
24
},
schemas
:
globalOptionsSchema
,
showActionButtonGroup
:
false
,
actionColOptions
:
{
span
:
23
,
},
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
await
resetFields
();
setModalProps
({
confirmLoading
:
false
});
title
.
value
=
data
.
title
;
});
async
function
handleSubmit
()
{
closeModal
();
createMessage
.
success
(
'提交成功'
);
await
resetFields
();
}
</
script
>
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