feat: 流程设计器全屏展示

rf
tony 2022-12-25 17:07:00 +08:00
parent ffd7a7ba41
commit c74a1c8fc2
3 changed files with 48 additions and 10 deletions

View File

@ -1,7 +1,7 @@
<template> <template>
<div v-loading="isView" class="flow-containers" :class="{ 'view-mode': isView }"> <div v-loading="isView" class="flow-containers" :class="{ 'view-mode': isView }">
<el-container style="height: 100%"> <el-container style="height: 100%">
<el-header style="border-bottom: 1px solid rgb(218 218 218);height: auto;"> <el-header style="border-bottom: 1px solid rgb(218 218 218);height: auto;padding-left:0px">
<div style="display: flex; padding: 10px 0px; justify-content: space-between;"> <div style="display: flex; padding: 10px 0px; justify-content: space-between;">
<div> <div>
<el-upload action="" :before-upload="openBpmn" style="margin-right: 10px; display:inline-block;"> <el-upload action="" :before-upload="openBpmn" style="margin-right: 10px; display:inline-block;">

View File

@ -223,6 +223,17 @@
</el-col> </el-col>
</el-row> </el-row>
</el-dialog> </el-dialog>
<!--流程设计器-->
<el-dialog
title="流程配置"
:visible.sync="dialogVisible"
:close-on-press-escape="false"
:fullscreen=true
:before-close="handleClose"
append-to-body>
<Model :deployId="deployId"/>
</el-dialog>
</div> </div>
</template> </template>
@ -241,18 +252,21 @@ import { getToken } from "@/utils/auth";
import { getForm, addDeployForm ,listForm } from "@/api/flowable/form"; import { getForm, addDeployForm ,listForm } from "@/api/flowable/form";
import Parser from '@/components/parser/Parser' import Parser from '@/components/parser/Parser'
import flow from '@/views/flowable/task/myProcess/send/flow' import flow from '@/views/flowable/task/myProcess/send/flow'
import Model from './model';
export default { export default {
name: "Definition", name: "Definition",
dicts: ['sys_process_category'], dicts: ['sys_process_category'],
components: { components: {
Parser, Parser,
flow flow,
Model
}, },
data() { data() {
return { return {
// //
loading: true, loading: true,
dialogVisible: false,
// //
ids: [], ids: [],
// //
@ -318,6 +332,7 @@ export default {
formId: null, formId: null,
deployId: null deployId: null
}, },
deployId: '',
currentRow: null, currentRow: null,
// xml // xml
flowData: {}, flowData: {},
@ -341,6 +356,15 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
handleClose(done) {
this.$confirm('确定要关闭吗?关闭未保存的修改都会丢失?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
done();
}).catch(() => {});
},
// //
cancel() { cancel() {
this.open = false; this.open = false;
@ -386,7 +410,9 @@ export default {
}, },
/** 跳转到流程设计页面 */ /** 跳转到流程设计页面 */
handleLoadXml(row){ handleLoadXml(row){
this.$router.push({ path: '/flowable/definition/model',query: { deployId: row.deploymentId }}) this.dialogVisible = true;
this.deployId = row.deploymentId;
// this.$router.push({ path: '/flowable/definition/model',query: { deployId: row.deploymentId }})
}, },
/** 流程图查看 */ /** 流程图查看 */
handleReadImage(deployId){ handleReadImage(deployId){

View File

@ -12,12 +12,12 @@
@showXML="showXML" @showXML="showXML"
/> />
<!--在线查看xml--> <!--在线查看xml-->
<el-dialog :title="xmlTitle" :visible.sync="xmlOpen" width="70%" class="showAll_dialog"> <el-drawer :title="xmlTitle" :modal="false" direction="rtl" :visible.sync="xmlOpen" size="60%">
<!-- 设置对话框内容高度 --> <!-- 设置对话框内容高度 -->
<el-scrollbar> <el-scrollbar>
<pre v-highlight="xmlData"><code class="xml"></code></pre> <pre v-highlight="xmlData"><code class="xml"></code></pre>
</el-scrollbar> </el-scrollbar>
</el-dialog> </el-drawer>
</div> </div>
</template> </template>
<script> <script>
@ -33,6 +33,12 @@ export default {
bpmnModeler, bpmnModeler,
vkBeautify vkBeautify
}, },
props: {
deployId: {
type: String,
default: ''
},
},
// //
directives: { directives: {
deep: true, deep: true,
@ -78,12 +84,18 @@ export default {
}; };
}, },
watch: {
deployId: {
handler(newVal) {
if (newVal) {
this.getXmlData(newVal);
}
},
immediate: true, //
deep: true //
},
},
created () { created () {
const deployId = this.$route.query && this.$route.query.deployId;
// xml
if (deployId) {
this.getXmlData(deployId);
}
this.getDicts("sys_process_category").then(res => { this.getDicts("sys_process_category").then(res => {
this.categorys = res.data; this.categorys = res.data;
}); });