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
124932cc
Commit
124932cc
authored
Nov 12, 2020
by
陈前坚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
perf: 冻结用户和app配置
parent
43cf21aa
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
556 additions
and
322 deletions
+556
-322
AppMenu.js
src/pages/appConfig/AppMenu.js
+363
-295
AppMenu.less
src/pages/appConfig/AppMenu.less
+63
-0
index.js
src/pages/appConfig/index.js
+12
-11
UserManage.js
src/pages/userCenter/UserManage.js
+64
-13
api.js
src/services/appConfig/api.js
+43
-0
api.js
src/services/userCenter/userManage/api.js
+11
-3
No files found.
src/pages/appConfig/AppMenu.js
View file @
124932cc
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
message
,
Form
,
Input
,
notification
,
Button
,
Select
}
from
'antd'
;
import
{
get
,
post
}
from
'../../services'
;
import
React
,
{
useState
,
useEffect
,
useCallback
}
from
'react'
;
import
{
message
,
notification
,
Form
,
Spin
,
Tree
,
Tooltip
,
Modal
,
Input
,
Button
,
}
from
'antd'
;
import
{
FileAddTwoTone
,
FolderAddTwoTone
,
EditTwoTone
,
DeleteTwoTone
,
}
from
'@ant-design/icons'
;
import
{
getTree
,
addMenuApi
,
getRoleList
}
from
'../../services/appConfig/api'
;
import
ListCardItem
from
'../orgnazation/listCardItem'
;
import
styles
from
'./AppMenu.less'
;
const
SevenParams
=
()
=>
{
const
{
Option
}
=
Select
;
// const [transParams, setTransParams] = useState({});
// 根据转换类型 transType 渲染 输入框参数 params
const
[
transType
,
setTransType
]
=
useState
(
'1'
);
const
[
sevenForm
]
=
Form
.
useForm
();
const
transTypeChange
=
value
=>
{
// console.log(`selected ${value}`);
setTransType
(
value
);
get
(
`/Cityinterface/rest/services/OMS.svc/M_GetSevenParamsByTransType`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
transType
:
value
,
})
const
[
treeLoading
,
setTreeLoading
]
=
useState
(
true
);
const
[
treeData
,
setTreeData
]
=
useState
([]);
// 菜单树
const
[
rolelist
,
setRolelist
]
=
useState
([]);
const
[
menuID
,
setMenuID
]
=
useState
(
''
);
const
[
menuTitle
,
setMenuTitle
]
=
useState
(
'菜单管理'
);
const
[
addMenuVisible
,
setAddMenuVisible
]
=
useState
(
false
);
const
[
addMenuGroupVisible
,
setAddMenuGroupVisible
]
=
useState
(
false
);
const
[
tipVisible
,
setTipVisible
]
=
useState
(
false
);
// const [editMenuVisible, setEditMenuVisible] = useState(false);
const
[
deleteMenuVisible
,
setDeleteMenuVisible
]
=
useState
(
false
);
const
[
addMenuForm
]
=
Form
.
useForm
();
const
[
addMenuGroupForm
]
=
Form
.
useForm
();
const
getRoleValueCallback
=
useCallback
((
value
,
index
)
=>
{
// roleValueList[index] = value;
// setRoleValueList({ ...roleValueList });
},
[]);
// 获取菜单树
useEffect
(()
=>
{
updateTrees
();
},
[]);
const
updateTrees
=
()
=>
{
setTreeLoading
(
true
);
getTree
()
.
then
(
res
=>
{
if
(
res
)
{
sevenForm
.
setFieldsValue
({
// transType 1 2
angle
:
res
.
angle
,
m
:
res
.
m
,
// transType 1 3 5 6
x_off
:
res
.
x_off
,
y_off
:
res
.
y_off
,
// transType 2
x0_gps
:
res
.
x0_gps
,
x0_local
:
res
.
x0_local
,
y0_gps
:
res
.
y0_gps
,
y0_local
:
res
.
y0_local
,
// transType 3 4 6
seven_m
:
res
.
seven_m
,
seven_x_angle
:
res
.
seven_x_angle
,
seven_x_off
:
res
.
seven_x_off
,
seven_y_angle
:
res
.
seven_y_angle
,
seven_y_off
:
res
.
seven_y_off
,
seven_z_angle
:
res
.
seven_z_angle
,
seven_z_off
:
res
.
seven_z_off
,
// transType 4
four_angle
:
res
.
four_angle
,
four_m
:
res
.
four_m
,
four_x_off
:
res
.
four_x_off
,
four_y_off
:
res
.
four_y_off
,
});
if
(
res
.
length
>
0
)
{
setTreeLoading
(
false
);
setTreeData
(
res
[
0
].
children
[
0
].
children
[
2
].
children
);
console
.
log
(
res
[
0
].
children
[
0
].
children
[
2
].
children
);
}
})
.
catch
(
err
=>
{
setTreeLoading
(
false
);
message
.
error
(
err
);
});
};
const
submitSevenParams
=
()
=>
{
const
sevenFormData
=
new
FormData
();
sevenFormData
.
append
(
'ellipseType'
,
sevenForm
.
getFieldValue
(
'ellipseType'
));
sevenFormData
.
append
(
'transType'
,
sevenForm
.
getFieldValue
(
'transType'
));
sevenFormData
.
append
(
'middleLine'
,
sevenForm
.
getFieldValue
(
'middleLine'
));
sevenFormData
.
append
(
'rev'
,
sevenForm
.
getFieldValue
(
'rev'
));
if
(
transType
===
'1'
)
{
sevenFormData
.
append
(
'x_off'
,
sevenForm
.
getFieldValue
(
'x_off'
));
sevenFormData
.
append
(
'y_off'
,
sevenForm
.
getFieldValue
(
'y_off'
));
sevenFormData
.
append
(
'angle'
,
sevenForm
.
getFieldValue
(
'angle'
));
sevenFormData
.
append
(
'm'
,
sevenForm
.
getFieldValue
(
'm'
));
}
if
(
transType
===
'2'
)
{
sevenFormData
.
append
(
'angle'
,
sevenForm
.
getFieldValue
(
'angle'
));
sevenFormData
.
append
(
'm'
,
sevenForm
.
getFieldValue
(
'm'
));
sevenFormData
.
append
(
'x0_local'
,
sevenForm
.
getFieldValue
(
'x0_local'
));
sevenFormData
.
append
(
'y0_local'
,
sevenForm
.
getFieldValue
(
'y0_local'
));
sevenFormData
.
append
(
'x0_gps'
,
sevenForm
.
getFieldValue
(
'x0_gps'
));
sevenFormData
.
append
(
'y0_gps'
,
sevenForm
.
getFieldValue
(
'y0_gps'
));
}
if
(
transType
===
'3'
)
{
sevenFormData
.
append
(
'x_off'
,
sevenForm
.
getFieldValue
(
'x_off'
));
sevenFormData
.
append
(
'y_off'
,
sevenForm
.
getFieldValue
(
'y_off'
));
sevenFormData
.
append
(
'seven_x_off'
,
sevenForm
.
getFieldValue
(
'seven_x_off'
),
);
sevenFormData
.
append
(
'seven_y_off'
,
sevenForm
.
getFieldValue
(
'seven_y_off'
),
);
sevenFormData
.
append
(
'seven_z_off'
,
sevenForm
.
getFieldValue
(
'seven_z_off'
),
);
sevenFormData
.
append
(
'seven_x_angle'
,
sevenForm
.
getFieldValue
(
'seven_x_angle'
),
);
sevenFormData
.
append
(
'seven_y_angle'
,
sevenForm
.
getFieldValue
(
'seven_y_angle'
),
);
sevenFormData
.
append
(
'seven_z_angle'
,
sevenForm
.
getFieldValue
(
'seven_z_angle'
),
);
sevenFormData
.
append
(
'seven_m'
,
sevenForm
.
getFieldValue
(
'seven_m'
));
}
if
(
transType
===
'4'
)
{
sevenFormData
.
append
(
'x_off'
,
sevenForm
.
getFieldValue
(
'x_off'
));
sevenFormData
.
append
(
'y_off'
,
sevenForm
.
getFieldValue
(
'y_off'
));
sevenFormData
.
append
(
'seven_x_off'
,
sevenForm
.
getFieldValue
(
'seven_x_off'
),
);
sevenFormData
.
append
(
'seven_y_off'
,
sevenForm
.
getFieldValue
(
'seven_y_off'
),
);
sevenFormData
.
append
(
'seven_z_off'
,
sevenForm
.
getFieldValue
(
'seven_z_off'
),
);
sevenFormData
.
append
(
'seven_x_angle'
,
sevenForm
.
getFieldValue
(
'seven_x_angle'
),
);
sevenFormData
.
append
(
'seven_y_angle'
,
sevenForm
.
getFieldValue
(
'seven_y_angle'
),
);
sevenFormData
.
append
(
'seven_z_angle'
,
sevenForm
.
getFieldValue
(
'seven_z_angle'
),
);
sevenFormData
.
append
(
'seven_m'
,
sevenForm
.
getFieldValue
(
'seven_m'
));
sevenFormData
.
append
(
'four_x_off'
,
sevenForm
.
getFieldValue
(
'four_x_off'
));
sevenFormData
.
append
(
'four_y_off'
,
sevenForm
.
getFieldValue
(
'four_y_off'
));
sevenFormData
.
append
(
'four_angle'
,
sevenForm
.
getFieldValue
(
'four_angle'
));
sevenFormData
.
append
(
'four_m'
,
sevenForm
.
getFieldValue
(
'four_m'
));
}
if
(
transType
===
'5'
)
{
sevenFormData
.
append
(
'x_off'
,
sevenForm
.
getFieldValue
(
'x_off'
));
sevenFormData
.
append
(
'y_off'
,
sevenForm
.
getFieldValue
(
'y_off'
));
}
if
(
transType
===
'6'
)
{
sevenFormData
.
append
(
'seven_x_off'
,
sevenForm
.
getFieldValue
(
'seven_x_off'
),
);
sevenFormData
.
append
(
'seven_y_off'
,
sevenForm
.
getFieldValue
(
'seven_y_off'
),
);
sevenFormData
.
append
(
'seven_z_off'
,
sevenForm
.
getFieldValue
(
'seven_z_off'
),
);
sevenFormData
.
append
(
'seven_x_angle'
,
sevenForm
.
getFieldValue
(
'seven_x_angle'
),
);
sevenFormData
.
append
(
'seven_y_angle'
,
sevenForm
.
getFieldValue
(
'seven_y_angle'
),
);
sevenFormData
.
append
(
'seven_z_angle'
,
sevenForm
.
getFieldValue
(
'seven_z_angle'
),
);
sevenFormData
.
append
(
'seven_m'
,
sevenForm
.
getFieldValue
(
'seven_m'
));
sevenFormData
.
append
(
'x_off'
,
sevenForm
.
getFieldValue
(
'x_off'
));
sevenFormData
.
append
(
'y_off'
,
sevenForm
.
getFieldValue
(
'y_off'
));
}
// 获取角色列表
useEffect
(()
=>
{
getRoleList
()
.
then
(
res
=>
{
if
(
res
&&
res
.
list
)
{
setRolelist
(
res
.
list
);
}
else
{
notification
.
error
({
message
:
'获取失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
},
[]);
post
(
`/Cityinterface/rest/services/OMS.svc/M_SetSevenParams?_version=9999`
,
sevenFormData
,
)
// 渲染菜单树
const
mapTree
=
menu
=>
{
const
haveChildren
=
Array
.
isArray
(
menu
.
children
)
&&
menu
.
children
.
length
>
0
;
return
{
title
:
(
<>
<
span
>
{
menu
.
text
}
<
/span
>
<
div
className
=
{
styles
.
iconWraper1
}
>
{
menu
.
menuType
===
'MiniAppMenuGroup'
&&
(
<>
<
Tooltip
title
=
"添加菜单组"
>
<
FolderAddTwoTone
onClick
=
{
e
=>
addMenuGroup
(
e
,
menu
.
text
,
menu
.
menuID
)}
/
>
<
/Tooltip
>
<
/
>
)}
{
menu
.
menuType
===
'MiniAppMenuGroupTwo'
&&
(
<>
<
Tooltip
title
=
"添加菜单"
>
<
FileAddTwoTone
onClick
=
{
e
=>
addMenu
(
e
,
menu
.
text
,
menu
.
menuID
)}
/
>
<
/Tooltip
>
<
/
>
)}
<
Tooltip
title
=
"编辑当前菜单"
>
<
EditTwoTone
onClick
=
{
e
=>
editMenu
(
e
,
menu
.
text
,
menu
.
menuID
)}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"删除当前菜单"
>
<
DeleteTwoTone
onClick
=
{
e
=>
deleteMenu
(
e
,
menu
.
text
,
menu
.
menuID
)}
/
>
<
/Tooltip
>
<
/div
>
<
/
>
),
key
:
menu
.
menuID
,
// icon: <SolutionOutlined />,
// 判断它是否存在子集,若果存在就进行再次进行遍历操作,知道不存在子集便对其他的元素进行操作
children
:
haveChildren
?
menu
.
children
.
map
(
i
=>
mapTree
(
i
))
:
[],
};
};
// 左侧目录树相关操作
const
addMenu
=
(
e
,
title
,
id
)
=>
{
setAddMenuVisible
(
true
);
setMenuTitle
(
`在
${
title
}
下添加菜单`
);
setMenuID
(
id
);
addMenuForm
.
setFieldsValue
({
menuName
:
''
,
shortName
:
''
,
imageUrl
:
''
,
pageUrl
:
''
,
funParam
:
''
,
});
};
const
addMenuGroup
=
(
e
,
title
,
id
)
=>
{
setAddMenuGroupVisible
(
true
);
setMenuTitle
(
`在
${
title
}
下添加菜单组`
);
setMenuID
(
id
);
};
const
editMenu
=
(
e
,
title
,
id
)
=>
{
setAddMenuVisible
(
true
);
setMenuTitle
(
`编辑
${
title
}
`
);
setMenuID
(
id
);
addMenuApi
(
`/Cityinterface/rest/services/OMS.svc/M_GetMenu`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
menuID
:
id
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
notification
.
success
({
message
:
'提交成功'
,
addMenuForm
.
setFieldsValue
({
menuName
:
res
.
menuName
,
menuAlias
:
res
.
menuAlias
,
menuIcon
:
res
.
menuIcon
,
relatedRoleList
:
res
.
relatedRoleList
||
[],
});
}
else
{
notification
.
error
({
...
...
@@ -187,163 +172,246 @@ const SevenParams = () => {
message
.
error
(
err
);
});
};
useEffect
(()
=>
{
get
(
`/Cityinterface/rest/services/OMS.svc/M_GetSevenParams`
,
{
const
deleteMenu
=
(
e
,
title
,
id
)
=>
{
setDeleteMenuVisible
(
true
);
setMenuTitle
(
`删除菜单
${
title
}
`
);
setMenuID
(
id
);
};
// 提交添加菜单
const
submitAddMenu
=
()
=>
{
console
.
log
(
menuID
);
let
menuName
=
addMenuForm
.
getFieldValue
(
'menuName'
);
let
shortName
=
addMenuForm
.
getFieldValue
(
'shortName'
);
let
imageUrl
=
addMenuForm
.
getFieldValue
(
'imageUrl'
);
let
pageUrl
=
addMenuForm
.
getFieldValue
(
'pageUrl'
);
let
funParam
=
addMenuForm
.
getFieldValue
(
'funParam'
);
if
(
menuName
&&
shortName
&&
imageUrl
&&
pageUrl
)
{
addMenuApi
(
menuID
,
menuName
,
shortName
,
imageUrl
,
pageUrl
,
funParam
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
setAddMenuVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
updateTrees
();
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
}
else
{
setTipVisible
(
true
);
}
};
// 提交添加菜单组
const
submitAddMenuGroup
=
()
=>
{
let
menuName
=
addMenuGroupForm
.
getFieldValue
(
'menuName'
);
let
shortName
=
addMenuGroupForm
.
getFieldValue
(
'shortName'
);
let
imageUrl
=
addMenuGroupForm
.
getFieldValue
(
'imageUrl'
);
let
pageUrl
=
addMenuGroupForm
.
getFieldValue
(
'pageUrl'
);
let
funParam
=
addMenuGroupForm
.
getFieldValue
(
'funParam'
);
if
(
menuName
&&
shortName
&&
imageUrl
&&
pageUrl
)
{
addMenuApi
(
menuID
,
menuName
,
shortName
,
imageUrl
,
pageUrl
,
funParam
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
setAddMenuGroupVisible
(
false
);
notification
.
success
({
message
:
'提交成功'
,
});
updateTrees
();
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
message
.
error
(
err
);
});
}
else
{
setTipVisible
(
true
);
}
};
// 提交删除菜单
const
submitDeleteMenu
=
()
=>
{
addMenuApi
(
`/Cityinterface/rest/services/OMS.svc/W4_DeleteMenu`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
menuID
,
subSystemValue
:
'手持系统'
,
})
.
then
(
res
=>
{
if
(
res
.
success
)
{
sevenForm
.
setFieldsValue
({
middleLine
:
res
.
transParams
.
middleLine
,
rev
:
res
.
transParams
.
rev
,
x_off
:
res
.
params
.
x_off
,
y_off
:
res
.
params
.
y_off
,
angle
:
res
.
params
.
angle
,
m
:
res
.
params
.
m
,
setDeleteMenuVisible
(
false
);
notification
.
success
({
message
:
'删除成功'
,
});
updateTrees
();
}
else
{
notification
.
error
({
message
:
'删除失败'
,
description
:
res
.
message
,
});
}
})
.
catch
(
err
=>
{
setTreeLoading
(
false
);
message
.
error
(
err
);
});
}
,
[])
;
};
return
(
<
Form
form
=
{
sevenForm
}
labelCol
=
{{
span
:
4
,
offset
:
4
}}
wrapperCol
=
{{
span
:
16
,
offset
:
1
}}
style
=
{{
width
:
'900px'
}}
onFinish
=
{
submitSevenParams
}
initialValues
=
{{
ellipseType
:
'1'
,
transType
:
'1'
}}
>
<
Form
.
Item
name
=
"ellipseType"
label
=
"椭球类型"
>
<
Select
>
<
Option
value
=
"1"
>
54
椭球
<
/Option
>
<
Option
value
=
"2"
>
80
椭球
<
/Option
>
<
Option
value
=
"3"
>
84
椭球
<
/Option
>
<
Option
value
=
"4"
>
2000
椭球
<
/Option
>
<
/Select
>
<
/Form.Item
>
<
Form
.
Item
name
=
"transType"
label
=
"转换类型"
>
<
Select
onChange
=
{
transTypeChange
}
>
<
Option
value
=
"1"
>
四参数
<
/Option
>
<
Option
value
=
"2"
>
六参数
<
/Option
>
<
Option
value
=
"3"
>
七参数
<
/Option
>
<
Option
value
=
"4"
>
七参数
+
四参数
<
/Option
>
<
Option
value
=
"5"
>
中央经线投影(二参数)
<
/Option
>
<
Option
value
=
"6"
>
七参数
+
二参数反转
<
/Option
>
<
/Select
>
<
/Form.Item
>
<
Form
.
Item
name
=
"middleLine"
label
=
"中央经线"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
<
div
className
=
{
styles
.
contentContainer
}
>
<
div
className
=
{
styles
.
menuContainer
}
>
{
treeData
.
length
>
0
&&
(
<
Spin
spinning
=
{
treeLoading
}
tip
=
"loading..."
>
<
Tree
showIcon
=
"true"
showLine
=
{{
showLeafIcon
:
false
}}
defaultExpandAll
=
"true"
// selectedKeys={[currentSelectMenu]}
// onSelect={onSelect}
treeData
=
{
treeData
.
map
(
t
=>
mapTree
(
t
))}
/
>
<
/Spin
>
)}
<
/div
>
<
div
className
=
{
styles
.
previewContainer
}
>
123
<
/div
>
{
/* 必填项提示 */
}
<
Modal
title
=
"提示"
visible
=
{
tipVisible
}
onCancel
=
{()
=>
setTipVisible
(
false
)}
width
=
"300px"
centered
footer
=
{[
<
Button
key
=
"back"
type
=
"primary"
onClick
=
{()
=>
setTipVisible
(
false
)}
>
关闭
<
/Button>
,
]}
>
<
Input
placeholder
=
"请输入中央经线"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"rev"
label
=
"rev"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
<
p
>
标记
<
span
className
=
{
styles
.
redText
}
>*<
/span>的为必填
项
<
/p
>
<
/Modal
>
{
/* 添加菜单 */
}
<
Modal
title
=
{
menuTitle
}
visible
=
{
addMenuVisible
}
onOk
=
{
submitAddMenu
}
onCancel
=
{()
=>
setAddMenuVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
centered
>
<
Input
placeholder
=
"请输入rev"
/>
<
/Form.Item
>
{(
transType
===
'1'
||
transType
===
'2'
)
&&
(
<>
<
Form
.
Item
name
=
"angle"
label
=
"angle"
>
<
Input
placeholder
=
"请输入旋转角度"
/>
<
Form
form
=
{
addMenuForm
}
>
<
Form
.
Item
name
=
"menuName"
label
=
"菜单名称"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入菜单名称"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"m"
label
=
"m"
>
<
Input
placeholder
=
"请输入尺度因子"
/>
<
Form
.
Item
name
=
"shortName"
label
=
"菜单别名"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入菜单别名"
/>
<
/Form.Item
>
<
/
>
)}
{(
transType
===
'1'
||
transType
===
'3'
||
transType
===
'5'
||
transType
===
'6'
)
&&
(
<>
<
Form
.
Item
name
=
"x_off"
label
=
"x_off"
>
<
Input
placeholder
=
"请输入x坐标平移量"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"y_off"
label
=
"y_off"
>
<
Input
placeholder
=
"请输入y坐标平移量"
/>
<
/Form.Item
>
<
/
>
)}
{
transType
===
'2'
&&
(
<>
<
Form
.
Item
name
=
"x0_gps"
label
=
"x0_gps"
>
<
Input
placeholder
=
"请输入gps-x坐标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"y0_gps"
label
=
"y0_gps"
>
<
Input
placeholder
=
"请输入gps-y坐标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"x0_local"
label
=
"x0_local"
>
<
Input
placeholder
=
"请输入local-x坐标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"y0_local"
label
=
"y0_local"
>
<
Input
placeholder
=
"请输入local-y坐标"
/>
<
/Form.Item
>
<
/
>
)}
{(
transType
===
'3'
||
transType
===
'4'
||
transType
===
'6'
)
&&
(
<>
<
Form
.
Item
name
=
"seven_m"
label
=
"seven_m"
>
<
Input
placeholder
=
"请输入尺度因子"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"seven_x_off"
label
=
"seven_x_off"
>
<
Input
placeholder
=
"请输入x方向偏移量"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"seven_y_off"
label
=
"seven_y_off"
>
<
Input
placeholder
=
"请输入y方向偏移量"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"seven_z_off"
label
=
"seven_z_off"
>
<
Input
placeholder
=
"请输入z方向偏移量"
/>
<
Form
.
Item
name
=
"imageUrl"
label
=
"菜单图标"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入菜单图标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"seven_x_angle"
label
=
"seven_x_angle"
>
<
Input
placeholder
=
"请输入x方向偏转角度"
/>
<
Form
.
Item
name
=
"pageUrl"
label
=
"功能路径"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入功能路径"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"
seven_y_angle"
label
=
"seven_y_angle
"
>
<
Input
placeholder
=
"请输入
y方向偏转角度
"
/>
<
Form
.
Item
name
=
"
funParam"
label
=
"功能参数
"
>
<
Input
placeholder
=
"请输入
功能参数
"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"seven_z_angle"
label
=
"seven_z_angle"
>
<
Input
placeholder
=
"请输入z方向偏转角度"
/>
<
/Form
>
<
ListCardItem
itemid
=
"1"
key
=
"1"
userList
=
{
rolelist
}
OUName
=
"关联角色"
getValueCallback
=
{
getRoleValueCallback
}
/
>
<
/Modal
>
{
/* 添加菜单组 */
}
<
Modal
title
=
{
menuTitle
}
visible
=
{
addMenuGroupVisible
}
onOk
=
{
submitAddMenuGroup
}
onCancel
=
{()
=>
setAddMenuGroupVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
centered
>
<
Form
form
=
{
addMenuGroupForm
}
>
<
Form
.
Item
name
=
"menuName"
label
=
"分组名称"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入分组名称"
/>
<
/Form.Item
>
<
/
>
)}
{
transType
===
'4'
&&
(
<>
<
Form
.
Item
name
=
"four_x_off"
label
=
"four_x_off"
>
<
Input
placeholder
=
"请输入
x方向偏移量
"
/>
<
Form
.
Item
name
=
"shortName"
label
=
"分组别名"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入
分组别名
"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"four_y_off"
label
=
"four_y_off"
>
<
Input
placeholder
=
"请输入y方向偏移量"
/>
<
Form
.
Item
name
=
"imageUrl"
label
=
"菜单图标"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入菜单图标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"four_angle"
label
=
"four_angle"
>
<
Input
placeholder
=
"请输入偏转角度"
/>
<
Form
.
Item
name
=
"pageUrl"
label
=
"离线图标"
rules
=
{[{
required
:
true
,
message
:
'不能为空'
}]}
>
<
Input
placeholder
=
"请输入离线图标"
/>
<
/Form.Item
>
<
Form
.
Item
name
=
"f
our_m"
label
=
"four_m
"
>
<
Input
placeholder
=
"请输入
尺度因子
"
/>
<
Form
.
Item
name
=
"f
unParam"
label
=
"功能参数
"
>
<
Input
placeholder
=
"请输入
功能参数
"
/>
<
/Form.Item
>
<
/
>
)}
<
Form
.
Item
wrapperCol
=
{{
sm
:
{
span
:
16
,
offset
:
16
,
},
}}
<
/Form
>
<
/Modal
>
{
/* 删除菜单 */
}
<
Modal
title
=
{
menuTitle
}
visible
=
{
deleteMenuVisible
}
onOk
=
{
submitDeleteMenu
}
onCancel
=
{()
=>
setDeleteMenuVisible
(
false
)}
okText
=
"确认"
cancelText
=
"取消"
centered
>
<
Button
type
=
"primary"
htmlType
=
"submit"
>
提交
<
/Button
>
<
/Form.Item
>
<
/Form
>
<
span
>
确定删除?
<
/span
>
<
/Modal
>
<
/div
>
);
};
...
...
src/pages/appConfig/AppMenu.less
0 → 100644
View file @
124932cc
.contentContainer{
// min-height: calc(100vh - 194px);
display: flex;
.menuContainer{
min-width: 300px;
.ant-tree-list{
padding: 10px;
border:1px solid #abaeb1;
height:calc(100vh - 300px);
.ant-tree-switcher{
line-height: 1;
color:#1890FF;
}
}
}
.previewContainer{
margin-left: 12px;
flex: 1;
float: left;
// background: white;
.ant-table-pagination-right{
padding-right: 12px;
}
}
.ant-tree-treenode{
width: 100% !important;
.ant-tree-node-content-wrapper{
display: inline-block;
width: 100%;
}
.iconWraper1{
float: right;
span{
display: none;
}
}
}
.ant-tree-treenode:hover{
.iconWraper1>span{
margin-left: 12px;
font-size: 18px;
display: inline-block;
}
}
}
.redText{
color: red;
cursor: pointer;
}
// .ant-modal-root{
// .ant-tree-switcher{
// line-height: 1;
// color:#1890FF;
// }
// }
// .menuContainer{
// width: 300px;
// padding: 10px;
// background: #1890FF;
// }
\ No newline at end of file
src/pages/appConfig/index.js
View file @
124932cc
import
React
from
'react'
;
import
{
Tabs
}
from
'antd'
;
import
{
Tabs
,
Card
}
from
'antd'
;
import
{
PageContainer
}
from
'@ant-design/pro-layout'
;
import
SevenParams
from
'./SevenParams'
;
//
import AppMenu from './AppMenu';
import
AppMenu
from
'./AppMenu'
;
const
AppConfigPage
=
()
=>
{
const
{
TabPane
}
=
Tabs
;
return
(
<
PageContainer
>
<
Tabs
defaultActiveKey
=
"1"
>
<
TabPane
tab
=
"七参数"
key
=
"1"
>
<
SevenParams
/>
<
/TabPane
>
<
TabPane
tab
=
"菜单管理"
key
=
"2"
>
{
/* <AppMenu /> */
}
123
<
/TabPane
>
<
/Tabs
>
<
Card
>
<
Tabs
defaultActiveKey
=
"1"
type
=
"card"
>
<
TabPane
tab
=
"应用配置"
key
=
"1"
>
<
SevenParams
/>
<
/TabPane
>
<
TabPane
tab
=
"菜单管理"
key
=
"2"
type
=
"card"
>
<
AppMenu
/>
<
/TabPane
>
<
/Tabs
>
<
/Card
>
<
/PageContainer
>
);
};
...
...
src/pages/userCenter/UserManage.js
View file @
124932cc
...
...
@@ -76,6 +76,7 @@ const UserManage = () => {
const
[
deleteUserVisible
,
setDeleteUserVisible
]
=
useState
(
false
);
const
[
orgTitle
,
setOrgTitle
]
=
useState
(
'机构'
);
const
[
tableTitle
,
setTableTitle
]
=
useState
(
'机构'
);
const
[
orgID
,
setOrgID
]
=
useState
();
const
[
newOrgID
,
setNewOrgID
]
=
useState
();
const
[
currentUser
,
setCurrentUser
]
=
useState
({});
...
...
@@ -118,6 +119,12 @@ const UserManage = () => {
key
:
'userName'
,
width
:
100
,
},
{
title
:
'所在机构'
,
dataIndex
:
'OUName'
,
key
:
'OUName'
,
width
:
150
,
},
{
title
:
'手机号码'
,
dataIndex
:
'phone'
,
...
...
@@ -141,7 +148,7 @@ const UserManage = () => {
title
:
'操作'
,
key
:
'action'
,
fixed
:
'right'
,
width
:
30
0
,
width
:
25
0
,
align
:
'center'
,
render
:
(
text
,
record
)
=>
(
<
Space
size
=
"middle"
>
...
...
@@ -169,12 +176,27 @@ const UserManage = () => {
style
=
{{
fontSize
:
'16px'
}}
/
>
<
/Tooltip
>
<
Tooltip
title
=
"冻结用户"
>
<
StopOutlined
onClick
=
{()
=>
freezeUser
(
record
)}
style
=
{{
fontSize
:
'16px'
,
color
:
'#1890FF'
}}
/
>
<
/Tooltip
>
{(
record
.
state
===
'0'
||
record
.
state
===
null
)
&&
(
<>
<
Tooltip
title
=
"冻结用户"
>
<
StopOutlined
onClick
=
{()
=>
freezeUser
(
record
)}
style
=
{{
fontSize
:
'16px'
,
color
:
'#1890FF'
}}
/
>
<
/Tooltip
>
<
/
>
)}
{
record
.
state
===
'1'
&&
(
<>
<
Tooltip
title
=
"解冻用户"
>
<
StopOutlined
onClick
=
{()
=>
freezeUser
(
record
)}
style
=
{{
fontSize
:
'16px'
}}
/
>
<
/Tooltip
>
<
/
>
)}
<
Tooltip
title
=
"删除用户"
>
<
DeleteTwoTone
onClick
=
{()
=>
deleteUser
(
record
)}
...
...
@@ -289,6 +311,7 @@ const UserManage = () => {
// 获取用户机构树
useEffect
(()
=>
{
setTreeLoading
(
true
);
updateTrees
();
},
[]);
...
...
@@ -303,9 +326,12 @@ const UserManage = () => {
setOrgID
(
props
[
0
]
||
currentSelectOrg
);
getOneOUUserListNew
(
props
[
0
]
||
currentSelectOrg
)
.
then
(
res
=>
{
if
(
res
.
s
uccess
)
{
if
(
res
.
IsS
uccess
)
{
setTableLoading
(
false
);
const
table
=
res
.
root
.
map
((
item
,
index
)
=>
{
const
temp
=
flatten
(
getUsers
(
res
.
Data
));
console
.
log
(
temp
);
setTableTitle
(
temp
.
length
);
const
table
=
temp
.
map
((
item
,
index
)
=>
{
item
.
key
=
index
;
item
.
phone
=
item
.
phone
||
'-'
;
item
.
ddid
=
item
.
ddid
?
'已绑定'
:
'未绑定'
;
...
...
@@ -320,7 +346,25 @@ const UserManage = () => {
message
.
error
(
err
);
});
};
// 返回数据结构处理,扁平化
const
getUsers
=
orgObj
=>
{
let
result
=
orgObj
.
Users
;
result
.
map
(
item
=>
{
item
.
OUID
=
orgObj
.
GroupId
;
item
.
OUName
=
orgObj
.
GroupName
;
return
item
;
});
if
(
orgObj
.
Childs
.
length
>
0
)
result
=
[...
result
,
...
orgObj
.
Childs
.
map
(
o
=>
getUsers
(
o
))];
return
result
;
};
const
flatten
=
arr
=>
{
while
(
arr
.
some
(
item
=>
Array
.
isArray
(
item
)))
{
arr
=
[].
concat
(...
arr
);
}
return
arr
;
};
const
getTableTitle
=
()
=>
`当前机构用户总数(
${
tableTitle
}
)`
;
// 左侧目录树相关操作
const
searchUser
=
()
=>
{
setSearchUserVisible
(
true
);
...
...
@@ -586,7 +630,7 @@ const UserManage = () => {
});
};
const
submitChangeOrg
=
()
=>
addToOrg
(
currentUser
.
userID
,
org
ID
,
newOrgID
)
addToOrg
(
currentUser
.
userID
,
currentUser
.
OU
ID
,
newOrgID
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
setChangeOrgVisible
(
false
);
...
...
@@ -658,7 +702,13 @@ const UserManage = () => {
message
.
error
(
err
);
});
const
submitFreezeUser
=
()
=>
{
postSetUserState
(
currentUser
.
userID
,
+!
currentUser
.
state
)
let
state
=
''
;
if
(
currentUser
.
state
===
'0'
)
{
state
=
'1'
;
}
else
{
state
=
'0'
;
}
postSetUserState
(
currentUser
.
userID
,
state
)
.
then
(
res
=>
{
if
(
res
.
success
)
{
setFreezeUserVisible
(
false
);
...
...
@@ -746,6 +796,7 @@ const UserManage = () => {
<
/div
>
<
div
className
=
{
styles
.
userContainer
}
>
<
Table
title
=
{
getTableTitle
}
bordered
columns
=
{
columns
}
dataSource
=
{
tableData
}
...
...
@@ -1008,7 +1059,7 @@ const UserManage = () => {
<
/Form
>
<
/Modal
>
<
Modal
title
=
"请确认
冻结用户
"
title
=
"请确认"
visible
=
{
freezeUserVisible
}
onOk
=
{
submitFreezeUser
}
onCancel
=
{()
=>
setFreezeUserVisible
(
false
)}
...
...
src/services/appConfig/api.js
View file @
124932cc
import
{
get
,
post
}
from
'@/services/index'
;
/** ***网站配置*** */
// 七参数初始化
export
const
getSevenParams
=
()
=>
get
(
`/Cityinterface/rest/services/OMS.svc/M_GetSevenParams`
,
{
...
...
@@ -19,3 +20,45 @@ export const postSevenParams = sevenFormData =>
`/Cityinterface/rest/services/OMS.svc/M_SetSevenParams?_version=9999`
,
sevenFormData
,
);
/** ***菜单管理*** */
// 获取菜单树
export
const
getTree
=
()
=>
get
(
`/Cityinterface/rest/services/OMS.svc/MiniAppSiteTree`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
node
:
-
2
,
userMode
:
'super'
,
// subSystemValue: '手持系统',
// subSystemName: '手持系统',
select
:
''
,
});
// 添加菜单
export
const
addMenuApi
=
(
menuID
,
menuName
,
shortName
,
imageUrl
,
pageUrl
,
funParam
,
)
=>
get
(
`/Cityinterface/rest/services/OMS.svc/MiniApp_AddMenu`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
parentID
:
menuID
,
menuName
,
shortName
,
imageUrl
,
pageUrl
,
funParam
,
subSystemValue
:
'miniapp'
,
relatedRoleList
:
''
,
});
// 添加菜单
export
const
getRoleList
=
()
=>
get
(
`/Cityinterface/rest/services/OMS.svc/P_GetRoleListPlain`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
subSystemValue
:
'miniapp'
,
});
src/services/userCenter/userManage/api.js
View file @
124932cc
import
{
get
,
post
}
from
'@/services/index'
;
//
import { get, post } from '@/services/index';
import
qs
from
'qs'
;
import
{
CITY_SERVICE
,
get
,
post
,
PUBLISH_SERVICE
}
from
'@/services/index'
;
export
const
getUserTree
=
(
selectOU
,
node
)
=>
get
(
`/Cityinterface/rest/services/OMS.svc/U_GetOUTree`
,
{
...
...
@@ -9,11 +10,18 @@ export const getUserTree = (selectOU, node) =>
node
,
});
// export const getOneOUUserListNew = OUID =>
// get(`/Cityinterface/rest/services/OMS.svc/U_GetOneOUUserListNew`, {
// _version: 9999,
// _dc: new Date().getTime(),
// OUID,
// });
export
const
getOneOUUserListNew
=
OUID
=>
get
(
`
/Cityinterface/rest/services/OMS.svc/U_GetOneOUUserListNew
`
,
{
get
(
`
${
PUBLISH_SERVICE
}
/UserCenter/GroupUserList
`
,
{
_version
:
9999
,
_dc
:
new
Date
().
getTime
(),
OUID
,
GroupId
:
OUID
,
});
/**
...
...
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