当前位置: 首页 > wzjs >正文

网站建设 数据分析微信的网址链接

网站建设 数据分析,微信的网址链接,上海对外经贸大学,取消wordpress激活邮件效果图&#xff08;优点&#xff1a;可以自定义每一条折线的颜色&#xff0c;可以自定义节点的颜色&#xff0c;以及折线的计算样式等&#xff09;&#xff1a; 代码&#xff1a; <!-- 流程图组件 --> <template><div id"container"></div>…

效果图(优点:可以自定义每一条折线的颜色,可以自定义节点的颜色,以及折线的计算样式等):

代码:

<!-- 流程图组件 -->
<template><div id="container"></div>
</template><script setup lang="ts">
import {watch, reactive, toRefs, nextTick, ref, onBeforeUnmount} from "vue";
import {Graph} from "@antv/g6";
import RuleCommonUtil from "../utils/RuleCommonUtil";
import GlobalConst from "../utils/GlobalConst";
import DictConst from "../enums/DictConst";const dataValue: any = reactive({nodes: [// {//   id: "dom2",//   data: {label: "dom2", width: 60, height: 100},//   style: {x: 50, y: 100, width: 100, height: 50},// },// {//   id: "dom3",//   data: {label: "dom3", width: 60, height: 100},//   style: {x: 150, y: 100, width: 100, height: 50},// },// {//   id: "dom4",//   data: {label: "dom4", width: 60, height: 100},//   style: {x: 250, y: 100, width: 100, height: 50},// },// {//   id: "dom5",//   data: {label: "dom5", width: 50, height: 100},//   style: {x: 350, y: 100, width: 100, height: 50},// },],edges: [// {id: "dom2->dom3", source: "dom2", target: "dom3"},// {id: "dom3->dom4", source: "dom3", target: "dom4"},// {id: "dom4->dom5", source: "dom4", target: "dom5"},// {//   id: "dom1->dom5",//   source: "dom2",//   target: "dom5",//   style: {//     controlPoints: [//       [50, 180], // [起始点x轴 ,起始点y轴+要高出部分的]//       [350, 180], // [目标点x轴 ,目标点y轴+要高出部分的]//     ],//   },// },// {//   id: "dom1->dom4",//   source: "dom2",//   target: "dom4",//   style: {//     controlPoints: [//       [50, 180], // [起始点x轴 ,起始点y轴+要高出部分的]//       [250, 180], // [目标点x轴 ,目标点y轴+要高出部分的]//     ],//   },// },],
});
// 新增:声明图表实例引用
const graphInstance = ref<any>(null);
const props = defineProps({nodeList: {type: Array,default: () => [],},process: {type: Object,default: () => ({}),},
});
const {nodeList, process} = toRefs(props);
// 新增:组件卸载时自动销毁图表
onBeforeUnmount(() => {destroyGraph();
});watch(() => nodeList.value,(newValue) => {nextTick(async () => {if (newValue) {setNodes();setEdges();await initDataList();} else {destroyGraph();}});},{deep: true,immediate: true,},
);
// 新增:销毁图表的方法
const destroyGraph = () => {if (graphInstance.value) {graphInstance.value.destroy(); // 销毁图表实例graphInstance.value = null;}
};
const initDataList = () => {// 销毁旧实例destroyGraph();// 创建新实例graphInstance.value = new Graph({container: document.getElementById("container") as any,autoFit: "center",data: dataValue,behaviors: ["zoom-canvas", // 保留缩放功能"drag-canvas", // 保留画布拖拽功能// "drag-node"     // 移除或不启用拖拽节点的行为],node: {type: "rect",style: {size: (d: any) => [d.data.width, d.data.height] as any,radius: 10,iconText: (d: any) => d.data.label as any,iconFontSize: 10,},palette: {type: "group",field: "label",},},edge: {type: "polyline",style: {stroke: (d: any) => d.color as any,lineWidth: 2,lineAppendWidth: 8, // 加宽线宽度endArrow: {// path: Arrow.triangle(10, 10, 2), // 使用导入的箭头路径// fill: "#18c298ad", // 填充颜色} as any,offset: 20, // 设置箭头偏移},},plugins: [{type: "tooltip",getContent: (_event: any, items: any) => {return `<span>${items[0]?.logicNode}</span>`;},},],});graphInstance.value.render();
};
const setNodes = () => {dataValue.nodes = nodeList.value.map((item: any, index: number) => {return {id: `${item.seq}`,data: {label: item?.taskName || "--", width: 80, height: 100},logicNode: item?.taskName || "--",style: {x: 50 + index * 150,y: 100,width: 100,height: 50,fill: "#3761f5", // 或者你可以设置为一个统一颜色,比如 "#FFFFFF"stroke: "#f0f0f0", // 设置边框颜色 (黑色)lineWidth: 2, // 设置边框宽度radius: 10, // 如果你希望有圆角,可以保持这一行color: "#6c8bf7",},};});
};
const setEdges = () => {const list: any = nodeList.value;const aaa = list.map((item: any, index: number) => {if (list[index + 1]) {return {id: `${item.seq}->${list[index + 1].seq}`,logicNode: setTooltip(item.taskConditionList.find((c: any) => list[index + 1].taskCode === c.targetTaskCode)?.logicNode || {},),source: `${item.seq}`,target: `${list[index + 1].seq}`,color: "#41d89f",};}});dataValue.edges = aaa.filter((item: any) => item);relationship();
};
// 计算非直连的节点关系表
const relationship = () => {let topArrow: number[] = [];const list: any = nodeList.value;//先过滤出有条件的节点const subset = list.filter((item: any) => item?.taskConditionList && item?.taskConditionList.length > 0,);let subsetlength = subset.length || 0;subset.forEach((item: any, index: number) => {item.taskConditionList.forEach((v: any) => {// 目标节点const objIndex = list.findIndex((vv: any) => vv.taskCode === v.targetTaskCode);const obj = list.find((vv: any) => vv.taskCode === v.targetTaskCode);if (obj && objIndex > -1 && item.seq + 1 !== obj.seq) {dataValue.edges.push({id: `${item.seq}->${v.targetTaskCode}`,source: `${item.seq}`,target: `${obj.seq}`,logicNode: setTooltip(v?.logicNode || {}),// color: item.seq >= 1 ? "#1783ff" : "#41d89f", //设置线条颜色color: "#41d89f",style: {controlPoints: [[50 + (item.seq - 1) * 150,topArrow.includes(item.seq)? 100 +((topArrow.indexOf(item.seq) + 1) * 80) /(topArrow.indexOf(item.seq) + 1 > 1 ? 1.5 : 1): 100 - ((index + 1) * 80) / (index + 1 > 1 ? 1.5 : 1),], // [起始点x轴 ,起始点y轴+要高出部分的][50 + objIndex * 150,topArrow.includes(item.seq)? 100 +((topArrow.indexOf(item.seq) + 1) * 80) /(topArrow.indexOf(item.seq) + 1 > 1 ? 1.5 : 1): 100 - ((index + 1) * 80) / (index + 1 > 1 ? 1.5 : 1),], // [目标点x轴 ,目标点y轴+要高出部分的]],},});topArrow.push(obj.seq);}});subsetlength--;});
};//动态设置线条的tooltip
const setTooltip = (logicNode: any) => {return "1111";
};
</script>


文章转载自:

http://9zEvTpC0.gqwbL.cn
http://MHpN9jvF.gqwbL.cn
http://WI9cjTVk.gqwbL.cn
http://GfnitCBa.gqwbL.cn
http://Fr0gJYS3.gqwbL.cn
http://LMZuC1iT.gqwbL.cn
http://mGVJRiZs.gqwbL.cn
http://ug0sHz0O.gqwbL.cn
http://ZXJb9FRn.gqwbL.cn
http://rp0rd8Cx.gqwbL.cn
http://FTOHEZto.gqwbL.cn
http://rh3U179b.gqwbL.cn
http://8CMupqxR.gqwbL.cn
http://6wCl5XoH.gqwbL.cn
http://s7cOWYhB.gqwbL.cn
http://0d6Re2Ck.gqwbL.cn
http://lthEKRVh.gqwbL.cn
http://YF2u3SO0.gqwbL.cn
http://jSDwMThi.gqwbL.cn
http://dyexMSMS.gqwbL.cn
http://3Ntr5zZE.gqwbL.cn
http://QayJLUcQ.gqwbL.cn
http://zdjxB3en.gqwbL.cn
http://19BAPYYi.gqwbL.cn
http://LhoxMCJW.gqwbL.cn
http://sinKMHya.gqwbL.cn
http://f5rJDPhy.gqwbL.cn
http://2Nb9QuHE.gqwbL.cn
http://EOQK2aUd.gqwbL.cn
http://i0pE3GPu.gqwbL.cn
http://www.dtcms.com/wzjs/659211.html

相关文章:

  • 国外买东西的网站有哪些前端开发培训多少钱
  • 10元网站备案有没有免费查企业信息的软件
  • wordpress能商用吗?郑州网站关键词优化公司
  • `北京网站建设国内精自线一二区网页版
  • 南京商城网站建设淄博专业网站设计
  • 网站在线搭建系统网站建设的标准
  • 针织厂家东莞网站建设赣州做公司网站
  • vs2013 手机网站开发微信微网站开发报价单
  • 优创智汇高端网站建设辽宁建设工程信息网官网首页
  • php网站开发环境搭建厦门个人建网站
  • 个人使用网站宁波网络推广推荐机构
  • 东莞网站推广春设计官网首页需要多久
  • 网上商城网站模板中国建设银行网站对公业务
  • 企业网站什么意思外贸网站建设需要什么
  • 赚钱做任务的网站有哪些宝山青岛网站建设
  • 免费3d模型素材网站做网站教程免费
  • 怎么做网站的界面亚i洲人页码24林妹妹
  • 曲靖网站推广网站多少钱一年
  • 购物网站服务器硬件配置怎么查看网站备案进度
  • 长春建设平台网站的公司哪家好苏州专业做网站的公司有哪些
  • 自身网站的平台建设外包公司
  • 长沙网站公司网站建设虚拟主机怎么设计网站吗
  • 临沂网站建设有哪些类似源码之家的网站
  • wordpress怎么更改语言设置seo优化流程
  • 杭州做网站吧网站运营托管咨询
  • 销售类网站开发架构微网站模板制作教程
  • 拖拽式可视化编辑网站网站备案期间做网页
  • 网站上怎么做推广深圳企业高端网站建设
  • 免费asp企业网站源码我开网店一天亏几百
  • 阿里云的轻量服务器怎么做网站公司微网站建设