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
1aca171f
Commit
1aca171f
authored
Nov 11, 2024
by
张伯涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
部分修改
parent
a97f88e5
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
215 additions
and
32 deletions
+215
-32
DeptTree.vue
src/views/mainBody/DeptTree.vue
+1
-1
addFolder.vue
src/views/mainBody/addFolder.vue
+1
-3
index.vue
src/views/mainBody/index.vue
+6
-4
mainBody.data.ts
src/views/mainBody/mainBody.data.ts
+71
-16
mainBodyModal.vue
src/views/mainBody/mainBodyModal.vue
+50
-1
mock.ts
src/views/mainBody/mock.ts
+18
-6
removeModal.vue
src/views/mainBody/removeModal.vue
+6
-1
treeTwo.vue
src/views/mainBody/treeTwo.vue
+62
-0
No files found.
src/views/mainBody/DeptTree.vue
View file @
1aca171f
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
:clickRowToExpand=
"true"
:clickRowToExpand=
"true"
:defaultExpandAll=
"true"
:defaultExpandAll=
"true"
:treeData=
"treeData"
:treeData=
"treeData"
:fieldNames=
"
{ key: '
key', title: 'title
' }"
:fieldNames=
"
{ key: '
businessId', title: 'label
' }"
@select="handleSelect"
@select="handleSelect"
/>
/>
</div>
</div>
...
...
src/views/mainBody/addFolder.vue
View file @
1aca171f
...
@@ -44,9 +44,7 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
...
@@ -44,9 +44,7 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
}
}
updateSchema
({
updateSchema
({
field
:
'path'
,
field
:
'path'
,
componentProps
:
{
componentProps
:
{
treeData
:
treeDataList
},
treeData
:
treeDataList
},
});
});
});
});
...
...
src/views/mainBody/index.vue
View file @
1aca171f
...
@@ -129,7 +129,12 @@
...
@@ -129,7 +129,12 @@
}
}
/** 新建文件夹*/
/** 新建文件夹*/
function
handleAdd
()
{
function
handleAdd
()
{
openModal
(
true
);
openModal
(
true
,{
});
}
function
handleRemove
()
{
openRemoveModal
(
true
,{})
}
}
function
handleAddMainBody
()
{
function
handleAddMainBody
()
{
openMainModal
(
true
,{
openMainModal
(
true
,{
...
@@ -158,9 +163,6 @@
...
@@ -158,9 +163,6 @@
createMessage
.
success
(
'删除成功!'
);
createMessage
.
success
(
'删除成功!'
);
reload
();
reload
();
}
}
function
handleRemove
()
{
openRemoveModal
(
true
)
}
/** 导出按钮*/
/** 导出按钮*/
async
function
handleExport
()
{
async
function
handleExport
()
{
...
...
src/views/mainBody/mainBody.data.ts
View file @
1aca171f
...
@@ -65,15 +65,43 @@ export const columns: BasicColumn[] = [
...
@@ -65,15 +65,43 @@ export const columns: BasicColumn[] = [
export
const
formSchemaRemove
:
any
=
[
export
const
formSchemaRemove
:
any
=
[
{
{
field
:
'path'
,
field
:
'path'
,
label
:
'文件夹路径'
,
label
:
'路径'
,
component
:
'Input'
,
component
:
'TreeSelect'
,
colProps
:
{
span
:
8
},
rules
:
[
{
required
:
true
,
message
:
'请选择上级菜单'
,
},
],
componentProps
:
{
componentProps
:
{
placeholder
:
'输入文件夹路径'
,
fieldNames
:
{
label
:
'label'
,
value
:
'businessId'
,
},
getPopupContainer
:
()
=>
document
.
body
,
},
},
},
},
]
]
export
const
formSchemaMain
:
any
=
[
export
const
formSchemaMain
:
any
=
[
{
field
:
'path'
,
label
:
'路径'
,
component
:
'TreeSelect'
,
rules
:
[
{
required
:
true
,
message
:
'请选择上级菜单'
,
},
],
componentProps
:
{
fieldNames
:
{
label
:
'label'
,
value
:
'businessId'
,
},
getPopupContainer
:
()
=>
document
.
body
,
},
},
{
{
field
:
'name'
,
field
:
'name'
,
label
:
'主体名称'
,
label
:
'主体名称'
,
...
@@ -93,19 +121,41 @@ export const formSchemaMain: any = [
...
@@ -93,19 +121,41 @@ export const formSchemaMain: any = [
},
},
},
},
{
{
field
:
'from'
,
field
:
'fileType'
,
label
:
'来源'
,
label
:
'文件类型'
,
component
:
'Input'
,
defaultValue
:
'主体管理'
,
colProps
:
{
span
:
8
},
componentProps
:
{
readOnly
:
true
,
disabled
:
true
,
placeholder
:
'输入描述'
,
},
},
{
field
:
'menuModal'
,
label
:
'目录权属模式'
,
component
:
'Input'
,
defaultValue
:
'资源自定义'
,
colProps
:
{
span
:
8
},
componentProps
:
{
readOnly
:
true
,
disabled
:
true
,
placeholder
:
'输入描述'
,
},
},
{
field
:
'group'
,
label
:
'权属工作组'
,
component
:
'Select'
,
component
:
'Select'
,
defaultValue
:
'默认工作组'
,
colProps
:
{
span
:
8
},
componentProps
:
{
componentProps
:
{
placeholder
:
'
选择来源
'
,
placeholder
:
'
输入描述
'
,
options
:
[
options
:
[
{
label
:
'Inceptor'
,
value
:
'Inceptor'
},
{
label
:
'默认工作组'
,
value
:
'默认工作组'
},
{
label
:
'oracle'
,
value
:
'oracle'
},
{
label
:
'oracle2'
,
value
:
'oracle2'
},
{
label
:
'指标汇总表'
,
value
:
'指标汇总表'
},
],
],
},
},
colProps
:
{
span
:
8
},
},
},
]
]
export
const
formSchema
:
any
=
[
export
const
formSchema
:
any
=
[
...
@@ -120,13 +170,18 @@ export const formSchema: any = [
...
@@ -120,13 +170,18 @@ export const formSchema: any = [
},
},
{
{
field
:
'path'
,
field
:
'path'
,
label
:
'
文件夹
路径'
,
label
:
'路径'
,
component
:
'TreeSelect'
,
component
:
'TreeSelect'
,
colProps
:
{
span
:
8
},
rules
:
[
{
required
:
true
,
message
:
'请选择上级菜单'
,
},
],
componentProps
:
{
componentProps
:
{
fieldNames
:
{
fieldNames
:
{
label
:
'
title
'
,
label
:
'
label
'
,
value
:
'
key
'
,
value
:
'
businessId
'
,
},
},
getPopupContainer
:
()
=>
document
.
body
,
getPopupContainer
:
()
=>
document
.
body
,
},
},
...
...
src/views/mainBody/mainBodyModal.vue
View file @
1aca171f
<
template
>
<
template
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicModal
width=
"40%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicForm
@
register=
"registerForm"
/>
<BasicForm
@
register=
"registerForm"
/>
<div
class=
"modalRow"
>
<div>
可见范围
</div>
<div
class=
"right"
>
<div
class=
"clearAll"
>
清空
</div>
<div>
<a-button
type=
"primary"
>
添加工作组
</a-button>
</div>
</div>
</div>
<div
class=
"addDialogBG"
>
<div
style=
"float: right"
>
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
</div>
<TreeTwo
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
</div>
</BasicModal>
</BasicModal>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
...
@@ -8,8 +25,10 @@ import {ref, computed, unref, reactive} from 'vue';
...
@@ -8,8 +25,10 @@ import {ref, computed, unref, reactive} from 'vue';
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
formSchemaMain
}
from
'./mainBody.data'
;
import
{
formSchemaMain
}
from
'./mainBody.data'
;
import
TreeTwo
from
'./treeTwo.vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
getMenuList
}
from
"@/api/system/menu/menu"
;
import
{
treeDataList
}
from
"@/views/mainBody/mock"
;
defineOptions
({
name
:
'AccountModal'
});
defineOptions
({
name
:
'AccountModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
...
@@ -29,6 +48,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
...
@@ -29,6 +48,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
});
});
//初始化弹框
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
resetFields
();
resetFields
();
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
...
@@ -41,6 +61,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
...
@@ -41,6 +61,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
});
});
}
}
updateSchema
({
field
:
'path'
,
componentProps
:
{
treeData
:
treeDataList
},
});
});
});
...
@@ -60,3 +84,28 @@ async function handleSubmit() {
...
@@ -60,3 +84,28 @@ async function handleSubmit() {
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
.modalRow
{
padding
:
0
20px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.clearAll
{
padding-right
:
10px
;
font-size
:
16px
;
}
.right
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
}
.addDialogBG
{
margin
:
10px
;
border-radius
:
10px
;
padding
:
20px
;
background-color
:
#E8ECF7
;
width
:
98%
;
height
:
400px
;
}
</
style
>
src/views/mainBody/mock.ts
View file @
1aca171f
...
@@ -67,13 +67,25 @@ export const tableList: any[] = [
...
@@ -67,13 +67,25 @@ export const tableList: any[] = [
export
const
treeDataList
=
[
export
const
treeDataList
=
[
{
{
title
:
'主体管理'
,
label
:
'主体管理'
,
key
:
1
,
businessId
:
1
,
children
:
[
{
label
:
'admin_个人工作区'
,
businessId
:
2
},
{
label
:
'共享工作区'
,
businessId
:
3
},
{
label
:
'商城工作区'
,
businessId
:
4
},
{
label
:
'指标工作区'
,
businessId
:
5
},
],
},
]
export
const
treeDataListTwo
=
[
{
label
:
'默认工作组'
,
businessId
:
1
,
children
:
[
children
:
[
{
title
:
'admin_个人工作区'
,
key
:
2
},
{
label
:
'默认工作组01'
,
businessId
:
2
},
{
title
:
'共享工作区'
,
key
:
3
},
{
label
:
'默认工作组02'
,
businessId
:
3
},
{
title
:
'商城工作区'
,
key
:
4
},
{
label
:
'默认工作组03'
,
businessId
:
4
},
{
title
:
'指标工作区'
,
key
:
5
},
{
label
:
'默认工作组04'
,
businessId
:
5
},
],
],
},
},
]
]
src/views/mainBody/removeModal.vue
View file @
1aca171f
...
@@ -10,6 +10,7 @@ import { BasicForm, useForm } from '@/components/Form';
...
@@ -10,6 +10,7 @@ import { BasicForm, useForm } from '@/components/Form';
import
{
formSchemaRemove
}
from
'./mainBody.data'
;
import
{
formSchemaRemove
}
from
'./mainBody.data'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
treeDataList
}
from
"@/views/mainBody/mock"
;
defineOptions
({
name
:
'AccountModal'
});
defineOptions
({
name
:
'AccountModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
...
@@ -29,6 +30,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
...
@@ -29,6 +30,7 @@ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] =
});
});
//初始化弹框
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
console
.
log
(
'bbbbbbbbb'
)
resetFields
();
resetFields
();
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
...
@@ -40,7 +42,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
...
@@ -40,7 +42,10 @@ const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data
...
data
.
record
,
...
data
.
record
,
});
});
}
}
updateSchema
({
field
:
'path'
,
componentProps
:
{
treeData
:
treeDataList
},
});
});
});
...
...
src/views/mainBody/treeTwo.vue
0 → 100644
View file @
1aca171f
<
template
>
<div
class=
"m-4 mr-0 overflow-hidden bg-white"
>
<BasicTree
title=
"工作组"
ref=
"treeRef"
toolbar
search
treeWrapperClassName=
"h-[calc(100%-35px)] overflow-auto"
:clickRowToExpand=
"true"
:checkable=
"true"
:defaultExpandAll=
"true"
:treeData=
"treeData"
:fieldNames=
"
{ key: 'businessId', title: 'label' }"
@select="handleSelect"
/>
</div>
</
template
>
<
script
lang=
"ts"
setup
>
import
{
nextTick
,
onMounted
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'@/components/Tree'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
Nullable
}
from
"@vben/types"
;
import
{
treeDataListTwo
}
from
"./mock"
;
defineOptions
({
name
:
'DeptTree'
});
const
emit
=
defineEmits
([
'select'
]);
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
async
function
fetch
()
{
treeData
.
value
=
treeDataListTwo
await
nextTick
(()
=>
{
getTree
().
expandAll
(
true
)
})
}
function
getTree
()
{
const
tree
=
unref
(
treeRef
);
if
(
!
tree
)
{
throw
new
Error
(
'tree is null!'
);
}
return
tree
;
}
function
handleSelect
(
keys
)
{
emit
(
'select'
,
keys
[
0
]);
}
onMounted
(()
=>
{
fetch
();
});
</
script
>
<
style
lang=
"scss"
scoped
>
.bg-white
{
width
:
97%
;
}
::v-deep
(
.vben-tree
)
{
background-color
:
#E8ECF7
!
important
;
}
</
style
>
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