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
2fe7e100
Commit
2fe7e100
authored
Nov 11, 2024
by
baiyinhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改部分页面
parent
1aca171f
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
593 additions
and
132 deletions
+593
-132
index.vue
src/views/ArchitecturePlan/sys/index.vue
+8
-2
modelModal.vue
src/views/ArchitecturePlan/sys/modelModal.vue
+11
-2
ModelTree.vue
src/views/ArchitecturePlan/theme/ModelTree.vue
+1
-1
moveModel.vue
src/views/ArchitecturePlan/theme/moveModel.vue
+1
-1
audi.data.ts
src/views/auditLog/audi.data.ts
+5
-5
audiModal.data.ts
src/views/auditLog/audiModal.data.ts
+172
-22
audiModal.vue
src/views/auditLog/audiModal.vue
+12
-12
audiModaltab2.vue
src/views/auditLog/audiModaltab2.vue
+245
-0
index.vue
src/views/auditLog/index.vue
+58
-46
index.vue
src/views/notifications/noticeManage/index.vue
+28
-3
noti.data.ts
src/views/notifications/noticeManage/noti.data.ts
+29
-5
notiModalDetail.vue
src/views/notifications/noticeManage/notiModalDetail.vue
+8
-13
notiModalNew.vue
src/views/notifications/noticeManage/notiModalNew.vue
+15
-20
No files found.
src/views/ArchitecturePlan/sys/index.vue
View file @
2fe7e100
...
@@ -69,6 +69,7 @@
...
@@ -69,6 +69,7 @@
import
{
useFilterStore
}
from
'@/store/modules/filterData'
;
import
{
useFilterStore
}
from
'@/store/modules/filterData'
;
import
{
modelData
,
TableData
}
from
'./mock'
;
import
{
modelData
,
TableData
}
from
'./mock'
;
import
{
Modal
}
from
'ant-design-vue'
;
import
{
Modal
}
from
'ant-design-vue'
;
import
{
is
}
from
'@/utils/is'
;
// import ModelTree from '@/views/dataWarehousePlanning/physicalModel/ModelTree.vue';
// import ModelTree from '@/views/dataWarehousePlanning/physicalModel/ModelTree.vue';
...
@@ -140,6 +141,7 @@
...
@@ -140,6 +141,7 @@
/** 新建分层*/
/** 新建分层*/
function
handleCreateFile
()
{
function
handleCreateFile
()
{
openModal
(
true
,
{
openModal
(
true
,
{
isView
:
false
,
isUpdate
:
false
,
isUpdate
:
false
,
});
});
}
}
...
@@ -162,6 +164,7 @@
...
@@ -162,6 +164,7 @@
function
handleEdit
(
record
:
Recordable
)
{
function
handleEdit
(
record
:
Recordable
)
{
openModal
(
true
,
{
openModal
(
true
,
{
record
,
record
,
isView
:
false
,
isUpdate
:
true
,
isUpdate
:
true
,
});
});
}
}
...
@@ -236,8 +239,11 @@
...
@@ -236,8 +239,11 @@
}
}
//查看按钮
//查看按钮
function
handleView
(
record
:
Recordable
)
{
function
handleView
(
record
:
Recordable
)
{
go
(
'/system/account_detail/'
+
record
.
id
);
openModal
(
true
,
{
reload
();
record
,
isView
:
true
,
isUpdate
:
true
,
});
}
}
onMounted
(()
=>
{
onMounted
(()
=>
{
...
...
src/views/ArchitecturePlan/sys/modelModal.vue
View file @
2fe7e100
...
@@ -27,7 +27,9 @@
...
@@ -27,7 +27,9 @@
const
{
createMessage
}
=
useMessage
();
const
{
createMessage
}
=
useMessage
();
const
isUpdate
=
ref
(
true
);
const
isUpdate
=
ref
(
true
);
const
isMove
=
ref
(
false
);
const
isMove
=
ref
(
false
);
const
isView
=
ref
(
false
);
const
rowId
=
ref
(
''
);
const
rowId
=
ref
(
''
);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
//初始化表单
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
...
@@ -37,11 +39,13 @@
...
@@ -37,11 +39,13 @@
actionColOptions
:
{
actionColOptions
:
{
span
:
23
,
span
:
23
,
},
},
disabled
:
isView
,
});
});
//初始化弹框
//初始化弹框
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
resetFields
();
resetFields
();
setModalProps
({
confirmLoading
:
false
});
setModalProps
({
confirmLoading
:
false
});
isView
.
value
=
!!
data
?.
isView
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isUpdate
.
value
=
!!
data
?.
isUpdate
;
isMove
.
value
=
!!
data
?.
isMove
;
isMove
.
value
=
!!
data
?.
isMove
;
if
(
unref
(
isUpdate
))
{
if
(
unref
(
isUpdate
))
{
...
@@ -65,8 +69,13 @@
...
@@ -65,8 +69,13 @@
]);
]);
});
});
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'新建系统'
:
'编辑系统'
));
const
getTitle
=
computed
(()
=>
{
return
unref
(
isView
)
&&
unref
(
isUpdate
)
?
'查看系统'
:
unref
(
isUpdate
)
?
'编辑系统'
:
'新建系统'
;
});
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'
;
...
...
src/views/ArchitecturePlan/theme/ModelTree.vue
View file @
2fe7e100
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
:fieldNames=
"
{ key: 'businessId', title: 'modelName' }"
:fieldNames=
"
{ key: 'businessId', title: 'modelName' }"
@select="handleSelect"
@select="handleSelect"
/>
/>
<
ModelDetailModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/
>
<
!--
<ModelDetailModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
--
>
</div>
</div>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
...
...
src/views/ArchitecturePlan/theme/moveModel.vue
View file @
2fe7e100
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
};
};
// 塞值
// 塞值
setFieldsValue
({
setFieldsValue
({
...
formData
,
//
...formData,
});
});
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
...
...
src/views/auditLog/audi.data.ts
View file @
2fe7e100
...
@@ -216,7 +216,7 @@ export const searchFormSchematab2: FormSchema[] = [
...
@@ -216,7 +216,7 @@ export const searchFormSchematab2: FormSchema[] = [
componentProps
:
{
componentProps
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索'
,
},
},
colProps
:
{
span
:
4
},
colProps
:
{
span
:
3
},
},
},
{
{
field
:
'dataSourceType'
,
field
:
'dataSourceType'
,
...
@@ -229,7 +229,7 @@ export const searchFormSchematab2: FormSchema[] = [
...
@@ -229,7 +229,7 @@ export const searchFormSchematab2: FormSchema[] = [
],
],
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
},
},
colProps
:
{
span
:
4
},
colProps
:
{
span
:
3
},
},
},
{
{
field
:
'accessResult'
,
field
:
'accessResult'
,
...
@@ -242,7 +242,7 @@ export const searchFormSchematab2: FormSchema[] = [
...
@@ -242,7 +242,7 @@ export const searchFormSchematab2: FormSchema[] = [
],
],
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
},
},
colProps
:
{
span
:
4
},
colProps
:
{
span
:
3
},
},
},
{
{
field
:
'accessType'
,
field
:
'accessType'
,
...
@@ -255,7 +255,7 @@ export const searchFormSchematab2: FormSchema[] = [
...
@@ -255,7 +255,7 @@ export const searchFormSchematab2: FormSchema[] = [
],
],
placeholder
:
'请选择'
,
placeholder
:
'请选择'
,
},
},
colProps
:
{
span
:
4
},
colProps
:
{
span
:
3
},
},
},
{
{
field
:
'timeRange'
,
field
:
'timeRange'
,
...
@@ -264,7 +264,7 @@ export const searchFormSchematab2: FormSchema[] = [
...
@@ -264,7 +264,7 @@ export const searchFormSchematab2: FormSchema[] = [
componentProps
:
{
componentProps
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
placeholder
:
[
'开始时间'
,
'结束时间'
],
},
},
colProps
:
{
span
:
8
},
colProps
:
{
span
:
5
},
},
},
];
];
...
...
src/views/auditLog/audiModal.data.ts
View file @
2fe7e100
...
@@ -20,13 +20,13 @@ export const columns: BasicColumn[] = [
...
@@ -20,13 +20,13 @@ export const columns: BasicColumn[] = [
export
const
ModelFormSchema
:
FormSchema
[]
=
[
export
const
ModelFormSchema
:
FormSchema
[]
=
[
{
{
field
:
'
roleNam
e'
,
field
:
'
createDat
e'
,
label
:
'
角色名称
'
,
label
:
'
操作时间
'
,
component
:
'Input'
,
component
:
'Input'
,
rules
:
[
rules
:
[
{
{
required
:
true
,
//
required: true,
message
:
'请输入
角色名称
'
,
message
:
'请输入
操作时间
'
,
},
},
],
],
componentProps
:
{
componentProps
:
{
...
@@ -34,60 +34,210 @@ export const ModelFormSchema: FormSchema[] = [
...
@@ -34,60 +34,210 @@ export const ModelFormSchema: FormSchema[] = [
},
},
},
},
{
{
field
:
'm
enu
Name'
,
field
:
'm
anager
Name'
,
label
:
'
菜单名称
'
,
label
:
'
操作人
'
,
component
:
'Input'
,
component
:
'Input'
,
rules
:
[
rules
:
[
{
{
required
:
true
,
//
required: true,
message
:
'请输入
菜单名称
'
,
message
:
'请输入
操作人
'
,
},
},
],
],
componentProps
:
{
componentProps
:
{
placeholder
:
'未选择菜单名称'
,
disabled
:
true
,
disabled
:
true
,
},
},
},
},
{
{
field
:
'
dataSco
pe'
,
field
:
'
manageTy
pe'
,
label
:
'
权限范围
'
,
label
:
'
操作类型
'
,
component
:
'Select'
,
component
:
'Select'
,
rules
:
[
rules
:
[
{
{
required
:
true
,
//
required: true,
message
:
'请选择
权限范围
'
,
message
:
'请选择
操作类型
'
,
},
},
],
],
componentProps
:
{
componentProps
:
{
disabled
:
true
,
options
:
[
options
:
[
{
{
value
:
'1'
,
value
:
'1'
,
label
:
'全部
数据权限
'
,
label
:
'全部
操作类型
'
,
},
},
{
{
value
:
'2'
,
value
:
'2'
,
label
:
'自定
数据权限
'
,
label
:
'自定
操作类型
'
,
},
},
{
{
value
:
'3'
,
value
:
'3'
,
label
:
'本部门
数据权限
'
,
label
:
'本部门
操作类型
'
,
},
},
{
{
value
:
'4'
,
value
:
'4'
,
label
:
'本部门及以下
数据权限
'
,
label
:
'本部门及以下
操作类型
'
,
},
},
{
{
value
:
'5'
,
value
:
'5'
,
label
:
'仅本人
数据权限
'
,
label
:
'仅本人
操作类型
'
,
},
},
],
],
},
},
},
},
{
{
label
:
'数据权限'
,
label
:
'对象名称'
,
field
:
'menuIds'
,
field
:
'ObjectName'
,
slot
:
'menu'
,
component
:
'Input'
,
ifShow
:
false
,
// ifShow: false,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'路径'
,
field
:
'url'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'对象类型'
,
field
:
'objectType'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'操作结果'
,
field
:
'result'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
];
export
const
ModelFormSchematab2
:
FormSchema
[]
=
[
{
field
:
'createDate'
,
label
:
'访问时间'
,
component
:
'Input'
,
rules
:
[
{
// required: true,
message
:
'请输入访问时间'
,
},
],
componentProps
:
{
disabled
:
true
,
},
},
{
field
:
'accessUser'
,
label
:
'访问用户'
,
component
:
'Input'
,
rules
:
[
{
// required: true,
message
:
'请输入访问用户'
,
},
],
componentProps
:
{
disabled
:
true
,
},
},
{
field
:
'accessType'
,
label
:
'访问途径'
,
component
:
'Select'
,
rules
:
[
{
// required: true,
message
:
'请选择访问途径'
,
},
],
componentProps
:
{
disabled
:
true
,
options
:
[
{
value
:
'1'
,
label
:
'全部操作类型'
,
},
{
value
:
'2'
,
label
:
'自定操作类型'
,
},
{
value
:
'3'
,
label
:
'本部门操作类型'
,
},
{
value
:
'4'
,
label
:
'本部门及以下操作类型'
,
},
{
value
:
'5'
,
label
:
'仅本人操作类型'
,
},
],
},
},
{
label
:
'服务器IP/主机名'
,
field
:
'serverIp'
,
component
:
'Input'
,
// ifShow: false,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'数据源名称'
,
field
:
'dataSourceName'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'数据源类型'
,
field
:
'dataSourceType'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'关联sql语句'
,
field
:
'sql'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'执行结束时间'
,
field
:
'endTime'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'执行耗时'
,
field
:
'costTime'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
{
label
:
'访问结果'
,
field
:
'result'
,
component
:
'Input'
,
componentProps
:
{
disabled
:
true
,
},
},
},
];
];
export
const
physicalModelFormSchema
:
any
[]
=
[
export
const
physicalModelFormSchema
:
any
[]
=
[
...
...
src/views/auditLog/audiModal.vue
View file @
2fe7e100
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
@
ok=
"handleSubmit"
@
ok=
"handleSubmit"
>
>
<div
class=
"modal-content"
>
<div
class=
"modal-content"
>
<div
class=
"table-container"
>
<
!--
<
div
class=
"table-container"
>
<BasicTable
@
register=
"registerTable"
>
<BasicTable
@
register=
"registerTable"
>
<template
#
bodyCell=
"
{ column, record }">
<template
#
bodyCell=
"
{ column, record }">
<template
v-if=
"column.key === 'action'"
>
<template
v-if=
"column.key === 'action'"
>
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
</
template
>
</
template
>
</template>
</template>
</BasicTable>
</BasicTable>
</div>
</div>
-->
<div
class=
"form-container"
>
<div
class=
"form-container"
>
<BasicForm
@
register=
"registerForm"
>
<BasicForm
@
register=
"registerForm"
>
<
template
#
menu=
"{ model, field }"
>
<
template
#
menu=
"{ model, field }"
>
...
@@ -60,22 +60,22 @@
...
@@ -60,22 +60,22 @@
const
treeData
=
ref
();
const
treeData
=
ref
();
const
roleId
=
ref
();
const
roleId
=
ref
();
const
isPermiss
=
ref
(
true
);
const
isPermiss
=
ref
(
true
);
const
getTitle
=
ref
(
'
数据权限信息
'
);
const
getTitle
=
ref
(
'
查看日志
'
);
const
{
createMessage
}
=
useMessage
();
const
{
createMessage
}
=
useMessage
();
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
formData
=
ref
({});
const
formData
=
ref
({});
const
treeDataList
=
ref
<
TreeItem
[]
>
([]);
const
treeDataList
=
ref
<
TreeItem
[]
>
([]);
const
[
registerTable
,
{
reload
,
getForm
}]
=
useTable
({
const
[
registerTable
,
{
reload
,
getForm
}]
=
useTable
({
api
:
async
(
params
)
=>
{
//
api: async (params) => {
const
param
=
{
//
const param = {
businessId
:
roleId
.
value
,
//
businessId: roleId.value,
};
//
};
const
response
=
await
getRoleMenuSelectedMC
(
param
);
//
const response = await getRoleMenuSelectedMC(param);
//进行处理数据
//
//进行处理数据
const
transformedData
=
transformData
(
response
.
data
);
// 定义一个函数transformData来做你需要的数据转换
//
const transformedData = transformData(response.data); // 定义一个函数transformData来做你需要的数据转换
return
{
...
response
,
data
:
transformedData
};
//
return { ...response, data: transformedData };
},
//
},
columns
,
columns
,
useSearchForm
:
false
,
useSearchForm
:
false
,
showTableSetting
:
false
,
showTableSetting
:
false
,
...
...
src/views/auditLog/audiModaltab2.vue
0 → 100644
View file @
2fe7e100
<
template
>
<BasicModal
v-bind=
"$attrs"
width=
"45%"
height=
"500"
@
register=
"registerModal"
:title=
"getTitle"
@
ok=
"handleSubmit"
>
<div
class=
"modal-content"
>
<!--
<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>
</template>
<
script
setup
lang=
"ts"
>
import
{
BasicTable
,
useTable
,
TableAction
}
from
'@/components/Table'
;
import
{
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
{
getMenuListByPage
,
getMenuSelect
,
getRoleMenuSelectedMC
}
from
'@/api/system/menu/menu'
;
import
{
useMessage
}
from
'@/hooks/web/useMessage'
;
import
{
BasicTree
,
TreeItem
}
from
'@/components/Tree'
;
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
formData
=
ref
({});
const
treeDataList
=
ref
<
TreeItem
[]
>
([]);
const
[
registerTable
,
{
reload
,
getForm
}]
=
useTable
({
// api: async (params) => {
// const param = {
// businessId: roleId.value,
// };
// 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
,
{
closeModal
,
setModalProps
}]
=
useModalInner
(
async
(
data
)
=>
{
isPermiss
.
value
=
data
.
record
.
isPermiss
;
roleId
.
value
=
data
.
record
.
businessId
;
roleDetailApi
(
roleId
.
value
).
then
((
res
)
=>
{
formData
.
value
=
res
.
data
;
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
[];
}
//控制
updateSchema
({
field
:
'dataScope'
,
componentProps
:
{
onChange
:
(
value
:
any
,
option
:
any
,
form
:
any
)
=>
{
//调用接口 返回的参数赋值给dictValue
if
(
value
===
'2'
)
{
updateSchema
({
field
:
'menuIds'
,
ifShow
:
true
,
rules
:
[
{
required
:
true
,
message
:
'请选择数据权限'
,
},
],
});
}
else
{
updateSchema
({
field
:
'menuIds'
,
ifShow
:
false
,
rules
:
[
{
required
:
false
,
},
],
});
}
},
},
});
reload
();
});
//初始化表单
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
,
getFieldsValue
}]
=
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
)
{
id
=
id
||
'id'
;
parentId
=
parentId
||
'parentId'
;
children
=
children
||
'children'
;
rootId
=
rootId
||
Math
.
min
.
apply
(
Math
,
data
.
map
((
item
)
=>
{
return
item
[
parentId
];
}),
)
||
0
;
// 对源数据深度克隆
const
cloneData
=
JSON
.
parse
(
JSON
.
stringify
(
data
));
// 循环所有项
const
treeData
=
cloneData
.
filter
((
father
)
=>
{
const
branchArr
=
cloneData
.
filter
((
child
)
=>
{
// 返回每一项的子级数组
return
father
[
id
]
===
child
[
parentId
];
});
branchArr
.
length
>
0
?
(
father
.
children
=
branchArr
)
:
''
;
// 返回第一层
return
father
[
parentId
]
===
rootId
;
});
return
treeData
!==
''
?
treeData
:
data
;
}
/**确认按钮*/
async
function
handleSubmit
()
{
try
{
const
values
=
await
validate
();
console
.
log
(
'values:'
,
values
);
setModalProps
({
confirmLoading
:
true
});
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,
.form-container {
flex: 1; // 每个容器占据一半的空间
overflow: auto; // 如果内容超出容器高度,则显示滚动条
}
.table-container {
border-right: 1px solid #e9ecef; // 可选:在表格和表单之间添加分隔线
}
}
</
style
>
src/views/auditLog/index.vue
View file @
2fe7e100
...
@@ -21,19 +21,19 @@
...
@@ -21,19 +21,19 @@
icon: 'clarity:search-line',
icon: 'clarity:search-line',
label: '',
label: '',
tooltip: '查看详情',
tooltip: '查看详情',
onClick: handleView.bind(null, record),
onClick: handleViewtab1.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
// label: '删2222222222222222除',
tooltip: '删除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
},
// {
// icon: 'ant-design:delete-outlined',
// // label: '删2222222222222222除',
// tooltip: '删除',
// color: 'error',
// popConfirm: {
// title: '是否确认删除',
// placement: 'left',
// confirm: handleDelete.bind(null, record),
// },
// },
]"
]"
/>
/>
</
template
>
</
template
>
...
@@ -51,30 +51,32 @@
...
@@ -51,30 +51,32 @@
</
template
>
</
template
>
<
template
#
bodyCell=
"{ column, record }"
>
<
template
#
bodyCell=
"{ column, record }"
>
<template
v-if=
"column.key === 'action'"
>
<template
v-if=
"column.key === 'action'"
>
<
!--
<
TableAction
<TableAction
:actions=
"[
:actions=
"[
//
{
// icon: 'clarity:note-edit-line',
// // label: '编22222222222辑',
// onClick: handleEdit.bind(null, record),
// },
{
{
// icon: 'clarity:note-edit-line',
icon: 'clarity:search-line',
label: '编22222222222辑',
label: '',
onClick: handleEdit.bind(null, record),
tooltip: '查看详情',
},
onClick: handleViewtab2.bind(null, record),
{
// icon: 'clarity:note-edit-line',
label: '数据222222222222222权限',
onClick: dataPermiss.bind(null, record),
},
{
// icon: 'ant-design:delete-outlined',
label: '删2222222222222222除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
},
},
// {
// icon: 'ant-design:delete-outlined',
// // label: '删2222222222222222除',
// tooltip: '删除',
// color: 'error',
// popConfirm: {
// title: '是否确认删除',
// placement: 'left',
// confirm: handleDelete.bind(null, record),
// },
// },
]"
]"
/>
-->
/>
</
template
>
</
template
>
</template>
</template>
</BasicTable>
</BasicTable>
...
@@ -82,6 +84,7 @@
...
@@ -82,6 +84,7 @@
</tabs>
</tabs>
<AudiDrawer
@
register=
"registerDrawer"
@
success=
"handleSuccess"
/>
<AudiDrawer
@
register=
"registerDrawer"
@
success=
"handleSuccess"
/>
<AudiModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<AudiModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<AudiModaltab2
@
register=
"registerModal2"
@
success=
"handleSuccess"
/>
<AudiModalEmail
@
register=
"registerModalEmail"
@
success=
"handleSuccess"
/>
<AudiModalEmail
@
register=
"registerModalEmail"
@
success=
"handleSuccess"
/>
<AudiModalClean
@
register=
"registerModalClean"
@
success=
"handleSuccess"
/>
<AudiModalClean
@
register=
"registerModalClean"
@
success=
"handleSuccess"
/>
</div>
</div>
...
@@ -99,6 +102,7 @@
...
@@ -99,6 +102,7 @@
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
AudiModal
from
'./audiModal.vue'
;
import
AudiModal
from
'./audiModal.vue'
;
import
AudiModaltab2
from
'./audiModaltab2.vue'
;
import
AudiModalEmail
from
'./audiModalEmail.vue'
;
import
AudiModalEmail
from
'./audiModalEmail.vue'
;
import
AudiModalClean
from
'./audiModalClean.vue'
;
import
AudiModalClean
from
'./audiModalClean.vue'
;
import
{
useModal
}
from
'@/components/Modal'
;
import
{
useModal
}
from
'@/components/Modal'
;
...
@@ -116,6 +120,7 @@
...
@@ -116,6 +120,7 @@
const
tableDatatab2
=
ref
([]);
const
tableDatatab2
=
ref
([]);
const
[
registerDrawer
,
{
openDrawer
}]
=
useDrawer
();
const
[
registerDrawer
,
{
openDrawer
}]
=
useDrawer
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
[
registerModal2
,
{
openModal
:
openModal2
}]
=
useModal
();
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
({
...
@@ -147,7 +152,7 @@
...
@@ -147,7 +152,7 @@
bordered
:
true
,
bordered
:
true
,
showIndexColumn
:
false
,
showIndexColumn
:
false
,
actionColumn
:
{
actionColumn
:
{
width
:
10
0
,
width
:
5
0
,
title
:
'操作'
,
title
:
'操作'
,
dataIndex
:
'action'
,
dataIndex
:
'action'
,
// slots: { customRender: 'action' },
// slots: { customRender: 'action' },
...
@@ -173,9 +178,9 @@
...
@@ -173,9 +178,9 @@
return
{
...
response
};
return
{
...
response
};
},
},
columns
:
columnstab2
,
columns
:
columnstab2
,
rowSelection
:
{
//
rowSelection: {
type
:
'checkbox'
,
//
type: 'checkbox',
},
//
},
formConfig
:
{
formConfig
:
{
labelWidth
:
80
,
labelWidth
:
80
,
schemas
:
searchFormSchematab2
,
schemas
:
searchFormSchematab2
,
...
@@ -185,13 +190,13 @@
...
@@ -185,13 +190,13 @@
showTableSetting
:
true
,
showTableSetting
:
true
,
bordered
:
true
,
bordered
:
true
,
showIndexColumn
:
false
,
showIndexColumn
:
false
,
//
actionColumn: {
actionColumn
:
{
//
width: 50,
width
:
50
,
//
title: '操作',
title
:
'操作'
,
//
dataIndex: 'action',
dataIndex
:
'action'
,
//
// slots: { customRender: 'action' },
// slots: { customRender: 'action' },
//
fixed: undefined,
fixed
:
undefined
,
//
},
},
});
});
/***新增规则按钮*/
/***新增规则按钮*/
function
handleCreate
()
{
function
handleCreate
()
{
...
@@ -233,10 +238,16 @@
...
@@ -233,10 +238,16 @@
}
}
/**查看详情按钮*/
/**查看详情按钮*/
function
handleView
()
{
function
handleViewtab1
()
{
go
(
'/system/account_detail'
);
openModal
(
true
,
{
istab1
:
true
,
});
}
function
handleViewtab2
()
{
openModal2
(
true
,
{
istab1
:
false
,
});
}
}
/**数据权限按钮*/
/**数据权限按钮*/
function
dataPermiss
(
record
:
Recordable
)
{
function
dataPermiss
(
record
:
Recordable
)
{
openModal
(
true
,
{
openModal
(
true
,
{
...
@@ -313,6 +324,7 @@
...
@@ -313,6 +324,7 @@
/**进入页面的初始化方法 getForm2是给tab2用的*/
/**进入页面的初始化方法 getForm2是给tab2用的*/
onMounted
(()
=>
{
onMounted
(()
=>
{
tableData
.
value
=
tableListtab1
;
tableData
.
value
=
tableListtab1
;
const
path
=
route
.
path
;
const
path
=
route
.
path
;
if
(
filterStore
.
getSearchParams
[
path
])
{
if
(
filterStore
.
getSearchParams
[
path
])
{
if
(
JSON
.
parse
(
filterStore
.
getSearchParams
[
path
]
!==
{}))
{
if
(
JSON
.
parse
(
filterStore
.
getSearchParams
[
path
]
!==
{}))
{
...
...
src/views/notifications/noticeManage/index.vue
View file @
2fe7e100
...
@@ -208,9 +208,12 @@
...
@@ -208,9 +208,12 @@
});
});
}
}
/**查看详情按钮*/
/**查看详情按钮*/
function
handleViewDetail
()
{
const
handleViewDetail
=
(
record
:
Recordable
)
=>
{
openModalDetail
(
true
,
{});
openModalNew
(
true
,
{
}
record
,
isUpdate
:
true
,
});
};
/** 导出按钮*/
/** 导出按钮*/
async
function
handleExport
()
{
async
function
handleExport
()
{
console
.
log
(
'导出----'
);
console
.
log
(
'导出----'
);
...
@@ -233,6 +236,28 @@
...
@@ -233,6 +236,28 @@
isUpdate
:
true
,
isUpdate
:
true
,
});
});
}
}
/** 移动按钮*/
function
handleMove
(
record
:
Recordable
)
{
openMoveModelModal
(
true
,
{
record
,
isMove
:
true
,
});
}
/** 移动 */
function
handleMoveSuccess
({
isMove
,
values
})
{
const
rowSelection
=
getRowSelection
().
selectedRowKeys
;
if
(
rowSelection
.
length
>
0
)
{
//批量移动
for
(
let
i
=
0
;
i
<
rowSelection
.
length
;
i
++
)
{
const
result
=
updateTableDataRecord
(
values
[
i
].
institutionId
,
values
[
i
]);
}
}
else
{
//单个移动
const
result
=
updateTableDataRecord
(
values
.
businessId
,
values
);
}
reload
();
}
/**数据权限按钮*/
/**数据权限按钮*/
function
dataPermiss
(
record
:
Recordable
)
{
function
dataPermiss
(
record
:
Recordable
)
{
...
...
src/views/notifications/noticeManage/noti.data.ts
View file @
2fe7e100
...
@@ -245,11 +245,13 @@ export const formSchema: FormSchema[] = [
...
@@ -245,11 +245,13 @@ export const formSchema: FormSchema[] = [
{
{
field
:
'triggerType'
,
field
:
'triggerType'
,
label
:
'触发方式'
,
label
:
'触发方式'
,
component
:
'
Select
'
,
component
:
'
CheckboxGroup
'
,
componentProps
:
{
componentProps
:
{
options
:
[
options
:
[
{
label
:
'元数据变更'
,
value
:
'1'
},
{
label
:
'状态切换'
,
value
:
'1'
},
{
label
:
'元数据处理'
,
value
:
'2'
},
{
label
:
'系统异常'
,
value
:
'2'
},
{
label
:
'数据异常'
,
value
:
'3'
},
{
label
:
'策略告警'
,
value
:
'4'
},
],
],
},
},
rules
:
[
rules
:
[
...
@@ -262,12 +264,11 @@ export const formSchema: FormSchema[] = [
...
@@ -262,12 +264,11 @@ export const formSchema: FormSchema[] = [
{
{
field
:
'alarmType'
,
field
:
'alarmType'
,
label
:
'通知方式'
,
label
:
'通知方式'
,
component
:
'
Select
'
,
component
:
'
CheckboxGroup
'
,
componentProps
:
{
componentProps
:
{
options
:
[
options
:
[
{
label
:
'站内信'
,
value
:
'1'
},
{
label
:
'站内信'
,
value
:
'1'
},
{
label
:
'邮件'
,
value
:
'2'
},
{
label
:
'邮件'
,
value
:
'2'
},
{
label
:
'短信通知'
,
value
:
'3'
},
],
],
},
},
rules
:
[
rules
:
[
...
@@ -277,6 +278,29 @@ export const formSchema: FormSchema[] = [
...
@@ -277,6 +278,29 @@ export const formSchema: FormSchema[] = [
},
},
],
],
},
},
{
field
:
'message'
,
label
:
'收件人'
,
component
:
'CheckboxGroup'
,
componentProps
:
{
options
:
[
{
label
:
'收件人1'
,
value
:
'1'
},
{
label
:
'收件人2'
,
value
:
'2'
},
],
},
ifShow
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'1'
),
required
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'1'
),
},
{
field
:
'email'
,
label
:
'邮箱地址'
,
component
:
'InputTextArea'
,
componentProps
:
{
placeholder
:
'多个邮件地址用;分隔符分割'
,
},
ifShow
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'2'
),
required
:
({
values
})
=>
values
.
alarmType
!==
undefined
&&
values
.
alarmType
.
includes
(
'2'
),
},
{
{
field
:
'alarmLevel'
,
field
:
'alarmLevel'
,
label
:
'紧急程度'
,
label
:
'紧急程度'
,
...
...
src/views/notifications/noticeManage/notiModalDetail.vue
View file @
2fe7e100
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
</BasicModal>
</BasicModal>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
unref
,
reactive
}
from
'vue'
;
import
{
ref
,
computed
,
unref
,
reactive
,
onMounted
}
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
{
physicalModelFormSchema
}
from
'./nodiModalDetail.data'
;
import
{
physicalModelFormSchema
}
from
'./nodiModalDetail.data'
;
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
const
isUpdate
=
ref
(
true
);
const
isUpdate
=
ref
(
true
);
const
isMove
=
ref
(
false
);
const
isMove
=
ref
(
false
);
const
rowId
=
ref
(
''
);
const
rowId
=
ref
(
''
);
const
tableData
=
ref
([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
//初始化表单
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
const
[
registerForm
,
{
setFieldsValue
,
updateSchema
,
resetFields
,
validate
}]
=
useForm
({
...
@@ -46,17 +47,9 @@
...
@@ -46,17 +47,9 @@
isMove
.
value
=
!!
data
?.
isMove
;
isMove
.
value
=
!!
data
?.
isMove
;
if
(
unref
(
isUpdate
))
{
if
(
unref
(
isUpdate
))
{
// 获取行数据的id
// 获取行数据的id
rowId
.
value
=
data
.
record
.
businessId
;
var
userData
=
[];
// 塞值
userData
=
tableData
.
value
.
filter
((
item
)
=>
item
.
businessId
===
rowId
.
value
);
setFieldsValue
({
setFieldsValue
(
userData
[
0
]);
createDate
:
data
.
record
.
createDate
,
alarmRule
:
data
.
record
.
alarmRule
,
alarmLevel
:
data
.
record
.
alarmLevel
,
resourceType
:
data
.
record
.
resourceType
,
triggerType
:
data
.
record
.
triggerType
,
businessId
:
data
.
record
.
businessId
,
institutionId
:
data
.
record
.
institutionId
,
});
}
}
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
const
treeList
=
handleTree
(
TreeData
,
'businessId'
,
undefined
,
undefined
,
undefined
);
...
@@ -72,7 +65,9 @@
...
@@ -72,7 +65,9 @@
});
});
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'查看详情'
:
'查看详情'
));
const
getTitle
=
computed
(()
=>
(
!
unref
(
isUpdate
)
?
'查看详情'
:
'查看详情'
));
onMounted
(()
=>
{
tableData
.
value
=
TreeData
;
});
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'
;
...
...
src/views/notifications/noticeManage/notiModalNew.vue
View file @
2fe7e100
...
@@ -29,7 +29,9 @@
...
@@ -29,7 +29,9 @@
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
emit
=
defineEmits
([
'success'
,
'register'
]);
const
{
createMessage
}
=
useMessage
();
const
{
createMessage
}
=
useMessage
();
const
isUpdate
=
ref
(
true
);
const
isUpdate
=
ref
(
false
);
const
isMove
=
ref
(
false
);
const
rowId
=
ref
(
''
);
const
roleId
=
ref
(
''
);
const
roleId
=
ref
(
''
);
const
treeData
=
ref
<
TreeItem
[]
>
([]);
const
treeData
=
ref
<
TreeItem
[]
>
([]);
async
function
handleSubmit
()
{
async
function
handleSubmit
()
{
...
@@ -47,25 +49,18 @@
...
@@ -47,25 +49,18 @@
schemas
:
formSchema
,
schemas
:
formSchema
,
showActionButtonGroup
:
false
,
showActionButtonGroup
:
false
,
});
});
const
[
registerModal
,
{
closeModal
,
setModalProps
}]
=
useModalInner
(
async
(
data
)
=>
{
const
[
registerModal
,
{
setModalProps
,
closeModal
}]
=
useModalInner
(
async
(
data
)
=>
{
roleId
.
value
=
data
.
record
.
businessId
;
resetFields
();
const
form
=
{
setModalProps
({
confirmLoading
:
false
});
ruleName
:
data
.
record
.
ruleName
,
isUpdate
.
value
=
!!
data
?.
isUpdate
;
description
:
data
.
record
.
description
,
isMove
.
value
=
!!
data
?.
isMove
;
roleStatus
:
data
.
record
.
roleStatus
,
if
(
unref
(
isUpdate
)
&&
data
.
record
)
{
resourceType
:
data
.
record
.
resourceType
,
// 获取行数据的id
alarmRange
:
data
.
record
.
alarmRange
,
rowId
.
value
=
data
.
record
.
businessId
;
triggerType
:
data
.
record
.
triggerType
,
// 塞值
alarmType
:
data
.
record
.
alarmType
,
setFieldsValue
({
alarmLevel
:
data
.
record
.
alarmLevel
,
...
data
.
record
,
};
});
setFieldsValue
({
...
form
,
});
if
(
unref
(
treeData
).
length
===
0
)
{
const
treeRes
=
await
getMenuSelect
();
treeData
.
value
=
treeRes
.
data
as
any
as
TreeItem
[];
}
}
});
});
</
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