From 664db98c9e8595ce4dd636a27f480e3a08b81ff5 Mon Sep 17 00:00:00 2001 From: xyc <jc_xiong@hotmail.com> Date: 星期五, 21 二月 2025 11:13:51 +0800 Subject: [PATCH] 新增可忽略的维修时间 --- web/src/views/modules/taskReliability/RBD-edit-img.vue | 122 +++++++++++++++++++++++++--------------- 1 files changed, 77 insertions(+), 45 deletions(-) diff --git a/web/src/views/modules/taskReliability/RBD-edit-img.vue b/web/src/views/modules/taskReliability/RBD-edit-img.vue index b818414..a83d7e4 100644 --- a/web/src/views/modules/taskReliability/RBD-edit-img.vue +++ b/web/src/views/modules/taskReliability/RBD-edit-img.vue @@ -18,7 +18,10 @@ <el-button type="primary" @click="saveDiagram()">鏆傚瓨</el-button> <el-button type="primary" @click="analyzeDiagram()">鎻愪氦</el-button> <el-button type="primary" @click="clearDiagram()">娓呯┖鍥惧舰</el-button> - <el-button type="primary" @click="layoutDiagram()">涓�閿帓鐗�</el-button> + <el-checkbox style="margin: 0 10px 0 10px" v-model="dataForm.autoLayout" :true-label="1" :false-label="0"> + 鏄惁寮�鍚竴閿帓鐗� + </el-checkbox> + <el-button type="primary" @click="layoutDiagram()" :disabled="!dataForm.autoLayout">涓�閿帓鐗�</el-button> <el-button @click="leftAlign()"> <i style="font-size: 1rem;" class="wt-iconfont icon-zuoduiqi"></i> </el-button> @@ -576,7 +579,8 @@ publishContent: null, hasPublish: 0, urlPref: '', - nodeArr: [] + nodeArr: [], + autoLayout: 1, }, type: '', id: '', @@ -754,6 +758,7 @@ } let res = await this.$http.get(`/taskReliability/ModelLine/getDiagram`, {params: params}) this.dataForm = res.data + this.dataForm.autoLayout = parseInt(this.dataForm.autoLayout) if (res.data.content != null) { console.log(this.dataForm, 'getDiagram datafrom') console.log(res.data, 'getDiagram res.data') @@ -930,9 +935,11 @@ for (let i = 1; i <= node.getData().basicUnitNum; i++) { if (deviceNoArr.findIndex(item => item === i) === -1) { no = i - if (node.getData().basicUnitNum>1){ + if (node.getData().basicUnitNum >= 1) { node.getData().deviceNo = i - node.attr('text/text', node.attr('text/text') + '-' + i) + if(node.getData().deviceNo > 1){ + node.attr('text/text', node.attr('text/text') + '-' + i) + } } break } @@ -1026,14 +1033,14 @@ this.graph.createNode({ shape: 'image', //imageUrl: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getProductImg?token=${Cookies.get('token')}&id=${item.imgPath}`, - width: 100, + width: 60, height: 70, //id: item.dataId, // 鎵嬪姩璁剧疆鑺傜偣鐨� ID data: { type: 'imageNodes2', dataId: item.dataId, basicUnitNum: item.basicUnitNum, - deviceNo: 0, + deviceNo: 1, nodeType: item.nodeType, nodeTypeExt: item.nodeTypeExt, productType: item.productType, @@ -1057,16 +1064,16 @@ }, attrs: { image: { - 'xlink:href': `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getSvgImage?token=${Cookies.get('token')}&id=${item.imgPath}`, + 'xlink:href': `${window.SITE_CONFIG['apiURL']}/basicInfo/XhProductModel/getImg?token=${Cookies.get('token')}&id=${item.dataId}&t=${new Date().getTime()}`, //'xlink:href': urlObject.createObjectURL(new Blob([item.svgContent])), }, title: { - text: item.basicUnitNum>=1?item.basicUnitNum:'', + text: item.basicUnitNum > 1 ? item.basicUnitNum : '', refX: 15, refY: 10, fill: '#748be7', fontSize: 14, - fontWeight:'bold', + fontWeight: 'bold', 'text-anchor': 'start', }, text: { @@ -1219,7 +1226,7 @@ // 鐩戝惉鑺傜偣娣诲姞浜嬩欢 this.graph.on('node:added', ({node}) => { node.setAttrs({ - title: { text: '' }, + title: {text: ''}, }) if (this.isFirstLoad) { return @@ -1580,26 +1587,28 @@ }) }, async layoutDiagram() { - console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()') - this.dataForm.content = JSON.stringify(this.graph.toJSON()) - this.dataForm.urlPref = window.SITE_CONFIG['apiURL'] - await this.$http['post'](`/taskReliability/ModelLine/layout`, this.dataForm).then(async res => { - if (res.msg === 'success') { - // this.$emit('refreshDataList') - // this.$alert('瑙f瀽鎴愬姛', '鎻愮ず', { - // confirmButtonText: '纭畾' - // }) - console.log(res.data, 'layoutDiagram res.data') - this.dataForm.content = res.data.content - console.log(this.dataForm.content, 'layoutDiagram dataForm.content') - this.diagramJson = JSON.parse(this.dataForm.content) - this.graph.fromJSON(this.diagramJson) - this.isFirstLoad = false; - // console.log(this.diagramJson.cells.length, 'this.diagramJson.cells.length') + if (this.dataForm.autoLayout == 1) { + console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()') + this.dataForm.content = JSON.stringify(this.graph.toJSON()) + this.dataForm.urlPref = window.SITE_CONFIG['apiURL'] + await this.$http['post'](`/taskReliability/ModelLine/layout`, this.dataForm).then(async res => { + if (res.msg === 'success') { + // this.$emit('refreshDataList') + // this.$alert('瑙f瀽鎴愬姛', '鎻愮ず', { + // confirmButtonText: '纭畾' + // }) + console.log(res.data, 'layoutDiagram res.data') + this.dataForm.content = res.data.content + console.log(this.dataForm.content, 'layoutDiagram dataForm.content') + this.diagramJson = JSON.parse(this.dataForm.content) + this.graph.fromJSON(this.diagramJson) + this.isFirstLoad = false; + // console.log(this.diagramJson.cells.length, 'this.diagramJson.cells.length') - this.graph.positionContent('left') - } - }) + this.graph.positionContent('left') + } + }) + } }, leftAlign() { const NODE = this.graph.getSelectedCells() @@ -1739,7 +1748,7 @@ let dragNodeType = dragNode.getData().nodeType let offHeight = 50 if (dragNodeType === 'node') { - offHeight = 60 + offHeight = 70 } else if (dragNodeType === 'bridgeConnection') { offHeight = 175 } else { @@ -1776,9 +1785,11 @@ inEdges[0].target = {cell: result.newStartNode.id} outEdges[0].source = {cell: result.newEndNode.id} graphNode.remove() - if (!result.canPlace) { -//璋冪敤鑷姩鎺掔増 - this.layoutDiagram() + if (this.dataForm.autoLayout == 1) { + if (!result.canPlace) { + //璋冪敤鑷姩鎺掔増 + this.layoutDiagram() + } } } } else { //骞惰缁撴瀯 @@ -1797,13 +1808,13 @@ this.getYRange(inEdges, graphNodeStartNode, pointXY) console.log(pointXY, 'new') - let minX = graphNodeStartNode.position().x + graphNode.getBBox().width + 15 - let maxX = graphNode.position().x + let minX = graphNodeStartNode.position().x + graphNode.getBBox().width + let maxX = graphNode.position().x - dragNode.getBBox().width / 2 let centerX = minX + (maxX - minX) / 2 let centerY = graphNodeY + graphNode.getBBox().height / 2 - pointXY.minY > pointXY.maxY - (graphNodeY + graphNode.getBBox().height / 2) ? pointXY.maxY + offHeight / 2 + 30 : pointXY.minY - offHeight / 2 - 30 - let result = this.addNodeAndConnect(null, dragNode, minX, centerY) + let result = this.addNodeAndConnect(null, dragNode, centerX, centerY) console.log(result, 'result111') this.graph.addEdge({ source: {cell: graphNodeStartNode}, @@ -1831,9 +1842,11 @@ connector: {name: 'rounded'}, zIndex: -1 }) - if (!result.canPlace) { -//璋冪敤鑷姩鎺掔増 - this.layoutDiagram() + if (this.dataForm.autoLayout == 1) { + if (!result.canPlace) { + //璋冪敤鑷姩鎺掔増 + this.layoutDiagram() + } } } }, @@ -1844,8 +1857,8 @@ leftTopY = centerY let dragNodeType = dragNode.getData().nodeType if (dragNodeType === 'node') { - width = 60 - height = 60 + width = 100 + height = 70 } else if (dragNodeType === 'dashedBox') { width = 60 height = 40 @@ -1854,7 +1867,7 @@ height = 175 } else { width = 270 - height = 60 + height = 70 } leftTopX = centerX - width / 2 leftTopY = centerY - height / 2 @@ -1963,8 +1976,11 @@ }) graphEdge.source = {cell: result.newEndNode.id} } - if (!result.canPlace) { - this.layoutDiagram() + if (this.dataForm.autoLayout == 1) { + if (!result.canPlace) { + //璋冪敤鑷姩鎺掔増 + this.layoutDiagram() + } } // graphEdge.remove() } @@ -2465,7 +2481,7 @@ <style> #containerImg { display: flex; - border: 1px solid #dfe3e8; + /*border: 1px solid #dfe3e8;*/ height: 400px; width: 100% !important; } @@ -2499,4 +2515,20 @@ top: 0 } + #containerImg .x6-graph-pagebreak>.x6-graph-pagebreak-horizontal { + position: absolute; + right: 0; + left: 0; + box-sizing: border-box; + height: 0; + border-top: none; + } + #containerImg .x6-graph-pagebreak>.x6-graph-pagebreak-vertical { + position: absolute; + top: 0; + bottom: 0; + box-sizing: border-box; + width: 0; + border-left: none; + } </style> -- Gitblit v1.9.1