| | |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" @click="saveDiagram()">暂存</el-button> |
| | | <el-button type="primary" @click="analyzeDiagram()">保存</el-button> |
| | | <el-button type="primary" @click="analyzeDiagram()">提交</el-button> |
| | | <el-button type="primary" @click="clearDiagram()">清空图形</el-button> |
| | | <el-button @click="leftAlign()"> |
| | | <i style="font-size: 1rem;" class="wt-iconfont icon-zuoduiqi"></i> |
| | |
| | | import {setHartBeat} from '@/commonJS/common'; |
| | | import Cookies from 'js-cookie' |
| | | import {getUUID} from '../../../../packages/utils' |
| | | import Mousetrap from 'mousetrap' |
| | | // import Mousetrap from 'mousetrap' |
| | | // var Mousetrap = require('mousetrap'); |
| | | // import RBDDefault from './RBD-default.json' |
| | | |
| | |
| | | productType: '', |
| | | voteNum: '', |
| | | repairMttcr: '', |
| | | repairMttcrOther: '', |
| | | repairMttcrOtherParams2: '', |
| | | repairMttcrOtherParams3: '', |
| | | repairDistribType: '', |
| | | reliabDistribType: '', |
| | | taskMtbcfOther: '', |
| | | taskMtbcfOtherParams2: '', |
| | | taskMtbcfOtherParams3: '', |
| | | isRepair: 0, |
| | | taskMtbcf: '', |
| | | numberInputValue: '', |
| | |
| | | |
| | | reliabDistribType: item.reliabDistribType ? item.reliabDistribType : 1, |
| | | taskMtbcf: item.taskMtbcf, |
| | | taskMtbcfOther: item.taskMtbcfOther, |
| | | taskMtbcfOther2: item.taskMtbcfOtherParams2, |
| | | taskMtbcfOther3: item.taskMtbcfOtherParams3, |
| | | |
| | | isRepair: item.isRepair, |
| | | repairDistribType: item.repairDistribType ? item.repairDistribType : 1, |
| | | repairMttcr: item.repairMttcr, |
| | | repairMttcrOther: item.repairMttcrOther, |
| | | repairMttcrOther2: item.repairMttcrOtherParams2, |
| | | repairMttcrOther3: item.repairMttcrOtherParams3, |
| | | successRate:item.successRate, |
| | | |
| | | imgHeight: item.imgHeight, |
| | | imgWidth: item.imgWidth, |
| | |
| | | |
| | | // konami code! |
| | | // 单击node节点 |
| | | this.graph.on('node:click', ({ e, x, y, node, view}) => { |
| | | Mousetrap.bind('up', function(e) { |
| | | e.preventDefault(); |
| | | node.getBBox().x |
| | | node.getBBox().y |
| | | setTimeout(()=>{ |
| | | node.position(node.getBBox().x,node.getBBox().y -0.5) |
| | | console.log(x,y,'按下了↑键 up'); |
| | | },100) |
| | | }) |
| | | Mousetrap.bind('down', function(e) { |
| | | e.preventDefault(); |
| | | setTimeout(()=>{ |
| | | node.position(node.getBBox().x,node.getBBox().y+0.5) |
| | | console.log(x,y,'按下了↓键 down'); |
| | | },100) |
| | | |
| | | }) |
| | | Mousetrap.bind('left', function(e) { |
| | | e.preventDefault(); |
| | | setTimeout(()=>{ |
| | | node.position(node.getBBox().x-0.5,node.getBBox().y) |
| | | console.log(x,y,'按下了←键 left'); |
| | | },100) |
| | | |
| | | }) |
| | | Mousetrap.bind('right', function(e) { |
| | | e.preventDefault(); |
| | | setTimeout(()=>{ |
| | | node.position(node.getBBox().x+0.5,node.getBBox().y) |
| | | console.log(x,y,'按下了→键 right'); |
| | | },100) |
| | | }) |
| | | }) |
| | | // this.graph.on('node:click', ({ e, x, y, node, view}) => { |
| | | // Mousetrap.bind('up', function(e) { |
| | | // e.preventDefault(); |
| | | // node.getBBox().x |
| | | // node.getBBox().y |
| | | // setTimeout(()=>{ |
| | | // node.position(node.getBBox().x,node.getBBox().y -0.5) |
| | | // console.log(x,y,'按下了↑键 up'); |
| | | // },100) |
| | | // }) |
| | | // Mousetrap.bind('down', function(e) { |
| | | // e.preventDefault(); |
| | | // setTimeout(()=>{ |
| | | // node.position(node.getBBox().x,node.getBBox().y+0.5) |
| | | // console.log(x,y,'按下了↓键 down'); |
| | | // },100) |
| | | // |
| | | // }) |
| | | // Mousetrap.bind('left', function(e) { |
| | | // e.preventDefault(); |
| | | // setTimeout(()=>{ |
| | | // node.position(node.getBBox().x-0.5,node.getBBox().y) |
| | | // console.log(x,y,'按下了←键 left'); |
| | | // },100) |
| | | // |
| | | // }) |
| | | // Mousetrap.bind('right', function(e) { |
| | | // e.preventDefault(); |
| | | // setTimeout(()=>{ |
| | | // node.position(node.getBBox().x+0.5,node.getBBox().y) |
| | | // console.log(x,y,'按下了→键 right'); |
| | | // },100) |
| | | // }) |
| | | // }) |
| | | this.graph.bindKey(['meta+c', 'ctrl+c'], () => { |
| | | const cells = this.graph.getSelectedCells() |
| | | if (cells.length) { |
| | |
| | | }, |
| | | async saveDiagram() { |
| | | console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()') |
| | | const nodes = this.graph.getNodes() |
| | | let nodeArr2 = [] |
| | | // 检查除当前节点之外的所有节点的包围框是否相交 |
| | | for (const node of nodes) { |
| | | console.log(node, 'saveDiagram node') |
| | | if (node.getData().nodeType == 'node' && node.getData().productType != 'product_xdy' && node.getData().dataId) { |
| | | nodeArr2.push(node.getData().dataId) |
| | | } |
| | | } |
| | | this.dataForm.nodeArr = nodeArr2 |
| | | // 获取所有子节点 |
| | | this.getNodeArr() |
| | | this.dataForm.content = JSON.stringify(this.graph.toJSON()) |
| | | this.dataForm.urlPref = window.SITE_CONFIG['apiURL'] |
| | | console.log(this.dataForm, 'dataFrom') |
| | |
| | | } |
| | | }) |
| | | }, |
| | | async analyzeDiagram() { |
| | | console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()') |
| | | getNodeArr(){ |
| | | const nodes = this.graph.getNodes() |
| | | let nodeArr2 = [] |
| | | // 检查除当前节点之外的所有节点的包围框是否相交 |
| | | for (const node of nodes) { |
| | | console.log(node, 'saveDiagram node') |
| | | if (node.getData().nodeType == 'node' && node.getData().dataId) { |
| | | nodeArr2.push(node.getData().dataId) |
| | | } |
| | | } |
| | | this.dataForm.nodeArr = nodeArr2 |
| | | }, |
| | | async analyzeDiagram() { |
| | | console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()') |
| | | // 检查除当前节点之外的所有节点的包围框是否相交 |
| | | // 获取所有子节点 |
| | | this.getNodeArr() |
| | | const nodes = this.graph.getNodes() |
| | | for (const node of nodes) { |
| | | if(node.getData().nodeType === 'dashedBox'){ |
| | | this.$message({message: '该模型中存在虚框,无法保存', type: 'warning'}) |
| | |
| | | return false; // 取消添加节点操作 |
| | | } |
| | | } |
| | | if (node.getData().nodeType === 'node' && node.getData().productType !== 'product_xdy' && node.getData().dataId) { |
| | | nodeArr2.push(node.getData().dataId) |
| | | } |
| | | } |
| | | this.dataForm.nodeArr = nodeArr2 |
| | | this.dataForm.content = JSON.stringify(this.graph.toJSON()) |
| | | this.dataForm.urlPref = window.SITE_CONFIG['apiURL'] |
| | | await this.$http['post'](`/taskReliability/ModelLine/analyze`, this.dataForm).then(async res => { |