Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivManage
Project
Project
Details
Activity
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
ReactWeb5
CivManage
Commits
c05d100b
Commit
c05d100b
authored
Nov 06, 2020
by
张烨
Browse files
Options
Browse Files
Download
Plain Diff
merge: fxi conflict
parents
a04ec4e0
3c0d42a8
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
747 additions
and
54 deletions
+747
-54
InitDataBase.jsx
src/pages/database/InitDataBase.jsx
+82
-10
UserManage.js
src/pages/userCenter/UserManage.js
+231
-42
DelModal.jsx
src/pages/userCenter/siteManage/DelModal.jsx
+1
-1
api.js
src/services/database/api.js
+10
-0
web4site.js
src/services/mocks/web4site.js
+423
-1
No files found.
src/pages/database/InitDataBase.jsx
View file @
c05d100b
...
...
@@ -15,6 +15,7 @@ import {
import
{
PageContainer
}
from
'@ant-design/pro-layout'
;
import
{
connect
}
from
'react-redux'
;
import
{
get
,
post
}
from
'../../services'
;
import
{
setTableSQLDirName
,
deleteConn
}
from
'@/services/database/api'
import
styles
from
'./InitDataBase.less'
;
const
{
Option
}
=
Select
;
...
...
@@ -38,6 +39,8 @@ const InitDataBase = props => {
const
[
upData
,
setUpData
]
=
useState
(
1
);
// 列表刷新标记
const
[
option
,
setOption
]
=
useState
([]);
// 下拉列表数据
const
[
desc
,
setDesc
]
=
useState
(
''
);
// 修改描述
const
[
allSqlDir
,
setAllSqulDir
]
=
useState
([])
//修改产品方案
const
[
defaultSqlDir
,
setDefaultSqlDir
]
=
useState
(
''
)
//修改产品方案默认值
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
console
.
log
(
window
.
location
.
host
);
// 获取数据库链接记录
...
...
@@ -77,6 +80,8 @@ const InitDataBase = props => {
});
form
.
setFieldsValue
(
obj
);
setDbForm
(
val
=>
({
...
val
,
...
obj
}));
setAllSqulDir
(
res
.
allSqlDir
)
setDefaultSqlDir
(
res
.
tableSQLDirName
)
}
})
.
catch
(
err
=>
{
...
...
@@ -203,6 +208,30 @@ const InitDataBase = props => {
});
form
.
setFieldsValue
(
obj
);
};
// 产品方案选择框回调
const
handleSelect
=
(
value
)
=>
{
setTableSQLDirName
({
dirName
:
value
,
_version
:
9999
,
_dc
:
new
Date
().
getTime
()
}).
then
(
res
=>
{
if
(
res
.
success
){
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
`已切换初始化脚本为:
${
value
}
`
,
});
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
message
,
});
}
}).
catch
(
err
=>
{
console
.
error
(
err
)
})
}
// 展示修改描述
const
changeDesc
=
()
=>
{
setModalVisible
(
true
);
...
...
@@ -236,6 +265,34 @@ const InitDataBase = props => {
setModalVisible
(
false
);
});
};
//删除数据库连接记录
const
delConn
=
(
value
)
=>
{
setTableLoading
(
true
)
const
{
key
=
''
}
=
value
deleteConn
({
rowIndex
:
key
,
_version
:
9999
,
_dc
:
new
Date
().
getTime
()
}).
then
(
res
=>
{
setTableLoading
(
false
)
if
(
res
.
success
){
setUpData
(
upData
+
1
);
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
'操作成功'
})
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
message
})
}
}).
catch
(
err
=>
{
setTableLoading
(
false
)
console
.
error
(
err
)})
}
const
columns
=
[
{
title
:
'服务器名或IP地址'
,
...
...
@@ -280,11 +337,12 @@ const InitDataBase = props => {
},
{
title
:
'删除'
,
dataIndex
:
'name'
,
key
:
'name'
,
render
:
()
=>
(
<
Button
size=
"small"
danger
>
dataIndex
:
'del'
,
key
:
'del'
,
render
:
(
text
,
record
)
=>
(
<
Button
size=
"small"
danger
onClick=
{
()
=>
delConn
(
record
)
}
>
删除
</
Button
>
),
...
...
@@ -360,7 +418,20 @@ const InitDataBase = props => {
>
数据库初始化
</
Button
>
<
span
>
{
dbForm
.
inUse
}
</
span
>
{
defaultSqlDir
&&
<
Select
placeholder=
'请选择解决方案'
style=
{
{
width
:
'200px'
}
}
defaultValue=
{
defaultSqlDir
}
onChange
=
{
(
e
)=
>
{
handleSelect
(
e
)
}
}
>
{
allSqlDir
&&
allSqlDir
.
map
(
(
item
,
index
)
=>
{
console
.
log
(
defaultSqlDir
)
return
<
Option
value=
{
item
}
key=
{
index
}
>
{
item
}
</
Option
>
})
}
</
Select
>
}
{
/* <span>{dbForm.inUse}</span> */
}
</
Space
>
</
div
>
</
Form
.
Item
>
...
...
@@ -389,19 +460,20 @@ const InitDataBase = props => {
maskClosable
onOk=
{
()
=>
modalOkCallback
()
}
onCancel=
{
()
=>
setModalVisible
(
false
)
}
width=
"
10
00px"
width=
"
8
00px"
bodyStyle=
{
{
minHeight
:
'100px'
,
}
}
cancelText=
"取消"
okText=
"确认修改"
destroyOnClose
destroyOnClose
=
{
true
}
>
<
Row
>
<
Col
span=
{
1
}
className=
{
styles
.
decsBox
}
>
<
Col
span=
{
2
}
className=
{
styles
.
decsBox
}
>
描述:
</
Col
>
<
Col
span=
{
11
}
>
<
Col
span=
{
22
}
>
<
Input
placeholder=
"请输入描述"
onChange=
{
value
=>
{
...
...
src/pages/userCenter/UserManage.js
View file @
c05d100b
...
...
@@ -9,6 +9,11 @@ import {
Input
,
notification
,
Tooltip
,
Row
,
Col
,
Divider
,
Tabs
,
Checkbox
,
}
from
'antd'
;
import
{
FileAddTwoTone
,
...
...
@@ -24,64 +29,51 @@ import { PageContainer } from '@ant-design/pro-layout';
// import classnames from 'classnames';
import
{
get
}
from
'../../services'
;
import
styles
from
'./UserManage.less'
;
import
ListCardItem
from
'../orgnazation/listCardItem'
;
const
UserManage
=
()
=>
{
const
time
=
new
Date
();
const
[
treeLoading
,
setTreeLoading
]
=
useState
(
false
);
const
[
tableLoading
,
setTableLoading
]
=
useState
(
false
);
const
[
treeData
,
setTreeData
]
=
useState
([]);
// 用户机构树
const
[
treeData1
,
setTreeData1
]
=
useState
([]);
const
[
treeData2
,
setTreeData2
]
=
useState
([]);
const
[
tableData
,
setTableData
]
=
useState
([]);
// 用户表
const
[
currentSelect
,
setCurrentSelect
]
=
useState
([]);
const
[
userVisible
,
setUserVisible
]
=
useState
(
false
);
const
[
addOrgVisible
,
setAddOrgVisible
]
=
useState
(
false
);
const
[
editOrgVisible
,
setEditOrgVisible
]
=
useState
(
false
);
const
[
deleteOrgVisible
,
setDeleteOrgVisible
]
=
useState
(
false
);
const
[
roleVisible
,
setRoleVisible
]
=
useState
(
false
);
const
[
changeOrgVisible
,
setChangeOrgVisible
]
=
useState
(
false
);
const
[
passwordVisible
,
setPasswordVisible
]
=
useState
(
false
);
const
[
editUserVisible
,
setEditUserVisible
]
=
useState
(
false
);
const
[
userState
,
setUserState
]
=
useState
(
0
);
const
[
treeState
,
setTreeState
]
=
useState
(
true
);
const
[
freezeUserVisible
,
setFreezeUserVisible
]
=
useState
(
false
);
const
[
deleteUserVisible
,
setDeleteUserVisible
]
=
useState
(
false
);
const
[
orgTitle
,
setOrgTitle
]
=
useState
(
'机构'
);
const
[
orgID
,
setOrgID
]
=
useState
();
const
[
newOrgID
,
setNewOrgID
]
=
useState
();
const
[
userID
,
setUserID
]
=
useState
();
const
[
rolelist
,
setRolelist
]
=
useState
([]);
const
[
stationlist
,
setStationlist
]
=
useState
([]);
const
[
addUserForm
]
=
Form
.
useForm
();
const
[
addOrgForm
]
=
Form
.
useForm
();
const
[
editOrgForm
]
=
Form
.
useForm
();
const
[
editUserForm
]
=
Form
.
useForm
();
const
[
passwordForm
]
=
Form
.
useForm
();
const
{
TabPane
}
=
Tabs
;
let
freezeText
=
'即将冻结该用户,是否确认冻结?'
;
if
(
userState
)
{
freezeText
=
'即将激活该用户,是否确认激活?'
;
}
// 渲染机构目录树
const
mapTree
=
org
=>
{
const
haveChildren
=
Array
.
isArray
(
org
.
children
)
&&
org
.
children
.
length
>
0
;
return
{
title
:
(
<>
<
span
>
{
org
.
text
}
<
/span
>
<
div
className
=
{
styles
.
iconWraper1
}
>
<
Tooltip
title
=
"添加用户"
>
<
FileAddTwoTone
onClick
=
{
e
=>
addUser
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"添加下级机构"
>
<
FolderAddTwoTone
onClick
=
{
e
=>
addSubOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"编辑当前机构"
>
<
EditTwoTone
onClick
=
{
e
=>
editOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"删除当前机构"
>
<
DeleteTwoTone
onClick
=
{
e
=>
deleteOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
/div
>
<
/
>
),
key
:
org
.
id
,
// icon: <CaretDownOutlined />,
// 判断它是否存在子集,若果存在就进行再次进行遍历操作,知道不存在子集便对其他的元素进行操作
children
:
haveChildren
?
org
.
children
.
map
(
i
=>
mapTree
(
i
))
:
[],
};
};
// 用户表列名
const
columns
=
[
{
...
...
@@ -170,14 +162,54 @@ const UserManage = () => {
},
];
// 获取用户机构列表
// 渲染机构树
const
mapTree
=
org
=>
{
const
haveChildren
=
Array
.
isArray
(
org
.
children
)
&&
org
.
children
.
length
>
0
;
return
{
title
:
(
<>
<
span
>
{
org
.
text
}
<
/span
>
<
div
className
=
{
styles
.
iconWraper1
}
>
<
Tooltip
title
=
"添加用户"
>
<
FileAddTwoTone
onClick
=
{
e
=>
addUser
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"添加下级机构"
>
<
FolderAddTwoTone
onClick
=
{
e
=>
addSubOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"编辑当前机构"
>
<
EditTwoTone
onClick
=
{
e
=>
editOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"删除当前机构"
>
<
DeleteTwoTone
onClick
=
{
e
=>
deleteOrg
(
e
,
org
.
text
,
org
.
id
)}
/
>
<
/Tooltip
>
<
/div
>
<
/
>
),
key
:
org
.
id
,
// icon: <CaretDownOutlined />,
// 判断它是否存在子集,若果存在就进行再次进行遍历操作,知道不存在子集便对其他的元素进行操作
children
:
haveChildren
?
org
.
children
.
map
(
i
=>
mapTree
(
i
))
:
[],
};
};
const
mapTree1
=
org
=>
{
const
haveChildren
=
Array
.
isArray
(
org
.
children
)
&&
org
.
children
.
length
>
0
;
return
{
title
:
`
${
org
.
text
}
`
,
key
:
org
.
id
,
// icon: <CaretDownOutlined />,
// 判断它是否存在子集,若果存在就进行再次进行遍历操作,知道不存在子集便对其他的元素进行操作
children
:
haveChildren
?
org
.
children
.
map
(
i
=>
mapTree1
(
i
))
:
[],
};
};
// 获取用户机构树
useEffect
(()
=>
{
getUserTree
(
-
1
,
-
1
);
},
[]);
const
getUserTree
=
(
selectOU
,
node
)
=>
{
setTreeLoading
(
true
);
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOUTree`
,
{
return
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOUTree`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
selectOU
,
...
...
@@ -186,9 +218,14 @@ const UserManage = () => {
.
then
(
res
=>
{
setTreeLoading
(
false
);
if
(
res
.
length
>
0
)
{
const
orgTree
=
res
.
map
(
org
=>
mapTree
(
org
));
setTreeData
(
orgTree
);
setTreeData1
(
res
);
const
newTree
=
res
.
map
(
org
=>
mapTree
(
org
));
setTreeData
(
newTree
);
// 第一次加载,默认选择第一个组织
if
(
treeState
)
{
onSelect
([
res
[
0
].
id
]);
setTreeState
(
false
);
}
}
})
.
catch
(
err
=>
{
...
...
@@ -205,12 +242,14 @@ const UserManage = () => {
}
else
{
setCurrentSelect
(
props
[
0
]);
}
setOrgID
(
props
[
0
]
||
currentSelect
);
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOneOUUserListNew`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
OUID
:
props
[
0
]
||
currentSelect
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
setTableLoading
(
false
);
const
table
=
res
.
root
.
map
((
item
,
index
)
=>
{
item
.
key
=
index
;
...
...
@@ -219,6 +258,7 @@ const UserManage = () => {
return
item
;
});
setTableData
(
table
);
}
})
.
catch
(
err
=>
{
setTableLoading
(
false
);
...
...
@@ -252,15 +292,22 @@ const UserManage = () => {
setDeleteOrgVisible
(
true
);
setOrgTitle
(
`在
${
title
}
下添加用户`
);
setOrgID
(
id
);
// 删除后默认选择第一个组织
setTreeState
(
true
);
};
// 右侧表格相关操作
const
relateRole
=
record
=>
{
// setDeleteUser
Visible(true);
setRole
Visible
(
true
);
setUserID
(
record
.
userID
);
setTimeout
(()
=>
{
getRoleList
();
},
1000
);
};
const
changeOrg
=
record
=>
{
// setDeleteUserVisible(true);
setChangeOrgVisible
(
true
);
const
newTree
=
treeData1
.
map
(
org
=>
mapTree1
(
org
));
setTreeData2
(
newTree
);
setUserID
(
record
.
userID
);
};
const
changePassword
=
record
=>
{
...
...
@@ -337,8 +384,10 @@ const UserManage = () => {
message
:
'提交成功'
,
});
// 重新获取机构树与用户表
getUserTree
(
-
1
,
-
1
);
// onSelect([res.OUID]);
getUserTree
(
-
1
,
-
1
).
then
(()
=>
{
// 只能是字符串,数字没有选择效果
onSelect
([
`
${
res
.
OUID
}
`
]);
});
}
else
{
notification
.
error
({
message
:
'提交失败'
,
...
...
@@ -370,9 +419,9 @@ const UserManage = () => {
notification
.
success
({
message
:
'提交成功'
,
});
// 重新获取机构树与用户表
getUserTree
(
-
1
,
-
1
);
// 重新获取用户表
// onSelect([orgID]);
onSelect
([
orgID
]);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
...
...
@@ -396,9 +445,8 @@ const UserManage = () => {
notification
.
success
({
message
:
'提交成功'
,
});
// 重新获取用户表
// 重新获取
机构树与
用户表
getUserTree
(
-
1
,
-
1
);
// onSelect([orgID]);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
...
...
@@ -411,7 +459,109 @@ const UserManage = () => {
message
.
error
(
err
);
});
};
const
listitem
=
list
=>
list
.
map
(
item1
=>
{
item1
.
key
=
item1
.
roleID
;
return
(
<
Col
className
=
"gutter-row"
span
=
{
6
}
>
<
Checkbox
checked
=
{
item1
.
isChecked
}
/
>
<
span
>
{
item1
.
roleName
}
<
/span
>
<
/Col
>
);
});
const
checkBox
=
()
=>
{
console
.
log
(
'123'
);
};
// const style = { padding: '8px 0', fontSize: '14px' };
const
getRoleList
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/W4_GetUserRelationList`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
userID
:
`
${
userID
}
`
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
// const { roleList, stationList } = res;
setRolelist
(
res
.
roleList
.
map
((
item
,
index
)
=>
{
item
.
key
=
index
;
return
(
<>
<
Divider
orientation
=
"left"
style
=
{{
fontSize
:
'14px'
}}
>
<
Checkbox
onClick
=
{
checkBox
}
/
>
{
item
.
visibleTitle
}
<
/Divider
>
<
Row
gutter
=
{
16
}
>
{
listitem
(
item
.
roleList
)}
<
/Row
>
<
/
>
);
}),
);
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
setTableLoading
(
false
);
message
.
error
(
err
);
});
};
const
submitRole
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_JumpToAnotherOU`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
userID
,
oldOUID
:
orgID
,
newOUID
:
newOrgID
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
setChangeOrgVisible
(
false
);
// 跳转到新组织机构下的用户表
onSelect
([
newOrgID
]);
notification
.
success
({
message
:
'提交成功'
,
});
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
};
const
submitChangeOrg
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_JumpToAnotherOU`
,
{
_version
:
9999
,
_dc
:
time
.
getTime
(),
userID
,
oldOUID
:
orgID
,
newOUID
:
newOrgID
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
setChangeOrgVisible
(
false
);
// 跳转到新组织机构下的用户表
onSelect
([
newOrgID
]);
notification
.
success
({
message
:
'提交成功'
,
});
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
};
const
submitChangePassword
=
()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/U_UpdatePassword`
,
{
_version
:
9999
,
...
...
@@ -541,6 +691,7 @@ const UserManage = () => {
<
Tree
showLine
=
"true"
showIcon
=
"true"
defaultExpandAll
=
"true"
selectedKeys
=
{[
currentSelect
]}
loading
=
{
treeLoading
}
onSelect
=
{
onSelect
}
...
...
@@ -667,6 +818,44 @@ const UserManage = () => {
>
<
p
>
即将删除该机构,是否确认删除?
<
/p
>
<
/Modal
>
<
Modal
title
=
"用户关联"
visible
=
{
roleVisible
}
// onOk={submitRole}
onCancel
=
{()
=>
setRoleVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
width
=
"960px"
>
<
Tabs
defaultActiveKey
=
"1"
>
<
TabPane
tab
=
"角色"
key
=
"1"
>
{
rolelist
}
<
/TabPane
>
<
TabPane
tab
=
"站点"
key
=
"2"
>
Content
of
Tab
Pane
2
<
/TabPane
>
<
/Tabs
>
<
/Modal
>
<
Modal
title
=
"更改机构"
visible
=
{
changeOrgVisible
}
onOk
=
{
submitChangeOrg
}
onCancel
=
{()
=>
setChangeOrgVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
width
=
"330px"
>
<
Tree
showLine
=
"true"
showIcon
=
"true"
defaultExpandAll
=
"true"
// selectedKeys={[currentSelect]}
onSelect
=
{
props
=>
{
setNewOrgID
(
props
[
0
]);
}}
treeData
=
{
treeData2
}
/
>
<
/Modal
>
{
/* 修改密码 */
}
<
Modal
title
=
"编辑用户"
...
...
src/pages/userCenter/siteManage/DelModal.jsx
View file @
c05d100b
...
...
@@ -41,7 +41,7 @@ const DelModal = (props) =>{
return
(
<
SiteModal
{
...
props
}
title=
'删除站点'
bodyStyle
={{
width
:"100%",
minHeight
:"50
px
",}}
style=
{
{
top
:
'500px'
}
}
style=
{
{
top
:
200
}
}
width=
"400px"
destroyOnClose=
{
true
}
cancelText=
'取消'
...
...
src/services/database/api.js
View file @
c05d100b
import
{
get
,
post
}
from
'@/services/index'
;
// 修改产品解决方案
export
const
setTableSQLDirName
=
params
=>
get
(
'/Cityinterface/rest/services/OMS.svc/S_SetTableSQLDirName'
,
params
);
// 删除数据库连接记录
export
const
deleteConn
=
params
=>
get
(
'/Cityinterface/rest/services/OMS.svc/S_DeleteConn'
,
params
);
src/services/mocks/web4site.js
View file @
c05d100b
export
default
{
id
:
'Web4SingleStation'
,
'id'
:
'Web4SingleStation'
,
'text'
:
'一般网站'
,
'visible'
:
null
,
'iconCls'
:
'civ-flag-blue'
,
...
...
@@ -1237,6 +1237,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'610'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-618'
,
text
:
'台账管理'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-619"
,
"text"
:
"水库管理"
,
...
...
@@ -1624,6 +1649,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'618'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1190'
,
text
:
'报警监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-635"
,
"text"
:
"泵房运行概况"
,
...
...
@@ -1745,6 +1795,128 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1190'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'603'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-623'
,
text
:
'水厂监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
id
:
'menu-625'
,
text
:
'调度监控'
,
visible
:
null
,
iconCls
:
'civ-application'
,
children
:
[],
expanded
:
false
,
leaf
:
true
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4Menu'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'625'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4Menu'
,
clickType
:
'Web4Menu'
,
},
{
id
:
'menu-627'
,
text
:
'工艺监控'
,
visible
:
null
,
iconCls
:
'civ-application'
,
children
:
[],
expanded
:
false
,
leaf
:
true
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4Menu'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'627'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4Menu'
,
clickType
:
'Web4Menu'
,
},
{
id
:
'menu-629'
,
text
:
'水质采样'
,
visible
:
null
,
iconCls
:
'civ-application'
,
children
:
[],
expanded
:
false
,
leaf
:
true
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4Menu'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'629'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4Menu'
,
clickType
:
'Web4Menu'
,
},
{
id
:
'menu-632'
,
text
:
'数据分析'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1175"
,
"text"
:
"水厂水泵信息"
,
...
...
@@ -2060,6 +2232,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'632'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-644'
,
text
:
'台账管理'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-655"
,
"text"
:
"水质仪监控"
,
...
...
@@ -2205,6 +2402,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'644'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1194'
,
text
:
'报警监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1182"
,
"text"
:
"水质监控"
,
...
...
@@ -2447,6 +2669,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1178'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-649'
,
text
:
'数据监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-906"
,
"text"
:
"压力分析"
,
...
...
@@ -2786,6 +3033,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'649'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1183'
,
text
:
'统计报表'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1125"
,
"text"
:
"运行日志"
,
...
...
@@ -2956,6 +3228,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1183'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-659'
,
text
:
'数据分析'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1128"
,
"text"
:
"泵房制度"
,
...
...
@@ -3634,6 +3931,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1103'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1107'
,
text
:
'安防监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1209"
,
"text"
:
"数据监控"
,
...
...
@@ -3682,6 +4004,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1107'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1126'
,
text
:
'维保管理'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1211"
,
"text"
:
"户表抄表"
,
...
...
@@ -3755,6 +4102,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1126'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1129'
,
text
:
'报警监控'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1213"
,
"text"
:
"差量分析"
,
...
...
@@ -3827,6 +4199,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1129'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1133'
,
text
:
'设备管理'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-1214"
,
"text"
:
"供水量统计"
,
...
...
@@ -3923,6 +4320,31 @@ export default {
"menuType"
:
"Web4Menu"
,
"clickType"
:
"Web4Menu"
},
],
expanded
:
false
,
leaf
:
false
,
description
:
null
,
allowDrag
:
true
,
allowDrop
:
true
,
draggable
:
true
,
isTarget
:
true
,
dragAttribute
:
'Web4MenuGroup'
,
stationID
:
null
,
roleID
:
null
,
menuID
:
'1133'
,
offlineHead
:
null
,
headType
:
null
,
group
:
null
,
groupName
:
null
,
menuType
:
'Web4MenuGroup'
,
clickType
:
'Web4MenuGroup'
,
},
{
id
:
'menu-1138'
,
text
:
'报表分析'
,
visible
:
null
,
iconCls
:
'civ-folder'
,
children
:
[
{
"id"
:
"menu-719"
,
"text"
:
"夜间用量统计"
,
...
...
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