【Vue + Antv X6】可拖拽流程图组件

ops/2025/1/12 23:40:09/

使用事项:
❗先放个组件上来,使用手册有空会补全
❗需要下载依赖

“@antv/x6”: “^2.18.1”,
“@antv/x6-plugin-dnd”: “^2.1.1”,

组件:
在这里插入图片描述

组件使用:

  <flowChart :key="flowChartKey" ref="flowChart" left-title="可用工序" :node-list="nodeList" :graph-data="dataJson":drawer-config="drawerConfig" :line-drawer-config="lineDrawerConfig"route-record-type="2" route-record-label="procedureName" route-record-key="procedureId"/>
javascript">      nodeList: [],dataJson: {},drawerConfig: [{type: undefined,prop: 'procedureId'},{type: 'input',label: '工序名称',prop: 'procedureName',placeholder: '请输入工序名称',disabled: true},{type: 'input',label: '工序编号',prop: 'procedureCode',placeholder: '请输入工序编号',disabled: true},{type: 'selectDict',label: '工序类型',prop: 'procedureType',placeholder: '请选择工序类型',dictType: 'MES_GXLX',disabled: true}],lineDrawerConfig: [{type: undefined,prop: 'procedureId'},{type: 'input',label: '起始工序',prop: 'startProcedureName',placeholder: '',disabled: true},{type: 'input',label: '下道工序',prop: 'endProcedureName',placeholder: '',disabled: true},{type: 'selectRoute',label: '记录工序',prop: 'recordProcedure',placeholder: '请选择',options: [],disabled: false}]
javascript">     // 获取节点数据const nodeList = this.form.nodeList || []const nodes = []nodeList.forEach(el => {const coordinate = el.coordinate.split(',') || []const portList = el.portList.map(item => ({group: item.portGroup,id: item.portId}))console.log('el.procedureType.toString()', el.procedureType, el.procedureType ? el.procedureType.toString() : '')nodes.push({id: el.nodeId,x: coordinate.length ? coordinate[0] * 1 : 0,y: coordinate.length ? coordinate[1] * 1 : 0,width: el.width,height: el.height,label: el.nodeDesc,nodeType: el.nodeType,shape: 'custom-node',ports: {items: portList},nodeData: {procedureCode: el.procedureCode,procedureId: el.procedureId,procedureName: el.procedureName,procedureType: el.procedureType != null ? (el.procedureType === 0 ? '0' : el.procedureType.toString()) : ''}})})// 获取连线数据const linkList = this.form.linkList || []const edges = []linkList.forEach(el => {edges.push({id: el.linkId,source: {cell: el.startId,port: el.startPortId},target: {cell: el.endId,port: el.endPortId},nodeData: {recordProcedure: el.recordProcedure,startProcedure: el.startProcedure,startProcedureName: el.startProcedureName,postProcedure: el.postProcedure,endProcedureName: el.postProcedureName}})})this.dataJson = {nodes,edges}

http://www.ppmy.cn/ops/149585.html

相关文章

【Python】构建智能语音助手:使用Python实现语音识别与合成的全面指南

随着人工智能技术的迅猛发展&#xff0c;语音助手已成为人们日常生活中不可或缺的一部分。从智能手机到智能家居设备&#xff0c;语音交互提供了便捷高效的人机交互方式。本文旨在全面介绍如何利用Python编程语言及其强大的库——SpeechRecognition和gTTS&#xff0c;构建一个基…

w~自动驾驶~合集16

我自己的原文哦~ https://blog.51cto.com/whaosoft/12765612 #SIMPL 用于自动驾驶的简单高效的多智能体运动预测基准 原标题&#xff1a;SIMPL: A Simple and Efficient Multi-agent Motion Prediction Baseline for Autonomous Driving 论文链接&#xff1a;https://ar…

【LeetCode】每日一题 2024_1_10 统计重新排列后包含另一个字符串的子字符串数目 II(滑动窗口)

前言 每天和你一起刷 LeetCode 每日一题~ 拼尽全力无法战胜期末考试 寒假 . . . 堂堂复活&#xff01; 每日一题重出江湖&#xff01; 就用我最擅长的滑动窗口类型的每日一题作为我寒假回归的第一题&#xff01; LeetCode 启动&#xff01; 题目&#xff1a;统计重新排列…

React中透过render函数学习(一)——workInProgress与双缓存机制

React 18 中 updateContainer 方法的简化实现&#xff0c;其中包含了一些重要的操作&#xff0c;如创建更新对象、将更新任务加入更新队列、调度更新等。这一过程体现了 React 内部如何协调渲染过程&#xff0c;尤其是如何在 Fiber 架构下处理更新。让我们逐步分析这个方法的工…

设计模式 创建型 抽象工厂模式(Abstract Factory)与 常见技术框架应用 解析

抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;是创建型设计模式之一&#xff0c;它提供了一种创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类。这种模式强调了族&#xff08;family&#xff09;的概念&#xff0c;即一组具有相同主题…

Go语言如何实现高性能缓存服务

在Go语言中实现高性能缓存服务&#xff0c;需要综合考虑数据结构的选择、并发控制、内存管理以及持久化策略等多个方面。以下是一些关键步骤和最佳实践&#xff0c;可以帮助你构建高性能的缓存服务&#xff1a; 选择合适的数据结构&#xff1a; 使用哈希表&#xff08;如Go的m…

利用 Python 爬虫从义乌购根据关键词获取商品列表

在当今数字化商业时代&#xff0c;数据是企业获取竞争优势的关键。对于从事国际贸易的商家而言&#xff0c;能够及时、准确地获取商品信息至关重要。义乌购作为知名的国际贸易批发平台&#xff0c;汇集了海量的商品资源。通过 Python 爬虫技术&#xff0c;我们可以高效地从义乌…

硬件设计-齐纳管

目录 摘要 详情 齐纳管的工作电流、 摘要 齐纳管&#xff08;Zener Diode&#xff09;是一种特殊的二极管&#xff0c;它能够在特定的反向电压下保持电流稳定。正常情况下&#xff0c;二极管只允许正向电流通过&#xff0c;而阻止反向电流流过。而齐纳管在一定的反向电压下可…