From f3ad14f8af7fb651426d1ee617e7ecb9d3fc9aab Mon Sep 17 00:00:00 2001
From: xyc <jc_xiong@hotmail.com>
Date: 星期四, 28 三月 2024 11:15:52 +0800
Subject: [PATCH] 新增产品节点上设置关系,可设置项为“无/旁联/表决”

---
 web/src/views/modules/taskReliability/RBD-edit-img.vue |   47 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 36 insertions(+), 11 deletions(-)

diff --git a/web/src/views/modules/taskReliability/RBD-edit-img.vue b/web/src/views/modules/taskReliability/RBD-edit-img.vue
index d31fb73..7db0238 100644
--- a/web/src/views/modules/taskReliability/RBD-edit-img.vue
+++ b/web/src/views/modules/taskReliability/RBD-edit-img.vue
@@ -3,7 +3,7 @@
     <el-row :gutter="[8,8]">
       <el-col :span="4">
         <div :style="'height:' +left_p+'px'">
-          <div class="fa-card-a" style="height: 100%">
+          <div  style="height: 100%">
             <div id="stencilImg"></div>
           </div>
         </div>
@@ -157,6 +157,7 @@
           content: null,
           publishContent: null,
           hasPublish: 0,
+          urlPref: '',
         },
         // emptyJson: {
         //   // 鑺傜偣
@@ -184,6 +185,7 @@
         id: '',
         graph: null,
         globalGridAttr: {
+          productType:'',
           voteNum: '',
           repairMttcr: '',
           repairMttcrOther: '',
@@ -335,14 +337,18 @@
       },
       async getDiagram(modelId) {
         let params = {
-          modelId: modelId
+          modelId: modelId,
+          urlPref: window.SITE_CONFIG['apiURL'],
+          token: Cookies.get('token'),
         }
         let res = await this.$http.get(`/taskReliability/ModelLine/getDiagram`, {params: params})
         console.log(res, 'async getDiagram( res')
-        if (res.data !== null && res.data.content != null) {
+        if (res.data !== null && (res.data.content != null)) {
           this.dataForm = res.data
           console.log(this.dataForm, 'this.dataForm in getDiagram')
-          this.diagramJson = JSON.parse(this.dataForm.content)
+          if(this.dataForm.content!=''){
+            this.diagramJson = JSON.parse(this.dataForm.content)
+          }
           // console.log(this.dataForm.content,'this.Diagram content')
           console.log(this.diagramJson, 'this.Diagram json')
           this.graph.fromJSON(this.diagramJson)
@@ -493,6 +499,7 @@
         })
         this.graph.centerContent()
         const stencil = new Addon.Stencil({
+          getDragNode: (node) => node.clone({ keepId: true }),
           getDropNode(node) {
             let {width, height} = node.size()
             if (node.getData().imgWidth) {
@@ -501,9 +508,11 @@
             if (node.getData().imgHeight) {
               height = node.getData().imgHeight
             }
-            console.log(node.getData().imgWidth, node.getData().imgHeight, 'node.size()')
-            return node.clone().size(width, height)
+            return node.clone({ keepId: true }).size(width, height)
           },
+            validateNode(node){
+              console.log(node.id)
+            },
           title: '',
           target: this.graph,
             stencilGraphWidth: 200,
@@ -572,6 +581,7 @@
             imageUrl: `${window.SITE_CONFIG['apiURL']}/sysPictureBase/getProductImg?token=${Cookies.get('token')}&id=${item.imgPath}`,
             width: 60,
             height: 60,
+            id: item.dataId, // 鎵嬪姩璁剧疆鑺傜偣鐨� ID
             data: {
               isRepair: item.isRepair,
               dataId: item.dataId,
@@ -727,7 +737,7 @@
           this.id = cell.id
           if (this.type === 'node') {
             this.nodeType = cell.getData().nodeType
-            console.log(this.nodeType, 'this.nodeType')
+            console.log(this.nodeType,cell.id,'this.nodeType')
           }
           console.log(this.shape, 'this.shape')
           // this.nodeOpt(this.id, this.globalGridAttr)
@@ -810,9 +820,23 @@
 
         this.graph.on('edge:mouseenter', ({cell}) => {
           // alert(123)
-          cell.addTools(
-              ['segments']
-          )
+          cell.addTools([
+            {
+              name: 'source-arrowhead',
+            },
+            {
+              name: 'target-arrowhead',
+              args: {
+                attrs: {
+                  fill: 'red',
+                },
+              },
+            },
+              {
+                  name: 'segments',
+                  args: {snapRadius: 20, attrs: {fill: '#444'}}
+              },
+          ])
         })
 
         this.graph.on('edge:mouseleave', ({cell}) => {
@@ -880,6 +904,7 @@
       async saveDiagram() {
         console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()')
         this.dataForm.content = JSON.stringify(this.graph.toJSON())
+        this.dataForm.urlPref = window.SITE_CONFIG['apiURL']
         console.log(this.dataForm, 'dataFrom')
         await this.$http[this.dataForm.id === null ? 'post' : 'put'](`/taskReliability/ModelLine/`, this.dataForm).then(async res => {
           if (res.msg === 'success') {
@@ -892,7 +917,7 @@
       async analyzeDiagram() {
         console.log(JSON.stringify(this.graph.toJSON()), 'graph.toJSON()')
         this.dataForm.content = JSON.stringify(this.graph.toJSON())
-        console.log(this.dataForm, 'dataFrom')
+        this.dataForm.urlPref = window.SITE_CONFIG['apiURL']
         await this.$http['post'](`/taskReliability/ModelLine/analyze`, this.dataForm).then(async res => {
           if (res.msg === 'success') {
             this.$alert('瑙f瀽鎴愬姛', '鎻愮ず', {

--
Gitblit v1.9.1