Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
b796307e
authored
2023-07-25 14:15:05 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'dev'
2 parents
a8214033
820e4384
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
441 additions
and
452 deletions
src/views/system/dymbgl/dymbgl.vue
src/views/system/flfg/flfg.vue
src/views/workflow/components/dialog/clxxAddDialog.vue
src/views/workflow/components/downLoad.vue
src/views/workflow/components/flowChart.vue
src/views/workflow/components/fzxx.vue
src/views/workflow/components/leftmenu/ordinaryMenu.vue
src/views/workflow/components/processViewer.vue
src/views/workflow/workFrame.vue
src/views/ywbl/dbx/dbx.vue
src/views/ywbl/slsqxx/fdcq2/slxx300.vue
src/views/ywbl/slsqxx/fwsyq/slxx.vue
src/views/ywbl/slsqxx/jsydsyq/slxx.vue
src/views/ywbl/slsqxx/jsydsyq/slxx300.vue
src/views/ywbl/slsqxx/nydsyq/slxx.vue
src/views/ywbl/slsqxx/tdsyq/slxx.vue
src/views/ywbl/slsqxx/ygdj/slxx300.vue
src/views/ywbl/ybx/ybx.vue
src/views/ywbl/ywsq/guidePage.vue
src/views/system/dymbgl/dymbgl.vue
View file @
b796307
...
...
@@ -117,9 +117,9 @@
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
})
;
})
;
message
:
"已取消删除"
})
})
}
}
}
...
...
src/views/system/flfg/flfg.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
4 14:12:17
* @LastEditTime: 2023-07-2
5 09:27:43
-->
<
template
>
<div
class=
"from-clues"
>
...
...
@@ -122,10 +122,10 @@
this
.
$message
({
type
:
'info'
,
message
:
'已取消删除'
})
;
})
;
}
,
}
,
})
})
}
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
src/views/workflow/components/dialog/clxxAddDialog.vue
View file @
b796307
...
...
@@ -76,7 +76,6 @@
* @author: renchao
*/
handleSubmit
()
{
debugger
this
.
$refs
[
'ruleForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
$parent
.
addSave
(
this
.
ruleForm
);
...
...
src/views/workflow/components/downLoad.vue
View file @
b796307
<!--
* @Description: 页面提供插件下载
* @Autor: renchao
* @LastEditTime: 2023-0
6-13 15:49:55
* @LastEditTime: 2023-0
7-25 09:25:56
-->
<
template
>
<div
class=
'downLoad'
>
...
...
@@ -21,6 +21,10 @@
}
},
methods
:
{
/**
* @description:
* @author: renchao
*/
handleDown
()
{
let
a
=
document
.
createElement
(
'a'
)
a
.
style
.
display
=
'none'
...
...
src/views/workflow/components/flowChart.vue
View file @
b796307
<!--
* @Description: 流程图
* @Autor: renchao
* @LastEditTime: 2023-07-
19 16:04:34
* @LastEditTime: 2023-07-
25 09:26:01
-->
<
template
>
<div
class=
'flowChart'
>
...
...
@@ -9,7 +9,6 @@
</div>
</
template
>
<
script
>
export
default
{
props
:
{
formData
:
{
...
...
src/views/workflow/components/fzxx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
4 10:15:01
* @LastEditTime: 2023-07-2
5 09:26:10
-->
<
template
>
<div
class=
"from-clues"
>
...
...
@@ -79,6 +79,10 @@
}
})
},
/**
* @description:
* @author: renchao
*/
zslqClick
()
{
this
.
$popupDialog
(
"不动产权证领取"
,
"workflow/components/dialog/zslq"
,
{},
'80%'
,
true
)
}
...
...
src/views/workflow/components/leftmenu/ordinaryMenu.vue
View file @
b796307
<!--
* @Description: workFrame左侧菜单列表-普通
* @Autor: renchao
* @LastEditTime: 2023-07-2
4 14:14:01
* @LastEditTime: 2023-07-2
5 14:14:04
-->
<
template
>
<div
class=
"leftmenu"
:class=
"
{ 'animation-map-drawer': isShowdrawer }">
...
...
@@ -177,9 +177,8 @@
* @author: renchao
*/
batchUnitClick
()
{
debugger
this
.
currentSelectProps
.
batchOperation
=
true
;
//
this.activeIndex = "-1";
this
.
activeIndex
=
"-1"
;
this
.
$parent
.
stepForm
(
0
);
},
...
...
@@ -201,7 +200,7 @@
* @author: renchao
*/
unitClick
(
index
)
{
if
(
this
.
unitData
.
length
==
0
)
return
if
(
this
.
unitData
.
length
==
0
)
return
this
.
currentSelectProps
=
this
.
unitData
[
index
];
this
.
currentSelectProps
.
batchOperation
=
false
;
this
.
activeIndex
=
index
.
toString
();
...
...
src/views/workflow/components/processViewer.vue
View file @
b796307
...
...
@@ -10,8 +10,7 @@
v-show=
"!isLoading"
ref=
"processCanvas"
class=
"process-canvas"
style=
"height: 280px"
/>
style=
"height: 280px"
/>
<!-- 自定义箭头样式,用于成功状态下流程连线箭头 -->
<defs
ref=
"customSuccessDefs"
>
<marker
...
...
@@ -21,8 +20,7 @@
ref-y=
"10"
marker-width=
"10"
marker-height=
"10"
orient=
"auto"
>
orient=
"auto"
>
<path
class=
"success-arrow"
d=
"M 1 5 L 11 10 L 1 15 Z"
...
...
@@ -30,8 +28,7 @@
stroke-width: 1px;
stroke-linecap: round;
stroke-dasharray: 10000, 1;
"
/>
"
/>
</marker>
<marker
id=
"conditional-flow-marker-white-success"
...
...
@@ -40,8 +37,7 @@
ref-y=
"10"
marker-width=
"10"
marker-height=
"10"
orient=
"auto"
>
orient=
"auto"
>
<path
class=
"success-conditional"
d=
"M 0 10 L 8 6 L 16 10 L 8 14 Z"
...
...
@@ -49,8 +45,7 @@
stroke-width: 1px;
stroke-linecap: round;
stroke-dasharray: 10000, 1;
"
/>
"
/>
</marker>
</defs>
<!-- 自定义箭头样式,用于失败状态下流程连线箭头 -->
...
...
@@ -62,8 +57,7 @@
ref-y=
"10"
marker-width=
"10"
marker-height=
"10"
orient=
"auto"
>
orient=
"auto"
>
<path
class=
"fail-arrow"
d=
"M 1 5 L 11 10 L 1 15 Z"
...
...
@@ -71,8 +65,7 @@
stroke-width: 1px;
stroke-linecap: round;
stroke-dasharray: 10000, 1;
"
/>
"
/>
</marker>
<marker
id=
"conditional-flow-marker-white-fail"
...
...
@@ -81,8 +74,7 @@
ref-y=
"10"
marker-width=
"10"
marker-height=
"10"
orient=
"auto"
>
orient=
"auto"
>
<path
class=
"fail-conditional"
d=
"M 0 10 L 8 6 L 16 10 L 8 14 Z"
...
...
@@ -90,8 +82,7 @@
stroke-width: 1px;
stroke-linecap: round;
stroke-dasharray: 10000, 1;
"
/>
"
/>
</marker>
</defs>
...
...
@@ -104,8 +95,7 @@
:plain=
"true"
:disabled=
"defaultZoom
<
= 0.3"
icon="el-icon-zoom-out"
@click="processZoomOut()"
/>
@click="processZoomOut()" />
<el-button
size=
"medium"
type=
"default"
style=
"width: 90px"
>
{{
Math
.
floor
(
this
.
defaultZoom
*
10
*
10
)
+
"%"
}}
</el-button>
...
...
@@ -115,14 +105,12 @@
:plain=
"true"
:disabled=
"defaultZoom >= 3.9"
icon=
"el-icon-zoom-in"
@
click=
"processZoomIn()"
/>
@
click=
"processZoomIn()"
/>
<el-button
size=
"medium"
type=
"default"
icon=
"el-icon-c-scale-to-original"
@
click=
"processReZoom()"
/>
@
click=
"processReZoom()"
/>
<slot
/>
</el-button-group>
</el-row>
...
...
@@ -135,8 +123,7 @@
v-for=
"item in selectOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
:value=
"item.value"
>
</el-option>
</el-select>
<el-table
...
...
@@ -144,15 +131,13 @@
:data=
"taskCommentList"
size=
"mini"
border
header-cell-class-name=
"table-header-gray"
>
header-cell-class-name=
"table-header-gray"
>
<el-table-column
label=
"序号"
header-align=
"center"
align=
"center"
type=
"index"
width=
"55px"
/>
width=
"55px"
/>
<el-table-column
label=
"流程状态"
header-align=
"center"
align=
"center"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.endTime"
>
已完结
</div>
...
...
@@ -163,35 +148,30 @@
label=
"环节名称"
prop=
"name"
minWidth=
"100"
align=
"center"
/>
align=
"center"
/>
<el-table-column
label=
"办理人"
prop=
"agent"
minWidth=
"120"
align=
"center"
/>
align=
"center"
/>
<el-table-column
label=
"转入时间"
prop=
"createTime"
:formatter=
"formatDate"
width=
"160"
align=
"center"
/>
align=
"center"
/>
<el-table-column
label=
"认领时间"
prop=
"claimTime"
:formatter=
"formatDate"
width=
"160"
align=
"center"
/>
align=
"center"
/>
<el-table-column
label=
"转出时间"
prop=
"endTime"
:formatter=
"formatDate"
width=
"160"
align=
"center"
/>
align=
"center"
/>
<el-table-column
label=
"操作方式"
prop=
"controls"
align=
"center"
/>
<el-table-column
label=
"意见"
prop=
"idea"
align=
"center"
/>
</el-table>
...
...
@@ -199,386 +179,386 @@
</div>
</template>
<
script
>
import
"@/styles/package/theme/index.scss"
;
import
BpmnViewer
from
"bpmn-js/lib/Viewer"
;
import
MoveCanvasModule
from
"diagram-js/lib/navigation/movecanvas"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
},
},
data
()
{
return
{
dlgTitle
:
undefined
,
defaultZoom
:
1
,
// 是否正在加载流程图
isLoading
:
true
,
bpmnViewer
:
undefined
,
// 已完成流程元素
processNodeInfo
:
undefined
,
// 当前任务id
selectTaskId
:
undefined
,
// 任务节点审批记录
taskList
:
[],
taskCommentList
:
[],
// 已完成任务悬浮延迟Timer
hoverTimer
:
null
,
// 下拉
selectValue
:
""
,
selectOptions
:
[],
};
},
created
()
{
this
.
$nextTick
(()
=>
{
// 获取流程记录
this
.
getCommentList
();
this
.
setProcessStatus
(
this
.
formData
.
finishedInfo
);
this
.
importXML
(
this
.
formData
.
xml
);
});
},
destroyed
()
{
this
.
clearViewer
();
},
methods
:
{
/**
* @description: formatDate
* @param {*} row
* @param {*} column
* @author: renchao
*/
formatDate
(
row
,
column
)
{
let
data
=
row
[
column
.
property
];
if
(
data
==
null
)
{
return
null
;
}
let
dt
=
new
Date
(
data
);
return
(
dt
.
getFullYear
()
+
"-"
+
(
dt
.
getMonth
()
+
1
)
+
"-"
+
dt
.
getDate
()
+
" "
+
dt
.
getHours
()
+
":"
+
dt
.
getMinutes
()
+
":"
+
dt
.
getSeconds
()
);
},
/**
* @description: processReZoom
* @author: renchao
*/
processReZoom
()
{
this
.
defaultZoom
=
1
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
"fit-viewport"
,
"auto"
);
},
/**
* @description: processZoomIn
* @param {*} zoomStep
* @author: renchao
*/
processZoomIn
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
+
zoomStep
*
100
)
/
100
;
if
(
newZoom
>
4
)
{
throw
new
Error
(
"[Process Designer Warn ]: The zoom ratio cannot be greater than 4"
);
}
this
.
defaultZoom
=
newZoom
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
this
.
defaultZoom
);
},
/**
* @description: processZoomOut
* @param {*} zoomStep
* @author: renchao
*/
processZoomOut
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
-
zoomStep
*
100
)
/
100
;
if
(
newZoom
<
0.2
)
{
throw
new
Error
(
"[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2"
);
}
this
.
defaultZoom
=
newZoom
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
this
.
defaultZoom
);
},
/**
* @description: getOperationTagType
* @param {*} type
* @author: renchao
*/
getOperationTagType
(
type
)
{
return
"success"
;
},
// 流程图预览清空
/**
* @description: 流程图预览清空
* @param {*} e
* @author: renchao
*/
clearViewer
(
a
)
{
if
(
this
.
$refs
.
processCanvas
)
{
this
.
$refs
.
processCanvas
.
innerHTML
=
""
;
}
if
(
this
.
bpmnViewer
)
{
this
.
bpmnViewer
.
destroy
();
}
this
.
bpmnViewer
=
null
;
import
"@/styles/package/theme/index.scss"
;
import
BpmnViewer
from
"bpmn-js/lib/Viewer"
;
import
MoveCanvasModule
from
"diagram-js/lib/navigation/movecanvas"
;
export
default
{
props
:
{
formData
:
{
type
:
Object
,
default
:
{},
},
},
// 添加自定义箭头
/**
* @description: 添加自定义箭头
* @author: renchao
*/
addCustomDefs
()
{
const
canvas
=
this
.
bpmnViewer
.
get
(
"canvas"
);
const
svg
=
canvas
.
_svg
;
const
customSuccessDefs
=
this
.
$refs
.
customSuccessDefs
;
const
customFailDefs
=
this
.
$refs
.
customFailDefs
;
svg
.
appendChild
(
customSuccessDefs
);
svg
.
appendChild
(
customFailDefs
);
data
()
{
return
{
dlgTitle
:
undefined
,
defaultZoom
:
1
,
// 是否正在加载流程图
isLoading
:
true
,
bpmnViewer
:
undefined
,
// 已完成流程元素
processNodeInfo
:
undefined
,
// 当前任务id
selectTaskId
:
undefined
,
// 任务节点审批记录
taskList
:
[],
taskCommentList
:
[],
// 已完成任务悬浮延迟Timer
hoverTimer
:
null
,
// 下拉
selectValue
:
""
,
selectOptions
:
[],
};
},
// 任务悬浮弹窗
/**
* @description: 任务悬浮弹窗
* @param {*} element
* @author: renchao
*/
onSelectElement
(
element
)
{
this
.
selectTaskId
=
undefined
;
this
.
dlgTitle
=
undefined
;
let
allfinishedTaskSet
=
[
...
this
.
processNodeInfo
.
finishedTaskSet
,
...
this
.
processNodeInfo
.
unfinishedTaskSet
,
];
if
(
this
.
processNodeInfo
==
null
||
allfinishedTaskSet
==
null
)
return
;
if
(
element
==
null
||
allfinishedTaskSet
.
indexOf
(
element
.
id
)
===
-
1
)
{
return
;
}
this
.
selectTaskId
=
element
.
id
;
this
.
selectValue
=
element
.
id
;
this
.
dlgTitle
=
element
.
businessObject
?
element
.
businessObject
.
name
:
undefined
;
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this
.
taskCommentList
=
(
this
.
taskList
||
[]).
filter
((
item
)
=>
{
return
item
.
taskDefinitionKey
===
this
.
selectTaskId
;
created
()
{
this
.
$nextTick
(()
=>
{
// 获取流程记录
this
.
getCommentList
();
this
.
setProcessStatus
(
this
.
formData
.
finishedInfo
);
this
.
importXML
(
this
.
formData
.
xml
);
});
if
(
this
.
taskCommentList
.
length
==
0
)
{
this
.
taskCommentList
=
this
.
taskList
;
}
},
// 下拉列表切换
/**
* @description: 下拉列表切换
* @param {*} val
* @author: renchao
*/
handleSelect
(
val
)
{
this
.
taskCommentList
=
(
this
.
taskList
||
[]).
filter
((
item
)
=>
{
return
item
.
taskDefinitionKey
===
val
;
});
if
(
this
.
taskCommentList
.
length
==
0
)
{
this
.
taskCommentList
=
this
.
taskList
;
}
destroyed
()
{
this
.
clearViewer
();
},
// 显示流程图
/**
* @description: 显示流程图
* @param {*} xml
* @author: renchao
*/
async
importXML
(
xml
)
{
let
xmlData
=
this
.
$x2js
.
xml2js
(
xml
).
definitions
.
process
;
this
.
selectOptions
=
xmlData
.
userTask
.
map
((
item
)
=>
{
return
{
value
:
item
.
_id
,
label
:
item
.
_name
};
});
this
.
selectOptions
=
[
{
value
:
xmlData
.
startEvent
.
_id
,
label
:
"浏览记录"
},
...
this
.
selectOptions
,
];
this
.
selectOptions
=
this
.
selectOptions
.
map
((
item
)
=>
{
if
(
this
.
formData
.
finishedInfo
.
finishedTaskSet
.
includes
(
item
.
value
))
{
return
item
;
}
if
(
this
.
formData
.
finishedInfo
.
unfinishedTaskSet
.
includes
(
item
.
value
)
)
{
return
item
;
}
})
.
filter
(
Boolean
);
this
.
selectValue
=
xmlData
.
startEvent
.
_id
;
this
.
clearViewer
(
"a"
);
if
(
xml
!=
null
&&
xml
!==
""
)
{
try
{
this
.
bpmnViewer
=
new
BpmnViewer
({
additionalModules
:
[
// 移动整个画布
MoveCanvasModule
,
],
container
:
this
.
$refs
.
processCanvas
,
});
// 任务节点悬浮事件
this
.
bpmnViewer
.
on
(
"element.click"
,
({
element
})
=>
{
this
.
onSelectElement
(
element
);
});
await
this
.
bpmnViewer
.
importXML
(
xml
);
this
.
isLoading
=
true
;
this
.
addCustomDefs
();
}
catch
(
e
)
{
this
.
clearViewer
(
"b"
);
}
finally
{
this
.
isLoading
=
false
;
this
.
setProcessStatus
(
this
.
processNodeInfo
);
this
.
$nextTick
(()
=>
{
this
.
processReZoom
();
});
methods
:
{
/**
* @description: formatDate
* @param {*} row
* @param {*} column
* @author: renchao
*/
formatDate
(
row
,
column
)
{
let
data
=
row
[
column
.
property
];
if
(
data
==
null
)
{
return
null
;
}
}
},
// 获取流程记录
/**
* @description: 获取流程记录
* @author: renchao
*/
getCommentList
()
{
this
.
formData
.
allCommentList
.
forEach
(
async
(
item
,
index
)
=>
{
// item.comments.forEach(element => {
// if(element.type=="COMPLETE"){
// this.formData.allCommentList[index].idea=element.message
// this.formData.allCommentList[index].controls="完成"
// }
// });
let
type
=
item
.
comments
[
item
.
comments
.
length
-
1
].
type
;
this
.
formData
.
allCommentList
[
index
].
idea
=
item
.
comments
[
item
.
comments
.
length
-
1
].
message
;
// 操作方式
let
controls
=
""
;
switch
(
type
)
{
case
"COMPLETE"
:
controls
=
"完成"
;
break
;
case
"CLAIM"
:
controls
=
"完成"
;
break
;
case
"ASSIGN"
:
controls
=
"转办"
;
break
;
case
"DELEGATE"
:
controls
=
"委派"
;
break
;
case
"UNCLAIM"
:
controls
=
"取消认领"
;
break
;
case
"STOP"
:
controls
=
"终止"
;
break
;
case
"BACK"
:
controls
=
"退回"
;
break
;
let
dt
=
new
Date
(
data
);
return
(
dt
.
getFullYear
()
+
"-"
+
(
dt
.
getMonth
()
+
1
)
+
"-"
+
dt
.
getDate
()
+
" "
+
dt
.
getHours
()
+
":"
+
dt
.
getMinutes
()
+
":"
+
dt
.
getSeconds
()
);
},
/**
* @description: processReZoom
* @author: renchao
*/
processReZoom
()
{
this
.
defaultZoom
=
1
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
"fit-viewport"
,
"auto"
);
},
/**
* @description: processZoomIn
* @param {*} zoomStep
* @author: renchao
*/
processZoomIn
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
+
zoomStep
*
100
)
/
100
;
if
(
newZoom
>
4
)
{
throw
new
Error
(
"[Process Designer Warn ]: The zoom ratio cannot be greater than 4"
);
}
this
.
formData
.
allCommentList
[
index
].
controls
=
controls
;
this
.
formData
.
allCommentList
[
index
].
agent
=
item
.
assignee
.
name
;
});
this
.
formData
.
handlinglist
.
forEach
(
async
(
item
,
index
)
=>
{
if
(
item
.
assignee
.
name
)
{
this
.
formData
.
handlinglist
[
index
].
agent
=
item
.
assignee
.
name
;
}
else
{
let
str
=
""
;
item
.
countersign
.
forEach
((
item
)
=>
{
str
+=
item
.
name
+
","
;
});
str
=
str
.
slice
(
0
,
-
1
);
this
.
formData
.
allCommentList
[
index
].
agent
=
str
;
this
.
defaultZoom
=
newZoom
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
this
.
defaultZoom
);
},
/**
* @description: processZoomOut
* @param {*} zoomStep
* @author: renchao
*/
processZoomOut
(
zoomStep
=
0.1
)
{
const
newZoom
=
Math
.
floor
(
this
.
defaultZoom
*
100
-
zoomStep
*
100
)
/
100
;
if
(
newZoom
<
0.2
)
{
throw
new
Error
(
"[Process Designer Warn ]: The zoom ratio cannot be scss than 0.2"
);
}
});
this
.
taskList
=
[
...
this
.
formData
.
allCommentList
,
...
this
.
formData
.
handlinglist
,
];
// this.taskList =this.formData.allCommentList;
// 处理数据之后赋值
this
.
taskCommentList
=
this
.
taskList
;
},
// 设置流程图元素状态
/**
* @description: 设置流程图元素状态
* @param {*} processNodeInfo
* @author: renchao
*/
setProcessStatus
(
processNodeInfo
)
{
this
.
processNodeInfo
=
processNodeInfo
;
if
(
this
.
isLoading
||
this
.
processNodeInfo
==
null
||
this
.
bpmnViewer
==
null
)
return
;
const
{
finishedTaskSet
,
rejectedTaskSet
,
unfinishedTaskSet
,
finishedSequenceFlowSet
,
}
=
this
.
processNodeInfo
;
const
canvas
=
this
.
bpmnViewer
.
get
(
"canvas"
);
const
elementRegistry
=
this
.
bpmnViewer
.
get
(
"elementRegistry"
);
if
(
Array
.
isArray
(
finishedSequenceFlowSet
))
{
finishedSequenceFlowSet
.
forEach
((
item
)
=>
{
if
(
item
!=
null
)
{
canvas
.
addMarker
(
item
,
"success"
);
const
element
=
elementRegistry
.
get
(
item
);
const
conditionExpression
=
element
.
businessObject
.
conditionExpression
;
if
(
conditionExpression
)
{
canvas
.
addMarker
(
item
,
"condition-expression"
);
this
.
defaultZoom
=
newZoom
;
this
.
bpmnViewer
.
get
(
"canvas"
).
zoom
(
this
.
defaultZoom
);
},
/**
* @description: getOperationTagType
* @param {*} type
* @author: renchao
*/
getOperationTagType
(
type
)
{
return
"success"
;
},
// 流程图预览清空
/**
* @description: 流程图预览清空
* @param {*} e
* @author: renchao
*/
clearViewer
(
a
)
{
if
(
this
.
$refs
.
processCanvas
)
{
this
.
$refs
.
processCanvas
.
innerHTML
=
""
;
}
if
(
this
.
bpmnViewer
)
{
this
.
bpmnViewer
.
destroy
();
}
this
.
bpmnViewer
=
null
;
},
// 添加自定义箭头
/**
* @description: 添加自定义箭头
* @author: renchao
*/
addCustomDefs
()
{
const
canvas
=
this
.
bpmnViewer
.
get
(
"canvas"
);
const
svg
=
canvas
.
_svg
;
const
customSuccessDefs
=
this
.
$refs
.
customSuccessDefs
;
const
customFailDefs
=
this
.
$refs
.
customFailDefs
;
svg
.
appendChild
(
customSuccessDefs
);
svg
.
appendChild
(
customFailDefs
);
},
// 任务悬浮弹窗
/**
* @description: 任务悬浮弹窗
* @param {*} element
* @author: renchao
*/
onSelectElement
(
element
)
{
this
.
selectTaskId
=
undefined
;
this
.
dlgTitle
=
undefined
;
let
allfinishedTaskSet
=
[
...
this
.
processNodeInfo
.
finishedTaskSet
,
...
this
.
processNodeInfo
.
unfinishedTaskSet
,
];
if
(
this
.
processNodeInfo
==
null
||
allfinishedTaskSet
==
null
)
return
;
if
(
element
==
null
||
allfinishedTaskSet
.
indexOf
(
element
.
id
)
===
-
1
)
{
return
;
}
this
.
selectTaskId
=
element
.
id
;
this
.
selectValue
=
element
.
id
;
this
.
dlgTitle
=
element
.
businessObject
?
element
.
businessObject
.
name
:
undefined
;
// 计算当前悬浮任务审批记录,如果记录为空不显示弹窗
this
.
taskCommentList
=
(
this
.
taskList
||
[]).
filter
((
item
)
=>
{
return
item
.
taskDefinitionKey
===
this
.
selectTaskId
;
});
if
(
this
.
taskCommentList
.
length
==
0
)
{
this
.
taskCommentList
=
this
.
taskList
;
}
},
// 下拉列表切换
/**
* @description: 下拉列表切换
* @param {*} val
* @author: renchao
*/
handleSelect
(
val
)
{
this
.
taskCommentList
=
(
this
.
taskList
||
[]).
filter
((
item
)
=>
{
return
item
.
taskDefinitionKey
===
val
;
});
if
(
this
.
taskCommentList
.
length
==
0
)
{
this
.
taskCommentList
=
this
.
taskList
;
}
},
// 显示流程图
/**
* @description: 显示流程图
* @param {*} xml
* @author: renchao
*/
async
importXML
(
xml
)
{
let
xmlData
=
this
.
$x2js
.
xml2js
(
xml
).
definitions
.
process
;
this
.
selectOptions
=
xmlData
.
userTask
.
map
((
item
)
=>
{
return
{
value
:
item
.
_id
,
label
:
item
.
_name
};
});
this
.
selectOptions
=
[
{
value
:
xmlData
.
startEvent
.
_id
,
label
:
"浏览记录"
},
...
this
.
selectOptions
,
];
this
.
selectOptions
=
this
.
selectOptions
.
map
((
item
)
=>
{
if
(
this
.
formData
.
finishedInfo
.
finishedTaskSet
.
includes
(
item
.
value
))
{
return
item
;
}
if
(
this
.
formData
.
finishedInfo
.
unfinishedTaskSet
.
includes
(
item
.
value
)
)
{
return
item
;
}
})
.
filter
(
Boolean
);
this
.
selectValue
=
xmlData
.
startEvent
.
_id
;
this
.
clearViewer
(
"a"
);
if
(
xml
!=
null
&&
xml
!==
""
)
{
try
{
this
.
bpmnViewer
=
new
BpmnViewer
({
additionalModules
:
[
// 移动整个画布
MoveCanvasModule
,
],
container
:
this
.
$refs
.
processCanvas
,
});
// 任务节点悬浮事件
this
.
bpmnViewer
.
on
(
"element.click"
,
({
element
})
=>
{
this
.
onSelectElement
(
element
);
});
await
this
.
bpmnViewer
.
importXML
(
xml
);
this
.
isLoading
=
true
;
this
.
addCustomDefs
();
}
catch
(
e
)
{
this
.
clearViewer
(
"b"
);
}
finally
{
this
.
isLoading
=
false
;
this
.
setProcessStatus
(
this
.
processNodeInfo
);
this
.
$nextTick
(()
=>
{
this
.
processReZoom
();
});
}
}
},
// 获取流程记录
/**
* @description: 获取流程记录
* @author: renchao
*/
getCommentList
()
{
this
.
formData
.
allCommentList
.
forEach
(
async
(
item
,
index
)
=>
{
// item.comments.forEach(element => {
// if(element.type=="COMPLETE"){
// this.formData.allCommentList[index].idea=element.message
// this.formData.allCommentList[index].controls="完成"
// }
// });
let
type
=
item
.
comments
[
item
.
comments
.
length
-
1
].
type
;
this
.
formData
.
allCommentList
[
index
].
idea
=
item
.
comments
[
item
.
comments
.
length
-
1
].
message
;
// 操作方式
let
controls
=
""
;
switch
(
type
)
{
case
"COMPLETE"
:
controls
=
"完成"
;
break
;
case
"CLAIM"
:
controls
=
"完成"
;
break
;
case
"ASSIGN"
:
controls
=
"转办"
;
break
;
case
"DELEGATE"
:
controls
=
"委派"
;
break
;
case
"UNCLAIM"
:
controls
=
"取消认领"
;
break
;
case
"STOP"
:
controls
=
"终止"
;
break
;
case
"BACK"
:
controls
=
"退回"
;
break
;
}
this
.
formData
.
allCommentList
[
index
].
controls
=
controls
;
this
.
formData
.
allCommentList
[
index
].
agent
=
item
.
assignee
.
name
;
});
}
if
(
Array
.
isArray
(
finishedTaskSet
))
{
finishedTaskSet
.
forEach
((
item
)
=>
canvas
.
addMarker
(
item
,
"success"
));
}
if
(
Array
.
isArray
(
unfinishedTaskSet
))
{
unfinishedTaskSet
.
forEach
((
item
)
=>
canvas
.
addMarker
(
item
,
"primary"
));
}
if
(
Array
.
isArray
(
rejectedTaskSet
))
{
rejectedTaskSet
.
forEach
((
item
)
=>
{
if
(
item
!=
null
)
{
const
element
=
elementRegistry
.
get
(
item
);
if
(
element
.
type
.
includes
(
"Task"
))
{
canvas
.
addMarker
(
item
,
"danger"
);
}
else
{
canvas
.
addMarker
(
item
,
"warning"
);
}
this
.
formData
.
handlinglist
.
forEach
(
async
(
item
,
index
)
=>
{
if
(
item
.
assignee
.
name
)
{
this
.
formData
.
handlinglist
[
index
].
agent
=
item
.
assignee
.
name
;
}
else
{
let
str
=
""
;
item
.
countersign
.
forEach
((
item
)
=>
{
str
+=
item
.
name
+
","
;
});
str
=
str
.
slice
(
0
,
-
1
);
this
.
formData
.
allCommentList
[
index
].
agent
=
str
;
}
});
}
this
.
taskList
=
[
...
this
.
formData
.
allCommentList
,
...
this
.
formData
.
handlinglist
,
];
// this.taskList =this.formData.allCommentList;
// 处理数据之后赋值
this
.
taskCommentList
=
this
.
taskList
;
},
// 设置流程图元素状态
/**
* @description: 设置流程图元素状态
* @param {*} processNodeInfo
* @author: renchao
*/
setProcessStatus
(
processNodeInfo
)
{
this
.
processNodeInfo
=
processNodeInfo
;
if
(
this
.
isLoading
||
this
.
processNodeInfo
==
null
||
this
.
bpmnViewer
==
null
)
return
;
const
{
finishedTaskSet
,
rejectedTaskSet
,
unfinishedTaskSet
,
finishedSequenceFlowSet
,
}
=
this
.
processNodeInfo
;
const
canvas
=
this
.
bpmnViewer
.
get
(
"canvas"
);
const
elementRegistry
=
this
.
bpmnViewer
.
get
(
"elementRegistry"
);
if
(
Array
.
isArray
(
finishedSequenceFlowSet
))
{
finishedSequenceFlowSet
.
forEach
((
item
)
=>
{
if
(
item
!=
null
)
{
canvas
.
addMarker
(
item
,
"success"
);
const
element
=
elementRegistry
.
get
(
item
);
const
conditionExpression
=
element
.
businessObject
.
conditionExpression
;
if
(
conditionExpression
)
{
canvas
.
addMarker
(
item
,
"condition-expression"
);
}
}
});
}
if
(
Array
.
isArray
(
finishedTaskSet
))
{
finishedTaskSet
.
forEach
((
item
)
=>
canvas
.
addMarker
(
item
,
"success"
));
}
if
(
Array
.
isArray
(
unfinishedTaskSet
))
{
unfinishedTaskSet
.
forEach
((
item
)
=>
canvas
.
addMarker
(
item
,
"primary"
));
}
if
(
Array
.
isArray
(
rejectedTaskSet
))
{
rejectedTaskSet
.
forEach
((
item
)
=>
{
if
(
item
!=
null
)
{
const
element
=
elementRegistry
.
get
(
item
);
if
(
element
.
type
.
includes
(
"Task"
))
{
canvas
.
addMarker
(
item
,
"danger"
);
}
else
{
canvas
.
addMarker
(
item
,
"warning"
);
}
}
});
}
},
},
},
};
};
</
script
>
<
style
scoped
lang=
"scss"
>
.information-list
{
height
:
220px
;
margin-top
:
10px
;
.information-list
{
height
:
220px
;
margin-top
:
10px
;
p
{
font-size
:
16px
;
line-height
:
24px
;
p
{
font-size
:
16px
;
line-height
:
24px
;
}
}
/
deep
/
.bjs-powered-by
{
display
:
none
;
}
}
/
deep
/
.bjs-powered-by
{
display
:
none
;
}
//
/
deep
/
.information-list
{
//
height
:
170px
;
//
overflow
:
visible
;
//
}
//
/
deep
/
.information-list
{
//
height
:
170px
;
//
overflow
:
visible
;
//
}
</
style
>
...
...
src/views/workflow/workFrame.vue
View file @
b796307
...
...
@@ -158,6 +158,7 @@
this
.
fresh
++
;
//获取单元对应的所有表单信息
this
.
tabList
=
res
.
result
;
console
.
log
(
res
.
result
,
'res.result'
);
//默认加载第一个表单信息
let
arr
=
res
.
result
.
filter
(
item
=>
item
.
defaultForm
)
if
(
arr
.
length
>
0
)
{
...
...
src/views/ywbl/dbx/dbx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
4 15:03:20
* @LastEditTime: 2023-07-2
5 09:21:53
-->
<
template
>
<div
class=
"from-clues"
>
...
...
@@ -264,10 +264,10 @@
}
else
{
this
.
$message
.
error
(
"用户任务权限判断失败,请联系管理员"
);
}
})
;
}
,
}
,
}
;
})
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/public.scss"
;
...
...
src/views/ywbl/slsqxx/fdcq2/slxx300.vue
View file @
b796307
<!--
* @Description: 受理信息
* @Autor: renchao
* @LastEditTime: 2023-07-2
1 14:27:15
* @LastEditTime: 2023-07-2
5 09:22:40
-->
<
template
>
<div
class=
"slxx"
>
...
...
@@ -332,7 +332,6 @@
upDateYwrxxList
(
val
)
{
this
.
ruleForm
.
ywrList
=
_
.
cloneDeep
(
val
);
},
/**
* @description: onSubmit
* @author: renchao
...
...
src/views/ywbl/slsqxx/fwsyq/slxx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
0 09:32:18
* @LastEditTime: 2023-07-2
5 09:23:05
-->
<
template
>
<!-- 受理信息 -->
...
...
@@ -296,9 +296,9 @@
console
.
log
(
res
);
//this.ruleForm = { ...res.result, ...res.result.zdjbxxdatas, ...res.result.qlxxdatas, ...res.result.jsydsyqdatas }
}
})
;
}
,
}
,
})
}
}
};
</
script
>
<
style
scoped
lang=
'scss'
>
...
...
src/views/ywbl/slsqxx/jsydsyq/slxx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-
14 11:09:33
* @LastEditTime: 2023-07-
25 09:23:20
-->
<
template
>
<!-- 受理信息 -->
...
...
@@ -320,7 +320,10 @@
})
}
}
console
.
log
(
"this.ruleFormmmmmmmmm"
,
this
.
ruleForm
);
/**
* @description: saveData
* @author: renchao
*/
saveData
(
this
.
ruleForm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
({
...
...
src/views/ywbl/slsqxx/jsydsyq/slxx300.vue
View file @
b796307
...
...
@@ -2,7 +2,7 @@
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-0
5-25 08:59:49
* @LastEditTime: 2023-0
7-25 09:23:42
-->
<
template
>
<!-- 受理信息 -->
...
...
@@ -334,10 +334,10 @@ export default {
{
propsParam
:
this
.
propsParam
},
"80%"
,
true
)
;
}
,
}
,
}
;
)
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/public.scss"
;
...
...
src/views/ywbl/slsqxx/nydsyq/slxx.vue
View file @
b796307
...
...
@@ -352,8 +352,8 @@
})
this
.
ruleForm
.
nydsyq
.
ydyhflmc
=
itemLx
.
dname
;
}
}
,
}
;
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/public.scss"
;
...
...
src/views/ywbl/slsqxx/tdsyq/slxx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
0 09:30:51
* @LastEditTime: 2023-07-2
5 09:24:18
-->
<
template
>
<!-- 受理信息 -->
...
...
@@ -472,6 +472,10 @@
});
}
}
/**
* @description: saveData
* @author: renchao
*/
saveData
(
this
.
ruleForm
).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
({
...
...
src/views/ywbl/slsqxx/ygdj/slxx300.vue
View file @
b796307
...
...
@@ -244,9 +244,9 @@
});
}
});
}
,
}
,
}
;
}
}
}
</
script
>
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/public.scss"
;
...
...
src/views/ywbl/ybx/ybx.vue
View file @
b796307
<!--
* @Description:
* @Autor: renchao
* @LastEditTime: 2023-07-2
4 15:03:46
* @LastEditTime: 2023-07-2
5 09:21:40
-->
<
template
>
<div
class=
"from-clues"
>
...
...
@@ -232,11 +232,9 @@
);
window
.
open
(
href
,
`workFrameView
${
item
.
bsmSlsq
}
`
);
}
},
},
};
}
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/public.scss"
;
...
...
src/views/ywbl/ywsq/guidePage.vue
View file @
b796307
...
...
@@ -391,7 +391,6 @@
<
style
scoped
lang=
'scss'
>
@import
"~@/styles/mixin.scss"
;
@import
"./ywsq.scss"
;
/
deep
/
.el-collapse-item__content
{
padding-bottom
:
0
;
}
...
...
Please
register
or
sign in
to post a comment