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
7ffe3acd
Commit
7ffe3acd
authored
Nov 14, 2024
by
baiyinhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改功能组1页面并添加两个详情页占位
parent
d8ea4566
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
259 additions
and
427 deletions
+259
-427
audiModal.vue
src/views/auditLog/audiModal.vue
+11
-10
audiModaltab2.vue
src/views/auditLog/audiModaltab2.vue
+57
-192
index.vue
src/views/auditLog/index.vue
+6
-11
createStandardsType.vue
...iews/dataStandards/basicStandards/createStandardsType.vue
+70
-56
mock.ts
src/views/notifications/noticeManage/mock.ts
+15
-5
noti.data.ts
src/views/notifications/noticeManage/noti.data.ts
+45
-120
notiModalNew.vue
src/views/notifications/noticeManage/notiModalNew.vue
+0
-6
notiModalView.vue
src/views/notifications/noticeManage/notiModalView.vue
+5
-5
detailsTab2.vue
src/views/processCenter/detailsTab2.vue
+3
-0
detailsTab3.vue
src/views/processCenter/detailsTab3.vue
+3
-0
index.vue
src/views/processCenter/index.vue
+23
-6
processCenterModalReview.vue
src/views/processCenter/processCenterModalReview.vue
+21
-16
No files found.
src/views/auditLog/audiModal.vue
View file @
7ffe3acd
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
;
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
;
import
{
encryptTwo
}
from
'../../../../src/utils/jsencrypt.js'
;
import
{
encryptTwo
}
from
'../../../../src/utils/jsencrypt.js'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
tableListtab1
}
from
'./mock'
;
import
{
TableData
}
from
'./mock'
;
import
{
router
}
from
'@/router'
;
import
{
router
}
from
'@/router'
;
defineOptions
({
name
:
'ModelModal'
});
defineOptions
({
name
:
'ModelModal'
});
...
@@ -45,14 +45,13 @@
...
@@ -45,14 +45,13 @@
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isMove
.
value
=
!!
data
?.
isMove
;
isMove
.
value
=
!!
data
?.
isMove
;
if
(
unref
(
isUpdate
))
{
// 获取行数据的id
// 获取行数据的id
rowId
.
value
=
data
.
record
.
businessId
;
rowId
.
value
=
data
.
record
.
businessId
;
// 塞值
// 塞值
setFieldsValue
({
setFieldsValue
({
...
data
.
record
,
...
data
.
record
,
});
});
}
// const treeList = handleTree(TableData, 'businessId', undefined, undefined, undefined);
// const treeList = handleTree(TableData, 'businessId', undefined, undefined, undefined);
// console.log('treeList', treeList);
// console.log('treeList', treeList);
...
@@ -66,7 +65,9 @@
...
@@ -66,7 +65,9 @@
// ]);
// ]);
});
});
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'查看日志'
:
'查看日志'
));
const
getTitle
=
computed
(()
=>
!
unref
(
isUpdate
)
?
'查看用户操作记录详情'
:
'查看用户操作记录详情'
,
);
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
id
=
id
||
'id'
;
id
=
id
||
'id'
;
...
...
src/views/auditLog/audiModaltab2.vue
View file @
7ffe3acd
<
template
>
<
template
>
<BasicModal
<BasicModal
width=
"40%"
v-bind=
"$attrs"
v-bind=
"$attrs"
width=
"45%"
height=
"500"
@
register=
"registerModal"
@
register=
"registerModal"
:title=
"getTitle"
:title=
"getTitle"
@
ok=
"handleSubmit"
@
ok=
"handleSubmit"
>
>
<div
class=
"modal-content"
>
<BasicForm
@
register=
"registerForm"
/>
<!--
<div
class=
"table-container"
>
<BasicTable
@
register=
"registerTable"
>
<template
#
bodyCell=
"
{ column, record }">
<template
v-if=
"column.key === 'action'"
>
<TableAction
:actions=
"[
{
label: '编辑',
onClick: handleEdit.bind(null, record),
},
]"
/>
</
template
>
</template>
</BasicTable>
</div>
-->
<div
class=
"form-container"
>
<BasicForm
@
register=
"registerForm"
>
<
template
#
menu=
"{ model, field }"
>
<BasicTree
v-model:value=
"model[field]"
:treeData=
"treeDataList"
:fieldNames=
"
{ title: 'label', key: 'id' }"
checkable
toolbar
/>
</
template
>
</BasicForm>
</div>
</div>
</BasicModal>
</BasicModal>
</
template
>
</
template
>
<
script
setup
lang=
"ts"
>
<
script
lang=
"ts"
setup
>
import
{
BasicTable
,
useTable
,
TableAction
}
from
'@/components/Table'
;
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
import
{
useModalInner
}
from
'@/components/Modal'
;
import
{
BasicModal
,
useModalInner
}
from
'@/components/Modal'
;
import
BasicModal
from
'@/components/Modal/src/BasicModal.vue'
;
import
{
ref
,
unref
}
from
'vue'
;
import
{
Table
}
from
'ant-design-vue'
;
import
{
ModelFormSchematab2
,
columns
}
from
'@/views/auditLog/audiModal.data'
;
import
{
addDataScopeApi
,
getRoleDeptTreeSelect
,
roleDetailApi
}
from
'@/api/system/role/role'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
BasicForm
,
useForm
}
from
'@/components/Form'
;
import
{
getMenuListByPage
,
getMenuSelect
,
getRoleMenuSelectedMC
}
from
'@/api/system/menu/menu'
;
import
{
ModelFormSchematab2
}
from
'./audiModal.data'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
;
import
{
encryptTwo
}
from
'../../../../src/utils/jsencrypt.js'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicTree
,
TreeItem
}
from
'@/components/Tree'
;
import
{
TableData
}
from
'./mock'
;
import
{
router
}
from
'@/router'
;
defineOptions
({
name
:
'ModelModal'
});
defineOptions
({
name
:
'RoleModal'
});
const
loadingRef
=
ref
(
false
);
// 列表
const
dataSource
=
ref
([]);
const
treeData
=
ref
();
const
roleId
=
ref
();
const
isPermiss
=
ref
(
true
);
const
getTitle
=
ref
(
'查看日志'
);
const
{
createMessage
}
=
useMessage
();
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
formData
=
ref
({});
const
{
createMessage
}
=
useMessage
();
const
treeDataList
=
ref
<
TreeItem
[]
>
([]);
const
isUpdate
=
ref
(
true
);
const
isMove
=
ref
(
false
);
const
rowId
=
ref
(
''
);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
labelWidth
:
100
,
const
[
registerTable
,
{
reload
,
getForm
}]
=
useTable
({
schemas
:
ModelFormSchematab2
,
// api: async (params) => {
showActionButtonGroup
:
false
,
// const param = {
actionColOptions
:
{
// businessId: roleId.value,
span
:
23
,
// };
// const response = await getRoleMenuSelectedMC(param);
// //进行处理数据
// const transformedData = transformData(response.data); // 定义一个函数transformData来做你需要的数据转换
// return { ...response, data: transformedData };
// },
columns
,
useSearchForm
:
false
,
showTableSetting
:
false
,
bordered
:
true
,
isTreeTable
:
true
,
pagination
:
false
,
showIndexColumn
:
false
,
actionColumn
:
{
width
:
50
,
title
:
'操作'
,
dataIndex
:
'action'
,
fixed
:
undefined
,
},
},
});
});
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
resetFields
();
setModalProps
({
confirmLoading
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isMove
.
value
=
!!
data
?.
isMove
;
const
[
registerModal
,
{
closeModal
,
setModalProps
}]
=
useModalInner
(
async
(
data
)
=>
{
// 获取行数据的id
isPermiss
.
value
=
data
.
record
.
isPermiss
;
rowId
.
value
=
data
.
record
.
businessId
;
roleId
.
value
=
data
.
record
.
businessId
;
// 塞值
roleDetailApi
(
roleId
.
value
).
then
((
res
)
=>
{
setFieldsValue
({
formData
.
value
=
res
.
data
;
...
data
.
record
,
const
form
=
{
roleName
:
res
.
data
.
roleName
,
};
setFieldsValue
({
...
form
,
});
});
});
if
(
unref
(
treeDataList
).
length
===
0
)
{
const
treeRes
=
await
getMenuSelect
();
treeDataList
.
value
=
treeRes
.
data
as
any
as
TreeItem
[];
}
//控制
// const treeList = handleTree(TableData, 'businessId', undefined, undefined, undefined);
updateSchema
({
// console.log('treeList', treeList);
field
:
'dataScope'
,
// updateSchema([
componentProps
:
{
// {
onChange
:
(
value
:
any
,
option
:
any
,
form
:
any
)
=>
{
// field: 'modelId',
//调用接口 返回的参数赋值给dictValue
// componentProps: {
if
(
value
===
'2'
)
{
// tableData: treeList,
updateSchema
({
// },
field
:
'menuIds'
,
// },
ifShow
:
true
,
// ]);
rules
:
[
{
required
:
true
,
message
:
'请选择数据权限'
,
},
],
});
}
else
{
updateSchema
({
field
:
'menuIds'
,
ifShow
:
false
,
rules
:
[
{
required
:
false
,
},
],
});
}
},
},
});
reload
();
});
});
//初始化表单
const
getTitle
=
computed
(()
=>
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
,
getFieldsValue
}]
=
!
unref
(
isUpdate
)
?
'查看数据源访问日志详情'
:
'查看数据源访问日志详情'
,
useForm
({
);
labelWidth
:
100
,
schemas
:
ModelFormSchematab2
,
showActionButtonGroup
:
false
,
});
/**编辑按钮*/
function
handleEdit
(
record
:
Recordable
)
{
formData
.
value
.
menuId
=
record
.
businessId
;
formData
.
value
.
menuName
=
record
.
menuName
;
const
form
=
{
menuName
:
record
.
menuName
,
};
setFieldsValue
({
...
form
,
});
const
params
=
{
menuId
:
formData
.
value
.
menuId
,
roleId
:
formData
.
value
.
businessId
,
};
getRoleDeptTreeSelect
(
params
).
then
((
res
)
=>
{
formData
.
value
.
deptCheckStrictly
=
res
.
data
.
deptCheckStrictly
;
});
}
/**改变列表结构 列表->树*/
function
transformData
(
data
)
{
treeData
.
value
=
handleTree
(
data
,
'businessId'
,
undefined
,
undefined
,
undefined
);
return
treeData
.
value
;
}
/**结构转换方法*/
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
id
=
id
||
'id'
;
id
=
id
||
'id'
;
parentId
=
parentId
||
'parentId'
;
parentId
=
parentId
||
'parentId'
;
...
@@ -204,42 +97,14 @@
...
@@ -204,42 +97,14 @@
return
treeData
!==
''
?
treeData
:
data
;
return
treeData
!==
''
?
treeData
:
data
;
}
}
/**确
认
按钮*/
/**确
定
按钮*/
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
try
{
const
values
=
await
validate
();
const
values
=
await
validate
();
// router.push({
console
.
log
(
'values:'
,
values
);
// path: '/metaModel/physicsModel/EditRowTable',
setModalProps
({
confirmLoading
:
true
});
// query: {},
formData
.
value
.
code
=
values
.
dataScope
;
// });
formData
.
value
.
menuIds
=
values
.
menuIds
;
formData
.
value
.
deptIdList
=
''
;
formData
.
value
.
roleId
=
''
;
addDataScopeApi
(
formData
.
value
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
createMessage
.
success
(
'新增成功'
);
closeModal
();
emit
(
'success'
,
{
isUpdate
:
unref
(
isPermiss
),
values
:
{
...
values
}
});
}
});
reload
();
}
finally
{
setModalProps
({
confirmLoading
:
false
});
}
}
</
script
>
<
style
scoped
lang=
"less"
>
.modal-content {
display: flex;
height: 100%; // 可以根据需要调整高度
.table-container,
closeModal
();
.form-container {
flex: 1; // 每个容器占据一半的空间
overflow: auto; // 如果内容超出容器高度,则显示滚动条
}
.table-container {
border-right: 1px solid #e9ecef; // 可选:在表格和表单之间添加分隔线
}
}
}
</
s
tyle
>
</
s
cript
>
src/views/auditLog/index.vue
View file @
7ffe3acd
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
const
[
registerModalEmail
,
{
openModal
:
openModalEmail
}]
=
useModal
();
const
[
registerModalEmail
,
{
openModal
:
openModalEmail
}]
=
useModal
();
const
[
registerModalClean
,
{
openModal
:
openModalClean
}]
=
useModal
();
const
[
registerModalClean
,
{
openModal
:
openModalClean
}]
=
useModal
();
const
[
registerTable
,
{
reload
,
getForm
,
getRowSelection
}]
=
useTable
({
const
[
registerTable
,
{
reload
,
getForm
,
getRowSelection
}]
=
useTable
({
title
:
'
审计日志
'
,
title
:
''
,
api
:
async
(
params
)
=>
{
api
:
async
(
params
)
=>
{
console
.
log
(
'params'
,
params
);
console
.
log
(
'params'
,
params
);
const
response
=
{
const
response
=
{
...
@@ -163,7 +163,7 @@
...
@@ -163,7 +163,7 @@
registerTable2
,
registerTable2
,
{
reload
:
reload2
,
getForm
:
getForm2
,
getRowSelection
:
getRowSelection2
},
{
reload
:
reload2
,
getForm
:
getForm2
,
getRowSelection
:
getRowSelection2
},
]
=
useTable
({
]
=
useTable
({
title
:
'
通知规则名称
'
,
title
:
''
,
api
:
async
(
params
)
=>
{
api
:
async
(
params
)
=>
{
console
.
log
(
'params'
,
params
);
console
.
log
(
'params'
,
params
);
const
response
=
{
const
response
=
{
...
@@ -238,13 +238,15 @@
...
@@ -238,13 +238,15 @@
}
}
/**查看详情按钮*/
/**查看详情按钮*/
function
handleViewtab1
()
{
function
handleViewtab1
(
record
:
Recordable
)
{
openModal
(
true
,
{
openModal
(
true
,
{
record
,
istab1
:
true
,
istab1
:
true
,
});
});
}
}
function
handleViewtab2
()
{
function
handleViewtab2
(
record
:
Recordable
)
{
openModal2
(
true
,
{
openModal2
(
true
,
{
record
,
istab1
:
false
,
istab1
:
false
,
});
});
}
}
...
@@ -336,13 +338,6 @@
...
@@ -336,13 +338,6 @@
roleKey
:
params
.
roleKey
,
roleKey
:
params
.
roleKey
,
flag
:
params
.
flag
,
flag
:
params
.
flag
,
});
});
getForm2
().
setFieldsValue
({
page
:
params
.
page
,
pageSize
:
params
.
pageSize
,
roleName
:
params
.
roleName
,
roleKey
:
params
.
roleKey
,
flag
:
params
.
flag
,
});
}
}
}
}
});
});
...
...
src/views/dataStandards/basicStandards/createStandardsType.vue
View file @
7ffe3acd
<
template
>
<
template
>
<BasicModal
width=
"50%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicModal
<BasicForm
@
register=
"registerForm"
/>
width=
"50%"
v-bind=
"$attrs"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<BasicForm
@
register=
"registerForm"
/>
<div
class=
"modalRow"
>
<div
class=
"modalRow"
>
<div>
可见范围
</div>
<div>
可见范围
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"clearAll"
>
<div
class=
"clearAll"
>
清空
</div>
清空
</div>
<div>
<div>
<a-button
type=
"primary"
>
添加工作组
</a-button>
<a-button
type=
"primary"
>
添加工作组
</a-button>
</div>
</div>
...
@@ -14,23 +18,23 @@
...
@@ -14,23 +18,23 @@
</div>
</div>
<div
class=
"addDialogBG"
>
<div
class=
"addDialogBG"
>
<div
style=
"float: right"
>
<div
style=
"float: right"
>
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
</div>
</div>
<TreeTwo
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
<TreeTwo
class=
"w-1/4 xl:w-1/5"
@
select=
"handleSelect"
/>
</div>
</div>
</BasicModal>
</BasicModal>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
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
{
resetNameFormSchema
}
from
'./basicStandards.data'
;
import
{
resetNameFormSchema
,
createBasicTypeFormSchema
}
from
'./basicStandards.data'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
getDeptList
}
from
'@/api/system/dept/dept'
;
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
import
{
addUserApi
,
UserDetailApi
,
UserUpdataApi
}
from
'@/api/system/user/user'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
createBasicTypeFormSchema
}
from
'./basicStandards.d
ata'
;
import
{
TreeData
}
from
'@/views/dataStandards/basicStandards/basicStandardsD
ata'
;
import
{
TreeData
}
from
"@/views/dataStandards/basicStandards/basicStandardsData"
;
import
TreeTwo
from
'@/views/dataStandards/basicStandards/TreeTwo.vue'
;
import
TreeTwo
from
'@/views/dataStandards/basicStandards/TreeTwo.vue'
defineOptions
({
name
:
'AccountModal'
});
defineOptions
({
name
:
'AccountModal'
});
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
...
@@ -52,88 +56,98 @@
...
@@ -52,88 +56,98 @@
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
resetFields
();
resetFields
();
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
var
formData
=
{}
var
formData
=
{}
;
if
(
data
.
record
===
null
||
data
.
record
===
undefined
){
if
(
data
.
record
===
null
||
data
.
record
===
undefined
)
{
formData
=
{
formData
=
{
standardsTree
:
'100'
standardsTree
:
'100'
,
}
}
;
}
else
{
}
else
{
formData
=
{
formData
=
{
standardsTree
:
data
.
record
.
businessId
standardsTree
:
data
.
record
.
businessId
,
}
}
;
}
}
// 塞值
// 塞值
setFieldsValue
({
setFieldsValue
({
...
formData
,
...
formData
,
});
});
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
)
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
updateSchema
([
updateSchema
([
{
{
field
:
'standardsTree'
,
field
:
'standardsTree'
,
componentProps
:
{
componentProps
:
{
treeData
:
treeList
treeData
:
treeList
,
},
},
},
},
{
{
field
:
'ModelTree'
,
field
:
'ModelTree'
,
componentProps
:
{
componentProps
:
{
treeData
:
treeList
treeData
:
treeList
,
},
},
},
},
]);
]);
});
});
const
getTitle
=
computed
(()
=>
(
'新建文件夹'
));
const
getTitle
=
computed
(()
=>
'新建文件夹'
);
/**确定按钮*/
/**确定按钮*/
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
closeModal
()
closeModal
()
;
}
}
/**数组对象转成树*/
/**数组对象转成树*/
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
function
handleTree
(
data
,
id
,
parentId
,
children
,
rootId
)
{
id
=
id
||
'id'
id
=
id
||
'id'
;
parentId
=
parentId
||
'parentId'
parentId
=
parentId
||
'parentId'
;
children
=
children
||
'children'
children
=
children
||
'children'
;
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
(
item
=>
{
return
item
[
parentId
]
}))
||
0
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
((
item
)
=>
{
return
item
[
parentId
];
}),
)
||
0
;
// 对源数据深度克隆
// 对源数据深度克隆
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
))
;
// 循环所有项
// 循环所有项
const
treeData
=
cloneData
.
filter
(
father
=>
{
const
treeData
=
cloneData
.
filter
(
(
father
)
=>
{
const
branchArr
=
cloneData
.
filter
(
child
=>
{
const
branchArr
=
cloneData
.
filter
(
(
child
)
=>
{
// 返回每一项的子级数组
// 返回每一项的子级数组
return
father
[
id
]
===
child
[
parentId
]
return
father
[
id
]
===
child
[
parentId
]
;
})
})
;
branchArr
.
length
>
0
?
father
.
children
=
branchArr
:
''
branchArr
.
length
>
0
?
(
father
.
children
=
branchArr
)
:
''
;
// 返回第一层
// 返回第一层
return
father
[
parentId
]
===
rootId
return
father
[
parentId
]
===
rootId
;
})
})
;
return
treeData
!==
''
?
treeData
:
data
return
treeData
!==
''
?
treeData
:
data
;
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.modalRow
{
.modalRow
{
padding
:
0
20px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.clearAll
{
padding-right
:
10px
;
font-size
:
16px
;
}
.right
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-between
;
justify-content
:
space-between
;
padding
:
0
20px
;
.clearAll
{
padding-right
:
10px
;
font-size
:
16px
;
}
.right
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
}
.addDialogBG
{
width
:
98%
;
height
:
400px
;
margin
:
10px
;
padding
:
20px
;
border-radius
:
10px
;
background-color
:
#e8ecf7
;
}
}
}
.addDialogBG
{
margin
:
10px
;
border-radius
:
10px
;
padding
:
20px
;
background-color
:
#E8ECF7
;
width
:
98%
;
height
:
400px
;
}
</
style
>
</
style
>
src/views/notifications/noticeManage/mock.ts
View file @
7ffe3acd
export
const
tableListtab1
:
any
[]
=
[
export
const
tableListtab1
:
any
[]
=
[
{
{
createDate
:
'2024-10-24 10:04:04'
,
createDate
:
'2024-10-24 10:04:04'
,
alarmRuleName
:
'
元数据变更
'
,
alarmRuleName
:
'
tdt_超时
'
,
alarmLevel
:
'高'
,
alarmLevel
:
'高'
,
resourceType
:
'数据加载'
,
resourceType
:
'数据加载'
,
triggerType
:
'运行成功'
,
triggerType
:
'运行成功'
,
details
:
'详情文本1'
,
ErrorCode
:
'${502}'
,
businessId
:
401
,
businessId
:
401
,
institutionId
:
null
,
institutionId
:
null
,
},
},
{
{
createDate
:
'2024-10-24 10:04:04'
,
createDate
:
'2024-10-24 10:04:04'
,
alarmRuleName
:
'
元数据变更
'
,
alarmRuleName
:
'
tdt_超时
'
,
alarmLevel
:
'高'
,
alarmLevel
:
'高'
,
resourceType
:
'数据加载'
,
resourceType
:
'数据加载'
,
triggerType
:
'运行成功'
,
triggerType
:
'运行成功'
,
details
:
'详情文本2'
,
ErrorCode
:
'${502}'
,
businessId
:
402
,
businessId
:
402
,
institutionId
:
null
,
institutionId
:
null
,
},
},
{
{
createDate
:
'2024-10-24 10:04:04'
,
createDate
:
'2024-10-24 10:04:04'
,
alarmRuleName
:
'
元数据变更
'
,
alarmRuleName
:
'
tdt_超时
'
,
alarmLevel
:
'中'
,
alarmLevel
:
'中'
,
resourceType
:
'数据加载'
,
resourceType
:
'数据加载'
,
triggerType
:
'运行成功'
,
triggerType
:
'运行成功'
,
details
:
'详情文本3'
,
ErrorCode
:
'${502}'
,
businessId
:
403
,
businessId
:
403
,
institutionId
:
null
,
institutionId
:
null
,
},
},
{
{
createDate
:
'2024-10-24 10:04:04'
,
createDate
:
'2024-10-24 10:04:04'
,
alarmRuleName
:
'
元数据变更
'
,
alarmRuleName
:
'
tdt_超时
'
,
alarmLevel
:
'高'
,
alarmLevel
:
'高'
,
resourceType
:
'数据加载'
,
resourceType
:
'数据加载'
,
triggerType
:
'运行失败'
,
triggerType
:
'运行失败'
,
details
:
'详情文本4'
,
ErrorCode
:
'${502}'
,
businessId
:
404
,
businessId
:
404
,
institutionId
:
null
,
institutionId
:
null
,
},
},
{
{
createDate
:
'2024-10-24 10:04:04'
,
createDate
:
'2024-10-24 10:04:04'
,
alarmRuleName
:
'
元数据变更
'
,
alarmRuleName
:
'
tdt_超时
'
,
alarmLevel
:
'低'
,
alarmLevel
:
'低'
,
resourceType
:
'数据加载'
,
resourceType
:
'数据加载'
,
triggerType
:
'开始运行'
,
triggerType
:
'开始运行'
,
details
:
'详情文本5'
,
ErrorCode
:
'${502}'
,
businessId
:
405
,
businessId
:
405
,
institutionId
:
null
,
institutionId
:
null
,
},
},
...
...
src/views/notifications/noticeManage/noti.data.ts
View file @
7ffe3acd
...
@@ -338,153 +338,78 @@ export const formSchema: FormSchema[] = [
...
@@ -338,153 +338,78 @@ export const formSchema: FormSchema[] = [
];
];
export
const
formSchema2
:
FormSchema
[]
=
[
export
const
formSchema2
:
FormSchema
[]
=
[
{
{
field
:
'
alarmRuleName
'
,
field
:
'
basicInformation
'
,
label
:
'规则名称
'
,
component
:
'BasicTitle
'
,
component
:
'Input
'
,
label
:
'基本信息
'
,
co
lProps
:
{
span
:
24
},
co
mponentProps
:
{
rules
:
[
// line: true,
{
span
:
true
,
required
:
true
,
}
,
message
:
'请输入规则名称'
,
colProps
:
{
}
,
span
:
24
,
]
,
}
,
},
},
{
{
field
:
'description'
,
field
:
'taskName'
,
label
:
'描述'
,
label
:
'任务名称'
,
component
:
'InputTextArea'
,
component
:
'Input'
,
colProps
:
{
span
:
24
},
defaultValue
:
'任务名称1'
,
colProps
:
{
span
:
12
},
},
},
{
{
field
:
'
roleStatus
'
,
field
:
'
createTime
'
,
label
:
'
规则状态
'
,
label
:
'
通知时间
'
,
component
:
'
Switch
'
,
component
:
'
Input
'
,
colProps
:
{
span
:
24
}
,
defaultValue
:
'2022-01-01 00:00:00'
,
defaultValue
:
false
,
colProps
:
{
span
:
12
}
,
},
},
{
{
field
:
'
resourceType
'
,
field
:
'
alarmLevel
'
,
label
:
'
资源类型
'
,
label
:
'
紧急程度
'
,
component
:
'Select'
,
component
:
'Select'
,
colProps
:
{
span
:
24
},
colProps
:
{
span
:
12
},
componentProps
:
{
defaultValue
:
'数据加载'
,
options
:
[
{
label
:
'数据加载'
,
value
:
'1'
},
{
label
:
'数据同步'
,
value
:
'2'
},
{
label
:
'工作流'
,
value
:
'3'
},
{
label
:
'标签'
,
value
:
'4'
},
{
label
:
'数据质量任务'
,
value
:
'5'
},
{
label
:
'落标检查任务'
,
value
:
'6'
},
{
label
:
'元数据变更'
,
value
:
'7'
},
{
label
:
'标准版本变更'
,
value
:
'8'
},
],
},
},
//未解决问题:作用范围列未添加
// {
// field: 'alarmRange',
// label: '作用范围',
// component: 'Select',
// colProps: { span: 24 },
// componentProps: {
// options: [
// { label: '元数据变更', value: '1' },
// { label: '元数据处理', value: '2' },
// ],
// },
// rules: [
// {
// required: true,
// message: '请选择作用范围',
// },
// ],
// },
{
field
:
'triggerType'
,
label
:
'触发方式'
,
component
:
'CheckboxGroup'
,
colProps
:
{
span
:
24
},
componentProps
:
{
componentProps
:
{
defaultValue
:
[
'1'
],
options
:
[
options
:
[
{
label
:
'运行失败'
,
value
:
'1'
},
{
label
:
'低'
,
value
:
'1'
},
{
label
:
'运行成功'
,
value
:
'2'
},
{
label
:
'中'
,
value
:
'2'
},
{
label
:
'开始运行'
,
value
:
'3'
},
{
label
:
'高'
,
value
:
'3'
},
{
label
:
'运行超时'
,
value
:
'4'
},
{
label
:
'源端元数据更新'
,
value
:
'5'
},
],
],
},
},
rules
:
[
rules
:
[
{
{
required
:
true
,
required
:
true
,
message
:
'请选择
触发方式
'
,
message
:
'请选择
紧急程度
'
,
},
},
],
],
},
},
{
{
field
:
'alarmType'
,
field
:
'alarmRuleName'
,
label
:
'通知方式'
,
label
:
'通知规则'
,
component
:
'CheckboxGroup'
,
component
:
'Input'
,
colProps
:
{
span
:
24
},
colProps
:
{
span
:
12
},
componentProps
:
{
defaultValue
:
[
'1'
,
'2'
],
options
:
[
{
label
:
'站内信'
,
value
:
'1'
},
{
label
:
'邮件'
,
value
:
'2'
},
],
},
rules
:
[
{
required
:
true
,
message
:
'请选择通知方式'
,
},
],
},
},
{
{
field
:
'message'
,
field
:
'alarmsDetails'
,
label
:
'收件人'
,
component
:
'BasicTitle'
,
component
:
'CheckboxGroup'
,
label
:
'通知详情'
,
colProps
:
{
span
:
12
},
componentProps
:
{
componentProps
:
{
defaultValue
:
[
'1'
]
,
// line: true
,
options
:
[
span
:
true
,
{
label
:
'收件人1'
,
value
:
'1'
},
},
{
label
:
'收件人2'
,
value
:
'2'
},
colProps
:
{
]
,
span
:
24
,
},
},
ifShow
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'1'
),
required
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'1'
),
},
},
{
{
field
:
'
email
'
,
field
:
'
details
'
,
label
:
'
邮箱地址
'
,
label
:
'
详情:
'
,
component
:
'InputTextArea'
,
component
:
'InputTextArea'
,
colProps
:
{
span
:
12
},
colProps
:
{
span
:
24
},
componentProps
:
{
defaultValue
:
'11111112222222@123321.123'
,
placeholder
:
'多个邮件地址用;分隔符分割'
,
},
ifShow
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'2'
),
required
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'2'
),
},
},
{
{
field
:
'
alarmLevel
'
,
field
:
'
ErrorCode
'
,
label
:
'
紧急程度
'
,
label
:
'
错误码
'
,
component
:
'
Selec
t'
,
component
:
'
Inpu
t'
,
colProps
:
{
span
:
24
},
colProps
:
{
span
:
24
},
componentProps
:
{
options
:
[
{
label
:
'低'
,
value
:
'1'
},
{
label
:
'中'
,
value
:
'2'
},
{
label
:
'高'
,
value
:
'3'
},
],
},
rules
:
[
{
required
:
true
,
message
:
'请选择紧急程度'
,
},
],
},
},
];
];
src/views/notifications/noticeManage/notiModalNew.vue
View file @
7ffe3acd
...
@@ -123,12 +123,6 @@
...
@@ -123,12 +123,6 @@
/**确定按钮*/
/**确定按钮*/
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
const
values
=
await
validate
();
// router.push({
// path: '/metaModel/physicsModel/EditRowTable',
// query: {},
// });
closeModal
();
closeModal
();
}
}
</
script
>
</
script
>
...
...
src/views/notifications/noticeManage/notiModalView.vue
View file @
7ffe3acd
...
@@ -8,14 +8,14 @@
...
@@ -8,14 +8,14 @@
:showCancelBtn=
"false"
:showCancelBtn=
"false"
>
>
<BasicForm
@
register=
"registerForm"
/>
<BasicForm
@
register=
"registerForm"
/>
<div
class=
"modalRow"
>
<
!--
<
div
class=
"modalRow"
>
<div
style=
"display: flex; align-items: center"
>
<div
style=
"display: flex; align-items: center"
>
<span
style=
"margin-right: 5px; color: red"
>
*
</span>
<span
style=
"margin-right: 5px; color: red"
>
*
</span>
<div>
可见范围
</div>
<div>
可见范围
</div>
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
-->
<!--
<div
class=
"clearAll"
>
清空
</div>
-->
<!--
<div
class=
"clearAll"
>
清空
</div>
-->
<div>
<!--
<div>
<a-button
type=
"primary"
>
添加工作区
</a-button>
<a-button
type=
"primary"
>
添加工作区
</a-button>
</div>
</div>
</div>
</div>
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
<Icon
icon=
"ant-design:delete-outlined"
:size=
"25"
:color=
"'#ED6F6F'"
/>
</div>
</div>
<TreeTwo
class=
"w-1/4 xl:w-1/5 treedisabled"
@
select=
"handleSelect"
/>
<TreeTwo
class=
"w-1/4 xl:w-1/5 treedisabled"
@
select=
"handleSelect"
/>
</div>
</div>
-->
</BasicModal>
</BasicModal>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
...
...
src/views/processCenter/detailsTab2.vue
0 → 100644
View file @
7ffe3acd
<
template
>
<p>
发起事项详情页
</p>
</
template
>
src/views/processCenter/detailsTab3.vue
0 → 100644
View file @
7ffe3acd
<
template
>
<p>
已办事项详情页
</p>
</
template
>
src/views/processCenter/index.vue
View file @
7ffe3acd
...
@@ -39,7 +39,7 @@
...
@@ -39,7 +39,7 @@
{
{
icon: 'clarity:search-line',
icon: 'clarity:search-line',
label: '查看详情',
label: '查看详情',
onClick: handleView.bind(null, record),
onClick: handleView
tab2
.bind(null, record),
},
},
// {
// {
// // icon: 'clarity:note-edit-line',
// // icon: 'clarity:note-edit-line',
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
{
{
icon: 'clarity:search-line',
icon: 'clarity:search-line',
label: '查看详情',
label: '查看详情',
onClick: handleView.bind(null, record),
onClick: handleView
tab3
.bind(null, record),
},
},
// {
// {
// // icon: 'clarity:note-edit-line',
// // icon: 'clarity:note-edit-line',
...
@@ -125,7 +125,7 @@
...
@@ -125,7 +125,7 @@
searchFormSchematab3
,
searchFormSchematab3
,
}
from
'./processCenter.data'
;
}
from
'./processCenter.data'
;
import
{
reactive
,
unref
,
onDeactivated
,
onMounted
,
ref
}
from
'vue'
;
import
{
reactive
,
unref
,
onDeactivated
,
onMounted
,
ref
}
from
'vue'
;
import
{
useRoute
,
onBeforeRouteLeave
}
from
'vue-router'
;
import
{
useRoute
,
onBeforeRouteLeave
,
useRouter
}
from
'vue-router'
;
import
{
useFilterStore
}
from
'@/store/modules/filterData'
;
import
{
useFilterStore
}
from
'@/store/modules/filterData'
;
import
{
useUserStore
}
from
'@/store/modules/user'
;
import
{
useUserStore
}
from
'@/store/modules/user'
;
import
ProCenterModal
from
'./processCenterModal.vue'
;
import
ProCenterModal
from
'./processCenterModal.vue'
;
...
@@ -140,6 +140,7 @@
...
@@ -140,6 +140,7 @@
defineOptions
({
name
:
'RoleManagement'
});
defineOptions
({
name
:
'RoleManagement'
});
const
filterStore
=
useFilterStore
();
const
filterStore
=
useFilterStore
();
const
route
=
useRoute
();
const
route
=
useRoute
();
const
$router
=
useRouter
();
const
go
=
useGo
();
const
go
=
useGo
();
const
{
createMessage
}
=
useMessage
();
const
{
createMessage
}
=
useMessage
();
const
tableData
=
ref
([]);
const
tableData
=
ref
([]);
...
@@ -305,9 +306,25 @@
...
@@ -305,9 +306,25 @@
});
});
}
}
/**查看详情按钮*/
/**查看详情按钮tab2*/
function
handleView
()
{
function
handleViewtab2
(
record
:
Recordable
)
{
go
(
'/system/process_detail'
);
const
businessId
=
record
.
businessId
;
$router
.
push
({
path
:
'/processCenter/detailsTab2'
,
query
:
{
businessId
,
},
});
}
/**查看详情按钮tab3*/
function
handleViewtab3
(
record
:
Recordable
)
{
const
businessId
=
record
.
businessId
;
$router
.
push
({
path
:
'/processCenter/detailsTab3'
,
query
:
{
businessId
,
},
});
}
}
/**数据权限按钮*/
/**数据权限按钮*/
function
dataPermiss
(
record
:
Recordable
)
{
function
dataPermiss
(
record
:
Recordable
)
{
...
...
src/views/processCenter/processCenterModalReview.vue
View file @
7ffe3acd
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
getDictListByPage
,
getDictListByPage
,
}
from
'@/api/system/dict/dict'
;
}
from
'@/api/system/dict/dict'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
message
}
from
'ant-design-vue'
;
import
{
message
,
Modal
}
from
'ant-design-vue'
;
defineOptions
({
name
:
'DictModal'
});
defineOptions
({
name
:
'DictModal'
});
...
@@ -42,19 +42,15 @@
...
@@ -42,19 +42,15 @@
resetFields
();
resetFields
();
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
if
(
unref
(
isUpdate
))
{
//修改
//修改
// 获取行数据的id
// 获取行数据的id
dictId
.
value
=
data
.
record
.
businessId
;
// 获取行数据的id
// 通过id获取行详情信息
dictId
.
value
=
data
.
record
.
businessId
;
DictDetailApi
(
dictId
.
value
).
then
((
res
)
=>
{
// 塞值
const
form
=
res
.
data
;
setFieldsValue
({
// 塞值
...
data
.
record
,
setFieldsValue
({
});
...
form
,
});
});
}
//给父子典名称和数据赋值
//给父子典名称和数据赋值
var
options
=
[];
var
options
=
[];
...
@@ -111,7 +107,16 @@
...
@@ -111,7 +107,16 @@
});
});
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
closeModal
();
Modal
.
confirm
({
message
.
success
(
'审批成功'
);
title
:
'确认审批'
,
content
:
'是否审批通过此记录?'
,
onOk
:
()
=>
{
createMessage
.
success
(
'审批通过成功'
);
closeModal
();
},
onCancel
:
()
=>
{
createMessage
.
info
(
'取消审批'
);
},
});
}
}
</
script
>
</
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