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
08121ca0
Commit
08121ca0
authored
Nov 13, 2024
by
baiyinhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改质量任务
parent
6123b78f
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
447 additions
and
71 deletions
+447
-71
QualityTaskRunSetting.data.ts
src/views/dataQuality/task/QualityTaskRunSetting.data.ts
+170
-0
QualityTaskRunSetting.vue
src/views/dataQuality/task/QualityTaskRunSetting.vue
+150
-0
addFolder.vue
src/views/dataQuality/task/addFolder.vue
+2
-2
index.vue
src/views/dataQuality/task/index.vue
+55
-12
mainBody.data.ts
src/views/dataQuality/task/mainBody.data.ts
+35
-29
mock.ts
src/views/dataQuality/task/mock.ts
+12
-5
treeTwo.vue
src/views/dataQuality/task/treeTwo.vue
+23
-23
No files found.
src/views/dataQuality/task/QualityTaskRunSetting.data.ts
0 → 100644
View file @
08121ca0
import
{
BasicColumn
,
FormSchema
}
from
'@/components/Table'
;
export
const
columns
:
BasicColumn
[]
=
[
{
title
:
'名称'
,
dataIndex
:
'name'
,
width
:
120
,
},
{
title
:
'类型'
,
dataIndex
:
'category'
,
width
:
120
,
},
{
title
:
'拥有者'
,
dataIndex
:
'owner'
,
width
:
120
,
},
{
title
:
'创建时间'
,
dataIndex
:
'createDate'
,
width
:
140
,
},
];
export
const
SearchFormSchema
:
FormSchema
[]
=
[
{
field
:
'name'
,
label
:
'名称'
,
component
:
'Input'
,
colProps
:
{
span
:
8
},
},
{
field
:
'isKinship'
,
component
:
'Checkbox'
,
label
:
'仅看血缘对象'
,
colProps
:
{
span
:
8
},
labelWidth
:
120
,
},
];
export
const
storageManagementColumns
:
BasicColumn
[]
=
[
{
title
:
'清理开始时间'
,
dataIndex
:
'startTime'
,
width
:
120
,
},
{
title
:
'清理结束时间'
,
dataIndex
:
'endTime'
,
width
:
120
,
},
{
title
:
'执行耗时'
,
dataIndex
:
'useTime'
,
width
:
80
,
},
{
title
:
'执行状态'
,
dataIndex
:
'status'
,
width
:
120
,
},
{
title
:
'清理策略'
,
dataIndex
:
'type'
,
width
:
120
,
},
{
title
:
'清理表顶点数'
,
dataIndex
:
'pointNum'
,
width
:
120
,
},
{
title
:
'清理血缘关系数'
,
dataIndex
:
'num'
,
width
:
120
,
},
{
title
:
'操作者'
,
dataIndex
:
'user'
,
width
:
80
,
},
];
export
const
storageManagementFormSchema
:
FormSchema
[]
=
[
{
field
:
'startTime'
,
label
:
'清理开始时间'
,
component
:
'DatePicker'
,
colProps
:
{
lg
:
4
,
md
:
4
},
},
{
field
:
'endTime'
,
label
:
'清理结束时间'
,
component
:
'DatePicker'
,
colProps
:
{
lg
:
4
,
md
:
4
},
},
{
field
:
'user'
,
label
:
'清理者'
,
component
:
'Input'
,
colProps
:
{
lg
:
4
,
md
:
4
},
},
{
field
:
'type'
,
label
:
'清理策略'
,
component
:
'Select'
,
componentProps
:
{
options
:
[
{
label
:
'手动清理'
,
value
:
'1'
},
{
label
:
'自动清理'
,
value
:
'2'
},
],
},
colProps
:
{
lg
:
4
,
md
:
4
},
},
];
export
const
storageManagementData
:
any
[]
=
[
{
id
:
'1'
,
startTime
:
'2024-10-01 08:00:00'
,
endTime
:
'2024-10-01 10:30:00'
,
useTime
:
'2小时30分钟'
,
status
:
'1'
,
type
:
'手动清理'
,
pointNum
:
'5000'
,
num
:
'2000'
,
user
:
'张三'
,
},
{
id
:
'2'
,
startTime
:
'2024-10-02 09:00:00'
,
endTime
:
'2024-10-02 11:45:00'
,
useTime
:
'2小时45分钟'
,
status
:
'0'
,
type
:
'自动清理'
,
pointNum
:
'7000'
,
num
:
'3500'
,
user
:
'李四'
,
},
{
id
:
'3'
,
startTime
:
'2024-10-03 10:00:00'
,
endTime
:
'2024-10-03 12:15:00'
,
useTime
:
'2小时15分钟'
,
status
:
'1'
,
type
:
'手动清理'
,
pointNum
:
'6000'
,
num
:
'3000'
,
user
:
'王五'
,
},
{
id
:
'4'
,
startTime
:
'2024-10-04 11:00:00'
,
endTime
:
'2024-10-04 13:20:00'
,
useTime
:
'2小时20分钟'
,
status
:
'1'
,
type
:
'自动清理'
,
pointNum
:
'4500'
,
num
:
'2250'
,
user
:
'赵六'
,
},
{
id
:
'5'
,
startTime
:
'2024-10-05 12:00:00'
,
endTime
:
'2024-10-05 14:30:00'
,
useTime
:
'2小时30分钟'
,
status
:
'1'
,
type
:
'手动清理'
,
pointNum
:
'5500'
,
num
:
'2750'
,
user
:
'孙七'
,
},
];
src/views/dataQuality/task/QualityTaskRunSetting.vue
0 → 100644
View file @
08121ca0
<
template
>
<BasicModal
width=
"80%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<div
style=
"display: flex; justify-content: flex-end; padding-bottom: 10px"
>
<a-button
style=
"margin-right: 5px"
type=
"primary"
@
click=
"deleteAll"
>
批量删除
</a-button>
<a-button
style=
"margin-right: 5px"
type=
"primary"
@
click=
"handleImport"
>
规则设置
</a-button>
</div>
<template
#
footer
>
<a-button
type=
"primary"
@
click=
"handleSubmit"
>
关闭
</a-button>
</
template
>
<BasicTable
@
register=
"registerTable"
>
<
template
#
bodyCell=
"{ column, record }"
>
<template
v-if=
"column.key === 'status'"
>
<Tag
color=
"error"
v-if=
"record.status === '0'"
>
失败
</Tag>
</
template
>
<
template
v-if=
"column.key === 'status'"
>
<Tag
color=
"success"
v-if=
"record.status === '1'"
>
成功
</Tag>
</
template
>
<
template
v-if=
"column.key === 'action'"
>
<TableAction
:actions=
"[
{
//配置详情
icon: 'clarity:note-edit-line',
label: '',
onClick: handleEdit.bind(null),
},
{
icon: 'ant-design:delete-outlined',
color: 'error',
label: '',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null),
},
},
{
//失败日志
icon: 'clarity:contract-line',
label: '',
ifShow: record.status === '0',
onClick: handleDetail.bind(null),
},
]"
/>
</
template
>
</template>
</BasicTable>
</BasicModal>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
unref
,
reactive
,
onMounted
}
from
'vue'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicTable
,
TableAction
,
useTable
}
from
'@/components/Table'
;
import
{
storageManagementColumns
,
storageManagementFormSchema
,
storageManagementData
,
}
from
'./QualityTaskRunSetting.data'
;
// import { storageManagementData } from './analysisData';
import
{
Tag
}
from
'ant-design-vue'
;
defineOptions
({
name
:
'KnowledgeModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
,
createConfirm
}
=
useMessage
();
const
title
=
ref
();
const
isRunning
=
ref
(
false
);
const
getTitle
=
computed
(()
=>
(
!
unref
(
isRunning
)
?
'配置运行'
:
'配置运行'
));
const
tableData
=
ref
([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const
[
registerTable
,
{
reload
}]
=
useTable
({
api
:
async
()
=>
{
const
response
=
{
pageNum
:
'1'
,
pageSize
:
'10'
,
pages
:
'1'
,
total
:
tableData
.
value
.
length
,
code
:
''
,
message
:
''
,
data
:
[],
};
//过滤data中的数据,取出等于params.deptId的数据
var
data
=
[];
data
=
tableData
.
value
;
return
{
...
response
,
data
:
data
};
},
pagination
:
false
,
columns
:
storageManagementColumns
,
useSearchForm
:
true
,
showTableSetting
:
false
,
formConfig
:
{
labelWidth
:
120
,
schemas
:
storageManagementFormSchema
,
autoSubmitOnEnter
:
true
,
},
rowKey
:
'id'
,
rowSelection
:
true
,
bordered
:
true
,
showIndexColumn
:
false
,
actionColumn
:
{
width
:
150
,
title
:
'操作'
,
dataIndex
:
'action'
,
},
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
await
reload
();
setModalProps
({
confirmLoading
:
false
});
title
.
value
=
data
.
title
;
});
async
function
handleSubmit
()
{
closeModal
();
}
function
handleDetail
()
{
createMessage
.
success
(
'提交成功'
);
}
function
handleEdit
()
{
createMessage
.
success
(
'提交成功'
);
}
function
handleDelete
()
{
createMessage
.
success
(
'删除成功'
);
}
function
deleteAll
()
{
createConfirm
({
iconType
:
'warning'
,
title
:
'确认删除'
,
content
:
'确认批量删除选中数据吗?'
,
onOk
()
{
createMessage
.
success
(
'批量删除成功!'
);
},
});
}
function
handleImport
()
{
createMessage
.
success
(
'导出完成'
);
}
onMounted
(()
=>
{
tableData
.
value
=
storageManagementData
;
});
</
script
>
src/views/dataQuality/task/addFolder.vue
View file @
08121ca0
...
@@ -31,7 +31,7 @@
...
@@ -31,7 +31,7 @@
import
{
formSchemaNewFolder
}
from
'./tempalte.data'
;
import
{
formSchemaNewFolder
}
from
'./tempalte.data'
;
import
TreeTwo
from
'./treeTwo.vue'
;
import
TreeTwo
from
'./treeTwo.vue'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
treeDataList
}
from
'@/views/dataQuality/t
emplate
/mock'
;
import
{
treeDataList
}
from
'@/views/dataQuality/t
ask
/mock'
;
defineOptions
({
name
:
'AccountModal'
});
defineOptions
({
name
:
'AccountModal'
});
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
});
});
});
});
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'新建
主体'
:
'编辑主体
'
));
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'新建
文件夹'
:
'编辑文件夹
'
));
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
try
{
try
{
...
...
src/views/dataQuality/task/index.vue
View file @
08121ca0
...
@@ -16,13 +16,44 @@
...
@@ -16,13 +16,44 @@
<a-button
type=
"primary"
@
click=
"handleImport"
>
导入
</a-button>
<a-button
type=
"primary"
@
click=
"handleImport"
>
导入
</a-button>
<a-button
type=
"primary"
@
click=
"handleAdd"
>
新增文件夹
</a-button>
<a-button
type=
"primary"
@
click=
"handleAdd"
>
新增文件夹
</a-button>
<a-button
type=
"primary"
@
click=
"handleAddMainBody"
>
新增质量任务文件
</a-button>
<a-button
type=
"primary"
@
click=
"handleAddMainBody"
>
新增质量任务文件
</a-button>
<a-button
type=
"primary"
@
click=
"handleQualityTaskSetting"
>
配置质量任务文件
</a-button>
<a-button
<a-button
type=
"primary"
@
click=
"handleQualityTaskRunSetting"
>
配置运行
</a-button>
type=
"primary"
<a-button
type=
"primary"
@
click=
"handleQualityTaskRun"
>
运行
</a-button>
@
click=
"handleQualityTaskSetting"
<a-button
type=
"primary"
@
click=
"handleQualityTaskRunLog"
>
查看报告
</a-button>
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
<a-button
type=
"primary"
@
click=
"handleQualityTaskOnline"
v-if=
"true"
>
上线
</a-button>
>
配置质量任务文件
</a-button
>
<a-button
type=
"primary"
@
click=
"handleQualityTaskRunSetting"
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
>
配置运行
</a-button
>
<a-button
type=
"primary"
@
click=
"handleQualityTaskRun"
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
>
运行
</a-button
>
<a-button
type=
"primary"
@
click=
"handleQualityTaskRunLog"
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
>
查看报告
</a-button
>
<a-button
type=
"primary"
@
click=
"handleQualityTaskOnline"
v-if=
"true"
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
>
上线
</a-button
>
<a-button
type=
"primary"
@
click=
"handleQualityTaskOffline"
v-if=
"false"
>
下线
</a-button>
<a-button
type=
"primary"
@
click=
"handleQualityTaskOffline"
v-if=
"false"
>
下线
</a-button>
<a-button
type=
"primary"
@
click=
"handleQualityTaskService"
>
跳转运维
</a-button>
<a-button
type=
"primary"
@
click=
"handleQualityTaskService"
:disabled=
"getRowSelection().selectedRowKeys
<
=
0
"
>
跳转运维
</a-button
>
</a-scrollbar>
</a-scrollbar>
</
template
>
</
template
>
<
template
#
name=
"{ text, record }"
>
<
template
#
name=
"{ text, record }"
>
...
@@ -58,6 +89,7 @@
...
@@ -58,6 +89,7 @@
<AddFolder
@
register=
"register"
/>
<AddFolder
@
register=
"register"
/>
<remove-modal
@
register=
"registerRemove"
/>
<remove-modal
@
register=
"registerRemove"
/>
<main-body-modal
@
register=
"registerMain"
/>
<main-body-modal
@
register=
"registerMain"
/>
<quality-Run-setting-modal
@
register=
"registerRunSetting"
/>
</PageWrapper>
</PageWrapper>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
...
@@ -79,6 +111,8 @@
...
@@ -79,6 +111,8 @@
import
AddFolder
from
'@/views/dataQuality/task/addFolder.vue'
;
import
AddFolder
from
'@/views/dataQuality/task/addFolder.vue'
;
import
RemoveModal
from
'@/views/dataQuality/task/removeModal.vue'
;
import
RemoveModal
from
'@/views/dataQuality/task/removeModal.vue'
;
import
MainBodyModal
from
'@/views/dataQuality/task/mainBodyModal.vue'
;
import
MainBodyModal
from
'@/views/dataQuality/task/mainBodyModal.vue'
;
import
QualityRunSettingModal
from
'./QualityTaskRunSetting.vue'
;
import
{
Modal
}
from
'ant-design-vue'
;
defineOptions
({
name
:
'AccountManagement'
});
defineOptions
({
name
:
'AccountManagement'
});
const
{
createMessage
,
createConfirm
}
=
useMessage
();
const
{
createMessage
,
createConfirm
}
=
useMessage
();
...
@@ -89,6 +123,7 @@
...
@@ -89,6 +123,7 @@
const
[
registerImport
,
{
openModal
:
openImportModal
}]
=
useModal
();
const
[
registerImport
,
{
openModal
:
openImportModal
}]
=
useModal
();
const
[
registerRemove
,
{
openModal
:
openRemoveModal
}]
=
useModal
();
const
[
registerRemove
,
{
openModal
:
openRemoveModal
}]
=
useModal
();
const
[
registerMain
,
{
openModal
:
openMainModal
}]
=
useModal
();
const
[
registerMain
,
{
openModal
:
openMainModal
}]
=
useModal
();
const
[
registerRunSetting
,
{
openModal
:
openRunSettingModal
}]
=
useModal
();
const
searchInfo
=
reactive
<
Recordable
>
({});
const
searchInfo
=
reactive
<
Recordable
>
({});
const
[
const
[
registerTable
,
registerTable
,
...
@@ -161,15 +196,23 @@
...
@@ -161,15 +196,23 @@
function
handleQualityTaskSetting
()
{
function
handleQualityTaskSetting
()
{
go
(
'/dataQuality/task'
);
go
(
'/dataQuality/task'
);
}
}
/** 配置运行
未完成
应为弹窗*/
/** 配置运行
正在做
应为弹窗*/
function
handleQualityTaskRunSetting
()
{
function
handleQualityTaskRunSetting
()
{
go
(
'/dataQuality/task'
);
openRunSettingModal
(
true
,
{
isRunning
:
false
,
});
}
}
/** 任务运行
未完成 应为弹窗
*/
/** 任务运行*/
function
handleQualityTaskRun
()
{
function
handleQualityTaskRun
()
{
go
(
'/dataQuality/task'
);
Modal
.
confirm
({
title
:
'确认运行'
,
content
:
'是否运行选中的任务?'
,
onOk
:
()
=>
{
createMessage
.
success
(
'运行成功!'
);
},
});
}
}
/** 查看报告
未完成 应为弹窗
*/
/** 查看报告
正在做 应为跳转到报告页面
*/
function
handleQualityTaskRunLog
()
{
function
handleQualityTaskRunLog
()
{
go
(
'/dataQuality/task'
);
go
(
'/dataQuality/task'
);
}
}
...
@@ -181,7 +224,7 @@
...
@@ -181,7 +224,7 @@
function
handleQualityTaskOffline
()
{
function
handleQualityTaskOffline
()
{
go
(
'/dataQuality/task'
);
go
(
'/dataQuality/task'
);
}
}
/** 跳转运维 未完成 应为
弹窗
*/
/** 跳转运维 未完成 应为
跳转到运维界面
*/
function
handleQualityTaskService
()
{
function
handleQualityTaskService
()
{
go
(
'/dataQuality/task'
);
go
(
'/dataQuality/task'
);
}
}
...
...
src/views/dataQuality/task/mainBody.data.ts
View file @
08121ca0
...
@@ -118,12 +118,11 @@ export const formSchemaMain: any = [
...
@@ -118,12 +118,11 @@ export const formSchemaMain: any = [
field
:
'path'
,
field
:
'path'
,
label
:
'路径'
,
label
:
'路径'
,
component
:
'TreeSelect'
,
component
:
'TreeSelect'
,
rules
:
[
// rules: [
{
// {
required
:
true
,
// message: '请选择上级菜单',
message
:
'请选择上级菜单'
,
// },
},
// ],
],
componentProps
:
{
componentProps
:
{
fieldNames
:
{
fieldNames
:
{
label
:
'label'
,
label
:
'label'
,
...
@@ -135,27 +134,33 @@ export const formSchemaMain: any = [
...
@@ -135,27 +134,33 @@ export const formSchemaMain: any = [
{
{
field
:
'name'
,
field
:
'name'
,
label
:
'
主体
名称'
,
label
:
'
文件
名称'
,
component
:
'Input'
,
component
:
'Input'
,
colProps
:
{
span
:
8
},
rules
:
[
componentProps
:
{
placeholder
:
'输入主体名称'
,
},
},
{
{
field
:
'des'
,
required
:
true
,
label
:
'描述'
,
message
:
'请输入文件名称'
,
component
:
'Input'
,
},
],
colProps
:
{
span
:
8
},
colProps
:
{
span
:
8
},
componentProps
:
{
componentProps
:
{
placeholder
:
'输入
描述
'
,
placeholder
:
'输入
文件名称
'
,
},
},
},
},
// {
// field: 'des',
// label: '描述',
// component: 'Input',
// colProps: { span: 8 },
// componentProps: {
// placeholder: '输入描述',
// },
// },
{
{
field
:
'fileType'
,
field
:
'fileType'
,
label
:
'文件类型'
,
label
:
'文件类型'
,
component
:
'Input'
,
component
:
'Input'
,
defaultValue
:
'
主体管理
'
,
defaultValue
:
'
质量任务
'
,
colProps
:
{
span
:
8
},
colProps
:
{
span
:
8
},
componentProps
:
{
componentProps
:
{
readOnly
:
true
,
readOnly
:
true
,
...
@@ -167,7 +172,7 @@ export const formSchemaMain: any = [
...
@@ -167,7 +172,7 @@ export const formSchemaMain: any = [
field
:
'menuModal'
,
field
:
'menuModal'
,
label
:
'目录权属模式'
,
label
:
'目录权属模式'
,
component
:
'Input'
,
component
:
'Input'
,
defaultValue
:
'
资源自
定义'
,
defaultValue
:
'
本级
定义'
,
colProps
:
{
span
:
8
},
colProps
:
{
span
:
8
},
componentProps
:
{
componentProps
:
{
readOnly
:
true
,
readOnly
:
true
,
...
@@ -184,6 +189,7 @@ export const formSchemaMain: any = [
...
@@ -184,6 +189,7 @@ export const formSchemaMain: any = [
componentProps
:
{
componentProps
:
{
placeholder
:
'输入描述'
,
placeholder
:
'输入描述'
,
options
:
[{
label
:
'默认工作组'
,
value
:
'默认工作组'
}],
options
:
[{
label
:
'默认工作组'
,
value
:
'默认工作组'
}],
disabled
:
true
,
},
},
},
},
];
];
...
@@ -227,16 +233,16 @@ export const searchFormSchema: FormSchema[] = [
...
@@ -227,16 +233,16 @@ export const searchFormSchema: FormSchema[] = [
placeholder
:
'输入关键字搜索'
,
placeholder
:
'输入关键字搜索'
,
},
},
},
},
{
//
{
field
:
'flag'
,
//
field: 'flag',
label
:
' '
,
//
label: ' ',
component
:
'Select'
,
//
component: 'Select',
componentProps
:
{
//
componentProps: {
placeholder
:
'按来源过滤'
,
//
placeholder: '按来源过滤',
options
:
[{
label
:
'指标汇总表'
,
value
:
'1'
}],
//
options: [{ label: '指标汇总表', value: '1' }],
},
//
},
colProps
:
{
span
:
8
},
//
colProps: { span: 8 },
},
//
},
];
];
export
const
resetPasswordFormSchema
:
any
[]
=
[
export
const
resetPasswordFormSchema
:
any
[]
=
[
{
{
...
...
src/views/dataQuality/task/mock.ts
View file @
08121ca0
...
@@ -96,13 +96,20 @@ export const treeDataList = [
...
@@ -96,13 +96,20 @@ export const treeDataList = [
];
];
export
const
treeDataListTwo
=
[
export
const
treeDataListTwo
=
[
{
{
label
:
'
默认工作组
'
,
label
:
'
主体管理
'
,
businessId
:
1
,
businessId
:
1
,
children
:
[
children
:
[
{
label
:
'默认工作组01'
,
businessId
:
2
},
{
{
label
:
'默认工作组02'
,
businessId
:
3
},
label
:
'admin_个人工作区'
,
{
label
:
'默认工作组03'
,
businessId
:
4
},
businessId
:
2
,
{
label
:
'默认工作组04'
,
businessId
:
5
},
children
:
[
{
label
:
'个人工作区1'
,
businessId
:
6
},
{
label
:
'个人工作区2'
,
businessId
:
7
},
],
},
{
label
:
'共享工作区'
,
businessId
:
3
},
{
label
:
'商城工作区'
,
businessId
:
4
},
{
label
:
'指标工作区'
,
businessId
:
5
},
],
],
},
},
];
];
src/views/dataQuality/task/treeTwo.vue
View file @
08121ca0
...
@@ -16,11 +16,12 @@
...
@@ -16,11 +16,12 @@
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
nextTick
,
onMounted
,
ref
,
unref
}
from
'vue'
;
import
{
nextTick
,
onMounted
,
ref
,
unref
}
from
'vue'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'@/components/Tree'
;
import
{
BasicTree
,
TreeActionType
,
TreeItem
}
from
'@/components/Tree'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
Nullable
}
from
"@vben/types"
;
import
{
Nullable
}
from
'@vben/types'
;
import
{
treeDataListTwo
}
from
"./mock"
;
import
{
treeDataListTwo
}
from
'./mock'
;
defineOptions
({
name
:
'DeptTree'
});
defineOptions
({
name
:
'DeptTree'
});
const
emit
=
defineEmits
([
'select'
]);
const
emit
=
defineEmits
([
'select'
]);
...
@@ -28,21 +29,19 @@ import {nextTick, onMounted, ref, unref} from 'vue';
...
@@ -28,21 +29,19 @@ import {nextTick, onMounted, ref, unref} from 'vue';
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
const
treeRef
=
ref
<
Nullable
<
TreeActionType
>>
(
null
);
async
function
fetch
()
{
async
function
fetch
()
{
treeData
.
value
=
treeDataListTwo
;
treeData
.
value
=
treeDataListTwo
await
nextTick
(()
=>
{
await
nextTick
(()
=>
{
getTree
().
expandAll
(
true
)
getTree
().
expandAll
(
true
);
})
});
}
}
function
getTree
()
{
function
getTree
()
{
const
tree
=
unref
(
treeRef
);
const
tree
=
unref
(
treeRef
);
if
(
!
tree
)
{
if
(
!
tree
)
{
throw
new
Error
(
'tree is null!'
);
throw
new
Error
(
'tree is null!'
);
}
}
return
tree
;
return
tree
;
}
}
function
handleSelect
(
keys
)
{
function
handleSelect
(
keys
)
{
emit
(
'select'
,
keys
[
0
]);
emit
(
'select'
,
keys
[
0
]);
...
@@ -53,10 +52,11 @@ function getTree() {
...
@@ -53,10 +52,11 @@ function getTree() {
});
});
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.bg-white
{
.bg-white
{
width
:
97%
;
width
:
97%
;
}
}
::v-deep
(
.vben-tree
)
{
background-color
:
#E8ECF7
!
important
;
::v-deep
(
.vben-tree
)
{
}
background-color
:
#e8ecf7
!
important
;
}
</
style
>
</
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