From 1a6dcd7c86d6ae6acc0c523d38a8ae46e461fa75 Mon Sep 17 00:00:00 2001
From: xjj <xjj@123>
Date: 星期四, 29 二月 2024 13:27:02 +0800
Subject: [PATCH] tt

---
 zy-asrs-flow/package.json             |    1 
 zy-asrs-flow/src/pages/home/index.jsx |  100 ++++++++++++++++++++++--
 zy-asrs-flow/src/pages/home/data.js   |  101 +++++++++++++++++++++++++
 zy-asrs-flow/src/pages/home/index.css |   10 ++
 zy-asrs-flow/src/config/setting.ts    |    2 
 5 files changed, 203 insertions(+), 11 deletions(-)

diff --git a/zy-asrs-flow/package.json b/zy-asrs-flow/package.json
index 22c9023..3ebcb7a 100644
--- a/zy-asrs-flow/package.json
+++ b/zy-asrs-flow/package.json
@@ -48,6 +48,7 @@
   "dependencies": {
     "@ant-design/icons": "^5.3.0",
     "@ant-design/pro-components": "^2.6.48",
+    "@antv/g6": "^4.8.24",
     "@antv/xflow": "^2.0.4",
     "@umijs/route-utils": "^2.2.2",
     "antd": "^5.13.2",
diff --git a/zy-asrs-flow/src/config/setting.ts b/zy-asrs-flow/src/config/setting.ts
index 882ce08..9038b15 100644
--- a/zy-asrs-flow/src/config/setting.ts
+++ b/zy-asrs-flow/src/config/setting.ts
@@ -1,5 +1,5 @@
 // 鎺ュ彛鍦板潃
-export const API_BASE_URL: string = 'http://localhost:9090/wcs';
+export const API_BASE_URL: string = 'http://172.16.0.219:9090/wcs';
 
 // 椤圭洰鍚嶇О
 export const PROJECT_NAME: string = 'admin';
diff --git a/zy-asrs-flow/src/pages/home/data.js b/zy-asrs-flow/src/pages/home/data.js
new file mode 100644
index 0000000..5e062c3
--- /dev/null
+++ b/zy-asrs-flow/src/pages/home/data.js
@@ -0,0 +1,101 @@
+export const data = {
+    nodes: [
+      {
+        id: '1',
+        label: '鍏徃1',
+      },
+      {
+        id: '2',
+        label: '鍏徃2',
+      },
+      {
+        id: '3',
+        label: '鍏徃3'
+      },
+      {
+        id: '4',
+        label: '鍏徃4'
+      },
+      {
+        id: '5',
+        label: '鍏徃5'
+      },
+      {
+        id: '6',
+        label: '鍏徃6'
+      },
+      {
+        id: '7',
+        label: '鍏徃7'
+      },
+      {
+        id: '8',
+        label: '鍏徃8'
+      }
+    ],
+    edges: [
+      {
+        source: '1',
+        target: '2',
+        data: {
+          type: 'name1',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '1',
+        target: '3',
+        data: {
+          type: 'name2',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '2',
+        target: '5',
+        data: {
+          type: 'name1',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '5',
+        target: '6',
+        data: {
+          type: 'name2',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '3',
+        target: '4',
+        data: {
+          type: 'name3',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '4',
+        target: '7',
+        data: {
+          type: 'name2',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      },
+      {
+        source: '1',
+        target: '8',
+        data: {
+          type: 'name2',
+          amount: '100,000,000,00 鍏�',
+          date: '2019-08-03'
+        }
+      }
+    ]
+  };
\ No newline at end of file
diff --git a/zy-asrs-flow/src/pages/home/index.css b/zy-asrs-flow/src/pages/home/index.css
new file mode 100644
index 0000000..d3d4eaa
--- /dev/null
+++ b/zy-asrs-flow/src/pages/home/index.css
@@ -0,0 +1,10 @@
+    /* 鎻愮ず妗嗙殑鏍峰紡 */
+    .g6-tooltip {
+        border: 1px solid #e2e2e2;
+        border-radius: 4px;
+        font-size: 12px;
+        color: #545454;
+        background-color: rgba(255, 255, 255, 0.9);
+        padding: 10px 8px;
+        box-shadow: rgb(174, 174, 174) 0px 0px 10px;
+      }
\ No newline at end of file
diff --git a/zy-asrs-flow/src/pages/home/index.jsx b/zy-asrs-flow/src/pages/home/index.jsx
index cbfa9c0..92634cc 100644
--- a/zy-asrs-flow/src/pages/home/index.jsx
+++ b/zy-asrs-flow/src/pages/home/index.jsx
@@ -1,11 +1,91 @@
-import ProSkeleton from '@ant-design/pro-skeleton';
+import React, { useEffect, useState } from 'react';
+import ReactDOM from 'react-dom';
+import { data } from './data';
+import G6 from '@antv/g6';
+import "./index.css"
 
-export default () => (
-    <div
-        style={{
-            padding: 24,
-        }}
-    >
-        <ProSkeleton type="list" />
-    </div>
-);
\ No newline at end of file
+export default function() {
+  const ref = React.useRef(null);
+  let graph = null;
+
+  useEffect(() => {
+    if (!graph) {
+      graph = new G6.Graph({
+        container: ReactDOM.findDOMNode(ref.current),
+        width: document.documentElement.clientWidth,
+        height: document.documentElement.clientHeight,
+        modes: {
+          default: [
+            'drag-canvas', 
+            'zoom-canvas',
+            'drag-node',
+          ],
+          edit: ['click-select']
+        },
+        layout: {
+          type: 'dagre',
+          direction: 'LR',
+        },
+        defaultNode: {
+          shape: 'node',
+          type: 'rect',
+          labelCfg: {
+            style: {
+              fill: '#000000A6',
+              fontSize: 14,
+            },
+          },
+          style: {
+            // 浠呭湪 keyShape 涓婄敓鏁�
+            fill: 'lightblue',
+            stroke: '#888',
+            lineWidth: 1,
+            radius: 7,
+          },
+          linkPoints: {
+            top: true,
+            bottom: true,
+            left: true,
+            right: true,
+            // ... 鍥涗釜鍦嗙殑鏍峰紡鍙互鍦ㄨ繖閲屾寚瀹�
+          },
+        },
+        defaultEdge: {
+          shape: 'polyline',
+        },
+        nodeStateStyles: {
+          // 鍚勭姸鎬佷笅鐨勬牱寮忥紝骞抽摵鐨勯厤缃」浠呭湪 keyShape 涓婄敓鏁堛�傞渶瑕佸湪鍏朵粬 shape 鏍峰紡涓婂搷搴旂姸鎬佸彉鍖栧垯鍐欐硶涓嶅悓锛屽弬瑙佷笂鏂囨彁鍒扮殑 閰嶇疆鐘舵�佹牱寮� 閾炬帴
+          hover: {
+            fillOpacity: 0.1,
+            lineWidth: 1,
+          },
+        },
+      });
+    }
+    graph.data(data);
+    graph.render();
+    
+    // 鐩戝惉榧犳爣杩涘叆鑺傜偣浜嬩欢
+    graph.on('node:mouseenter', (evt) => {
+      const node = evt.item;
+      // 婵�娲昏鑺傜偣鐨� hover 鐘舵��
+      graph.setItemState(node, 'hover', true);
+    });
+
+    // 鐩戝惉榧犳爣绂诲紑鑺傜偣浜嬩欢
+    graph.on('node:mouseleave', (evt) => {
+      const node = evt.item;
+      // 鍏抽棴璇ヨ妭鐐圭殑 hover 鐘舵��
+      graph.setItemState(node, 'hover', false);
+    });
+
+    graph.on('node:click', (evt) => {
+      const node = evt.item;
+      const model = node.getModel();
+      // 鍦ㄨ繖閲屾墦寮�妯℃�佹鎴栬�呯紪杈戣〃鏍硷紝浼犲叆model浠ヤ究鐢ㄤ簬鍒濆鍖栫紪杈戝唴瀹�
+      showModal(model);
+    });
+  }, []);
+
+  return <div ref={ref}></div>;
+}
\ No newline at end of file

--
Gitblit v1.9.1