parent
cc792efe87
commit
6954b82584
62 changed files with 3723 additions and 607 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 434 KiB |
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 285 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 123 KiB |
@ -0,0 +1,13 @@ |
|||||||
|
import request from "@/router/axios"; |
||||||
|
|
||||||
|
/** |
||||||
|
* 文件流返回 |
||||||
|
* @param url 接口地址 |
||||||
|
*/ |
||||||
|
export const exportBlob = (url) => { |
||||||
|
return request({ |
||||||
|
url: url, |
||||||
|
method: 'get', |
||||||
|
responseType: 'blob' |
||||||
|
}) |
||||||
|
} |
||||||
@ -0,0 +1,123 @@ |
|||||||
|
<template> |
||||||
|
<div> |
||||||
|
<el-dialog v-if="isDialog" |
||||||
|
:visible.sync="visible" |
||||||
|
append-to-body |
||||||
|
destroy-on-close |
||||||
|
title="流程图展示" |
||||||
|
width="70%" |
||||||
|
custom-class="flow-design-dialog"> |
||||||
|
<wf-design-base ref="bpmn" |
||||||
|
style="height: 60vh;" |
||||||
|
:options="option"></wf-design-base> |
||||||
|
</el-dialog> |
||||||
|
<div v-else> |
||||||
|
<wf-design-base v-if="visible" |
||||||
|
ref="bpmn" |
||||||
|
style="height: 60vh;" |
||||||
|
:options="option"></wf-design-base> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import {modelView} from '@/api/flow/flow' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'flowDesign', |
||||||
|
props: { |
||||||
|
isDialog: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
isDisplay: { |
||||||
|
type: Boolean, |
||||||
|
default: false |
||||||
|
}, |
||||||
|
processInstanceId: String, |
||||||
|
processDefinitionId: String, |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
visible: false, |
||||||
|
option: { |
||||||
|
mode: 'view' |
||||||
|
} |
||||||
|
} |
||||||
|
}, |
||||||
|
watch: { |
||||||
|
isDisplay: { |
||||||
|
handler(val) { |
||||||
|
this.visible = val |
||||||
|
}, |
||||||
|
immediate: true |
||||||
|
}, |
||||||
|
visible: { |
||||||
|
handler(val) { |
||||||
|
this.$emit('update:is-display', val) |
||||||
|
} |
||||||
|
}, |
||||||
|
processInstanceId: { |
||||||
|
handler(val) { |
||||||
|
if (!val) return |
||||||
|
this.getDetail({processInstanceId: this.processInstanceId}) |
||||||
|
}, |
||||||
|
immediate: true |
||||||
|
}, |
||||||
|
processDefinitionId: { |
||||||
|
handler(val) { |
||||||
|
if (!val) return |
||||||
|
this.getDetail({processDefinitionId: this.processDefinitionId}) |
||||||
|
}, |
||||||
|
immediate: true |
||||||
|
} |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
getDetail(params) { |
||||||
|
modelView(params).then(res => { |
||||||
|
const data = res.data.data |
||||||
|
const {xml, flow} = data |
||||||
|
this.$set(this.option, 'xml', xml) |
||||||
|
if (flow) { |
||||||
|
const flows = [] |
||||||
|
flow.forEach(f => { |
||||||
|
let {endTime} = f |
||||||
|
|
||||||
|
const ff = { |
||||||
|
id: f.historyActivityId, |
||||||
|
class: (!endTime && f.historyActivityType !== 'candidate') ? 'nodePrimary' : '' |
||||||
|
} |
||||||
|
|
||||||
|
if (f.historyActivityType === 'sequenceFlow') ff.class = 'lineWarn' |
||||||
|
else if (!ff.class && f.historyActivityType !== 'candidate') ff.class = 'nodeSuccess' |
||||||
|
|
||||||
|
const index = flows.findIndex(fl => fl.id === f.historyActivityId) |
||||||
|
if (index !== -1) flows.splice(index, 1, ff) |
||||||
|
else flows.push(ff) |
||||||
|
}) |
||||||
|
this.$set(this.option, 'flows', flows) |
||||||
|
} |
||||||
|
}) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="scss"> |
||||||
|
.flow-design-dialog { |
||||||
|
display: flex; |
||||||
|
flex-direction: column; |
||||||
|
margin: 0 !important; |
||||||
|
position: absolute; |
||||||
|
top: 40%; |
||||||
|
left: 50%; |
||||||
|
transform: translate(-50%, -40%); |
||||||
|
max-height: calc(100% - 30px); |
||||||
|
max-width: calc(100% - 30px); |
||||||
|
|
||||||
|
.el-dialog__body { |
||||||
|
flex: 1; |
||||||
|
overflow: auto; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
||||||
Loading…
Reference in new issue