优化效果,新增节点配置

master
面包骑士 2024-08-28 08:13:19 +08:00
commit 4254193e16
6 changed files with 187 additions and 117 deletions

View File

@ -17,23 +17,23 @@ export function getEditionList(id) {
}) })
} }
// //
// // 新增规则 // 新增规则
// export function addRule(data) { export function addRule(data) {
// return request({ return request({
// url: '/rule/rule/insert', url: '/rule/ruleEdition/insert',
// method: 'post', method: 'post',
// data: data data: data
// }) })
// } }
//
// // 修改规则 // 修改规则
// export function updateRule(data) { export function updateRule(data) {
// return request({ return request({
// url: '/rule/rule/update', url: '/rule/ruleEdition/update',
// method: 'put', method: 'put',
// data: data data: data
// }) })
// } }
// //
// //
// // 删除规则 // // 删除规则

View File

@ -39,7 +39,7 @@
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-drawer title="通知公告" :visible.sync="drawer" direction="rtl" :size="'60%'"> <el-drawer title="通知公告" :visible.sync="drawer" direction="rtl" :size="'60%'" :modal="false">
<el-radio-group v-model="readingStatu" size="small"> <el-radio-group v-model="readingStatu" size="small">
<el-radio-button label="">全部</el-radio-button> <el-radio-button label="">全部</el-radio-button>
<el-radio-button label="1">已读</el-radio-button> <el-radio-button label="1">已读</el-radio-button>

View File

@ -91,34 +91,35 @@ export default {
const rows = res.data.rows const rows = res.data.rows
for (let i = 0; i < rows.length; i++) { for (let i = 0; i < rows.length; i++) {
const r = flowNode.methods.toJsPlumbNode(rows[i]) const r = flowNode.methods.toJsPlumbNode(rows[i])
nodeTypeList.forEach(v => { this.data.nodeList.push({
if (r.node.type === v.type) { id: r.node.id,
r.node.typeName = v.typeName type: r.node.type,
r.node.logImg = v.logImg typeName: r.node.typeName,
r.node.log_bg_color = v.log_bg_color nodeName: r.node.nodeName,
} top: r.node.top,
left: r.node.left
}) })
this.data.nodeList.push(r.node)
if (r.line) { if (r.line) {
r.line.forEach(v => { r.line.forEach(v => {
let flag = true this.data.lineList.push({
this.data.lineList.forEach(v2 =>{ from: v.from,
if (v2.from === v.from && v2.to === v.to) { to: v.to,
flag = false label: "连线名称",
} id: GenNonDuplicateID(8),
}) Remark: ""
if (flag){ });
this.data.lineList.push({
from: v.from,
to: v.to,
label: "连线名称",
id: GenNonDuplicateID(8),
Remark: ""
});
}
}) })
} }
} }
this.data.nodeList.forEach(node => {
nodeTypeList.forEach(v => {
if (node.type === v.type) {
node.typeName = v.typeName
node.logImg = v.logImg
node.log_bg_color = v.log_bg_color
}
})
})
// console.log(data) // console.log(data)
console.log(this.data) console.log(this.data)
}) })

View File

@ -19,7 +19,7 @@
<div class="node-anchor anchor-left" v-show="mouseEnter"></div> <div class="node-anchor anchor-left" v-show="mouseEnter"></div>
<!-- 节点配置--> <!-- 节点配置-->
<div align="center"> <div align="center">
<el-dialog :modal="false" title="配置" :visible.sync="disposition.findFlag" width="50%"> <el-dialog :modal="false" title="配置" :visible.sync="disposition.findFlag" width="50%" >
<span>数据库:&nbsp;&nbsp;{{ disposition.formData.dbName }}</span> <span>数据库:&nbsp;&nbsp;{{ disposition.formData.dbName }}</span>
<span>数据表:&nbsp;&nbsp;{{ disposition.formData.table }}</span> <span>数据表:&nbsp;&nbsp;{{ disposition.formData.table }}</span>
<span> <span>
@ -246,8 +246,6 @@ export default {
/** jsPlumb节点类型 --> 数据库节点类型 */ /** jsPlumb节点类型 --> 数据库节点类型 */
toMysqlNode(node,preLine,nextLine){ toMysqlNode(node,preLine,nextLine){
return { return {
id: node.authId,
nodeType: node.type,
nodeCode: node.id, nodeCode: node.id,
nodeName: node.nodeName, nodeName: node.nodeName,
nodePositionTop: node.top, nodePositionTop: node.top,
@ -260,7 +258,6 @@ export default {
/** 数据库节点类型 --> jsPlumb节点类型 */ /** 数据库节点类型 --> jsPlumb节点类型 */
toJsPlumbNode(nodeInfo){ toJsPlumbNode(nodeInfo){
const node = { const node = {
authId: nodeInfo.id,
id: nodeInfo.nodeCode, id: nodeInfo.nodeCode,
type: nodeInfo.nodeType, type: nodeInfo.nodeType,
nodeName: nodeInfo.nodeName, nodeName: nodeInfo.nodeName,

View File

@ -40,7 +40,8 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['rule:rule:add']" v-hasPermi="['rule:rule:add']"
>新增</el-button> >新增
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -51,7 +52,8 @@
:disabled="single" :disabled="single"
@click="handleUpdate" @click="handleUpdate"
v-hasPermi="['rule:rule:edit']" v-hasPermi="['rule:rule:edit']"
>修改</el-button> >修改
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -62,7 +64,8 @@
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['rule:rule:remove']" v-hasPermi="['rule:rule:remove']"
>删除</el-button> >删除
</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -72,19 +75,20 @@
size="mini" size="mini"
@click="handleExport" @click="handleExport"
v-hasPermi="['rule:rule:export']" v-hasPermi="['rule:rule:export']"
>导出</el-button> >导出
</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="ruleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center"/>
<el-table-column label="主键" align="center" prop="id" /> <el-table-column label="主键" align="center" prop="id"/>
<el-table-column label="规则名称" align="center" prop="name" /> <el-table-column label="规则名称" align="center" prop="name"/>
<el-table-column label="规则类型" align="center" prop="ruleType" /> <el-table-column label="规则类型" align="center" prop="ruleType"/>
<el-table-column label="是否激活" align="center" prop="isActivate" /> <el-table-column label="是否激活" align="center" prop="isActivate"/>
<el-table-column label="规则描述" align="center" prop="ruleDesc" /> <el-table-column label="规则描述" align="center" prop="ruleDesc"/>
<el-table-column label="规则代码" align="center" prop="ruleCode" /> <el-table-column label="规则代码" align="center" prop="ruleCode"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -93,21 +97,24 @@
icon="el-icon-edit" icon="el-icon-edit"
@click="handleMaintain(scope.row)" @click="handleMaintain(scope.row)"
v-hasPermi="['rule:rule:remove']" v-hasPermi="['rule:rule:remove']"
>规则维护</el-button> >规则维护
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['rule:rule:edit']" v-hasPermi="['rule:rule:edit']"
>修改</el-button> >修改
</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['rule:rule:remove']" v-hasPermi="['rule:rule:remove']"
>删除</el-button> >删除
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -124,21 +131,28 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="name"> <el-form-item label="规则名称" prop="name">
<el-input v-model="form.name" placeholder="请输入规则名称" /> <el-input v-model="form.name" placeholder="请输入规则名称"/>
</el-form-item> </el-form-item>
<el-form-item label="是否激活"> <el-form-item label="是否激活">
<el-radio-group v-model="form.isActivate" placeholder="请输入是否激活"> <el-radio-group v-model="form.isActivate" placeholder="请输入是否激活">
<el-radio label="Y"></el-radio> <el-radio label="Y"></el-radio>
<el-radio label="N"></el-radio> <el-radio label="N"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="是否激活">
<el-radio-group v-model="form.ruleType" placeholder="请输入规则">
<el-radio label="自定义规则"></el-radio>
<el-radio label="规则模板"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="规则描述" prop="ruleDesc"> <el-form-item label="规则描述" prop="ruleDesc">
<el-input v-model="form.ruleDesc" type="textarea" placeholder="请输入内容" /> <el-input v-model="form.ruleDesc" type="textarea" placeholder="请输入内容"/>
</el-form-item> </el-form-item>
<el-form-item label="规则代码" prop="ruleCode"> <el-form-item label="规则代码" prop="ruleCode">
<el-input v-model="form.ruleCode" placeholder="请输入规则代码" /> <el-input v-model="form.ruleCode" placeholder="请输入规则代码"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -150,7 +164,7 @@
</template> </template>
<script> <script>
import { listRule, getRule, delRule, addRule, updateRule } from "/src/api/rule/rule"; import {listRule, getRule, delRule, addRule, updateRule} from "/src/api/rule/rule";
export default { export default {
name: "Rule", name: "Rule",
@ -189,7 +203,7 @@ export default {
// //
rules: { rules: {
isActivate: [ isActivate: [
{ required: true, message: "是否激活;是否激活不能为空", trigger: "blur" } {required: true, message: "是否激活;是否激活不能为空", trigger: "blur"}
], ],
} }
}; };
@ -241,7 +255,7 @@ export default {
// //
handleSelectionChange(selection) { handleSelectionChange(selection) {
this.ids = selection.map(item => item.id) this.ids = selection.map(item => item.id)
this.single = selection.length!==1 this.single = selection.length !== 1
this.multiple = !selection.length this.multiple = !selection.length
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -253,8 +267,8 @@ export default {
/** 规则维护按钮操作 */ /** 规则维护按钮操作 */
handleMaintain(row) { handleMaintain(row) {
this.$router.push({ this.$router.push({
path:'version', path: 'version',
query:{id:row.id} query: {id: row.id}
}) })
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
@ -290,12 +304,13 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除规则编号为"' + ids + '"的数据项?').then(function() { this.$modal.confirm('是否确认删除规则编号为"' + ids + '"的数据项?').then(function () {
return delRule(ids); return delRule(ids);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => {}); }).catch(() => {
});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {

View File

@ -32,17 +32,17 @@
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
<!-- <el-button--> <!-- <el-button-->
<!-- type="primary"--> <!-- type="primary"-->
<!-- plain--> <!-- plain-->
<!-- icon="el-icon-plus"--> <!-- icon="el-icon-plus"-->
<!-- size="mini"--> <!-- size="mini"-->
<!-- @click="handleAdd"--> <!-- @click="handleAdd"-->
<!-- v-hasPermi="['rule:rule:add']"--> <!-- v-hasPermi="['rule:rule:add']"-->
<!-- >新增--> <!-- >新增-->
<!-- </el-button>--> <!-- </el-button>-->
<!-- </el-col>--> <!-- </el-col>-->
<!-- <el-col :span="1.5">--> <!-- <el-col :span="1.5">-->
<!-- <el-button--> <!-- <el-button-->
<!-- type="success"--> <!-- type="success"-->
@ -98,13 +98,7 @@
<!-- @click="handleMaintain(scope.row)"--> <!-- @click="handleMaintain(scope.row)"-->
<!-- v-hasPermi="['rule:rule:remove']"--> <!-- v-hasPermi="['rule:rule:remove']"-->
<!-- >规则维护</el-button>--> <!-- >规则维护</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-edit"-->
<!-- @click="handleUpdate(scope.row)"-->
<!-- v-hasPermi="['rule:rule:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button--> <!-- <el-button-->
<!-- size="mini"--> <!-- size="mini"-->
<!-- type="text"--> <!-- type="text"-->
@ -116,24 +110,18 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
<!-- </el-table>--> <!-- </el-table>-->
{{ rule.name }}
<el-descriptions class="margin-top" title="规则版本" :column="3" border> <el-descriptions class="margin-top" :column="3" border>
<template slot="extra"> <template slot="extra">
<el-dropdown split-button type="primary"> <el-dropdown split-button type="primary">
更多操作 更多操作
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item> <el-dropdown-item>
<el-button <el-button
type="primary" type="text"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['rule:rule:add']"
>新增 >新增
</el-button> </el-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item>开启引擎</el-dropdown-item> <el-dropdown-item>开启引擎</el-dropdown-item>
<el-dropdown-item>关闭引擎</el-dropdown-item> <el-dropdown-item>关闭引擎</el-dropdown-item>
@ -198,13 +186,10 @@
<el-row :gutter="10"> <el-row :gutter="10">
<!-- <el-empty description="暂无支付客户" v-if="customerList.length === 0"></el-empty>--> <!-- <el-empty description="暂无支付客户" v-if="customerList.length === 0"></el-empty>-->
<el-col :span="12" v-for="customer in ruleAndEditionList"> <el-col :span="12" v-for="customer in ruleAndEditionList">
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<div> <div>
<el-descriptions class="margin-top" title="规则引擎版本" :column="3" border>
<el-descriptions class="margin-top" title="带边框列表" :column="3" :size="size" border>
<template slot="extra"> <template slot="extra">
<el-dropdown> <el-dropdown>
@ -213,11 +198,16 @@
</span> </span>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item> <el-dropdown-item>
<el-button
规格详情 size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(customer.id)"
v-hasPermi="['rule:rule:edit']"
>规格详情
</el-button>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item disabled>双皮奶</el-dropdown-item>
<el-dropdown-item> <el-dropdown-item>
<el-switch <el-switch
style="float: right; margin: 4px 5px 0;" style="float: right; margin: 4px 5px 0;"
@ -314,30 +304,83 @@
<!-- 添加或修改规则对话框 --> <!-- 添加或修改规则对话框 -->
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="规则名称" prop="name"> <el-form-item label="版本类" prop="ruleKind">
<el-input v-model="form.name" placeholder="请输入规则名称"/> <el-input v-model="form.ruleKind" placeholder="请输入版本类"/>
</el-form-item> </el-form-item>
<el-form-item label="是否激活" prop="isActivate"> <el-form-item label="版本名称" prop="name">
<el-input v-model="form.isActivate" placeholder="请输入是否激活"/> <el-input v-model="form.name" placeholder="请输入版本名称"/>
</el-form-item> </el-form-item>
<el-form-item label="规则描述" prop="ruleDesc"> <el-form-item label="编码" prop="ruleCoding">
<el-input v-model="form.ruleDesc" type="textarea" placeholder="请输入内容"/> <el-input v-model="form.ruleCoding" type="textarea" placeholder="请输入编码"/>
</el-form-item> </el-form-item>
<el-form-item label="规则代码" prop="ruleCode"> <el-form-item label="是否激活" prop="ruleActivate">
<el-input v-model="form.ruleCode" placeholder="请输入规则代码"/> <el-radio-group v-model="form.ruleActivate" placeholder="请输入是否激活">
<el-radio label="Y"></el-radio>
<el-radio label="N"></el-radio>
</el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status">
<el-input v-model="form.status" placeholder="请输入状态"/>
</el-form-item>
<el-form-item label="内容" prop="ruleContent">
<el-input v-model="form.ruleContent" placeholder="请输入内容"/>
</el-form-item>
<el-form-item label="版本" prop="ruleId">
<el-input v-model="form.ruleId" disabled placeholder="请输入版本"/>
</el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 添加或修改规则对话框 -->
<!-- <el-dialog :title="title" :visible.sync="opens" width="80%" append-to-body>-->
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
<!-- <el-form-item label="版本主键" prop="id">-->
<!-- <el-input v-model="form.id" placeholder="请输入版本类"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="版本类" prop="ruleKind">-->
<!-- <el-input v-model="form.ruleKind" placeholder="请输入版本名称"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="版本名称" prop="name">-->
<!-- <el-input v-model="form.name" type="textarea" placeholder="请输入编码"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="编码" prop="ruleCoding">-->
<!-- <el-radio-group v-model="form.ruleCoding" placeholder="请输入是否激活">-->
<!-- <el-radio label="Y"></el-radio>-->
<!-- <el-radio label="N"></el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="是否激活" prop="ruleActivate">-->
<!-- <el-input v-model="form.ruleActivate" placeholder="请输入状态"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="状态" prop="status">-->
<!-- <el-input v-model="form.status" placeholder="请输入内容"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="内容" prop="ruleContent">-->
<!-- <el-input v-model="form.ruleContent" disabled placeholder="请输入版本"/>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="规则ID" prop="ruleId">-->
<!-- <el-input v-model="form.ruleId" disabled placeholder="请输入版本"/>-->
<!-- </el-form-item>-->
<!-- </el-form>-->
<!-- <div slot="footer" class="dialog-footer">-->
<!-- <el-button type="primary" @click="submitForm"> </el-button>-->
<!-- <el-button @click="cancel"> </el-button>-->
<!-- </div>-->
<!-- </el-dialog>-->
</div> </div>
</template> </template>
<script> <script>
import {listRule, getRule, delRule, addRule, updateRule} from "/src/api/rule/rule"; import {getRule, delRule} from "/src/api/rule/rule";
import {getEditionList} from "@/api/rule/ruleEdition"; import {getEditionList, addRule, enable, disable, updateRule} from "@/api/rule/ruleEdition";
export default { export default {
name: "Rule", name: "Rule",
@ -364,6 +407,7 @@ export default {
title: "", title: "",
// //
open: false, open: false,
// opens: false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -384,7 +428,15 @@ export default {
}, },
rule: {}, rule: {},
// //
form: {}, form: {
ruleKind: '',
name: '',
ruleCoding: '',
ruleActivate: '',
status: '',
ruleContent: '',
ruleId: '',
},
// //
rules: { rules: {
isActivate: [ isActivate: [
@ -416,6 +468,7 @@ export default {
console.log(this.rule) console.log(this.rule)
}) })
}, },
/** 客户状态更改触发 */ /** 客户状态更改触发 */
handleStatusChange(row) { handleStatusChange(row) {
console.log(row) console.log(row)
@ -481,6 +534,7 @@ export default {
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.open = true; this.open = true;
this.form.ruleId = this.ruleAndVersion.id
this.title = "添加规则"; this.title = "添加规则";
}, },
// /** */ // /** */
@ -491,10 +545,10 @@ export default {
// }) // })
// }, // },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(id) {
this.reset(); this.reset();
const id = row.id || this.ids // const id = row.id || this.ids
getRule(id).then(response => { updateRule(id).then(response => {
this.form = response.data[0]; this.form = response.data[0];
this.open = true; this.open = true;
this.title = "修改规则"; this.title = "修改规则";
@ -513,8 +567,11 @@ export default {
} else { } else {
addRule(this.form).then(response => { addRule(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.form.ruleId = this.rule.id
console.log(this.form.ruleId)
this.open = false; this.open = false;
// this.getList(); // this.getList();
this.findList()
}); });
} }
} }