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
7f4aad6c
Commit
7f4aad6c
authored
Nov 18, 2022
by
邓超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 修改流程节点样式及交互,添加子节点配置
parent
937c79b3
Pipeline
#64064
passed with stages
Changes
16
Pipelines
1
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
649 additions
and
41 deletions
+649
-41
gatewayCondition.svg
src/assets/images/workFlow/gatewayCondition.svg
+18
-0
gatewayJoin.svg
src/assets/images/workFlow/gatewayJoin.svg
+16
-0
gatewayParallel.svg
src/assets/images/workFlow/gatewayParallel.svg
+16
-0
nodeEnd.svg
src/assets/images/workFlow/nodeEnd.svg
+19
-0
nodeGeneral.svg
src/assets/images/workFlow/nodeGeneral.svg
+19
-0
nodeStart.svg
src/assets/images/workFlow/nodeStart.svg
+16
-0
nodesubprocess.svg
src/assets/images/workFlow/nodesubprocess.svg
+16
-0
subprocessicon.svg
src/assets/images/workFlow/subprocessicon.svg
+61
-0
subprocessicon1.svg
src/assets/images/workFlow/subprocessicon1.svg
+14
-0
FlowChart.jsx
...r/workOrder/workflowEdit/workFlowComponents/FlowChart.jsx
+0
-0
NodeModal.jsx
...Edit/workFlowComponents/flowChartComponents/NodeModal.jsx
+47
-37
NodeModal.less
...dit/workFlowComponents/flowChartComponents/NodeModal.less
+140
-3
ConfgGateway.jsx
.../flowChartComponents/nodeModalComponents/ConfgGateway.jsx
+7
-0
ConfigSubprocess.jsx
...wChartComponents/nodeModalComponents/ConfigSubprocess.jsx
+241
-0
workflow.less
src/pages/bsmanager/workOrder/workflowEdit/workflow.less
+14
-1
workflow.js
src/services/workflow/workflow.js
+5
-0
No files found.
src/assets/images/workFlow/gatewayCondition.svg
0 → 100644
View file @
7f4aad6c
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"图层_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
width=
"30px"
height=
"30px"
viewBox=
"0 0 30 30"
style=
"enable-background:new 0 0 30 30;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FED6CC;}
.st1{fill:#FB6363;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#333333;}
</style>
<g>
<path
class=
"st0"
d=
"M3,15L15,3l12,12L15,27L3,15z"
/>
<path
class=
"st1"
d=
"M15,28.4L1.6,15L15,1.6L28.4,15L15,28.4z M4.4,15L15,25.6L25.6,15L15,4.4L4.4,15z"
/>
</g>
<path
class=
"st2"
d=
"M11.7,10.2l8.6,8.6c0.4,0.4,0.4,1,0,1.4c-0.4,0.4-1,0.4-1.4,0l-8.6-8.6c-0.4-0.4-0.4-1,0-1.4
C10.7,9.9,11.3,9.9,11.7,10.2z"
/>
<path
class=
"st2"
d=
"M19,10.2l-8.6,8.6c-0.4,0.4-0.4,1,0,1.4c0.4,0.4,1,0.4,1.4,0l8.6-8.6c0.4-0.4,0.4-1,0-1.4
C19.9,9.9,19.3,9.9,19,10.2z"
/>
</svg>
src/assets/images/workFlow/gatewayJoin.svg
0 → 100644
View file @
7f4aad6c
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"图层_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
width=
"30px"
height=
"30px"
viewBox=
"0 0 30 30"
style=
"enable-background:new 0 0 30 30;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FED6CC;}
.st1{fill:#FB6363;}
.st2{fill:#333333;}
</style>
<g>
<path
class=
"st0"
d=
"M3.1,15l12-12l12,12l-12,12L3.1,15z"
/>
<path
class=
"st1"
d=
"M15.1,28.4L1.7,15L15.1,1.6L28.6,15L15.1,28.4z M4.5,15l10.6,10.6L25.7,15L15.1,4.4L4.5,15z"
/>
</g>
<path
class=
"st2"
d=
"M15.1,20.5c-3,0-5.5-2.5-5.5-5.5c0-2.9,2.6-5.5,5.5-5.5c3,0,5.5,2.5,5.5,5.5C20.6,18,18.2,20.5,15.1,20.5z
M15.1,11.5c-1.8,0-3.5,1.7-3.5,3.5c0,1.9,1.6,3.5,3.5,3.5c1.9,0,3.5-1.6,3.5-3.5C18.6,13.1,17,11.5,15.1,11.5z"
/>
</svg>
src/assets/images/workFlow/gatewayParallel.svg
0 → 100644
View file @
7f4aad6c
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"图层_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
width=
"30px"
height=
"30px"
viewBox=
"0 0 30 30"
style=
"enable-background:new 0 0 30 30;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FED6CC;}
.st1{fill:#FB6363;}
.st2{fill-rule:evenodd;clip-rule:evenodd;fill:#333333;}
</style>
<g>
<path
class=
"st0"
d=
"M3,15L15,3l12,12L15,27L3,15z"
/>
<path
class=
"st1"
d=
"M15,28.4L1.6,15L15,1.6L28.4,15L15,28.4z M4.4,15L15,25.6L25.6,15L15,4.4L4.4,15z"
/>
</g>
<path
class=
"st2"
d=
"M16.3,9.1v12.8c0,0-0.4,0.6-1,0.6c-0.5,0-1-0.7-1-0.6V9.1c0-0.5,0.4-1,1-1C15.9,8.2,16.3,8.6,16.3,9.1z"
/>
<path
class=
"st2"
d=
"M21.7,14.3H9.2c-0.5,0-1,0.4-1,1c0,0.5,0.4,1,1,1h12.5c0.3,0,0.7-0.4,0.7-1C22.4,14.7,22,14.3,21.7,14.3z"
/>
</svg>
src/assets/images/workFlow/nodeEnd.svg
0 → 100644
View file @
7f4aad6c
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"127.5px"
height=
"127.5px"
>
<defs>
<linearGradient
id=
"PSgrad_0"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"0%"
stop-color=
"rgb(230,230,235)"
stop-opacity=
"1"
/>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
<linearGradient
id=
"PSgrad_1"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
</defs>
<path
fill-rule=
"evenodd"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_0)"
d=
"M63.499,1.219 C97.741,1.219 125.499,28.948 125.499,63.153 C125.499,97.358 97.741,125.87 63.499,125.87 C29.257,125.87 1.499,97.358 1.499,63.153 C1.499,28.948 29.257,1.219 63.499,1.219 Z"
/>
<path
fill-rule=
"evenodd"
stroke=
"rgb(81, 194, 26)"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_1)"
d=
"M63.499,11.724 C91.933,11.724 114.984,34.750 114.984,63.153 C114.984,91.557 91.933,114.583 63.499,114.583 C35.65,114.583 12.15,91.557 12.15,63.153 C12.15,34.750 35.65,11.724 63.499,11.724 Z"
/>
</svg>
src/assets/images/workFlow/nodeGeneral.svg
0 → 100644
View file @
7f4aad6c
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"211.5px"
height=
"112.5px"
>
<defs>
<linearGradient
id=
"PSgrad_0"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"0%"
stop-color=
"rgb(238,238,241)"
stop-opacity=
"1"
/>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
<linearGradient
id=
"PSgrad_1"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
</defs>
<path
fill-rule=
"evenodd"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_0)"
d=
"M26.0,1.727 L184.999,1.727 C198.806,1.727 209.999,12.920 209.999,26.727 L209.999,85.589 C209.999,99.396 198.806,110.589 184.999,110.589 L26.0,110.589 C12.193,110.589 1.0,99.396 1.0,85.589 L1.0,26.727 C1.0,12.920 12.193,1.727 26.0,1.727 Z"
/>
<path
fill-rule=
"evenodd"
stroke=
"rgb(1, 120, 255)"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_1)"
d=
"M31.999,10.690 L178.0,10.690 C189.45,10.690 198.0,19.645 198.0,30.690 L198.0,80.626 C198.0,91.672 189.45,100.626 178.0,100.626 L31.999,100.626 C20.954,100.626 11.999,91.672 11.999,80.626 L11.999,30.690 C11.999,19.645 20.954,10.690 31.999,10.690 Z"
/>
</svg>
src/assets/images/workFlow/nodeStart.svg
0 → 100644
View file @
7f4aad6c
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"127.5px"
height=
"127.5px"
>
<defs>
<linearGradient
id=
"PSgrad_0"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"0%"
stop-color=
"rgb(230,230,235)"
stop-opacity=
"1"
/>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
</defs>
<path
fill-rule=
"evenodd"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_0)"
d=
"M63.499,1.222 C97.741,1.222 125.499,28.950 125.499,63.155 C125.499,97.360 97.741,125.89 63.499,125.89 C29.257,125.89 1.499,97.360 1.499,63.155 C1.499,28.950 29.257,1.222 63.499,1.222 Z"
/>
<path
fill-rule=
"evenodd"
stroke=
"rgb(1, 120, 255)"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"rgb(254, 255, 255)"
d=
"M63.15,11.726 C91.181,11.726 114.15,34.535 114.15,62.672 C114.15,90.808 91.181,113.617 63.15,113.617 C34.848,113.617 12.15,90.808 12.15,62.672 C12.15,34.535 34.848,11.726 63.15,11.726 Z"
/>
</svg>
src/assets/images/workFlow/nodesubprocess.svg
0 → 100644
View file @
7f4aad6c
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"211.5px"
height=
"112.5px"
>
<defs>
<linearGradient
id=
"PSgrad_0"
x1=
"54.464%"
x2=
"0%"
y1=
"83.867%"
y2=
"0%"
>
<stop
offset=
"0%"
stop-color=
"rgb(230,230,235)"
stop-opacity=
"1"
/>
<stop
offset=
"100%"
stop-color=
"rgb(254,255,255)"
stop-opacity=
"1"
/>
</linearGradient>
</defs>
<path
fill-rule=
"evenodd"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"url(#PSgrad_0)"
d=
"M55.427,1.865 L155.572,1.865 C185.631,1.865 209.999,26.233 209.999,56.292 L209.999,56.299 C209.999,86.358 185.631,110.726 155.572,110.726 L55.427,110.726 C25.368,110.726 1.0,86.358 1.0,56.299 L1.0,56.292 C1.0,26.233 25.368,1.865 55.427,1.865 Z"
/>
<path
fill-rule=
"evenodd"
stroke=
"rgb(152, 80, 246)"
stroke-width=
"1px"
stroke-linecap=
"round"
stroke-linejoin=
"miter"
fill=
"rgb(254, 255, 255)"
d=
"M56.875,10.482 L153.124,10.482 C177.908,10.482 198.0,30.573 198.0,55.357 C198.0,80.142 177.908,100.233 153.124,100.233 L56.875,100.233 C32.91,100.233 11.999,80.142 11.999,55.357 C11.999,30.573 32.91,10.482 56.875,10.482 Z"
/>
</svg>
src/assets/images/workFlow/subprocessicon.svg
0 → 100644
View file @
7f4aad6c
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"图层_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
width=
"108px"
height=
"42px"
viewBox=
"0 0 108 42"
style=
"enable-background:new 0 0 108 42;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#F5F7FB;}
.st1{fill:#DEE3EE;}
.st2{fill:url(#SVGID_1_);}
.st3{fill:#FFFFFF;}
.st4{fill:#9850F6;}
.st5{opacity:0.85;}
</style>
<g>
<path
class=
"st0"
d=
"M8.6,0.7h90.5c4.4,0,8,4.4,8,8.1v24.4c0,4.5-3.6,8.1-8,8.1H8.6c-3.7,0-8-3.6-8-8.1V8.8C0.6,5,4.9,0.7,8.6,0.7z
"
/>
<path
class=
"st1"
d=
"M99.1,41.9H8.6c-4,0-8.5-3.8-8.5-8.6V8.8c0-4,4.6-8.6,8.5-8.6h90.5c4.8,0,8.5,4.6,8.5,8.6v24.4
C107.7,38,103.8,41.9,99.1,41.9z M8.6,1.2c-3.5,0-7.5,4.1-7.5,7.6v24.4c0,4.2,4.1,7.6,7.5,7.6h90.5c4.2,0,7.5-3.4,7.5-7.6V8.8
c0-3.5-3.4-7.6-7.5-7.6C99.1,1.2,8.6,1.2,8.6,1.2z"
/>
</g>
<g>
<linearGradient
id=
"SVGID_1_"
gradientUnits=
"userSpaceOnUse"
x1=
"3.6177"
y1=
"20"
x2=
"35.1177"
y2=
"20"
>
<stop
offset=
"0"
style=
"stop-color:#EEEEF1"
/>
<stop
offset=
"1"
style=
"stop-color:#FEFFFF"
/>
</linearGradient>
<path
class=
"st2"
d=
"M25.9,29.4H12.8c-5.1,0-9.2-4.1-9.2-9.2v-0.4c0-5.1,4.1-9.2,9.2-9.2h13.1c5.1,0,9.2,4.1,9.2,9.2v0.4
C35.1,25.3,31,29.4,25.9,29.4z"
/>
<path
class=
"st1"
d=
"M25.9,29.9H12.8c-5.4,0-9.7-4.4-9.7-9.7v-0.4c0-5.4,4.4-9.7,9.7-9.7h13.1c5.4,0,9.7,4.4,9.7,9.7v0.4
C35.6,25.6,31.3,29.9,25.9,29.9z M12.8,11.1c-4.8,0-8.7,3.9-8.7,8.7v0.4c0,4.8,3.9,8.7,8.7,8.7h13.1c4.8,0,8.7-3.9,8.7-8.7v-0.4
c0-4.8-3.9-8.7-8.7-8.7H12.8z"
/>
</g>
<g>
<path
class=
"st3"
d=
"M25.2,26.8H13.6c-3.7,0-6.8-3-6.8-6.8v0c0-3.7,3-6.8,6.8-6.8h11.6c3.7,0,6.8,3,6.8,6.8v0
C32,23.7,28.9,26.8,25.2,26.8z"
/>
<path
class=
"st4"
d=
"M25.2,27.3H13.6c-4,0-7.3-3.3-7.3-7.3c0-4,3.3-7.3,7.3-7.3h11.6c4,0,7.3,3.3,7.3,7.3
C32.5,24,29.2,27.3,25.2,27.3z M13.6,13.7c-3.5,0-6.3,2.8-6.3,6.3s2.8,6.3,6.3,6.3h11.6c3.5,0,6.3-2.8,6.3-6.3s-2.8-6.3-6.3-6.3
H13.6z"
/>
</g>
<g
class=
"st5"
>
<path
d=
"M37.7,20h5.7v-1.8c1.1-0.7,2.2-1.4,3.2-2.3h-7.4v-1.2h9.2V16c-1.1,1.1-2.3,2-3.6,2.9V20h5.1v1.3h-5.1v4.2
c0,0.9-0.4,1.4-1.3,1.4H41l-0.4-1.3c0.7,0,1.4,0,2.3,0c0.4,0,0.6-0.2,0.6-0.6v-3.8h-5.7V20z"
/>
<path
d=
"M51.6,17.7c0.9,0.7,1.6,1.4,2.2,2l-0.9,0.9c-0.5-0.6-1.2-1.3-2.2-2L51.6,17.7z M53.9,21.8c-0.5,1.8-1.1,3.5-1.8,5L51,26.3
c0.7-1.7,1.3-3.3,1.8-4.9L53.9,21.8z M52,14.4c0.9,0.6,1.6,1.2,2.1,1.8l-0.9,0.9c-0.6-0.6-1.3-1.2-2.2-1.8L52,14.4z M56.5,20.7
c-0.1,1.8-0.2,3.2-0.5,4c-0.3,0.9-0.9,1.6-1.7,2.3l-0.8-1c0.6-0.5,1.1-1.1,1.3-1.9c0.2-0.7,0.4-1.8,0.4-3.4H56.5z M54.5,19.1
l0.3-0.1c0.5-0.3,1.1-1,1.8-2.3h-2.2v-1.2h3.7c-0.2-0.4-0.3-0.9-0.5-1.2l1.3-0.2c0.2,0.5,0.4,1,0.5,1.5H63v1.2h-5
c-0.6,1-1.1,1.8-1.5,2.2c1.4-0.1,2.8-0.2,4.2-0.4c-0.4-0.5-0.6-0.8-0.8-1l1.1-0.7c1,1.2,1.7,2.1,2.2,3L62,20.6
c-0.2-0.4-0.4-0.7-0.6-1c-2.1,0.2-4.3,0.4-6.6,0.6L54.5,19.1z M57.5,20.7h1.3v6.1h-1.3V20.7z M61.4,26.9c-0.9,0-1.4-0.4-1.4-1.2v-5
h1.2v4.7c0,0.2,0.1,0.2,0.2,0.3h0.5c0.2,0,0.3-0.2,0.3-0.6c0-0.5,0.1-1,0.1-1.5l1.1,0.4c0,1.3-0.1,2.1-0.3,2.4
c-0.2,0.3-0.6,0.4-1.2,0.5H61.4z"
/>
<path
d=
"M64,17.9h1.9v-1.7c-0.6,0.1-1.2,0.1-1.6,0.2L64,15.2c1.7-0.1,3.2-0.4,4.6-0.8l0.5,1.2c-0.6,0.2-1.2,0.3-1.9,0.4v1.9h1.6
v1.3h-1.6v0.6c0.5,0.5,1.2,1.1,1.9,1.9l-0.7,1.1c-0.5-0.8-0.9-1.4-1.1-1.8V27h-1.3v-5.8c-0.5,1.2-1,2.3-1.7,3.2l-0.6-1.5
c1-1.1,1.7-2.3,2.1-3.7H64V17.9z M69.1,20h7v1.2h-2.9v1.4h2.5v1.2h-2.5v1.5h3.2v1.2h-7.8v-1.2h3.3v-1.5h-2.4v-1.2h2.4v-1.4h-2.7V20
z M69.6,14.7h6.1v4.2h-6.1V14.7z M74.4,17.7v-1.9h-3.5v1.9H74.4z"
/>
<path
d=
"M77.2,15.5h3.1v-1.2h1.3v1.2h3.3v-1.2h1.3v1.2h3.1v1.3h-3.1v1.2h-1.3v-1.2h-3.3v1.2h-1.3v-1.2h-3.1V15.5z M81.6,19.7h-3.8
v-1.3h10.5c-0.1,2.4-0.2,3.9-0.2,4.4c-0.1,0.7-0.2,1.2-0.5,1.4c-0.3,0.3-0.7,0.4-1.4,0.4c-0.4,0-0.9,0-1.5,0l-0.4-1.3
c0.7,0,1.2,0,1.5,0c0.3,0,0.5-0.1,0.7-0.2c0.1-0.2,0.2-0.6,0.3-1.2c0-0.2,0.1-1,0.1-2.3h-4V27h-1.3V19.7z"
/>
<path
d=
"M92.9,23.9c-0.5,1.2-1.1,2.2-1.8,3.1L90,26.2c0.7-0.8,1.2-1.7,1.7-2.8L92.9,23.9z M95.5,14.3h1.3v1.2h5.3v1.2h-5.3v1.5h4.4
v4.7h-9.4v-4.7h3.7V14.3z M99.9,21.7v-2.2h-6.8v2.2H99.9z M95.1,23.8c0.3,0.9,0.5,1.8,0.7,2.9L94.5,27c-0.2-1.1-0.4-2.1-0.7-2.9
L95.1,23.8z M97.9,23.6c0.4,0.9,0.7,1.9,1.1,3L97.7,27c-0.3-1.2-0.6-2.2-1-3.1L97.9,23.6z M100.7,23.3c0.9,1.1,1.5,2.1,2,3
l-1.1,0.8c-0.5-1-1.2-2-2-3L100.7,23.3z"
/>
</g>
</svg>
src/assets/images/workFlow/subprocessicon1.svg
0 → 100644
View file @
7f4aad6c
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version=
"1.1"
id=
"图层_1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
x=
"0px"
y=
"0px"
width=
"16px"
height=
"16px"
viewBox=
"0 0 16 16"
style=
"enable-background:new 0 0 16 16;"
xml:space=
"preserve"
>
<style
type=
"text/css"
>
.st0{fill:#9850F6;}
</style>
<path
class=
"st0"
d=
"M8.5,10.1h5.7c0.3,0,0.6-0.3,0.6-0.6V7.3c0-0.3-0.3-0.6-0.6-0.6H8.5C8.2,6.7,7.9,7,7.9,7.3v0.3H5.6L4,6
c0,0,0-0.1,0-0.1V4.3c0.7-0.2,1.2-0.9,1.2-1.7c0-1-0.8-1.8-1.8-1.8S1.7,1.6,1.7,2.6c0,0.8,0.5,1.4,1.2,1.7v1.5L0.7,8
C0.6,8.1,0.5,8.3,0.5,8.4c0,0.1,0.1,0.3,0.2,0.4L2.9,11v2.4c0,0.3,0.3,0.6,0.6,0.6h4.5v0.6c0,0.3,0.3,0.6,0.6,0.6h5.7
c0.3,0,0.6-0.3,0.6-0.6v-2.2c0-0.3-0.3-0.6-0.6-0.6H8.5c-0.3,0-0.6,0.3-0.6,0.6v0.5H4v-2l2-2c0,0,0,0,0,0h1.8v0.8
C7.9,9.9,8.2,10.1,8.5,10.1z M13.7,7.9V9H9.1V8.6l0-0.7H13.7z M9.1,13.8V13v-0.1h4.6V14H9.1V13.8z M3.3,9.9L1.8,8.4L3.3,7l1.5,1.5
L3.3,9.9z"
/>
</svg>
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/FlowChart.jsx
View file @
7f4aad6c
This diff is collapsed.
Click to expand it.
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/NodeModal.jsx
View file @
7f4aad6c
...
...
@@ -22,6 +22,7 @@ import {
}
from
'@ant-design/icons'
;
import
RoalChoose
from
'./nodeModalComponents/RoalChoose'
;
import
Undertaker
from
'./nodeModalComponents/Undertaker'
;
import
ConfigSubprocess
from
'./nodeModalComponents/ConfigSubprocess'
;
import
RuleConfig
from
'@/components/RuleConfig'
;
import
PeopleSelector
from
'@/components/PeopleSelector'
;
...
...
@@ -34,16 +35,7 @@ let chnNumChar = ['零', '一', '二', '三', '四', '五', '六', '七', '八',
let
chnUnitSection
=
[
''
,
'万'
,
'亿'
,
'万亿'
,
'亿亿'
];
let
chnUnitChar
=
[
''
,
'十'
,
'百'
,
'千'
];
const
NodeModal
=
props
=>
{
const
{
flowData
,
onSubumit
,
handleCancel
,
visible
,
modalType
,
editMsg
,
newSerialNo
,
flowID
,
}
=
props
;
const
{
flowData
,
onSubumit
,
handleCancel
,
visible
,
editMsg
,
flowID
}
=
props
;
const
[
form
]
=
Form
.
useForm
();
const
[
showRoal
,
setShowRoal
]
=
useState
(
false
);
// 是否显示选择角色用户弹窗
const
[
showRule
,
setShowRule
]
=
useState
(
false
);
// 是否显示节点扭转规则弹窗
...
...
@@ -73,6 +65,7 @@ const NodeModal = props => {
const
RuleList
=
useRef
([]);
// 规则配置列表
const
CarbonCopyPeopleList
=
useRef
([]);
// 抄送人列表
const
talbeList
=
useRef
([]);
const
subNodeMsg
=
useRef
({});
useEffect
(()
=>
{
form
.
resetFields
();
nextlinkNodes
.
current
=
[];
...
...
@@ -260,6 +253,7 @@ const NodeModal = props => {
...
validate
,
NodeType
:
nodeMsg
.
NodeType
,
roleList
:
nodeMsg
.
roleList
,
SubFlowInfo
:
subNodeMsg
.
current
,
});
let
obj
=
{
...
validate
,
...
...
@@ -268,6 +262,7 @@ const NodeModal = props => {
nodeDetail
,
RuleList
:
RuleList
.
current
,
CarbonCopyPeopleList
:
CarbonCopyPeopleList
.
current
,
SubFlowInfo
:
subNodeMsg
.
current
,
};
console
.
log
(
nextlinkNodes
.
current
);
onSubumit
(
obj
,
nextlinkNodes
.
current
);
...
...
@@ -407,15 +402,15 @@ const NodeModal = props => {
},
];
console
.
log
(
listfleld
,
allFieldList
.
current
,
'listfleld1111'
);
allFieldList
.
current
.
forEach
(
item
=>
{
if
(
listfleld
.
some
(
ele
=>
ele
!==
item
.
TableName
))
{
if
(
item
.
TableName
&&
item
.
TableFieldNames
?.
length
>
0
)
{
listfleld
.
forEach
(
item
=>
{
console
.
log
(
allFieldList
.
current
.
find
(
ele
=>
ele
.
TableName
===
item
),
'aaaaaa'
);
let
obj
=
allFieldList
.
current
.
find
(
ele
=>
ele
.
TableName
===
item
);
if
(
obj
.
TableName
&&
obj
.
TableFieldNames
?.
length
>
0
)
{
list
.
push
({
TableFieldNames
:
item
.
TableFieldNames
,
TableName
:
item
.
TableName
,
TableFieldNames
:
obj
.
TableFieldNames
,
TableName
:
obj
.
TableName
,
});
}
}
});
console
.
log
(
list
,
'listfleld'
);
setFieldList
(
list
);
...
...
@@ -426,13 +421,9 @@ const NodeModal = props => {
const
editCC
=
()
=>
{
setShowPersonSelect
(
true
);
};
// 节点信息监听
const
changeValue
=
(
changedFields
,
allFields
)
=>
{
if
(
changedFields
[
0
].
name
[
0
]
===
'NodeType'
)
{
setNodeMsg
({
...
nodeMsg
,
roleList
:
[],
RuleList
:
[]
});
setFlag
(
flag
+
1
);
}
// console.log(changedFields, allFields, 'allFields');
const
getSubNodeMsg
=
msg
=>
{
console
.
log
(
msg
,
'asdgfasdg'
);
subNodeMsg
.
current
=
msg
;
};
// 定义表格
const
columns
=
[
...
...
@@ -440,6 +431,7 @@ const NodeModal = props => {
title
:
'名称'
,
dataIndex
:
'roleName'
,
align
:
'left'
,
width
:
80
,
ellipsis
:
{
showTitle
:
false
,
},
...
...
@@ -453,7 +445,7 @@ const NodeModal = props => {
title
:
'类型'
,
dataIndex
:
'type'
,
align
:
'center'
,
width
:
8
0
,
width
:
6
0
,
filters
:
[
{
...
...
@@ -475,7 +467,7 @@ const NodeModal = props => {
ellipsis
:
{
showTitle
:
false
,
},
width
:
10
0
,
width
:
9
0
,
render
:
text
=>
(
<
Tooltip
placement=
"topLeft"
title=
{
text
}
>
{
text
||
'(无)'
}
...
...
@@ -519,23 +511,31 @@ const NodeModal = props => {
return
(
<>
{
/* <div style={{ height: 200, width: 425, position: 'relative' }}> */
}
<
Drawer
title=
"节点配置"
width=
{
550
}
title=
{
null
}
closable=
{
false
}
width=
"25%"
onClose=
{
handleCancel
}
visible=
{
visible
}
mask=
{
false
}
bodyStyle=
{
{
paddingBottom
:
20
}
}
getContainer=
{
false
}
style=
{
{
position
:
'absolute'
,
}
}
keyboard=
{
false
}
zIndex=
{
19
}
footer=
{
<
Space
>
<
Button
onClick=
{
handleCancel
}
>
取消
</
Button
>
<
Button
onClick=
{
onFinish
}
type=
"primary"
>
确定
应用
</
Button
>
</
Space
>
}
>
{
/* <div className={styles.nodeConfig}> */
}
<
Divider
orientation=
"left"
style=
{
{
...
...
@@ -563,12 +563,7 @@ const NodeModal = props => {
并行网关:根据网关的连接情况,强制所有出口分支流程必须流转。
</
p
>
</
div
>
<
Form
form=
{
form
}
labelCol=
{
{
span
:
4
}
}
wrapperCol=
{
{
span
:
20
}
}
// onFieldsChange={changeValue}
>
<
Form
form=
{
form
}
labelCol=
{
{
span
:
6
}
}
wrapperCol=
{
{
span
:
18
}
}
labelAlign=
"left"
>
<
Form
.
Item
label=
"排序"
name=
"SerialNo"
...
...
@@ -609,7 +604,8 @@ const NodeModal = props => {
form
?.
getFieldValue
(
'NodeType'
)
===
'2'
||
form
?.
getFieldValue
(
'NodeType'
)
===
'20'
||
form
?.
getFieldValue
(
'NodeType'
)
===
'21'
||
form
?.
getFieldValue
(
'NodeType'
)
===
'22'
form
?.
getFieldValue
(
'NodeType'
)
===
'22'
||
form
?.
getFieldValue
(
'NodeType'
)
===
'30'
?
'none'
:
'block'
,
}
}
...
...
@@ -644,8 +640,15 @@ const NodeModal = props => {
>
承办管理
</
Divider
>
<
div
style=
{
{
widnt
:
'100%'
,
marginBottom
:
'10px'
,
display
:
'flex'
,
justifyContent
:
'right'
,
}
}
>
<
Button
style=
{
{
marginBottom
:
'10px'
,
marginLeft
:
'435px'
}
}
onClick=
{
()
=>
{
setShowRoal
(
true
);
}
}
...
...
@@ -653,6 +656,8 @@ const NodeModal = props => {
>
设置
</
Button
>
</
div
>
<
Table
dataSource=
{
nodeMsg
.
roleList
}
columns=
{
columns
}
...
...
@@ -694,6 +699,9 @@ const NodeModal = props => {
<
PlusOutlined
/>
</
div
>
</
div
>
{
form
?.
getFieldValue
(
'NodeType'
)
===
'30'
&&
(
<
ConfigSubprocess
nodeMsg=
{
nodeMsg
}
flowID=
{
flowID
}
getSubNodeMsg=
{
getSubNodeMsg
}
/>
)
}
</
div
>
<
div
style=
{
{
...
...
@@ -746,7 +754,7 @@ const NodeModal = props => {
</
div
>
</
div
>
<
div
className=
{
styles
.
formBox
}
>
<
div
className=
{
styles
.
label
}
>
设置规则
条件,可以流转到节点
:
</
div
>
<
div
className=
{
styles
.
label
}
>
设置规则
流转到
:
</
div
>
<
div
className=
{
styles
.
item
}
>
<
Select
style=
{
{
width
:
'100%'
}
}
...
...
@@ -800,7 +808,9 @@ const NodeModal = props => {
))
}
</
div
>
</
div
>
{
/* </div> */
}
</
Drawer
>
{
/* </div> */
}
<
RoalChoose
roleList=
{
nodeMsg
.
roleList
}
visible=
{
showRoal
}
...
...
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/NodeModal.less
View file @
7f4aad6c
.titleBox {
.nodeConfig {
height: 100%;
min-width: 425px;
width: 25%;
padding: 20px;
overflow-y: scroll;
margin-left: 15px;
.titleBox {
color: #BCBCBC;
font-size: 14px;
padding-left: 20px;
}
.btnAddRule {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 31px;
margin: auto;
margin-top: 15px;
margin-bottom: 15px;
border: 1px dashed #188FFD;
border-radius: 3px;
color: #188FFD;
line-height: 31px;
text-align: center;
cursor: pointer;
}
.buttonBox {
padding-left: 15px;
width: 100%;
height: 34px;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
.setButton {
width: 90%;
height: 100%;
line-height: 34px;
border: 2px solid #6A98FA;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0 10px;
}
.addIcon {
height: 100%;
flex: 1;
border: 2px solid #6A98FA;
border-left: 0px;
text-align: center;
}
}
.ruleContent {
width: 100%;
.ruleBox {
margin-top: 5px;
margin-bottom: 15px;
.ruleTitle {
display: flex;
justify-content: space-between;
margin-bottom: 15px;
align-items: center;
.textContet {
color: #1890ff;
font-size: 16px;
font-weight: 700;
}
.btnClose {}
}
.formBox {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
padding-left: 15px;
.label {
white-space: nowrap;
}
.item {
width: 100%;
}
}
.buttonBox {
// padding-left: 15px;
width: 100%;
height: 34px;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
.setButton {
width: 90%;
height: 100%;
line-height: 34px;
border: 2px solid #6A98FA;
text-align: left;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding: 0 10px;
}
.addIcon {
height: 100%;
flex: 1;
border: 2px solid #6A98FA;
border-left: 0px;
text-align: center;
}
}
}
}
}
.titleBox {
color: #BCBCBC;
font-size: 14px;
// padding-left: 20px;
}
.btnAddRule {
...
...
@@ -80,7 +217,7 @@
justify-content: space-between;
align-items: center;
margin-bottom: 15px;
padding-left: 15px;
//
padding-left: 15px;
.label {
white-space: nowrap;
...
...
@@ -92,7 +229,7 @@
}
.buttonBox {
padding-left: 15px;
//
padding-left: 15px;
width: 100%;
height: 34px;
display: flex;
...
...
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/nodeModalComponents/ConfgGateway.jsx
0 → 100644
View file @
7f4aad6c
import
React
from
'react'
;
const
Confggateway
=
()
=>
{
return
<
div
>
confggateway
</
div
>;
};
export
default
Confggateway
;
src/pages/bsmanager/workOrder/workflowEdit/workFlowComponents/flowChartComponents/nodeModalComponents/ConfigSubprocess.jsx
0 → 100644
View file @
7f4aad6c
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
Drawer
,
Form
,
Space
,
Button
,
Input
,
Select
,
Divider
,
Tooltip
,
message
}
from
'antd'
;
import
{
MinusCircleOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
GetSubEventFlows
,
GetFlowMapFields
}
from
'@/services/workflow/workflow'
;
import
lodash
from
'lodash'
;
const
{
Option
,
OptGroup
}
=
Select
;
const
ConfigSubprocess
=
props
=>
{
const
[
form
]
=
Form
.
useForm
();
const
{
nodeMsg
,
flowID
,
getSubNodeMsg
}
=
props
;
const
[
currentNodeField
,
setCurrentNodeField
]
=
useState
([]);
const
[
childNodeField
,
setChildNodeField
]
=
useState
([]);
const
[
flowList
,
setFlowList
]
=
useState
([]);
useEffect
(()
=>
{
GetSubEventFlows
().
then
(
res
=>
{
const
list
=
new
Map
();
// res.data.forEach(item => {
// if (!list.has(item.EventName)) {
// list.set(item.EventName, [item]);
// } else {
// console.log(list.get(item.EventName));
// list.set(item.EventName, [...list.get(item.EventName), item]);
// }
// });
setFlowList
(
res
.
data
.
map
(
item
=>
({
label
:
`
${
item
.
EventName
}
/
${
item
.
FlowName
}
`
,
key
:
`
${
item
.
SubFlowEventConfigID
}
-
${
item
.
SubFlowId
}
`
,
})),
);
console
.
log
(
list
,
'listnlistst'
);
});
},
[]);
useEffect
(()
=>
{
console
.
log
(
nodeMsg
,
'nodeMsg'
);
form
.
setFieldsValue
({
flowKey
:
''
,
MapFields
:
[]
});
if
(
nodeMsg
.
SubFlowInfo
)
{
GetFlowMapFields
({
flowID
,
subFlowID
:
nodeMsg
.
SubFlowInfo
?.
SubFlowID
}).
then
(
res
=>
{
if
(
res
.
code
===
0
)
{
res
.
data
.
ParentFlowMapList
.
forEach
(
item
=>
{
item
.
TableFieldNames
=
item
.
TableFieldNames
.
map
(
ele
=>
({
value
:
`
${
item
.
TableName
}
-
${
ele
}
-
${
item
.
TableType
}
`
,
label
:
ele
,
}));
});
res
.
data
.
SubFlowMapInfo
.
TableFieldNames
=
res
.
data
.
SubFlowMapInfo
.
TableFieldNames
.
map
(
item
=>
({
value
:
`
${
res
.
data
.
SubFlowMapInfo
.
TableName
}
-
${
item
}
`
,
label
:
item
,
}),
);
console
.
log
(
res
.
data
.
ParentFlowMapList
,
'res.data.ParentFlowMapList'
);
setCurrentNodeField
(
res
.
data
.
ParentFlowMapList
);
setChildNodeField
(
res
.
data
.
SubFlowMapInfo
.
TableFieldNames
);
}
else
{
message
.
error
(
res
.
msg
);
}
});
form
.
setFieldsValue
({
flowKey
:
nodeMsg
.
SubFlowInfo
?
`
${
nodeMsg
.
SubFlowInfo
?.
SubFlowEventConfigID
}
-
$
{
nodeMsg
.
SubFlowInfo
?.
SubFlowID
}
`
: null,
MapFields: nodeMsg.SubFlowInfo?.MapFields?.map(item => ({
nodeField: `
$
{
item
.
ParentFlowMapTableName
}
-
$
{
item
.
ParentFlowMapFieldName
}
-
$
{
item
.
ParentFlowMapTableType
}
`,
subNodeField: `
$
{
item
.
SubFlowMapTableName
}
-
$
{
item
.
SubFlowMapFieldName
}
`,
})),
});
}
}, [nodeMsg]);
const changeValue = (changedFields, allFields) => {
console.log(allFields);
const msg = {
SubFlowEventConfigID: Number(allFields[0]?.value?.split('-')[0]),
SubFlowID: Number(allFields[0]?.value?.split('-')[1]),
MapFields: allFields[1]?.value?.map(item => ({
ParentFlowMapTableName: item?.nodeField?.split('-')[0],
ParentFlowMapFieldName: item?.nodeField?.split('-')[1],
ParentFlowMapTableType: item?.nodeField?.split('-')[2],
SubFlowMapTableName: item?.subNodeField?.split('-')[0],
SubFlowMapFieldName: item?.subNodeField?.split('-')[1],
})),
};
getSubNodeMsg(msg);
// if (changedFields[0].name[0] === 'password') {
// }
};
// 选择流程
const flowChage = e => {
console.log(e);
const subFlowID = e.split('-')[1];
console.log(subFlowID, 'afsdfsda');
GetFlowMapFields({ flowID, subFlowID }).then(res => {
if (res.code === 0) {
res.data.ParentFlowMapList.forEach(item => {
item.TableFieldNames = item.TableFieldNames.map(ele => ({
value: `
$
{
item
.
TableName
}
-
$
{
ele
}
-
$
{
item
.
TableType
}
`,
label: ele,
}));
});
res.data.SubFlowMapInfo.TableFieldNames = res.data.SubFlowMapInfo.TableFieldNames.map(
item => ({
value: `
$
{
res
.
data
.
SubFlowMapInfo
.
TableName
}
-
$
{
item
}
`,
label: item,
}),
);
console.log(res.data.ParentFlowMapList, 'res.data.ParentFlowMapList');
form.setFieldsValue({ MapFields: [] });
setCurrentNodeField(res.data.ParentFlowMapList);
setChildNodeField(res.data.SubFlowMapInfo.TableFieldNames);
} else {
message.error(res.msg);
}
});
};
// 添加映射
const addMap = add => {
if (form.getFieldValue('flowKey')) {
add();
} else {
message.error('请选择子流程');
}
};
return (
<div>
<Divider
orientation="left"
style={{
borderTopColor: '#99bbe8',
color: '#15428b',
fontWeight: 700,
}}
>
子流程配置
</Divider>
<Form
form={form}
labelCol={{ span: 6 }}
wrapperCol={{ span: 18 }}
onFieldsChange={changeValue}
>
<Form.Item label="选择流程" name="flowKey">
<Select
showSearch
optionFilterProp="children"
onChange={flowChage}
filterOption={(input, option) =>
option.children.toLowerCase().includes(input.toLowerCase())
}
>
{flowList.map(item => (
<Option key={item.key} value={item.key}>
{item.label}
</Option>
))}
</Select>
</Form.Item>
<Form.Item label="映射字段" rules={[{ required: true, message: '请输入排序' }]}>
<Form.List name="MapFields">
{(fields, { add, remove }) => (
<>
{fields.map(({ key, name, ...restField }) => (
<div
key={key}
style={{
display: 'flex',
alignItems: 'center',
marginBottom: 8,
}}
>
<Form.Item
{...restField}
name={[name, 'nodeField']}
style={{ margin: '0 5px 0 0px', width: '40%' }}
rules={[
{
required: true,
message: '请填选择字段',
},
]}
>
<Select placeholder="字段名" showSearch>
{currentNodeField?.map((item, index) => (
<OptGroup key={index} label={item.TableName}>
{item.TableFieldNames.map(ele => (
<Option value={ele.value} key={ele.value}>
{ele.label}
</Option>
))}
</OptGroup>
))}
</Select>
</Form.Item>
<img
// eslint-disable-next-line global-require
src={require('@/assets/images/icons/值映射.png')}
style={{ height: '24px' }}
alt=""
/>
<Form.Item
{...restField}
name={[name, 'subNodeField']}
style={{ margin: '0 5px 0 5px', width: '40%' }}
rules={[
{
required: true,
message: '请填选择字段',
},
]}
>
<Select placeholder="字段名" showSearch>
{childNodeField?.map((item, index) => (
<Option value={item.value} key={item.value}>
{item.label}
</Option>
))}
</Select>
</Form.Item>
<MinusCircleOutlined onClick={() => remove(name)} />
</div>
))}
<Form.Item>
<Button type="dashed" onClick={() => addMap(add)} block icon={<PlusOutlined />}>
添加映射
</Button>
</Form.Item>
</>
)}
</Form.List>
</Form.Item>
</Form>
</div>
);
};
export default ConfigSubprocess;
src/pages/bsmanager/workOrder/workflowEdit/workflow.less
View file @
7f4aad6c
...
...
@@ -104,6 +104,7 @@
.chartBox {
position: relative;
display: flex;
height: calc(100% - 52px);
.flowName {
...
...
@@ -141,6 +142,17 @@
display: flex;
align-items: center;
.myPaletteSubprocess {
height: 52px;
width: 130px;
canvas {
height: 100%;
width: 1000px;
}
}
.myPaletteDiv {
// margin-right: 20px;
height: 52px;
...
...
@@ -202,7 +214,8 @@
}
.myDiagramDiv {
width: 100%;
// width: 100%;
flex: 1;
height: 100%;
}
}
...
...
src/services/workflow/workflow.js
View file @
7f4aad6c
...
...
@@ -23,3 +23,8 @@ export const GetFormDataSource = param =>
get
(
`
${
PUBLISH_SERVICE
}
/WorkFlow/GetFormDataSource`
,
param
);
// 规则效验
export
const
RuleValidation
=
param
=>
get
(
`
${
PUBLISH_SERVICE
}
/WorkFlow/RuleValidation`
,
param
);
// 获取可选的子事件流程
export
const
GetSubEventFlows
=
param
=>
get
(
`
${
PUBLISH_SERVICE
}
/WorkFlow/GetSubEventFlows`
,
param
);
// 获取流程映射表字段信息
export
const
GetFlowMapFields
=
param
=>
get
(
`
${
PUBLISH_SERVICE
}
/WorkFlow/GetFlowMapFields`
,
param
);
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