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
7079b78f
Commit
7079b78f
authored
Dec 05, 2024
by
罗林杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改SQL开发
parent
88ceb932
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
125 additions
and
129 deletions
+125
-129
DataTree.vue
src/views/scriptDevelopment/sqlDevelopment/DataTree.vue
+1
-1
GroupTree.vue
src/views/scriptDevelopment/sqlDevelopment/GroupTree.vue
+1
-1
index.vue
src/views/scriptDevelopment/sqlDevelopment/index.vue
+120
-30
dataPreviewModal.vue
...evelopment/sqlDevelopment/sqlExecute/dataPreviewModal.vue
+0
-83
sqlExecute.vue
...criptDevelopment/sqlDevelopment/sqlExecute/sqlExecute.vue
+3
-14
No files found.
src/views/scriptDevelopment/sqlDevelopment/DataTree.vue
View file @
7079b78f
<
template
>
<div
class=
"
m-5 mr-0
overflow-hidden bg-white"
>
<div
class=
"overflow-hidden bg-white"
>
<BasicTree
title=
""
ref=
"treeRef"
...
...
src/views/scriptDevelopment/sqlDevelopment/GroupTree.vue
View file @
7079b78f
<
template
>
<div
class=
"
m-5 mr-0
overflow-hidden bg-white"
>
<div
class=
"overflow-hidden bg-white"
>
<BasicTree
title=
""
ref=
"treeRef"
...
...
src/views/scriptDevelopment/sqlDevelopment/index.vue
View file @
7079b78f
<
template
>
<PageWrapper
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
>
<PageWrapper
dense
contentFullHeight
fixedHeight
>
<div
class=
"flex"
>
<div
class=
"w-1/4 xl:w-1/5"
>
<DataTree
@
select=
"handleSelect"
style=
"height: 50%"
/>
<GroupTree
@
select=
"handleGroupSelect"
style=
"height: 50%"
/>
</div>
<BasicTable
@
register=
"registerTable"
class=
"w-3/4 xl:w-4/5"
:searchInfo=
"searchInfo"
>
<div
class=
"w-3/4 xl:w-4/5"
>
<div>
<BasicTable
@
register=
"registerTable"
:searchInfo=
"searchInfo"
>
<template
#
headerTop
>
<a-input-search
v-model:value=
"form.value"
placeholder=
"输入关键字搜索"
style=
"width: 200px"
/>
</
template
>
<
template
#
toolbar
>
<a-button
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
...
...
@@ -15,26 +25,85 @@
<a-button
type=
"primary"
@
click=
"handleImport"
>
导入
</a-button></
template
>
</BasicTable>
</div>
<div
v-if=
"showTable === 'true'"
>
<BasicTable
@
register=
"registerDataPreviewTable"
>
<
template
#
headerTop
>
<Dropdown
:trigger=
"['click']"
>
<span
type=
"primary"
@
click
.
prevent
style=
"margin-left: 1180px"
>
字段选择
<Icon
icon=
"ant-design:caret-down-filled"
style=
"font-size: 12px; margin-left: 2px"
/></span>
<template
#
overlay
>
<Checkbox
.
Group
v-model:value=
"selectedTasks"
>
<Menu>
<MenuItem
v-for=
"task in fieldData"
:key=
"task.value"
@
click
.
stop=
"handleTaskModel(item)"
>
<Checkbox
:value=
"task.value"
>
{{
task
.
label
}}
</Checkbox>
</MenuItem>
</Menu>
</Checkbox
.Group
>
</
template
>
</Dropdown>
<Icon
icon=
"bxs:download"
style=
"margin-left: 20px"
:size=
"25"
@
click=
"handleDownload"
/>
</template>
</BasicTable>
</div>
</div>
</div>
<importModal
@
register=
"registerImport"
@
success=
"handleImportSuccess"
/>
</PageWrapper>
</template>
<
script
lang=
"ts"
setup
>
import
{
reactive
,
onMounted
}
from
'vue'
;
import
{
reactive
,
onMounted
,
ref
}
from
'vue'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
{
getRoleListByPage
,
deleteById
,
exportRoleList
}
from
'@/api/system/role/role'
;
import
{
exportRoleList
}
from
'@/api/system/role/role'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
{
useModal
}
from
'@/components/Modal'
;
import
DataTree
from
'./DataTree.vue'
;
import
GroupTree
from
'./GroupTree.vue'
;
import
{
DataTreeData
}
from
'./sqlDevelopmentData'
;
import
{
columns
,
searchFormSchema
}
from
'./data'
;
import
{
DataTreeData
,
previewData
}
from
'./sqlDevelopmentData'
;
import
{
columns
,
previewColumns
}
from
'./data'
;
import
importModal
from
'./importModal/importModal.vue'
;
import
{
router
}
from
'@/router'
;
import
{
downloadByData
}
from
'@/utils/file/download'
;
import
Icon
from
'@/components/Icon/Icon.vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
Dropdown
,
Menu
,
MenuItem
,
Checkbox
}
from
'ant-design-vue'
;
defineOptions
({
name
:
'AccountManagement'
});
const
[
registerImport
,
{
openModal
:
openImportModal
}]
=
useModal
();
const
searchInfo
=
reactive
<
Recordable
>
({});
const
{
createMessage
}
=
useMessage
();
const
showTable
=
ref
(
'false'
);
const
selectedTasks
=
ref
([]);
const
fieldData
=
[
{
value
:
'script'
,
label
:
'脚本'
},
{
value
:
'java'
,
label
:
'Java'
},
{
value
:
'python'
,
label
:
'Python'
},
{
value
:
'rTask'
,
label
:
'R任务'
},
{
value
:
'scala'
,
label
:
'Scala'
},
{
value
:
'sql'
,
label
:
'SQL'
},
{
value
:
'dataLoad'
,
label
:
'数据加载'
},
{
value
:
'dataSync'
,
label
:
'数据同步'
},
{
value
:
'dataQuality'
,
label
:
'数据质量'
},
{
value
:
'dataMetrics'
,
label
:
'数据指标'
},
{
value
:
'nestedWorkflow'
,
label
:
'嵌套任务流'
},
{
value
:
'delay'
,
label
:
'延时器'
},
];
const
form
=
reactive
({
value
:
''
,
});
const
[
registerTable
,
{
reload
,
updateTableDataRecord
,
getSearchInfo
,
getForm
,
getRowSelection
},
...
...
@@ -67,21 +136,44 @@
rowSelection
:
{
type
:
'checkbox'
,
},
formConfig
:
{
labelWidth
:
10
,
schemas
:
searchFormSchema
,
autoSubmitOnEnter
:
true
,
resetFunc
:
()
=>
{
searchInfo
.
res
=
''
;
scroll
:
{
y
:
400
},
useSearchForm
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
return
info
;
},
});
const
[
registerDataPreviewTable
]
=
useTable
({
title
:
'数据预览'
,
api
:
async
()
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
total
:
previewData
.
length
,
data
:
previewData
,
};
return
{
...
response
};
},
useSearchForm
:
true
,
rowKey
:
'id'
,
rowSelection
:
true
,
columns
:
previewColumns
,
showIndexColumn
:
false
,
pagination
:
true
,
scroll
:
{
y
:
400
},
useSearchForm
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
return
info
;
},
});
function
handleDownload
()
{
selectedTasks
.
value
=
[];
createMessage
.
success
(
'下载成功'
);
}
/** 导出按钮*/
async
function
handleExport
()
{
console
.
log
(
'导出----'
);
...
...
@@ -111,9 +203,7 @@
}
function
handleGroupSelect
()
{
router
.
push
({
path
:
'/scriptDevelopment/sqlDevelopment/sqlExecute/sqlExecute'
,
});
showTable
.
value
=
'true'
;
}
onMounted
(()
=>
{});
</
script
>
src/views/scriptDevelopment/sqlDevelopment/sqlExecute/dataPreviewModal.vue
deleted
100644 → 0
View file @
88ceb932
<
template
>
<BasicModal
width=
"55%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"title"
@
ok=
"handleSubmit"
>
<template
#
footer
>
<a-button
type=
"primary"
@
click=
"handleSubmit"
>
关闭
</a-button>
</
template
>
<BasicTable
@
register=
"registerTable"
:searchInfo=
"searchInfo"
>
<
template
#
toolbar
>
<!-- 下载-->
<a-button
type=
"primary"
@
click=
"handleDownload"
><Icon
icon=
"bxs:download"
:size=
"20"
/></a-button>
</
template
>
</BasicTable>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
{
onMounted
,
reactive
,
ref
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicTable
,
useTable
}
from
'@/components/Table'
;
import
Icon
from
'@/components/Icon/Icon.vue'
;
import
{
previewData
}
from
'../sqlDevelopmentData'
;
import
{
previewColumns
}
from
'../data'
;
defineOptions
({
name
:
'KnowledgeModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
title
=
ref
();
const
searchInfo
=
reactive
<
Recordable
>
({});
const
tableData
=
ref
([]);
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
tableData
.
value
=
[];
await
reload
();
setModalProps
({
confirmLoading
:
false
});
title
.
value
=
data
.
title
;
});
const
[
registerTable
,
{
reload
}]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNu
:
'1'
,
pageSize
:
'10'
,
total
:
previewData
.
length
,
data
:
previewData
,
};
return
{
...
response
};
},
rowKey
:
'id'
,
rowSelection
:
true
,
columns
:
previewColumns
,
showIndexColumn
:
false
,
pagination
:
false
,
formConfig
:
{
labelWidth
:
10
,
autoSubmitOnEnter
:
true
,
resetFunc
:
()
=>
{
searchInfo
.
res
=
''
;
},
},
useSearchForm
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
handleSearchInfoFn
(
info
)
{
return
info
;
},
});
function
handleDownload
()
{
createMessage
.
success
(
'下载成功'
);
}
async
function
handleSubmit
()
{
closeModal
();
}
onMounted
(()
=>
{});
</
script
>
src/views/scriptDevelopment/sqlDevelopment/sqlExecute/sqlExecute.vue
View file @
7079b78f
...
...
@@ -4,11 +4,10 @@
dense
contentFullHeight
fixedHeight
contentClass=
"flex"
@
back=
"goBack"
>
<GroupTree
@
select=
"handleSelect"
class=
"w-1/4 xl:w-1/5"
/>
<div
class=
"w-3/4 xl:w-4/5"
style=
"padding-top: 20px"
>
<div
style=
"padding-top: 20px"
>
<BasicForm
@
register=
"registerForm"
>
<template
#
formFooter
>
<div
style=
"display: flex; justify-content: space-between"
>
...
...
@@ -16,7 +15,7 @@
<Tooltip
placement=
"top"
title=
"新窗口运行"
>
<a-button
type=
"primary"
style=
"margin-right: 10px; margin-left:
5
00px"
style=
"margin-right: 10px; margin-left:
7
00px"
@
click=
"handleExecute"
>
<Icon
icon=
"si:play-forward-duotone"
:size=
"20"
/>
...
...
@@ -77,7 +76,6 @@
</div>
<optionsModal
@
register=
"registerModal"
/>
<resultModal
@
register=
"registerResultModal"
/>
<PreviewModal
@
register=
"registerPreviewModal"
/>
<RecordModal
@
register=
"registerRecordModal"
/>
<versionManagementModal
@
register=
"registerVersionManagementModal"
/>
</PageWrapper>
...
...
@@ -86,7 +84,6 @@
import
{
Tooltip
}
from
'ant-design-vue'
;
import
{
ref
,
nextTick
,
watch
,
onMounted
}
from
'vue'
;
import
{
PageWrapper
}
from
'@/components/Page'
;
import
GroupTree
from
'../GroupTree.vue'
;
import
{
jsonData
}
from
'../sqlDevelopmentData'
;
import
{
formSchema
}
from
'../data'
;
import
{
useGo
}
from
'@/hooks/web/usePage'
;
...
...
@@ -95,7 +92,6 @@
import
optionsModal
from
'./optionsModal.vue'
;
import
{
useModal
}
from
'@/components/Modal'
;
import
resultModal
from
'./resultModal.vue'
;
import
PreviewModal
from
'./dataPreviewModal.vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
Icon
from
'@/components/Icon/Icon.vue'
;
import
RecordModal
from
'./executeRecordModal.vue'
;
...
...
@@ -107,7 +103,6 @@
const
go
=
useGo
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerResultModal
,
{
openModal
:
openResultModal
}]
=
useModal
();
const
[
registerPreviewModal
,
{
openModal
:
openPreviewModal
}]
=
useModal
();
const
[
registerVersionManagementModal
,
{
openModal
:
openVersionManagementModal
}]
=
useModal
();
const
[
registerRecordModal
,
{
openModal
:
openRecordModal
}]
=
useModal
();
const
[
registerForm
]
=
useForm
({
...
...
@@ -116,12 +111,6 @@
schemas
:
formSchema
,
showActionButtonGroup
:
false
,
});
/** 部门树的select*/
function
handleSelect
()
{
openPreviewModal
(
true
,
{
title
:
'数据预览'
,
});
}
function
handleOptions
()
{
openModal
(
true
,
{
title
:
'参数配置'
,
...
...
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