From 5ef47212d7a7d5d8fa2b02674c1f1263b07826d0 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期四, 07 十一月 2024 17:45:41 +0800
Subject: [PATCH] 修改工况bug,新增产品节点时存在
---
web/src/views/modules/taskReliability/RBD-edit-img.vue | 98 ++++++++++++++++++++++++++++---------------------
1 files changed, 56 insertions(+), 42 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..93c984d 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,7 +935,7 @@
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)
}
@@ -1026,7 +1031,7 @@
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: {
@@ -1057,16 +1062,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 +1224,7 @@
// 鐩戝惉鑺傜偣娣诲姞浜嬩欢
this.graph.on('node:added', ({node}) => {
node.setAttrs({
- title: { text: '' },
+ title: {text: ''},
})
if (this.isFirstLoad) {
return
@@ -1580,26 +1585,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 +1746,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 +1783,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 +1806,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 +1840,11 @@
connector: {name: 'rounded'},
zIndex: -1
})
- if (!result.canPlace) {
-//璋冪敤鑷姩鎺掔増
- this.layoutDiagram()
+ if (this.dataForm.autoLayout == 1) {
+ if (!result.canPlace) {
+ //璋冪敤鑷姩鎺掔増
+ this.layoutDiagram()
+ }
}
}
},
@@ -1844,8 +1855,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 +1865,7 @@
height = 175
} else {
width = 270
- height = 60
+ height = 70
}
leftTopX = centerX - width / 2
leftTopY = centerY - height / 2
@@ -1963,8 +1974,11 @@
})
graphEdge.source = {cell: result.newEndNode.id}
}
- if (!result.canPlace) {
- this.layoutDiagram()
+ if (this.dataForm.autoLayout == 1) {
+ if (!result.canPlace) {
+ //璋冪敤鑷姩鎺掔増
+ this.layoutDiagram()
+ }
}
// graphEdge.remove()
}
--
Gitblit v1.9.1