Commit a3fc300b authored by 刘殿昕's avatar 刘殿昕

流程图,总体功能已完成,值在verificaation里1

parent 51eb20f8
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="142" height="73" viewBox="0 0 142 73">
<defs>
<style>
.cls-1 {
fill: #fff;
stroke: #fcce72;
stroke-linejoin: round;
stroke-width: 3px;
fill-rule: evenodd;
filter: url(#filter);
}
</style>
<filter id="filter" x="6" y="96" width="139" height="70" filterUnits="userSpaceOnUse">
<feOffset result="offset" dy="4" in="SourceAlpha"/>
<feGaussianBlur result="blur" stdDeviation="2.828"/>
<feFlood result="flood" flood-color="#000765" flood-opacity="0.15"/>
<feComposite result="composite" operator="in" in2="blur"/>
<feBlend result="blend" in="SourceGraphic"/>
</filter>
</defs>
<g transform="translate(-4.5 -94.5)" style="fill: #fff; filter: url(#filter)">
<path id="条件节点" class="cls-1" d="M81.665,100.221l50.709,18.925c6.16,2.3,6.16,11.429,0,13.728L81.665,151.8a19.05,19.05,0,0,1-13.361,0L17.6,132.874c-6.16-2.3-6.16-11.429,0-13.728L68.3,100.221A19.058,19.058,0,0,1,81.665,100.221Z" style="stroke: inherit; filter: none; fill: inherit"/>
</g>
<use transform="translate(-4.5 -94.5)" xlink:href="#条件节点" style="stroke: #fcce72; filter: none; fill: none"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="118" height="46" viewBox="0 0 123 50.969">
<defs>
<style>
.cls-1 {
fill: #fff;
stroke: #f5ab4c;
stroke-linejoin: round;
stroke-width: 3px;
fill-rule: evenodd;
}
</style>
</defs>
<path id="bg_tiaojian_nor" class="cls-1" d="M506.45,765.085L555.523,781.9a6.394,6.394,0,0,1,0,12.2L506.45,810.905a20,20,0,0,1-12.93,0l-49.073-16.812a6.394,6.394,0,0,1,0-12.2l49.073-16.812A19.982,19.982,0,0,1,506.45,765.085Z" transform="translate(-438.5 -762.531)"/>
</svg>
<template> <template>
<svg :class="svgClass" aria-hidden="true"> <svg :class="svgClass" aria-hidden="true">
<use :xlink:href="iconName"/> <use :xlink:href="iconName" />
</svg> </svg>
</template> </template>
<script> <script>
export default { export default {
name: 'SvgIcon', name: "SvgIcon",
props: { props: {
iconClass: { iconClass: {
type: String, type: String,
required: true, required: true,
}, },
className: { className: {
type: String, type: String,
default: '', default: "",
}, },
}, },
computed: { computed: {
iconName () { iconName() {
return `#icon-${this.iconClass}` return `#icon-${this.iconClass}`;
}, },
svgClass () { svgClass() {
if (this.className) { if (this.className) {
return 'svg-icon ' + this.className return "svg-icon " + this.className;
} else { } else {
return 'svg-icon' return "svg-icon";
} }
}, },
}, },
} };
</script> </script>
<style scoped> <style scoped>
.svg-icon { .svg-icon {
width: 1em; width: 1em;
height: 1em; height: 1em;
vertical-align: -0.15em; vertical-align: -0.15em;
fill: currentColor; fill: currentColor;
overflow: hidden; overflow: hidden;
} }
</style> </style>
\ No newline at end of file
This diff is collapsed.
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="142" height="73" viewBox="0 0 142 73">
<defs>
<style>
.cls-1 {
fill: #fff;
stroke: #fcce72;
stroke-linejoin: round;
stroke-width: 3px;
fill-rule: evenodd;
filter: url(#filter);
}
</style>
<filter id="filter" x="6" y="96" width="139" height="70" filterUnits="userSpaceOnUse">
<feOffset result="offset" dy="4" in="SourceAlpha"/>
<feGaussianBlur result="blur" stdDeviation="2.828"/>
<feFlood result="flood" flood-color="#000765" flood-opacity="0.15"/>
<feComposite result="composite" operator="in" in2="blur"/>
<feBlend result="blend" in="SourceGraphic"/>
</filter>
</defs>
<g transform="translate(-4.5 -94.5)" style="fill: #fff; filter: url(#filter)">
<path id="条件节点" class="cls-1" d="M81.665,100.221l50.709,18.925c6.16,2.3,6.16,11.429,0,13.728L81.665,151.8a19.05,19.05,0,0,1-13.361,0L17.6,132.874c-6.16-2.3-6.16-11.429,0-13.728L68.3,100.221A19.058,19.058,0,0,1,81.665,100.221Z" style="stroke: inherit; filter: none; fill: inherit"/>
</g>
<use transform="translate(-4.5 -94.5)" xlink:href="#条件节点" style="stroke: #fcce72; filter: none; fill: none"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="123" height="50.969" viewBox="0 0 123 50.969">
<defs>
<style>
.cls-1 {
fill: #fff;
stroke: #f5ab4c;
stroke-linejoin: round;
stroke-width: 3px;
fill-rule: evenodd;
}
</style>
</defs>
<path id="bg_tiaojian_nor" class="cls-1" d="M506.45,765.085L555.523,781.9a6.394,6.394,0,0,1,0,12.2L506.45,810.905a20,20,0,0,1-12.93,0l-49.073-16.812a6.394,6.394,0,0,1,0-12.2l49.073-16.812A19.982,19.982,0,0,1,506.45,765.085Z" transform="translate(-438.5 -762.531)"/>
</svg>
<template> <template>
<div class="design_contain"> <div class="design_contain">
<el-breadcrumb separator="/" class="bread_crumb1"> <el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item :to="{ path: '/workplace' }">{{ $t("lang.online_component_tool") }}</el-breadcrumb-item> <el-breadcrumb-item :to="{ path: '/workplace' }">{{
<el-breadcrumb-item :to="{ path: '/progress/designer' }">{{ $t("lang.process_design") }}</el-breadcrumb-item> $t("lang.online_component_tool")
<el-breadcrumb-item :to="{ path: '/progress/designer' }">{{ $t("lang.process_management") }}</el-breadcrumb-item> }}</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/progress/designer' }">{{
$t("lang.process_design")
}}</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/progress/designer' }">{{
$t("lang.process_management")
}}</el-breadcrumb-item>
<el-breadcrumb-item>{{ $t("lang.edit") }}</el-breadcrumb-item> <el-breadcrumb-item>{{ $t("lang.edit") }}</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
<BlockRadius class="block_item"> <BlockRadius class="block_item">
...@@ -15,10 +21,18 @@ ...@@ -15,10 +21,18 @@
class="apaas_step" class="apaas_step"
> >
<div class="step_in" ref="stepInProcess"> <div class="step_in" ref="stepInProcess">
<el-form :model="basic_form" :rules="rules" ref="basicInformation" class="form_left"> <el-form
:model="basic_form"
:rules="rules"
ref="basicInformation"
class="form_left"
>
<el-form-item prop="name"> <el-form-item prop="name">
<p class="formname">流程名称:</p> <p class="formname">流程名称:</p>
<el-input v-model="basic_form.name" placeholder="请输入流程名称"></el-input> <el-input
v-model="basic_form.name"
placeholder="请输入流程名称"
></el-input>
</el-form-item> </el-form-item>
<el-form-item prop="workplace"> <el-form-item prop="workplace">
<p class="formname">工作区域:</p> <p class="formname">工作区域:</p>
...@@ -39,7 +53,7 @@ ...@@ -39,7 +53,7 @@
<p class="formname">流程描述:</p> <p class="formname">流程描述:</p>
<el-input <el-input
type="textarea" type="textarea"
:autosize="{ minRows: 6, maxRows: 10}" :autosize="{ minRows: 6, maxRows: 10 }"
v-model="basic_form.desc" v-model="basic_form.desc"
placeholder="请输入流程描述" placeholder="请输入流程描述"
></el-input> ></el-input>
...@@ -85,7 +99,10 @@ ...@@ -85,7 +99,10 @@
<div class="steps_container steps_done"> <div class="steps_container steps_done">
<div class="steps_done_info"> <div class="steps_done_info">
<div class="left_container"> <div class="left_container">
<img :src="require('@/assets/imgs/steps_done.png')" width="100%" /> <img
:src="require('@/assets/imgs/steps_done.png')"
width="100%"
/>
</div> </div>
<div class="right_container"> <div class="right_container">
<p>保存成功</p> <p>保存成功</p>
...@@ -166,6 +183,8 @@ export default { ...@@ -166,6 +183,8 @@ export default {
let end_after = 0; let end_after = 0;
let in_edge = 0; let in_edge = 0;
let out_edge = 0; let out_edge = 0;
let judge_nodes = [];
let in_judge_edges = 0;
let datas = { ...data.obj }; let datas = { ...data.obj };
datas.nodeList.forEach((item) => { datas.nodeList.forEach((item) => {
let da = data.params.find((nodep) => { let da = data.params.find((nodep) => {
...@@ -181,6 +200,9 @@ export default { ...@@ -181,6 +200,9 @@ export default {
end_num++; end_num++;
end_id = item.id; end_id = item.id;
} }
if (item.meta.type == 4) {
judge_nodes.push(item.meta.id);
}
if ( if (
datas.linkList.findIndex((el) => { datas.linkList.findIndex((el) => {
return el.startId == item.id; return el.startId == item.id;
...@@ -208,6 +230,9 @@ export default { ...@@ -208,6 +230,9 @@ export default {
if (end_id == item.startId) { if (end_id == item.startId) {
end_after++; end_after++;
} }
if (judge_nodes.indexOf(item.endId) != -1) {
in_judge_edges++;
}
}); });
if (start_num != 1 || end_num != 1) { if (start_num != 1 || end_num != 1) {
this.$message({ this.$message({
...@@ -238,6 +263,11 @@ export default { ...@@ -238,6 +263,11 @@ export default {
message: "不能连接本节点之前的节点", message: "不能连接本节点之前的节点",
type: "warning", type: "warning",
}); });
} else if (judge_nodes.length != in_judge_edges) {
this.$message({
message: "条件节点应当有且只有一条入边",
type: "warning",
});
} else { } else {
return datas; return datas;
} }
......
...@@ -151,6 +151,8 @@ export default { ...@@ -151,6 +151,8 @@ export default {
let end_after = 0; let end_after = 0;
let in_edge = 0; let in_edge = 0;
let out_edge = 0; let out_edge = 0;
let judge_nodes = [];
let in_judge_edges = 0;
let datas = { ...data.obj }; let datas = { ...data.obj };
datas.nodeList.forEach((item) => { datas.nodeList.forEach((item) => {
let da = data.params.find((nodep) => { let da = data.params.find((nodep) => {
...@@ -166,6 +168,9 @@ export default { ...@@ -166,6 +168,9 @@ export default {
end_num++; end_num++;
end_id = item.id; end_id = item.id;
} }
if (item.meta.type == 4) {
judge_nodes.push(item.meta.id)
}
if ( if (
datas.linkList.findIndex((el) => { datas.linkList.findIndex((el) => {
return el.startId == item.id; return el.startId == item.id;
...@@ -193,6 +198,9 @@ export default { ...@@ -193,6 +198,9 @@ export default {
if (end_id == item.startId) { if (end_id == item.startId) {
end_after++; end_after++;
} }
if (judge_nodes.indexOf(item.endId) != -1) {
in_judge_edges++;
}
}); });
if (start_num != 1 || end_num != 1) { if (start_num != 1 || end_num != 1) {
this.$message({ this.$message({
...@@ -223,6 +231,11 @@ export default { ...@@ -223,6 +231,11 @@ export default {
message: "不能连接本节点之前的节点", message: "不能连接本节点之前的节点",
type: "warning", type: "warning",
}); });
} else if (judge_nodes.length != in_judge_edges) {
this.$message({
message: "条件节点应当有且只有一条入边",
type: "warning",
});
} else { } else {
return datas; return datas;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment