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
13f218bc
Commit
13f218bc
authored
May 20, 2022
by
皮倩雯
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: '组态平台接口翻新'
parent
0a64e8b6
Pipeline
#50850
skipped with stages
Changes
17
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
995 additions
and
324 deletions
+995
-324
fieldEditor.jsx
...s/bsmanager/base/tablemanager/filedConfig/fieldEditor.jsx
+81
-80
filedConfig.jsx
...s/bsmanager/base/tablemanager/filedConfig/filedConfig.jsx
+2
-2
importModal.jsx
src/pages/dataCenter/dictionary/importModal.jsx
+3
-3
AddModal.jsx
...ormCenter/baseFrameContainer/drawBoardManage/AddModal.jsx
+6
-6
AddTemplate.jsx
...Center/baseFrameContainer/drawBoardManage/AddTemplate.jsx
+12
-13
AssociationModel.jsx
...r/baseFrameContainer/drawBoardManage/AssociationModel.jsx
+164
-0
ChildAddTemplate.jsx
...r/baseFrameContainer/drawBoardManage/ChildAddTemplate.jsx
+15
-15
DrawBoardManage.jsx
...er/baseFrameContainer/drawBoardManage/DrawBoardManage.jsx
+260
-109
EditModal.jsx
...rmCenter/baseFrameContainer/drawBoardManage/EditModal.jsx
+5
-4
EditTemplate.jsx
...enter/baseFrameContainer/drawBoardManage/EditTemplate.jsx
+13
-13
ImportModal.jsx
...Center/baseFrameContainer/drawBoardManage/ImportModal.jsx
+9
-4
addForm.less
src/pages/productCenter/mobileConfig/menuconfig/addForm.less
+55
-11
editForm.jsx
src/pages/productCenter/mobileConfig/menuconfig/editForm.jsx
+302
-19
miniMenu.jsx
src/pages/productCenter/mobileConfig/menuconfig/miniMenu.jsx
+28
-4
editForm.jsx
src/pages/productCenter/webConfig/menuconfig/editForm.jsx
+2
-0
api.js
src/services/drawBoardManage/api.js
+21
-15
api.js
src/services/mobileConfig/api.js
+17
-26
No files found.
src/pages/bsmanager/base/tablemanager/filedConfig/fieldEditor.jsx
View file @
13f218bc
...
...
@@ -199,88 +199,89 @@ const AddModal = props => {
};
useEffect
(()
=>
{
console
.
log
(
isVisible
);
// 用于判断分组名与字段名重复时提示当前未选中字段
if
(
keepTreeFirst
.
indexOf
(
itemData
.
name
)
!=
-
1
&&
itemData
.
children
)
{
setShow
(
'none'
);
}
else
{
setShow
(
'block'
);
}
setTreeValue
(
treeData
);
setValueData
([]);
setExpendKey
(
itemData
.
ID
);
setCurrentSelectOrg
(
itemData
.
ID
);
console
.
log
(
treeData
);
if
(
isType
!=
''
)
{
let
req1
=
getField
({
fieldID
:
itemData
.
ID
});
let
req2
=
loadTableFields
({
tableName
:
formObj1
});
let
req3
=
LoadEventType
({});
Promise
.
all
([
req1
,
req2
,
req3
]).
then
(
res
=>
{
res
[
1
].
msg
===
'Ok'
&&
setFieldName
(
res
[
1
].
data
.
root
);
res
[
2
].
msg
===
'Ok'
&&
setEventList
(
res
[
2
].
data
.
root
);
if
(
res
[
0
].
msg
===
'Ok'
)
{
form
.
setFieldsValue
({
...
res
[
0
].
data
.
root
});
if
(
res
[
0
].
data
.
root
.
ExceptionEventFields
===
''
)
{
setCharacterValue
(
''
);
setCheckedList
([]);
setIsShow
(
false
);
}
else
{
setIsShow
(
true
);
setCharacterValue
(
res
[
0
].
data
.
root
.
ExceptionEventFields
);
setCheckedList
(
res
[
0
].
data
.
root
.
ExceptionEventFields
.
split
(
','
));
}
setShape
(
res
[
0
].
data
.
root
.
Shape
);
let
coordinates
=
false
,
picture
=
false
,
must
=
false
;
switch
(
res
[
0
].
data
.
root
.
Shape
)
{
case
'坐标控件'
:
res
[
0
].
data
.
root
.
Config
===
'当前坐标'
?
(
coordinates
=
true
)
:
(
coordinates
=
false
);
break
;
case
'图片'
:
case
'可预览图片'
:
res
[
0
].
data
.
root
.
Preset
===
'拍照相册'
?
(
picture
=
true
)
:
(
picture
=
false
);
res
[
0
].
data
.
root
.
ValidationRule
===
'required'
?
(
must
=
true
)
:
(
must
=
false
);
break
;
case
'编码'
:
let
code
=
res
[
0
].
data
.
root
.
Config
.
split
(
'.'
);
form
.
setFieldsValue
({
code
:
code
[
0
]
||
''
,
prefix
:
code
[
1
]
===
'undefined'
?
''
:
code
[
1
],
});
break
;
}
setPramData
({
...
res
[
0
].
data
.
root
,
coordinates
,
must
,
picture
});
if
(
res
[
0
].
data
.
root
.
Shape
==
'多行文本'
||
res
[
0
].
data
.
root
.
Shape
==
'附件'
||
res
[
0
].
data
.
root
.
Shape
==
'可预览附件'
||
res
[
0
].
data
.
root
.
Shape
==
'图片'
||
res
[
0
].
data
.
root
.
Shape
==
'可预览图片'
||
res
[
0
].
data
.
root
.
Shape
==
'录音'
||
res
[
0
].
data
.
root
.
Shape
==
'视频'
)
{
form
.
setFieldsValue
({
RowSpan
:
6
});
}
else
{
if
(
pramData
.
RowSpan
)
{
form
.
setFieldsValue
({
RowSpan
:
res
[
0
].
data
.
root
.
RowSpan
});
if
(
isVisible
)
{
// 用于判断分组名与字段名重复时提示当前未选中字段
if
(
keepTreeFirst
.
indexOf
(
itemData
.
name
)
!=
-
1
&&
itemData
.
children
)
{
setShow
(
'none'
);
}
else
{
setShow
(
'block'
);
}
setTreeValue
(
treeData
);
setValueData
([]);
setExpendKey
(
itemData
.
ID
);
setCurrentSelectOrg
(
itemData
.
ID
);
console
.
log
(
treeData
);
if
(
isType
!=
''
)
{
let
req1
=
getField
({
fieldID
:
itemData
.
ID
});
let
req2
=
loadTableFields
({
tableName
:
formObj1
});
let
req3
=
LoadEventType
({});
Promise
.
all
([
req1
,
req2
,
req3
]).
then
(
res
=>
{
res
[
1
].
msg
===
'Ok'
&&
setFieldName
(
res
[
1
].
data
.
root
);
res
[
2
].
msg
===
'Ok'
&&
setEventList
(
res
[
2
].
data
.
root
);
if
(
res
[
0
].
msg
===
'Ok'
)
{
form
.
setFieldsValue
({
...
res
[
0
].
data
.
root
});
if
(
res
[
0
].
data
.
root
.
ExceptionEventFields
===
''
)
{
setCharacterValue
(
''
);
setCheckedList
([]);
setIsShow
(
false
);
}
else
{
setIsShow
(
true
);
setCharacterValue
(
res
[
0
].
data
.
root
.
ExceptionEventFields
);
setCheckedList
(
res
[
0
].
data
.
root
.
ExceptionEventFields
.
split
(
','
));
}
form
.
setFieldsValue
({
RowSpan
:
1
});
}
console
.
log
(
pramData
);
// 清空表单数据
if
(
isVisible
==
false
)
{
console
.
log
(
123
);
setPramData
([]);
form
.
resetFields
();
setShape
(
res
[
0
].
data
.
root
.
Shape
);
let
coordinates
=
false
,
picture
=
false
,
must
=
false
;
switch
(
res
[
0
].
data
.
root
.
Shape
)
{
case
'坐标控件'
:
res
[
0
].
data
.
root
.
Config
===
'当前坐标'
?
(
coordinates
=
true
)
:
(
coordinates
=
false
);
break
;
case
'图片'
:
case
'可预览图片'
:
res
[
0
].
data
.
root
.
Preset
===
'拍照相册'
?
(
picture
=
true
)
:
(
picture
=
false
);
res
[
0
].
data
.
root
.
ValidationRule
===
'required'
?
(
must
=
true
)
:
(
must
=
false
);
break
;
case
'编码'
:
let
code
=
res
[
0
].
data
.
root
.
Config
.
split
(
'.'
);
form
.
setFieldsValue
({
code
:
code
[
0
]
||
''
,
prefix
:
code
[
1
]
===
'undefined'
?
''
:
code
[
1
],
});
break
;
}
setPramData
({
...
res
[
0
].
data
.
root
,
coordinates
,
must
,
picture
});
if
(
res
[
0
].
data
.
root
.
Shape
==
'多行文本'
||
res
[
0
].
data
.
root
.
Shape
==
'附件'
||
res
[
0
].
data
.
root
.
Shape
==
'可预览附件'
||
res
[
0
].
data
.
root
.
Shape
==
'图片'
||
res
[
0
].
data
.
root
.
Shape
==
'可预览图片'
||
res
[
0
].
data
.
root
.
Shape
==
'录音'
||
res
[
0
].
data
.
root
.
Shape
==
'视频'
)
{
form
.
setFieldsValue
({
RowSpan
:
6
});
}
else
{
if
(
pramData
.
RowSpan
)
{
form
.
setFieldsValue
({
RowSpan
:
res
[
0
].
data
.
root
.
RowSpan
});
}
form
.
setFieldsValue
({
RowSpan
:
1
});
}
console
.
log
(
pramData
);
// 清空表单数据
let
index
=
res
[
2
].
data
.
root
.
find
(
item
=>
{
return
item
.
Name
==
res
[
0
].
data
.
root
.
ExceptionEvent
;
});
console
.
log
(
index
);
getFieldData
(
index
.
TableName
);
}
let
index
=
res
[
2
].
data
.
root
.
find
(
item
=>
{
return
item
.
Name
==
res
[
0
].
data
.
root
.
ExceptionEvent
;
});
console
.
log
(
index
);
getFieldData
(
index
.
TableName
);
}
});
});
}
}
else
{
setPramData
([]);
form
.
resetFields
();
}
},
[
isVisible
]);
...
...
src/pages/bsmanager/base/tablemanager/filedConfig/filedConfig.jsx
View file @
13f218bc
...
...
@@ -260,7 +260,7 @@ const AddModal = props => {
<
span
/>
)
:
(
<>
<
Tooltip
title=
"修改"
>
{
/*
<Tooltip title="修改">
<EditOutlined
style={{ fontSize: '16px', color: '#1890FF' }}
onClick={() => {
...
...
@@ -269,7 +269,7 @@ const AddModal = props => {
>
编辑
</EditOutlined>
</
Tooltip
>
</Tooltip>
*/
}
<
div
onClick=
{
e
=>
e
.
stopPropagation
()
}
>
<
Popconfirm
title=
"是否删除该字段?"
...
...
src/pages/dataCenter/dictionary/importModal.jsx
View file @
13f218bc
...
...
@@ -3,7 +3,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-11 18:12:39
* @LastEditTime: 2022-05-
19 17:31:42
* @LastEditTime: 2022-05-
20 15:25:04
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
...
...
@@ -74,8 +74,8 @@ const importModal = props => {
const
title1
=
(
<>
<
span
>
导入数据
</
span
>
<
span
style=
{
{
color
:
'rgb(24, 144, 255)'
}
}
>
(
覆盖导入
)
</
span
>
<
span
>
覆盖
导入数据
</
span
>
<
span
style=
{
{
color
:
'rgb(24, 144, 255)'
}
}
>
(
不支持导入从老运维导出的数据
)
</
span
>
</>
);
return
(
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/AddModal.jsx
View file @
13f218bc
...
...
@@ -2,7 +2,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-07 10:23:26
* @LastEditTime: 2022-0
4-11 17:06:39
* @LastEditTime: 2022-0
5-20 14:19:53
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
}
from
'react'
;
...
...
@@ -10,7 +10,7 @@ import { Modal, Form, Input, notification, message } from 'antd';
import
{
Save
}
from
'@/services/drawBoardManage/api'
;
const
AddModal
=
props
=>
{
const
{
visible
,
onCancel
,
updateTrees
}
=
props
;
const
{
visible
,
onCancel
,
callBackSubmit
=
()
=>
{}
}
=
props
;
const
[
addForm
]
=
Form
.
useForm
();
useEffect
(()
=>
{
...
...
@@ -20,20 +20,20 @@ const AddModal = props => {
const
submitAdd
=
()
=>
{
console
.
log
(
addForm
.
getFieldValue
().
name
);
if
(
addForm
.
getFieldValue
().
name
)
{
Save
({
n
ame
:
addForm
.
getFieldValue
().
name
})
Save
({
modelTypeN
ame
:
addForm
.
getFieldValue
().
name
})
.
then
(
res
=>
{
if
(
res
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
callBackSubmit
(
addForm
.
getFieldValue
(
'name'
));
onCancel
();
notification
.
success
({
message
:
'提交成功'
,
duration
:
2
,
});
// 重新获取机构树与用户表
updateTrees
();
}
else
{
notification
.
error
({
message
:
'提交失败'
,
description
:
res
.
errM
sg
,
description
:
res
.
m
sg
,
});
}
})
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/AddTemplate.jsx
View file @
13f218bc
...
...
@@ -3,7 +3,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-07 10:23:26
* @LastEditTime: 2022-0
4-14 19:52:2
8
* @LastEditTime: 2022-0
5-19 18:41:3
8
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
...
...
@@ -42,29 +42,28 @@ const AddTemplate = props => {
const
submitAdd
=
()
=>
{
addTemplateForm
.
validateFields
().
then
(
validate
=>
{
if
(
validate
)
{
let
aa
=
{};
aa
.
width
=
addTemplateForm
.
getFieldsValue
().
imageWidth
.
toString
();
aa
.
height
=
addTemplateForm
.
getFieldsValue
().
imageHeight
.
toString
();
let
width
=
addTemplateForm
.
getFieldsValue
().
imageWidth
.
toString
();
let
height
=
addTemplateForm
.
getFieldsValue
().
imageHeight
.
toString
();
const
formData
=
new
FormData
();
formData
.
append
(
'
Name'
,
addTemplateForm
.
getFieldsValue
().
Nam
e
);
formData
.
append
(
'Type'
,
selectValue
);
formData
.
append
(
'
Dimension'
,
'二维'
);
formData
.
append
(
'
Size'
,
JSON
.
stringify
(
aa
)
);
formData
.
append
(
'
ModelName'
,
addTemplateForm
.
getFieldsValue
().
ModelFil
e
);
formData
.
append
(
'
Model
Type'
,
selectValue
);
formData
.
append
(
'
width'
,
width
);
formData
.
append
(
'
height'
,
height
);
formData
.
append
(
'ModelFile'
,
file
);
console
.
log
(
formData
);
SaveUpload
(
formData
).
then
(
res
=>
{
if
(
res
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
callBackSubmit
();
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
info
,
description
:
res
.
msg
,
});
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
errM
sg
,
description
:
res
.
m
sg
,
});
}
});
...
...
@@ -151,7 +150,7 @@ const AddTemplate = props => {
},
]
}
>
<
Input
placeholder=
"仅支持png和svg格式"
/>
<
Input
placeholder=
"仅支持png和svg格式"
disabled
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
7
}
>
...
...
@@ -163,7 +162,7 @@ const AddTemplate = props => {
</
Col
>
</
Row
>
<
Form
.
Item
label=
"模型名称"
name=
"Name"
>
<
Input
placeholder=
"
请输入菜单组名称"
/>
<
Input
placeholder=
"
菜单组名称"
disabled
/>
</
Form
.
Item
>
<
Row
>
<
Col
span=
{
13
}
>
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/AssociationModel.jsx
0 → 100644
View file @
13f218bc
/* eslint-disable prefer-template */
/* eslint-disable indent */
/*
* @Description:
* @Author: leizhe
* @Date: 2022-05-17 10:26:35
* @LastEditTime: 2022-05-20 09:38:44
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
Modal
,
Form
,
Input
,
notification
,
Button
,
Select
,
Space
,
Image
}
from
'antd'
;
import
{
UpdateParentId
,
modelManageListAll
}
from
'@/services/drawBoardManage/api'
;
const
{
Option
}
=
Select
;
const
AssociationModel
=
props
=>
{
const
{
visible
,
onCancel
,
obj
,
callBackSubmit
=
()
=>
{}
}
=
props
;
const
{
Item
}
=
Form
;
const
[
form
]
=
Form
.
useForm
();
const
[
data
,
setData
]
=
useState
([]);
const
[
imageData
,
setImgData
]
=
useState
(
''
);
useEffect
(()
=>
{
console
.
log
(
obj
);
if
(
visible
)
{
modelManageListAll
({
modelName
:
''
,
modelType
:
''
,
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
if
(
res
.
data
.
length
>
0
)
{
let
aa
=
[];
res
.
data
.
map
(
i
=>
{
aa
.
push
(
i
);
});
let
bb
=
aa
;
console
.
log
(
bb
);
console
.
log
(
obj
);
if
(
bb
&&
bb
.
length
>
0
)
{
if
(
obj
.
RelModel
!=
0
)
{
bb
.
splice
(
bb
.
findIndex
(
item
=>
item
.
ID
===
obj
.
RelModel
),
1
);
}
else
{
bb
.
splice
(
bb
.
findIndex
(
item
=>
item
.
ID
===
obj
.
ID
),
1
);
}
bb
.
map
(
i
=>
{
if
(
i
.
children
&&
i
.
children
.
length
>
0
)
{
delete
i
.
children
;
}
});
console
.
log
(
bb
);
setData
(
bb
);
}
}
}
});
}
else
{
form
.
resetFields
();
setImgData
(
''
);
setData
(
''
);
}
},
[
visible
]);
const
onSubmit
=
()
=>
{
form
.
validateFields
().
then
(
validate
=>
{
if
(
validate
)
{
let
obj1
=
form
.
getFieldsValue
();
let
aa
=
[];
aa
.
push
(
obj
.
ID
);
UpdateParentId
({
modelIds
:
aa
,
parentId
:
obj1
.
Name
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
callBackSubmit
();
onCancel
();
notification
.
success
({
message
:
'关联成功'
,
duration
:
2
,
});
}
else
{
notification
.
error
({
message
:
'关联失败'
,
description
:
res
.
msg
,
});
}
});
}
});
};
const
handleChange
=
e
=>
{
console
.
log
(
e
);
console
.
log
(
data
);
let
aa
=
data
.
find
(
i
=>
i
.
ID
===
e
);
console
.
log
(
aa
);
setImgData
(
aa
.
Path
);
};
return
(
<
Modal
title=
"关联父模型"
visible=
{
visible
}
onCancel=
{
onCancel
}
destroyOnClose
width=
"600px"
footer=
{
<
Space
>
<
Button
onClick=
{
onSubmit
}
type=
"primary"
>
确定
</
Button
>
</
Space
>
}
>
<
Form
form=
{
form
}
style=
{
{
overflowY
:
'scroll'
}
}
>
<
Item
labelCol=
{
{
span
:
8
}
}
name=
"Name"
rules=
{
[
{
required
:
true
,
message
:
'请选择父模型'
,
},
]
}
>
<
Select
style=
{
{
width
:
'100%'
}
}
placeholder=
"选择父模型"
optionLabelProp=
"label"
onChange=
{
handleChange
}
optionFilterProp=
"label"
showSearch
>
{
data
.
length
?
data
.
map
((
item
,
index
)
=>
(
<>
<
Option
value=
{
item
.
ID
}
label=
{
item
.
ModelName
}
>
<
div
className=
"demo-option-label-item"
>
{
item
.
ModelName
}
<
span
role=
"img"
aria
-
label=
{
item
.
ModelTypeName
}
>
(
{
item
.
ModelTypeName
}
)
</
span
>
</
div
>
</
Option
>
</>
))
:
''
}
</
Select
>
</
Item
>
<
Item
>
{
imageData
==
''
?
(
<></>
)
:
(
<
Image
src=
{
window
.
location
.
origin
+
`/Publish/Web/File/ModelManage/ModelFilePreview/${encodeURIComponent(imageData)}`
}
height=
"60px"
/>
)
}
</
Item
>
</
Form
>
</
Modal
>
);
};
export
default
AssociationModel
;
src/pages/platformCenter/baseFrameContainer/drawBoardManage/ChildAddTemplate.jsx
View file @
13f218bc
...
...
@@ -3,7 +3,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-07 10:23:26
* @LastEditTime: 2022-0
4-14 19:58:49
* @LastEditTime: 2022-0
5-20 09:45:00
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
...
...
@@ -34,36 +34,36 @@ const ChildAddTemplate = props => {
useEffect
(()
=>
{
console
.
log
(
obj
);
addTemplateForm
.
resetFields
();
addTemplateForm
.
setFieldsValue
({
Type
:
obj
.
t
ypeName
});
addTemplateForm
.
setFieldsValue
({
Type
:
obj
.
ModelT
ypeName
});
},
[
visible
]);
const
submitAdd
=
()
=>
{
addTemplateForm
.
validateFields
().
then
(
validate
=>
{
if
(
validate
)
{
let
aa
=
{};
aa
.
width
=
addTemplateForm
.
getFieldsValue
().
imageWidth
.
toString
();
aa
.
height
=
addTemplateForm
.
getFieldsValue
().
imageHeight
.
toString
();
let
width
=
addTemplateForm
.
getFieldsValue
().
imageWidth
.
toString
();
let
height
=
addTemplateForm
.
getFieldsValue
().
imageHeight
.
toString
();
const
formData
=
new
FormData
();
formData
.
append
(
'Name'
,
addTemplateForm
.
getFieldsValue
().
Name
);
formData
.
append
(
'Type'
,
addTemplateForm
.
getFieldsValue
().
Type
);
formData
.
append
(
'Dimension'
,
'二维'
);
formData
.
append
(
'Size'
,
JSON
.
stringify
(
aa
));
formData
.
append
(
'ModelName'
,
addTemplateForm
.
getFieldsValue
().
ModelFile
);
formData
.
append
(
'ModelType'
,
addTemplateForm
.
getFieldsValue
().
Type
);
// formData.append('Size', JSON.stringify(aa));
formData
.
append
(
'width'
,
width
);
formData
.
append
(
'height'
,
height
);
formData
.
append
(
'ModelFile'
,
file
);
formData
.
append
(
'RelModel'
,
obj
.
id
);
formData
.
append
(
'RelModel'
,
obj
.
ID
);
console
.
log
(
formData
);
SaveUpload
(
formData
).
then
(
res
=>
{
if
(
res
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
callBackSubmit
();
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
info
,
description
:
res
.
msg
,
});
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
errM
sg
,
description
:
res
.
m
sg
,
});
}
});
...
...
@@ -150,7 +150,7 @@ const ChildAddTemplate = props => {
},
]
}
>
<
Input
/>
<
Input
disabled
/>
</
Form
.
Item
>
</
Col
>
<
Col
span=
{
7
}
>
...
...
@@ -162,7 +162,7 @@ const ChildAddTemplate = props => {
</
Col
>
</
Row
>
<
Form
.
Item
label=
"模型名称"
name=
"Name"
>
<
Input
placeholder=
"请输入菜单组名称"
/>
<
Input
placeholder=
"请输入菜单组名称"
disabled
/>
</
Form
.
Item
>
<
Row
>
<
Col
span=
{
13
}
>
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/DrawBoardManage.jsx
View file @
13f218bc
/* eslint-disable operator-assignment */
/* eslint-disable no-undef */
/* eslint-disable no-lonely-if */
/* eslint-disable prefer-template */
/* eslint-disable no-shadow */
/*
* @Description:
* @Author: leizhe
* @Date: 2022-04-06 11:38:46
* @LastEditTime: 2022-0
4-22 18:25:48
* @LastEditTime: 2022-0
5-20 14:23:36
* @LastEditors: leizhe
*/
import
React
,
{
useState
,
useEffect
}
from
'react'
;
...
...
@@ -24,6 +28,8 @@ import {
notification
,
message
,
Pagination
,
Dropdown
,
Menu
,
}
from
'antd'
;
import
{
typeList
,
...
...
@@ -43,6 +49,8 @@ import {
UploadOutlined
,
SyncOutlined
,
PlusSquareFilled
,
ShareAltOutlined
,
DownOutlined
,
}
from
'@ant-design/icons'
;
import
classnames
from
'classnames'
;
import
zhCN
from
'antd/es/locale/zh_CN'
;
...
...
@@ -53,6 +61,7 @@ import AddTemplate from './AddTemplate';
import
ChildAddTemplate
from
'./ChildAddTemplate'
;
import
EditTemplate
from
'./EditTemplate'
;
import
ImportModal
from
'./ImportModal'
;
import
AssociationModel
from
'./AssociationModel'
;
const
{
TabPane
}
=
Tabs
;
...
...
@@ -77,17 +86,22 @@ const DrawBoardManage = () => {
const
[
selectedRowKeys
,
setSelectedRowKeys
]
=
useState
([]);
// 已选字段配置数,机构改变时重置
const
[
deleteVisible
,
setDeleteVisible
]
=
useState
(
false
);
const
[
editVisible
,
setEditVisible
]
=
useState
(
false
);
const
[
associationVisible
,
setAssociationVisible
]
=
useState
(
false
);
const
[
multDeleteVisible
,
setMultDeleteVisible
]
=
useState
(
false
);
const
[
changeObj
,
setChangeObj
]
=
useState
(
''
);
const
[
obj
,
setObj
]
=
useState
(
''
);
const
[
importVisible
,
setImportVisible
]
=
useState
(
false
);
const
{
Search
}
=
Input
;
const
[
keepId
,
setKeepId
]
=
useState
(
''
);
const
[
total
,
setTotal
]
=
useState
(
''
);
const
[
total
Data
,
setTotal
]
=
useState
(
''
);
const
[
page
,
setPage
]
=
useState
(
1
);
const
setRowClassName
=
record
=>
(
record
.
id
===
selectColor
.
id
?
styles
.
clickRowStyle
:
''
);
const
[
multiOperate
,
setMultiOperate
]
=
useState
(
true
);
// 是否禁用用户批量操作
const
[
multiOperateButtonType
,
setMultiOperateButtonType
]
=
useState
(
''
);
// 更改批量操作按钮样式
const
[
keepRow
,
setKeepRow
]
=
useState
([]);
const
setRowClassName
=
record
=>
(
record
.
ID
===
selectColor
.
ID
?
styles
.
clickRowStyle
:
''
);
useEffect
(()
=>
{
setMultiOperate
(
true
);
if
(
pickItem
)
{
updateTableData
(
pickItem
.
name
,
searchWord
);
}
...
...
@@ -102,51 +116,67 @@ const DrawBoardManage = () => {
},
[]);
// 获取Tree数据
const
updateTrees
=
()
=>
{
const
updateTrees
=
e
=>
{
setTreeLoading
(
true
);
typeList
(
{
name
:
'二维'
}
).
then
(
res
=>
{
if
(
res
.
say
.
statusCode
===
'0000'
)
{
typeList
().
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
setTreeLoading
(
false
);
if
(
!
pickItem
)
{
// setPickItem(res.getMe[0]);
updateTableData
(
''
,
searchWord
);
if
(
e
)
{
let
aa
=
res
.
data
.
find
(
i
=>
i
.
name
===
e
);
setPickItem
(
aa
);
updateTableData
(
e
,
searchWord
);
}
else
{
if
(
!
pickItem
)
{
updateTableData
(
''
,
searchWord
);
}
else
{
updateTableData
(
pickItem
.
name
,
searchWord
);
}
}
setTreeData
(
res
.
getMe
);
setTreeData
(
res
.
data
);
}
});
};
const
addBack
=
props
=>
{
console
.
log
(
props
);
updateTrees
(
props
);
};
const
editBack
=
props
=>
{
console
.
log
(
props
);
updateTrees
(
props
);
};
// 获取表格数据
const
updateTableData
=
(
e
,
searchWord
)
=>
{
console
.
log
(
e
);
console
.
log
(
pickItem
);
setTableLoading
(
true
);
setSelectedRowKeys
([]);
modelManageList
({
dimonsion
:
'二维'
,
name
:
searchWord
,
type
:
e
,
modelName
:
searchWord
,
modelType
:
e
,
}).
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
say
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
if
(
searchWord
!=
''
)
{
setShowSearchStyle
(
true
);
}
else
{
setShowSearchStyle
(
false
);
}
if
(
res
.
getMe
.
length
>
0
)
{
if
(
res
.
data
.
length
>
0
)
{
if
(
!
pickItem
)
{
let
aa
=
[]
;
console
.
log
(
res
.
getMe
);
res
.
getMe
.
map
(
i
=>
{
i
.
list
.
map
(
j
=>
{
aa
.
push
(
j
);
});
});
let
aa
=
res
.
data
;
// res.data.map(i => {
// i.list.map(j
=> {
// aa.push(j);
// }
);
//
});
// 一级数据
let
bb
=
aa
;
let
len
=
bb
.
length
;
if
(
bb
.
length
>
0
)
{
bb
.
map
(
i
=>
{
if
(
i
.
children
.
length
>
0
)
{
len
=
len
+
i
.
children
.
length
;
i
.
children
.
map
(
j
=>
{
delete
j
.
children
;
});
...
...
@@ -155,16 +185,17 @@ const DrawBoardManage = () => {
}
});
}
setTotal
(
len
);
console
.
log
(
bb
);
console
.
log
(
bb
.
length
);
setTotal
(
bb
.
length
);
setTableData
(
bb
);
setSelectGroup
(
bb
);
}
else
{
let
aa
=
res
.
getMe
[
0
].
list
;
let
aa
=
res
.
data
;
let
len
=
aa
.
length
;
if
(
aa
.
length
>
0
)
{
aa
.
map
(
i
=>
{
if
(
i
.
children
.
length
>
0
)
{
len
=
len
+
i
.
children
.
length
;
i
.
children
.
map
(
j
=>
{
delete
j
.
children
;
});
...
...
@@ -173,8 +204,8 @@ const DrawBoardManage = () => {
}
});
}
console
.
log
(
aa
.
length
);
setTotal
(
aa
.
length
);
console
.
log
(
aa
);
setTotal
(
len
);
setTableData
(
aa
);
setSelectGroup
(
aa
);
}
...
...
@@ -191,29 +222,29 @@ const DrawBoardManage = () => {
setTableLoading
(
true
);
setSelectedRowKeys
([]);
modelManageList
({
dimonsion
:
'二维'
,
name
:
searchWord
,
type
:
e
,
modelName
:
searchWord
,
modelType
:
e
,
}).
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
say
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
if
(
searchWord
!=
''
)
{
setShowSearchStyle
(
true
);
}
else
{
setShowSearchStyle
(
false
);
}
if
(
res
.
getMe
.
length
>
0
)
{
let
aa
=
[];
console
.
log
(
res
.
getMe
);
res
.
getMe
.
map
(
i
=>
{
i
.
list
.
map
(
j
=>
{
aa
.
push
(
j
);
});
});
if
(
res
.
data
.
length
>
0
)
{
let
aa
=
res
.
data
;
// res.getMe.map(i => {
// i.list.map(j => {
// aa.push(j);
// });
// });
let
bb
=
aa
;
let
len
=
bb
.
length
;
if
(
bb
.
length
>
0
)
{
bb
.
map
(
i
=>
{
if
(
i
.
children
.
length
>
0
)
{
len
=
len
+
i
.
children
.
length
;
i
.
children
.
map
(
j
=>
{
delete
j
.
children
;
});
...
...
@@ -222,9 +253,7 @@ const DrawBoardManage = () => {
}
});
}
console
.
log
(
bb
);
console
.
log
(
bb
.
length
);
setTotal
(
bb
.
length
);
setTotal
(
len
);
setTableData
(
bb
);
setSelectGroup
(
bb
);
}
else
{
...
...
@@ -240,16 +269,16 @@ const DrawBoardManage = () => {
title
:
'模型类型'
,
align
:
'center'
,
dataIndex
:
'
t
ypeName'
,
key
:
'
t
ypeName'
,
dataIndex
:
'
ModelT
ypeName'
,
key
:
'
ModelT
ypeName'
,
render
:
(
text
,
record
)
=>
{
console
.
log
(
record
);
//
console.log(record);
if
(
record
.
children
)
{
console
.
log
(
record
.
children
.
length
);
//
console.log(record.children.length);
}
const
obj
=
{
children
:
<>
{
record
.
rea
lModel
==
0
?
<
span
size=
"middle"
>
{
text
}
</
span
>
:
<
span
/>
}
</>,
children
:
<>
{
record
.
Re
lModel
==
0
?
<
span
size=
"middle"
>
{
text
}
</
span
>
:
<
span
/>
}
</>,
props
:
{},
};
obj
.
props
.
colSpan
=
1
;
...
...
@@ -260,8 +289,8 @@ const DrawBoardManage = () => {
title
:
'模型名称'
,
align
:
'center'
,
dataIndex
:
'
n
ame'
,
key
:
'
n
ame'
,
dataIndex
:
'
ModelN
ame'
,
key
:
'
ModelN
ame'
,
render
:
(
text
,
record
)
=>
{
const
obj
=
{
children
:
<
span
>
{
searchStyle
(
text
)
}
</
span
>,
...
...
@@ -275,8 +304,8 @@ const DrawBoardManage = () => {
title
:
'图像'
,
align
:
'center'
,
dataIndex
:
'
model
Path'
,
key
:
'
model
Path'
,
dataIndex
:
'Path'
,
key
:
'Path'
,
render
:
(
text
,
record
)
=>
{
let
time
=
new
Date
();
let
timestamp
=
Date
.
parse
(
time
);
...
...
@@ -312,21 +341,21 @@ const DrawBoardManage = () => {
// return obj;
// },
// },
{
title
:
'设计者'
,
align
:
'center'
,
dataIndex
:
'people'
,
width
:
80
,
key
:
'people'
,
render
:
(
text
,
record
)
=>
{
const
obj
=
{
children
:
<
span
>
{
text
}
</
span
>,
props
:
{},
};
obj
.
props
.
colSpan
=
1
;
return
obj
;
},
},
//
{
//
title: '设计者',
//
align: 'center',
//
dataIndex: 'people',
//
width: 80,
//
key: 'people',
//
render: (text, record) => {
//
const obj = {
//
children: <span>{text} </span>,
//
props: {},
//
};
//
obj.props.colSpan = 1;
//
return obj;
//
},
//
},
{
title
:
'创建日期'
,
align
:
'center'
,
...
...
@@ -348,6 +377,7 @@ const DrawBoardManage = () => {
width
:
150
,
key
:
'action'
,
render
:
record
=>
{
// console.log(record);
let
aa
=
(
<
Space
size=
"middle"
>
<
Tooltip
title=
"编辑"
>
...
...
@@ -362,6 +392,28 @@ const DrawBoardManage = () => {
style=
{
{
fontSize
:
'16px'
,
color
:
'#1890FF'
}
}
/>
</
Tooltip
>
{
record
.
children
?
(
<
Space
size=
"middle"
>
<
Tooltip
title=
"关联父模型"
>
<
ShareAltOutlined
onClick=
{
()
=>
{
message
.
warning
(
'该模型存在子模型不能关联父模型'
);
}
}
style=
{
{
fontSize
:
'16px'
,
color
:
'rgb(199 194 194)'
}
}
/>
</
Tooltip
>
</
Space
>
)
:
(
<
Space
size=
"middle"
>
<
Tooltip
title=
"关联父模型"
>
<
ShareAltOutlined
onClick=
{
()
=>
associationModel
(
record
)
}
style=
{
{
fontSize
:
'16px'
,
color
:
'#1890FF'
}
}
/>
</
Tooltip
>
</
Space
>
)
}
<
Tooltip
title=
"删除"
>
<
DeleteOutlined
onClick=
{
()
=>
ondelete
(
record
)
}
...
...
@@ -374,7 +426,7 @@ const DrawBoardManage = () => {
children
:
aa
,
props
:
{},
};
obj
.
props
.
colSpan
=
record
.
rea
lModel
==
0
?
1
:
1
;
obj
.
props
.
colSpan
=
record
.
Re
lModel
==
0
?
1
:
1
;
return
obj
;
},
},
...
...
@@ -388,7 +440,7 @@ const DrawBoardManage = () => {
const
obj
=
{
children
:
(
<>
{
record
.
rea
lModel
==
0
?
(
{
record
.
Re
lModel
==
0
?
(
<
Space
size=
"middle"
>
<
Tooltip
title=
"新增"
>
<
PlusOutlined
...
...
@@ -404,7 +456,7 @@ const DrawBoardManage = () => {
),
props
:
{},
};
obj
.
props
.
colSpan
=
record
.
rea
lModel
==
0
?
1
:
1
;
obj
.
props
.
colSpan
=
record
.
Re
lModel
==
0
?
1
:
1
;
return
obj
;
},
},
...
...
@@ -420,6 +472,11 @@ const DrawBoardManage = () => {
setEditVisible
(
true
);
};
const
associationModel
=
e
=>
{
setObj
(
e
);
setAssociationVisible
(
true
);
};
const
onexport
=
e
=>
{
console
.
log
(
e
);
setObj
(
e
);
...
...
@@ -443,7 +500,7 @@ const DrawBoardManage = () => {
const
handleSearch
=
e
=>
{
setSearchWord
(
e
.
target
.
value
);
updateTableData
(
pickItem
.
name
,
e
.
target
.
value
);
//
updateTableData(pickItem.name, e.target.value);
};
const
addModal
=
()
=>
{
...
...
@@ -452,12 +509,53 @@ const DrawBoardManage = () => {
const
rowSelection
=
{
selectedRowKeys
,
onChange
:
(
selectedRowKeys
,
selectedRows
)
=>
{
setSelectedRowKeys
(
selectedRowKeys
);
console
.
log
(
selectedRowKeys
);
onChange
:
(
selectedRow
,
selectedRows
)
=>
{
if
(
selectedRow
.
length
<
selectedRowKeys
.
length
)
{
let
aa
;
// 找到取消勾选一级模形id
selectedRowKeys
.
map
(
i
=>
{
if
(
selectedRow
.
indexOf
(
i
)
==
-
1
)
{
aa
=
i
;
}
});
// 从已选数组中删除取消勾选一级模型的二级模型id
keepRow
.
map
(
j
=>
{
if
(
j
.
ID
==
aa
)
{
// 判断是否存在二级模型
if
(
j
.
children
)
{
j
.
children
.
map
(
ii
=>
{
selectedRow
.
splice
(
selectedRow
.
findIndex
(
item
=>
item
.
ID
===
ii
.
ID
),
1
);
});
}
}
});
setSelectedRowKeys
(
selectedRow
);
}
else
{
let
aa
=
selectedRow
;
// 找到勾选一级模型的二级模型id存入已勾选列表
selectedRows
.
map
(
i
=>
{
// 判断是否存在二级模型
if
(
i
.
children
)
{
i
.
children
.
map
(
i
=>
{
aa
.
push
(
i
.
ID
);
});
}
});
setSelectedRowKeys
(
Array
.
from
(
new
Set
(
aa
)));
}
setKeepRow
(
selectedRows
);
// 控制批量操作模型按钮样式
if
(
selectedRow
.
length
>
0
)
{
setSelectColor
({});
setMultiOperate
(
false
);
setMultiOperateButtonType
(
'primary'
);
}
else
{
setMultiOperate
(
true
);
setMultiOperateButtonType
(
'default'
);
}
},
renderCell
:
(
checked
,
record
,
index
,
originNode
)
=>
{
if
(
record
.
rea
lModel
!=
0
)
{
if
(
record
.
Re
lModel
!=
0
)
{
return
null
;
}
return
originNode
;
...
...
@@ -496,7 +594,7 @@ const DrawBoardManage = () => {
const
deleteModalData
=
()
=>
{
setTableLoading
(
true
);
DelModelType
({
modelId
:
changeObj
.
id
}).
then
(
res
=>
{
DelModelType
({
id
:
changeObj
.
ID
}).
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
code
===
0
)
{
setDeleteModalVisible
(
false
);
...
...
@@ -521,9 +619,9 @@ const DrawBoardManage = () => {
const
deleteData
=
()
=>
{
setTableLoading
(
true
);
deleteByModel
({
ids
:
obj
.
id
}).
then
(
res
=>
{
deleteByModel
({
ids
:
obj
.
ID
}).
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
setDeleteVisible
(
false
);
notification
.
success
({
message
:
'删除成功'
,
...
...
@@ -533,7 +631,7 @@ const DrawBoardManage = () => {
}
else
{
notification
.
error
({
message
:
'删除失败'
,
description
:
res
.
info
,
description
:
res
.
msg
,
});
}
});
...
...
@@ -547,7 +645,7 @@ const DrawBoardManage = () => {
setTableLoading
(
true
);
deleteByModel
({
ids
:
selectedRowKeys
.
toString
()
}).
then
(
res
=>
{
setTableLoading
(
false
);
if
(
res
.
statusCode
===
'0000'
)
{
if
(
res
.
code
===
0
)
{
setMultDeleteVisible
(
false
);
notification
.
success
({
message
:
'删除成功'
,
...
...
@@ -557,7 +655,7 @@ const DrawBoardManage = () => {
}
else
{
notification
.
error
({
message
:
'删除失败'
,
description
:
res
.
info
,
description
:
res
.
msg
,
});
}
});
...
...
@@ -579,7 +677,20 @@ const DrawBoardManage = () => {
};
const
onImportSubmit
=
()
=>
{
setPickItem
(
''
);
setImportVisible
(
false
);
setTreeLoading
(
true
);
typeList
().
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
setTreeLoading
(
false
);
updateTableData
(
''
,
searchWord
);
setTreeData
(
res
.
data
);
}
});
// updateTableData(pickItem.name, searchWord);
};
const
onAssociationSubmit
=
()
=>
{
updateTableData
(
pickItem
.
name
,
searchWord
);
};
...
...
@@ -608,9 +719,14 @@ const DrawBoardManage = () => {
}
};
const
ExportDataAll
=
()
=>
{
window
.
location
.
href
=
DownLoadModelType
({
modelList
:
'all'
});
// window.location.href = Export({ Ids: selectedRowKeys.toString() });
};
const
ExportSingle
=
e
=>
{
console
.
log
(
e
);
window
.
location
.
href
=
DownLoadModelTypeSingle
({
modeId
:
e
.
id
});
window
.
location
.
href
=
DownLoadModelTypeSingle
({
modeId
:
e
.
ID
});
};
const
choose
=
()
=>
{
...
...
@@ -619,6 +735,21 @@ const DrawBoardManage = () => {
updateTableDataAll
(
''
,
''
);
};
// 用户批量操作
const
userButtonMenu
=
(
<
Menu
>
{
/* <Menu.Item key="1" onClick={importFile} icon={<UploadOutlined />}>
批量导入模型
</Menu.Item> */
}
<
Menu
.
Item
key=
"1"
onClick=
{
ExportData
}
icon=
{
<
DownloadOutlined
/>
}
>
批量导出模型
</
Menu
.
Item
>
<
Menu
.
Item
key=
"2"
onClick=
{
multDeleteData
}
icon=
{
<
DeleteOutlined
/>
}
>
批量删除模型
</
Menu
.
Item
>
</
Menu
>
);
return
(
<
div
className=
{
styles
.
base_container
}
>
<
Card
style=
{
{
width
:
'100%'
,
height
:
'calc(100vh - 130px)'
}
}
>
...
...
@@ -669,7 +800,7 @@ const DrawBoardManage = () => {
<
div
className=
{
classnames
({
[
styles
.
listItem
]:
true
,
[
styles
.
pickItem
]:
item
.
id
===
pickItem
.
id
,
[
styles
.
pickItem
]:
item
.
ID
===
pickItem
.
ID
,
[
styles
.
listHover
]:
item
!==
pickItem
&&
item
===
hoverItemIndex
,
})
}
onClick=
{
e
=>
{
...
...
@@ -683,7 +814,7 @@ const DrawBoardManage = () => {
onMouseLeave=
{
()
=>
{
setHoverItemIndex
(
''
);
}
}
key=
{
item
.
id
}
key=
{
item
.
ID
}
>
<
div
className=
{
styles
.
title
}
>
<
span
>
{
item
.
name
}
</
span
>
...
...
@@ -726,8 +857,8 @@ const DrawBoardManage = () => {
<
Search
style=
{
{
width
:
260
}
}
placeholder=
"请输入关键词"
onSearch=
{
submitSearchUser
}
onChange=
{
e
=>
handleSearch
(
e
)
}
onSearch=
{
submitSearchUser
}
enterButton
value=
{
searchWord
}
/>
...
...
@@ -737,34 +868,45 @@ const DrawBoardManage = () => {
type=
"primary"
icon=
{
<
PlusOutlined
/>
}
onClick=
{
addTemplate
}
style=
{
{
margin
Lef
t
:
'20px'
}
}
style=
{
{
margin
Righ
t
:
'20px'
}
}
>
新增
</
Button
>
<
Button
type=
"primary"
icon=
{
<
DeleteOutlined
/>
}
onClick=
{
multDeleteData
}
style=
{
{
marginLeft
:
'20px'
}
}
>
删除
</
Button
>
<
Button
type=
"primary"
icon=
{
<
UploadOutlined
/>
}
onClick=
{
importFile
}
style=
{
{
margin
Lef
t
:
'20px'
}
}
style=
{
{
margin
Righ
t
:
'20px'
}
}
>
导入
</
Button
>
<
Button
type=
"primary"
icon=
{
<
DownloadOutlined
/>
}
onClick=
{
ExportData
}
onClick=
{
ExportDataAll
}
style=
{
{
marginRight
:
'20px'
}
}
>
导出全部
</
Button
>
{
/* <Button
type="primary"
icon={<DeleteOutlined />}
onClick={multDeleteData}
style={{ marginLeft: '20px' }}
>
导出
删除
</Button>
*/
}
<
Dropdown
overlay=
{
userButtonMenu
}
disabled=
{
multiOperate
}
style=
{
{
marginRight
:
'20px'
}
}
>
<
Button
type=
{
multiOperateButtonType
}
>
模型批量操作
<
DownOutlined
/>
</
Button
>
</
Dropdown
>
</
div
>
</
div
>
<
Table
...
...
@@ -773,10 +915,10 @@ const DrawBoardManage = () => {
size=
"small"
expandIconAsCell=
{
false
}
expandIconColumnIndex=
{
-
1
}
rowKey=
{
record
=>
record
.
id
}
rowKey=
{
record
=>
record
.
ID
}
locale=
{
zhCN
}
bordered
expandedRowKeys=
{
selectGroup
.
map
(
item
=>
item
.
id
)
}
expandedRowKeys=
{
selectGroup
.
map
(
item
=>
item
.
ID
)
}
// expandRowByClick
columns=
{
columns
}
dataSource=
{
tableData
}
...
...
@@ -785,16 +927,19 @@ const DrawBoardManage = () => {
scroll=
{
{
y
:
'calc(100vh - 262px)'
,
x
:
'800px'
}
}
onExpand=
{
onUnfold
}
onRow=
{
record
=>
({
//
onDoubleClick: event =>
{
//
event.stopPropagation();
// editEventType
(record);
//
},
// 双击
onDoubleClick
:
event
=>
{
event
.
stopPropagation
();
onedit
(
record
);
},
// 双击
onClick
:
e
=>
{
setSelectColor
(
record
);
},
})
}
pagination=
{
{
showTotal
:
(
total
,
range
)
=>
`第${range[0]}-${range[1]} 条/共 ${total} 条`
,
showTotal
:
(
total
,
range
)
=>
{
// console.log(range);
return
`共 ${totalData} 条`
;
},
pageSizeOptions
:
[
10
,
20
,
50
,
100
],
defaultPageSize
:
10
,
showQuickJumper
:
true
,
...
...
@@ -812,13 +957,13 @@ const DrawBoardManage = () => {
<
AddModal
visible=
{
addModalVisible
}
onCancel=
{
()
=>
setAddModalVisible
(
false
)
}
updateTrees=
{
updateTrees
}
callBackSubmit=
{
addBack
}
/>
<
EditModal
visible=
{
editModalVisible
}
onCancel=
{
()
=>
setEditModalVisible
(
false
)
}
updateTrees=
{
updateTrees
}
changeObj=
{
changeObj
}
callBackSubmit=
{
editBack
}
/>
<
AddTemplate
visible=
{
addTemplateVisible
}
...
...
@@ -866,7 +1011,7 @@ const DrawBoardManage = () => {
cancelText=
"取消"
onOk=
{
deleteData
}
>
<
span
>
是否删除该
数据
</
span
>
<
span
>
是否删除该
模型
</
span
>
</
Modal
>
<
Modal
visible=
{
multDeleteVisible
}
...
...
@@ -876,13 +1021,19 @@ const DrawBoardManage = () => {
cancelText=
"取消"
onOk=
{
multDelete
}
>
<
span
>
是否批量删除所选
数据
</
span
>
<
span
>
是否批量删除所选
模型
</
span
>
</
Modal
>
<
ImportModal
visible=
{
importVisible
}
onCancel=
{
()
=>
setImportVisible
(
false
)
}
callBackSubmit=
{
onImportSubmit
}
/>
<
AssociationModel
visible=
{
associationVisible
}
obj=
{
obj
}
onCancel=
{
()
=>
setAssociationVisible
(
false
)
}
callBackSubmit=
{
onAssociationSubmit
}
/>
</
div
>
);
};
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/EditModal.jsx
View file @
13f218bc
...
...
@@ -2,7 +2,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-07 10:23:26
* @LastEditTime: 2022-0
4-11 16:24:40
* @LastEditTime: 2022-0
5-20 09:30:13
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
}
from
'react'
;
...
...
@@ -10,7 +10,7 @@ import { Modal, Form, Input, notification, message } from 'antd';
import
{
UpdateModelType
}
from
'@/services/drawBoardManage/api'
;
const
EditModal
=
props
=>
{
const
{
visible
,
onCancel
,
updateTrees
,
changeObj
}
=
props
;
const
{
visible
,
onCancel
,
changeObj
,
callBackSubmit
=
()
=>
{}
}
=
props
;
const
[
addForm
]
=
Form
.
useForm
();
useEffect
(()
=>
{
...
...
@@ -18,18 +18,19 @@ const EditModal = props => {
},
[
visible
]);
const
submitEdit
=
()
=>
{
console
.
log
(
changeObj
);
console
.
log
(
addForm
.
getFieldValue
(
'name'
));
if
(
addForm
.
getFieldValue
(
'name'
))
{
UpdateModelType
({
model
Name
:
addForm
.
getFieldValue
(
'name'
),
modelId
:
changeObj
.
id
})
UpdateModelType
({
model
TypeName
:
addForm
.
getFieldValue
(
'name'
),
id
:
changeObj
.
ID
})
.
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
callBackSubmit
(
addForm
.
getFieldValue
(
'name'
));
onCancel
();
notification
.
success
({
message
:
'提交成功'
,
duration
:
2
,
});
// 重新获取机构树与用户表
updateTrees
();
}
else
{
notification
.
error
({
message
:
'提交失败'
,
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/EditTemplate.jsx
View file @
13f218bc
...
...
@@ -26,10 +26,10 @@ const EditTemplate = props => {
addTemplateForm
.
resetFields
();
console
.
log
(
pickItem
);
console
.
log
(
obj
);
if
(
obj
.
model
Path
)
{
let
index
=
obj
.
model
Path
.
lastIndexOf
(
'
\
\'
);
let ab = obj.
modelPath.substring(index + 1, obj.model
Path.length);
let a = JSON.parse(obj.
size
);
if
(
obj
.
Path
)
{
let
index
=
obj
.
Path
.
lastIndexOf
(
'
\
\'
);
let ab = obj.
Path.substring(index + 1, obj.
Path.length);
let a = JSON.parse(obj.
Json
);
console.log(a);
let aa;
let bb;
...
...
@@ -43,8 +43,8 @@ const EditTemplate = props => {
}
}
addTemplateForm.setFieldsValue({
Name: obj.
n
ame,
Type: obj.
t
ypeName,
Name: obj.
ModelN
ame,
Type: obj.
ModelT
ypeName,
ModelFile: ab,
imageWidth: aa,
imageHeight: bb,
...
...
@@ -61,11 +61,11 @@ const EditTemplate = props => {
console.log(aa);
console.log(file);
const formData = new FormData();
formData.append('
ModelName
', addTemplateForm.getFieldsValue().
Nam
e);
formData.append('
ModelType
', obj.
t
ypeName);
formData.append('
ModelName
', addTemplateForm.getFieldsValue().
ModelFil
e);
formData.append('
ModelType
', obj.
ModelT
ypeName);
formData.append('
width
', aa.width);
formData.append('
height
', aa.height);
formData.append('
ID
', obj.
id
);
formData.append('
ID
', obj.
ID
);
formData.append('
ModelFile
', file);
// if (obj.realModal != 0) {
// formData.append('
RelModel
', obj.realModel);
...
...
@@ -77,13 +77,13 @@ const EditTemplate = props => {
notification.success({
message: '
提示
',
duration: 3,
description: res.
info
,
description: res.
msg
,
});
} else {
notification.error({
message: '
提示
',
duration: 3,
description: res.
errM
sg,
description: res.
m
sg,
});
}
});
...
...
@@ -111,7 +111,7 @@ const EditTemplate = props => {
imageWidth: `${image.width}px`,
imageHeight: `${image.height}px`,
ModelFile: file.name,
//
Name: file.name.substring(0, file.name.lastIndexOf('
.
')),
Name: file.name.substring(0, file.name.lastIndexOf('
.
')),
});
};
// };
...
...
@@ -169,7 +169,7 @@ const EditTemplate = props => {
},
]}
>
<Input placeholder="仅支持png和svg格式" />
<Input placeholder="仅支持png和svg格式"
disabled
/>
</Form.Item>
</Col>
<Col span={7}>
...
...
src/pages/platformCenter/baseFrameContainer/drawBoardManage/ImportModal.jsx
View file @
13f218bc
...
...
@@ -2,7 +2,7 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-11 18:12:39
* @LastEditTime: 2022-0
4-14 15:57:18
* @LastEditTime: 2022-0
5-19 17:28:25
* @LastEditors: leizhe
*/
import
React
,
{
useEffect
,
useState
}
from
'react'
;
...
...
@@ -13,8 +13,10 @@ const ImportModal = props => {
const
{
visible
,
onCancel
,
callBackSubmit
=
()
=>
{}
}
=
props
;
const
[
addForm
]
=
Form
.
useForm
();
const
[
file
,
setFile
]
=
useState
(
''
);
const
[
load
,
setLoad
]
=
useState
(
false
);
// 提交加载
useEffect
(()
=>
{
setLoad
(
false
);
addForm
.
resetFields
();
},
[
visible
]);
...
...
@@ -32,22 +34,24 @@ const ImportModal = props => {
const
importData
=
()
=>
{
addForm
.
validateFields
().
then
(
validate
=>
{
if
(
validate
)
{
setLoad
(
true
);
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
);
Import
(
formData
).
then
(
res
=>
{
if
(
res
.
statusCode
===
'0000'
)
{
setLoad
(
false
);
if
(
res
.
code
===
0
)
{
callBackSubmit
();
addForm
.
resetFields
();
notification
.
success
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
info
,
description
:
res
.
msg
,
});
}
else
{
notification
.
error
({
message
:
'提示'
,
duration
:
3
,
description
:
res
.
errM
sg
,
description
:
res
.
m
sg
,
});
}
});
...
...
@@ -61,6 +65,7 @@ const ImportModal = props => {
onCancel=
{
onCancel
}
destroyOnClose
onOk=
{
importData
}
confirmLoading=
{
load
}
afterClose=
{
()
=>
{
addForm
.
resetFields
();
}
}
...
...
src/pages/productCenter/mobileConfig/menuconfig/addForm.less
View file @
13f218bc
.formStyle{
margin-bottom: 40px;
padding-bottom: 30px;
// height: 100%;
// overflow-y: scroll;
}
.formbtn{
.formbtn {
position: fixed;
bottom: 40px;
right:
40%
right:
40%;
}
.divbox{
.divbox
{
height: 100%;
overflow: hidden;
}
\ No newline at end of file
}
.formStyle {
margin-bottom: 40px;
padding-bottom: 30px;
}
.rolebox {
display: flex;
justify-content: space-between;
flex-wrap: nowrap;
}
.cardItemData {
display: flex;
justify-content: space-around;
width: 100%;
padding: 1rem;
border: 1px solid #b5b8c8;
margin-bottom: 1rem;
overflow-x: scroll;
}
.divBox {
// display: flex;
width: 100%;
flex-wrap: wrap;
border: 1px solid #c2cdfd;
border-radius: 5px;
margin-top: 20px;
min-height: 50px;
padding: 0 10px 10px 20px;
.ant-checkbox-wrapper {
background-color: #fff;
}
.topCheckbox {
height: 20px;
margin: -10px 0 0 0px;
line-height: 20px;
}
.topCheckbox > label :hover {
font-weight: 600;
}
.checkdiv {
display: flex;
flex-wrap: wrap;
// margin-left: 20px;
// justify-content: space-between;
}
}
.boe {
border: 1px solid #d9d9d9;
width: 100%;
}
src/pages/productCenter/mobileConfig/menuconfig/editForm.jsx
View file @
13f218bc
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Form
,
Input
,
Button
,
Row
,
Col
,
notification
}
from
'antd'
;
import
{
Form
,
Input
,
Button
,
Row
,
Col
,
notification
,
Checkbox
}
from
'antd'
;
import
classnames
from
'classnames'
;
import
styles
from
'./addForm.less'
;
import
PicturesWall
from
'@/components/Upload/index'
;
...
...
@@ -8,10 +8,14 @@ import CheckList from './checkBox';
const
{
Item
}
=
Form
;
const
EditForm
=
props
=>
{
const
{
submitCallback
,
nodeType
,
info
,
valueCallback
=
()
=>
{}
}
=
props
;
const
{
submitCallback
,
nodeType
,
info
,
inf
,
checkList
,
valueCallback
=
()
=>
{}
}
=
props
;
const
[
form
]
=
Form
.
useForm
();
const
[
otherForm
]
=
Form
.
useForm
();
const
[
showParmarModal
,
setShowParmarModal
]
=
useState
(
false
);
const
[
choo
,
setChoo
]
=
useState
(
false
);
// 最外层复选框状态
const
[
indeterminate
,
setIndeterminate
]
=
useState
([]);
const
[
plainOptions
,
setPlainOptions
]
=
useState
([]);
// 存储一级数据
const
[
indeterminateAll
,
setIndeterminateAll
]
=
useState
(
false
);
const
layout
=
{
layout
:
'horizontal'
,
labelCol
:
{
span
:
2
,
offset
:
0
},
...
...
@@ -21,26 +25,66 @@ const EditForm = props => {
useEffect
(()
=>
{
form
.
resetFields
();
otherForm
.
resetFields
();
setPlainOptions
(
inf
);
},
[
info
]);
useEffect
(()
=>
{
if
(
JSON
.
stringify
(
info
)
!=
'{}'
)
{
let
data
=
info
.
data
;
if
(
nodeType
===
1
||
nodeType
===
2
)
{
let
arr
=
Object
.
keys
(
form
.
getFieldsValue
());
let
obj
=
{};
arr
.
map
(
i
=>
{
obj
[
i
]
=
data
[
i
];
console
.
log
(
info
);
if
(
nodeType
===
1
||
nodeType
===
2
)
{
let
arr
=
Object
.
keys
(
form
.
getFieldsValue
());
let
obj
=
{};
arr
.
map
(
i
=>
{
obj
[
i
]
=
info
[
i
];
});
form
.
setFieldsValue
({
...
obj
,
shortName
:
info
.
menuShortName
});
}
if
(
nodeType
===
3
||
nodeType
===
4
)
{
let
arr
=
Object
.
keys
(
otherForm
.
getFieldsValue
());
let
obj
=
{};
arr
.
map
(
i
=>
{
obj
[
i
]
=
info
[
i
];
});
otherForm
.
setFieldsValue
({
...
obj
,
shortName
:
info
.
menuShortName
});
}
if
(
inf
.
length
>
0
)
{
let
list
=
[];
inf
.
map
(
item
=>
{
list
.
push
(
item
);
});
let
chooseData
=
[];
let
listData
=
[];
list
.
forEach
((
item
,
index
)
=>
{
chooseData
.
push
(
!!
list
[
index
].
checkedList
.
size
&&
list
[
index
].
checkedList
.
size
<
list
[
index
].
list
.
length
,
);
item
.
list
.
map
(
i
=>
{
listData
.
push
(
i
.
related
);
});
form
.
setFieldsValue
({
...
obj
,
shortName
:
data
.
menuShortName
});
}
if
(
nodeType
===
3
||
nodeType
===
4
)
{
let
arr
=
Object
.
keys
(
otherForm
.
getFieldsValue
());
let
obj
=
{};
arr
.
map
(
i
=>
{
obj
[
i
]
=
data
[
i
];
});
let
data
=
new
Set
();
let
datalist
=
[];
inf
.
map
(
item
=>
{
if
(
item
.
isChecked
==
true
)
{
data
.
add
(
item
.
groupName
);
}
});
list
.
map
((
k
,
i
)
=>
{
k
.
list
.
map
(
p
=>
{
datalist
.
push
(
p
.
related
);
});
otherForm
.
setFieldsValue
({
...
obj
,
shortName
:
data
.
menuShortName
});
});
if
(
data
.
size
==
inf
.
length
)
{
setChoo
(
true
);
}
else
{
setChoo
(
false
);
}
if
(
datalist
.
indexOf
(
true
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
if
(
datalist
.
indexOf
(
false
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
{
setIndeterminateAll
(
true
);
}
setIndeterminate
(
chooseData
);
}
},
[
info
]);
...
...
@@ -53,6 +97,19 @@ const EditForm = props => {
if
(
nodeType
===
3
||
nodeType
===
4
)
{
let
obj
=
otherForm
.
getFieldsValue
();
console
.
log
(
obj
,
'3,4'
);
console
.
log
(
obj
);
console
.
log
(
plainOptions
);
let
data
=
[];
plainOptions
.
map
(
item
=>
{
item
.
checkedList
.
forEach
(
i
=>
{
data
.
push
(
i
);
});
});
if
(
data
.
length
>
0
)
{
obj
.
relatedRoleList
=
data
.
toString
();
}
else
{
obj
.
relatedRoleList
=
''
;
}
submitCallback
(
obj
);
}
};
...
...
@@ -68,6 +125,143 @@ const EditForm = props => {
}
setShowParmarModal
(
true
);
};
// 全选复选框改变事件
const
checkAll
=
()
=>
{
let
list
=
[];
plainOptions
.
map
(
item
=>
{
list
.
push
(
item
);
});
if
(
choo
==
false
)
{
indeterminate
.
forEach
((
i
,
j
)
=>
{
if
(
i
==
true
)
{
indeterminate
[
j
]
=
false
;
}
});
setChoo
(
true
);
list
.
map
((
item
,
index
)
=>
{
item
.
isChecked
=
true
;
item
.
list
.
map
(
i
=>
{
i
.
related
=
true
;
list
[
index
].
checkedList
.
add
(
i
.
relatedRoleCode
);
});
});
}
else
{
setChoo
(
false
);
list
.
map
((
item
,
index
)
=>
{
item
.
isChecked
=
false
;
item
.
list
.
map
(
i
=>
{
i
.
related
=
false
;
list
[
index
].
checkedList
.
delete
(
i
.
relatedRoleCode
);
});
});
}
setIndeterminateAll
(
false
);
setPlainOptions
(
list
);
};
// 一级复选框改变事件
const
selectChange
=
(
e
,
index
,
value
)
=>
{
let
list
=
[];
plainOptions
.
map
(
item
=>
{
list
.
push
(
item
);
});
list
[
index
].
isChecked
=
e
.
target
.
checked
;
if
(
e
.
target
.
checked
)
{
checkList
.
add
(
list
[
index
].
groupName
);
list
[
index
].
list
.
map
(
i
=>
{
i
.
related
=
true
;
list
[
index
].
checkedList
.
add
(
i
.
relatedRoleCode
);
});
}
else
{
checkList
.
delete
(
list
[
index
].
groupName
);
list
[
index
].
list
.
map
(
i
=>
{
i
.
related
=
false
;
list
[
index
].
checkedList
.
delete
(
i
.
relatedRoleCode
);
});
}
const
indeterminateArr
=
[...
indeterminate
];
indeterminateArr
[
index
]
=
false
;
setIndeterminate
(
indeterminateArr
);
let
flag
=
[];
let
data
=
[];
list
.
map
(
item
=>
{
if
(
item
.
isChecked
==
false
)
{
flag
.
push
(
item
);
}
});
list
.
map
((
k
,
i
)
=>
{
k
.
list
.
map
(
p
=>
{
data
.
push
(
p
.
related
);
});
});
if
(
data
.
indexOf
(
true
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
if
(
data
.
indexOf
(
false
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
{
setIndeterminateAll
(
true
);
}
if
(
flag
.
length
>
0
)
{
setChoo
(
false
);
}
else
{
setChoo
(
true
);
}
setPlainOptions
(
list
);
};
// 二级复选框改变事件
const
handleChecked
=
(
e
,
index
,
value
,
i
)
=>
{
let
list
=
[];
plainOptions
.
map
(
item
=>
{
list
.
push
(
item
);
});
list
[
index
].
list
[
i
].
related
=
e
.
target
.
checked
;
if
(
e
.
target
.
checked
)
{
list
[
index
].
checkedList
.
add
(
list
[
index
].
list
[
i
].
relatedRoleCode
);
}
else
{
list
[
index
].
checkedList
.
delete
(
list
[
index
].
list
[
i
].
relatedRoleCode
);
}
const
indeterminateArr
=
[...
indeterminate
];
indeterminateArr
[
index
]
=
!!
list
[
index
].
checkedList
.
size
&&
list
[
index
].
checkedList
.
size
<
list
[
index
].
list
.
length
;
setIndeterminate
(
indeterminateArr
);
if
(
list
[
index
].
checkedList
.
size
==
0
||
list
[
index
].
checkedList
.
size
<
list
[
index
].
list
.
length
)
{
list
[
index
].
isChecked
=
false
;
}
if
(
list
[
index
].
checkedList
.
size
==
list
[
index
].
list
.
length
)
{
list
[
index
].
isChecked
=
true
;
}
let
flag
=
[];
let
data
=
[];
list
.
map
(
item
=>
{
if
(
item
.
isChecked
==
false
)
{
flag
.
push
(
item
);
}
});
list
.
map
((
k
,
i
)
=>
{
k
.
list
.
map
(
p
=>
{
data
.
push
(
p
.
related
);
});
// data.push(list[i].isChecked);
});
if
(
data
.
indexOf
(
true
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
if
(
data
.
indexOf
(
false
)
==
-
1
)
{
setIndeterminateAll
(
false
);
}
else
{
setIndeterminateAll
(
true
);
}
if
(
flag
.
length
>
0
)
{
setChoo
(
false
);
}
else
{
setChoo
(
true
);
}
setPlainOptions
(
list
);
};
return
(
<
div
className=
{
classnames
({
[
styles
.
divbox
]:
true
})
}
>
{
(
nodeType
===
1
||
nodeType
===
2
)
&&
(
...
...
@@ -222,12 +416,101 @@ const EditForm = props => {
<
Item
label=
"功能参数"
name=
"funParam"
style=
{
{
marginLeft
:
'11px'
}
}
>
<
Input
style=
{
{
width
:
'100%'
}
}
/>
</
Item
>
<
CheckList
{
/*
<CheckList
info={info.data ? info.data : {}}
nodeType={nodeType}
valueCallback={valueCallback}
style={{ width: '100%' }}
/>
/> */
}
<
div
className=
{
styles
.
boe
}
>
<
div
style=
{
{
width
:
'95%'
,
marginLeft
:
'2%'
,
marginTop
:
'10px'
,
marginBottom
:
'20px'
}
}
>
<
div
style=
{
{
marginTop
:
'-23px'
,
backgroundColor
:
'white'
,
width
:
'92px'
}
}
>
<
Checkbox
onChange=
{
checkAll
}
checked=
{
choo
}
nodeType=
{
nodeType
}
indeterminate=
{
indeterminateAll
}
>
<
span
style=
{
{
fontWeight
:
'bold'
,
fontSize
:
'15px'
}
}
>
关联角色
</
span
>
</
Checkbox
>
</
div
>
{
plainOptions
&&
plainOptions
.
length
>
0
?
(
plainOptions
.
map
((
item
,
index
)
=>
{
return
(
<
div
className=
{
classnames
({
[
styles
.
divBox
]:
item
.
groupName
.
length
>
0
,
})
}
>
<
div
style=
{
{
marginTop
:
'-12px'
}
}
>
{
item
.
groupName
.
length
==
0
?
(
<
span
style=
{
{
marginLeft
:
'15px'
,
marginTop
:
'0px'
}
}
/>
)
:
(
<
Checkbox
onChange=
{
e
=>
{
selectChange
(
e
,
index
,
item
);
}
}
checked=
{
item
.
isChecked
}
indeterminate=
{
indeterminate
[
index
]
}
>
<
span
style=
{
{
fontWeight
:
'bold'
,
fontSize
:
'15px'
}
}
>
{
item
.
groupName
}
</
span
>
</
Checkbox
>
)
}
</
div
>
<
div
style=
{
{
marginLeft
:
'0px'
,
marginTop
:
'5px'
}
}
>
{
item
.
groupName
.
length
==
0
?
(
<>
<
Row
>
{
item
.
list
.
map
((
val
,
i
)
=>
{
return
(
<
Col
span=
{
4
}
style=
{
{
marginBottom
:
'10px'
}
}
>
<
Checkbox
onChange=
{
e
=>
{
handleChecked
(
e
,
index
,
item
,
i
);
}
}
checked=
{
val
.
related
}
>
{
val
.
relatedRoleName
}
</
Checkbox
>
</
Col
>
);
})
}
</
Row
>
</>
)
:
(
<>
<
Row
>
{
item
.
list
.
map
((
val
,
i
)
=>
{
return
(
<
Col
span=
{
4
}
>
<
Checkbox
onChange=
{
e
=>
{
handleChecked
(
e
,
index
,
item
,
i
);
}
}
checked=
{
val
.
related
}
>
{
val
.
relatedRoleName
}
</
Checkbox
>
</
Col
>
);
})
}
</
Row
>
</>
)
}
</
div
>
</
div
>
);
})
)
:
(
<
span
/>
)
}
</
div
>
</
div
>
<
Item
wrapperCol=
{
{
offset
:
10
}
}
>
<
Button
type=
"primary"
htmlType=
"submit"
>
提交
...
...
src/pages/productCenter/mobileConfig/menuconfig/miniMenu.jsx
View file @
13f218bc
...
...
@@ -24,6 +24,7 @@ import Tree from '@/components/ExpendableTree';
import
AddForm
from
'./AddForm'
;
import
EditForm
from
'./editForm'
;
import
CheckList
from
'./checkBox'
;
import
{
setIn
}
from
'immutable'
;
const
MiniMenu
=
props
=>
{
const
{
userMode
,
clientName
,
parentKey
}
=
props
;
...
...
@@ -50,6 +51,8 @@ const MiniMenu = props => {
const
[
keepId
,
setKeepId
]
=
useState
(
''
);
const
[
mapDataList
,
setMapDataList
]
=
useState
(
new
Set
());
const
[
keepType
,
setKeepType
]
=
useState
(
''
);
const
[
inf
,
setInf
]
=
useState
({});
const
[
checkList
,
setCheckList
]
=
useState
([]);
// 获取菜单树
useEffect
(()
=>
{
...
...
@@ -270,7 +273,26 @@ const MiniMenu = props => {
.
then
(
res
=>
{
setLoading
(
false
);
if
(
res
.
code
===
0
)
{
setInfo
({
...
res
});
let
infoList
=
res
.
data
.
relatedRoleList
.
map
(
item
=>
({
groupName
:
item
.
groupName
,
isChecked
:
item
.
isChecked
,
list
:
item
.
list
,
checkedList
:
new
Set
([]),
}));
setInf
(
infoList
);
setInfo
({
...
res
.
data
});
let
data
=
new
Set
();
infoList
.
map
(
item
=>
{
if
(
item
.
isChecked
==
true
)
{
data
.
add
(
item
.
groupName
);
}
item
.
list
.
map
(
i
=>
{
if
(
i
.
related
)
{
item
.
checkedList
.
add
(
i
.
relatedRoleCode
);
}
});
});
setCheckList
(
data
);
}
else
{
notification
.
error
({
message
:
'提示'
,
...
...
@@ -416,9 +438,9 @@ const MiniMenu = props => {
setLoading
(
true
);
console
.
log
(
prop
);
let
obj
=
{
...
prop
};
if
(
nodeType
===
3
||
nodeType
===
4
)
{
obj
.
relatedRoleList
=
String
(
roleList
)
||
''
;
}
//
if (nodeType === 3 || nodeType === 4) {
//
obj.relatedRoleList = String(roleList) || '';
//
}
editMenu
({
_dc
:
Date
.
now
(),
menuID
,
...
...
@@ -755,6 +777,8 @@ const MiniMenu = props => {
<
EditForm
nodeType=
{
nodeType
}
info=
{
info
}
inf=
{
inf
}
checkList=
{
checkList
}
submitCallback=
{
editSubmitCallback
}
valueCallback=
{
valueCallback
}
/>
...
...
src/pages/productCenter/webConfig/menuconfig/editForm.jsx
View file @
13f218bc
...
...
@@ -47,6 +47,8 @@ const EditForm = props => {
};
// 回显表单
useEffect
(()
=>
{
console
.
log
(
info
);
console
.
log
(
infoAll
);
form
.
resetFields
();
otherForm
.
resetFields
();
setPlainOptions
(
info
);
...
...
src/services/drawBoardManage/api.js
View file @
13f218bc
...
...
@@ -2,40 +2,44 @@
* @Description:
* @Author: leizhe
* @Date: 2022-04-06 17:28:30
* @LastEditTime: 2022-05-1
3 09:54:37
* @LastEditTime: 2022-05-1
9 19:31:58
* @LastEditors: leizhe
*/
import
{
get
,
post
,
postForm
,
PUBLISH_SERVICE
,
WebSERVICE
,
CoreSERVICE
}
from
'@/services/index'
;
export
const
typeList
=
param
=>
get
(
`
${
WebSERVICE
}
/ModelType/ModelType/TypeList
`
,
param
);
export
const
typeList
=
param
=>
get
(
`
${
PUBLISH_SERVICE
}
/ModelType/GetModelType
`
,
param
);
// export const typeList = param => get(`${CoreSERVICE}/ModelType/List`, param);
export
const
modelManageList
=
param
=>
get
(
`
${
WebSERVICE
}
/Models/Models/ModelManageList`
,
param
);
export
const
modelManageList
=
param
=>
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/GetModelInfo`
,
param
);
export
const
modelManageListAll
=
param
=>
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/GetModelInfo`
,
param
);
// export const modelManageList = param => get(`${CoreSERVICE}/Model/ModelList`, param);
export
const
SaveUpload
=
query
=>
post
(
`
${
WebSERVICE
}
/Models/Models/SaveUpload`
,
query
,
{
headers
:
{
'Content-Type'
:
'multipart/form-data;charset=UTF-8'
,
},
});
// export const SaveUpload = query =>
// post(`${
CoreSERVICE}/Model/Save
`, query, {
// post(`${
WebSERVICE}/Models/Models/SaveUpload
`, query, {
// headers: {
// 'Content-Type': 'multipart/form-data;charset=UTF-8',
// },
// });
export
const
SaveUpload
=
query
=>
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/AddModelInfo`
,
query
,
{
headers
:
{
'Content-Type'
:
'multipart/form-data;charset=UTF-8'
,
},
});
export
const
Save
=
param
=>
get
(
`
${
WebSERVICE
}
/ModelType/ModelType/Save`
,
param
);
// export const Save = param => get(`${WebSERVICE}/ModelType/ModelType/Save`, param);
export
const
Save
=
param
=>
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/AddModelType`
,
param
);
export
const
deleteByModel
=
param
=>
get
(
`
${
WebSERVICE
}
/Models/Models/DeleteByModel`
,
param
);
// export const deleteByModel = param => get(`${WebSERVICE}/Models/Models/DeleteByModel`, param);
export
const
deleteByModel
=
param
=>
get
(
`
${
PUBLISH_SERVICE
}
/ModelType/DeleteModel`
,
param
);
export
const
UpdateModelType
=
param
=>
ge
t
(
`
${
PUBLISH_SERVICE
}
/ModelType/UpdateModelType`
,
param
);
export
const
UpdateModelType
=
param
=>
pos
t
(
`
${
PUBLISH_SERVICE
}
/ModelType/UpdateModelType`
,
param
);
export
const
DelModelType
=
param
=>
ge
t
(
`
${
PUBLISH_SERVICE
}
/ModelType/DelModelType`
,
param
);
export
const
DelModelType
=
param
=>
pos
t
(
`
${
PUBLISH_SERVICE
}
/ModelType/DelModelType`
,
param
);
export
const
Import
=
query
=>
post
(
`
${
WebSERVICE
}
/Models/Models/Import
`
,
query
,
{
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/UpLoadModel
`
,
query
,
{
headers
:
{
'Content-Type'
:
'multipart/form-data;charset=UTF-8'
,
},
...
...
@@ -58,3 +62,5 @@ export const DownLoadModelTypeSingle = query =>
`
${
PUBLISH_SERVICE
}
/ModelType/DownLoadModelTypeSingle?modeId=
${
query
.
modeId
}
`
;
export
const
Export
=
query
=>
`
${
WebSERVICE
}
/Models/Models/Export?Ids=
${
query
.
Ids
}
`
;
export
const
UpdateParentId
=
param
=>
post
(
`
${
PUBLISH_SERVICE
}
/ModelType/UpdateParentId`
,
param
);
src/services/mobileConfig/api.js
View file @
13f218bc
/*
* @Description:
* @Author: leizhe
* @Date: 2021-12-23 17:51:09
* @LastEditTime: 2022-05-20 11:47:20
* @LastEditors: leizhe
*/
import
{
get
,
post
,
PUBLISH_SERVICE
,
CITY_SERVICE
}
from
'@/services/index'
;
import
qs
from
'qs'
;
/**
* @param {*} params
*/
export
const
miniAppSiteTree
=
params
=>
get
(
`
${
CITY_SERVICE
}
/OMS.svc/MiniAppSiteTree`
,
params
);
export
const
miniAppSiteTree
=
params
=>
get
(
`
${
CITY_SERVICE
}
/OMS.svc/MiniAppSiteTree`
,
params
);
/**
* 获取网站配置
* @param {*} params
* title:'名称'
*/
export
const
getWebsite
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_GetWebsite`
,
params
);
export
const
getWebsite
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_GetWebsite`
,
params
);
/**
*
* @param {*} params
...
...
@@ -31,11 +36,7 @@ export const getWebsite = params =>
export
const
editWebsite
=
(
params
,
options
)
=>
{
let
strParams
=
params
;
let
qsParams
=
strParams
;
return
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_EditWebsite?_version=9999`
,
qsParams
,
options
,
);
return
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_EditWebsite?_version=9999`
,
qsParams
,
options
);
};
/**
...
...
@@ -64,8 +65,7 @@ export const getMiniAppModuleTree = params =>
relatedRoleList: //角色数组
}
*/
export
const
addMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_AddMenu`
,
params
);
export
const
addMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_AddMenu`
,
params
);
// 获取菜单详情
/**
...
...
@@ -73,16 +73,13 @@ export const addMenu = params =>
* menuID:''
* }
*/
export
const
getMenuInfo
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/PlatformCenter/Mini_GetMenuInfo`
,
params
);
export
const
getMenuInfo
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/PlatformCenter/GetMenuInfo`
,
params
);
// 编辑菜单
export
const
editMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_EditMenu`
,
params
);
export
const
editMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_EditMenu`
,
params
);
// 删除菜单
export
const
deleteMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_DeleteMenu`
,
params
);
export
const
deleteMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_DeleteMenu`
,
params
);
// 获取角色列表
export
const
getRoleListPlain
=
params
=>
...
...
@@ -95,19 +92,13 @@ export const deleteWebsite = params =>
export
const
addWebsite
=
(
params
,
options
)
=>
// let strParams = JSON.stringify(params);
// let qsParams = qs.stringify({ config: strParams });
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_AddWebsite?_version=9999`
,
params
,
options
,
);
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/MiniApp_AddWebsite?_version=9999`
,
params
,
options
);
// 菜单拖拽
export
const
dragMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/DragMenu `
,
params
);
export
const
dragMenu
=
params
=>
post
(
`
${
PUBLISH_SERVICE
}
/WebSite/DragMenu `
,
params
);
export
const
deleteMiniMenu
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/PlatformCenter/DeleteMiniMenu`
,
params
);
// 获取移动应用上传APK信息
export
const
getMobileFiles
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/FileCenter/GetMobileFiles`
,
params
);
export
const
getMobileFiles
=
params
=>
get
(
`
${
PUBLISH_SERVICE
}
/FileCenter/GetMobileFiles`
,
params
);
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