wente
2024-03-22 76cdda8f731c4aa7d8ae0216d29f1c362dc53125
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>
@@ -184,7 +184,8 @@
        id: '',
        graph: null,
        globalGridAttr: {
          voteNum: '',
          productType:'',
          voteNum: null,
          repairMttcr: '',
          repairMttcrOther: '',
          repairDistribType: '',
@@ -346,8 +347,9 @@
          // console.log(this.dataForm.content,'this.Diagram content')
          console.log(this.diagramJson, 'this.Diagram json')
          this.graph.fromJSON(this.diagramJson)
          this.graph.centerContent()
          this.graph.zoomToFit()
          this.graph.positionContent('left')
          // this.graph.centerContent()
          // this.graph.zoomToFit()
        } else {
          await this.clearDiagram()
        }
@@ -356,8 +358,8 @@
        this.dataForm.id = null
        // this.graph.fromJSON(this.emptyJson)
        this.graph.fromJSON('')
        this.graph.centerContent()
        this.graph.zoomToFit()
        // this.graph.centerContent()
        // this.graph.zoomToFit()
        // this.graph.freeze()
      },
      async initDigram(productId) {
@@ -375,9 +377,12 @@
          autoResize: true,
            history: {
                enabled: true,
                ignoreAdd: true,
                ignoreRemove: true,
                ignoreChange: true,
                beforeAddCommand(event, args) {
                    if (args.key==='tools') {
                        console.log(args.key,'event, args')
                        return false
                    }
                },
            },
          // panning: {
          //   enabled: true,
@@ -449,7 +454,7 @@
                  }
                }],
                tools: {
                  name: 'vertices',
                  name: 'segments',
                  args: {
                    attrs: { fill: '#666' },
                  },
@@ -489,6 +494,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) {
@@ -497,9 +503,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,
@@ -537,7 +545,7 @@
              dataId: '',
              nodeType: item.nodeType,
              nodeTypeExt: '',
              voteNum:''
              voteNum:null
            },
            attrs: {
              text: {
@@ -568,6 +576,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,
@@ -583,7 +592,7 @@
              taskMtbcfOther: item.taskMtbcfOther,
              imgHeight: item.imgHeight,
              imgWidth: item.imgWidth,
              voteNum:'',
              voteNum:null,
            },
            attrs: {
              text: {
@@ -723,7 +732,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)
@@ -806,9 +815,23 @@
        this.graph.on('edge:mouseenter', ({cell}) => {
          // alert(123)
          cell.addTools(
              ['vertices', '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}) => {