upload project source code

This commit is contained in:
2026-04-30 18:49:43 +08:00
commit 9b394ba682
2277 changed files with 660945 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
import{en as e,r as a,a3 as l,eo as t,t as o,H as s,K as n,I as d,J as u,Y as i,u as r,R as c,am as p,Z as v,ep as m,eq as g,er as f,es as y,X as b}from"./.pnpm.DGfAnZKL.js";import h from"./CustomNode.DGIYYPQC.js";import{g as k,y as V,ar as _,aq as x,v as C,a as w}from"./element-plus.DhcJM-BD.js";import"./_plugin-vue_export-helper.BCo6x5W8.js";const D={class:"app-container"},N={class:"top-toolbar"},z={class:"toolbar-right",style:{"margin-left":"auto"}},E={class:"main-layout"},U={class:"left-panel"},j={class:"flex-center"},A={class:"scroll-container",style:{height:"calc(100% - 50px)"}},H=["onDragstart"],I={class:"canvas-container"},X={key:0,class:"right-panel"},Y={class:"panel-header"},q={key:0,class:"gap-y-2"},F={key:1,class:"gap-y-2"},J={class:"dialog-footer"},K={class:"dialog-footer"},O=Object.assign({name:"Workflow",inheritAttrs:!1},{__name:"index",setup(O){const{onInit:R,onNodeDragStop:S,onConnect:T,addEdges:W,getNodes:Z,getEdges:$,setEdges:B,setNodes:G,screenToFlowCoordinate:L,onNodesInitialized:M,updateNode:P,addNodes:Q}=e(),ee={type:"smoothstep",
// 默认边类型
animated:!0,
// 是否启用动画
markerEnd:{type:"arrowclosed",
// 默认箭头样式
color:"black"}},ae=a([{id:"5",type:"input",data:{label:"开始"},position:{x:235,y:100},class:"round-start"},{id:"6",type:"custom",
// 使用自定义类型
data:{label:"工位流程1"},position:{x:200,y:200},class:"light"},{id:"7",type:"output",data:{label:"结束"},position:{x:235,y:300},class:"round-stop"}]),le=a({custom:l(h)}),te=a([{id:"e4-5",type:"straight",source:"5",target:"6",sourceHandle:"top-6",label:"测试1",markerEnd:{type:t.ArrowClosed,
// 使用闭合箭头
color:"black"}},{id:"e4-6",type:"straight",source:"6",target:"7",sourceHandle:"bottom-6",label:"测试2",markerEnd:{type:t.ArrowClosed,
// 使用闭合箭头
color:"black"}}]);R(e=>{e.fitView()}),S(({event:e,nodes:a,node:l})=>{}),T(e=>{W(e)});const oe=a([{name:"测试1"},{name:"测试2"}]),se=a(""),ne=a({}),de=a(!1),ue=a(!1),ie=({edge:e})=>{ne.value=e,se.value="edge"};function re(){const e=$.value,a="smoothstep"===ne.value.type?null:"smoothstep";B([...e.filter(e=>e.id!==ne.value.id),
// 移除旧的边
{...ne.value,type:a,label:"Node 3"}])}function ce(){de.value=!0}function pe(){const e=$.value;B([...e.filter(e=>e.id!==ne.value.id)]),w.success("连线删除成功"),se.value=null,ne.value={},de.value=!1}const ve=a({}),me=({node:e})=>{ve.value=e,se.value="node"};function ge(){ue.value=!0}function fe(){const e=Z.value;G([...e.filter(e=>e.id!==ve.value.id)]);const a=$.value;B([...a.filter(e=>e.source!==ve.value.id&&e.target!==ve.value.id)]),w.success("点位删除成功"),se.value=null,ve.value={},ue.value=!1}const ye=a(null);function be(e,a){ye.value={id:`node-${Date.now()}`,
// 动态生成唯一 id
data:{label:"开始"===a?"开始":"结束"===a?"结束":"工位:"+a},type:"开始"===a?"input":"结束"===a?"output":"custom",position:{x:e.clientX,y:e.clientY},animated:!1,class:"开始"===a?"round-start":"结束"===a?"round-stop":"light"}}function he(){ye.value=null}function ke(e){e.preventDefault()}function Ve(e){const a=L({x:e.clientX,y:e.clientY}),l={...ye.value,position:a},{off:t}=M(()=>{var e;P(null==(e=ye.value)?void 0:e.id,e=>({position:{x:e.position.x-e.dimensions.width/2,y:e.position.y-e.dimensions.height/2}})),t()});ye.value=null,Q(l)}return(e,a)=>(o(),s("div",D,[n("div",N,[n("div",z,[d(r(k),{type:"primary",class:"m-2"},{default:u(()=>[...a[11]||(a[11]=[i("保存",-1)])]),_:1})])]),n("div",E,[n("div",U,[n("div",j,[n("div",{class:"drag-item text-center start-item",draggable:"true",onDragstart:a[0]||(a[0]=e=>be(e,"开始")),onDragend:he},[...a[12]||(a[12]=[n("span",null,"开始",-1)])],32),n("div",{class:"drag-item text-center end-item ml-2",draggable:"true",onDragstart:a[1]||(a[1]=e=>be(e,"结束")),onDragend:he},[...a[13]||(a[13]=[n("span",null,"结束",-1)])],32)]),n("div",A,[(o(!0),s(c,null,p(oe.value,(e,a)=>(o(),s("div",{key:a,class:"drag-item text-center w-full mt-2",draggable:"true",onDragstart:a=>be(a,e.name),onDragend:he},[n("span",null,v(e.name),1)],40,H))),128))])]),n("div",I,[d(r(y),{nodes:ae.value,edges:te.value,class:"basic-flow","default-viewport":{zoom:1},"min-zoom":.2,"max-zoom":4,"node-types":le.value,"default-edge-options":ee,"connect-on-click":!0,onNodeClick:me,onEdgeClick:ie,onDrop:Ve,onDragover:ke},{default:u(()=>[d(r(m)),d(r(g),{"pattern-color":"#aaa",gap:16}),d(r(f))]),_:1},8,["nodes","edges","node-types"])]),se.value?(o(),s("div",X,[n("div",Y,[n("span",null,v("edge"===se.value?"连接线规则配置":"点位规则配置"),1),d(r(k),{type:"text",class:"float-right",icon:"close",onClick:a[2]||(a[2]=e=>se.value="")})]),"edge"===se.value?(o(),s("div",q,[d(r(V),{modelValue:ne.value.label,"onUpdate:modelValue":a[3]||(a[3]=e=>ne.value.label=e),placeholder:"线名称",clearable:"",class:"mb-2"},null,8,["modelValue"]),d(r(x),{modelValue:ne.value.type,"onUpdate:modelValue":a[4]||(a[4]=e=>ne.value.type=e),placeholder:"线类型",class:"mb-2"},{default:u(()=>[d(r(_),{label:"折线",value:"smoothstep"}),d(r(_),{label:"曲线",value:"default"}),d(r(_),{label:"直线",value:"straight"})]),_:1},8,["modelValue"]),d(r(x),{modelValue:ne.value.animated,"onUpdate:modelValue":a[5]||(a[5]=e=>ne.value.animated=e),placeholder:"线动画",class:"mb-2"},{default:u(()=>[d(r(_),{label:"开启",value:!0}),d(r(_),{label:"关闭",value:null})]),_:1},8,["modelValue"]),d(r(k),{type:"primary",size:"small",onClick:re},{default:u(()=>[...a[14]||(a[14]=[i("修改",-1)])]),_:1}),d(r(k),{type:"danger",size:"small",onClick:ce},{default:u(()=>[...a[15]||(a[15]=[i("删除",-1)])]),_:1})])):(o(),s("div",F,[d(r(V),{modelValue:ve.value.data.label,"onUpdate:modelValue":a[6]||(a[6]=e=>ve.value.data.label=e),placeholder:"点位名称",clearable:"",class:"mb-2"},null,8,["modelValue"]),d(r(k),{type:"danger",size:"small",onClick:ge},{default:u(()=>[...a[16]||(a[16]=[i("删除",-1)])]),_:1})]))])):b("",!0)]),d(r(C),{modelValue:de.value,"onUpdate:modelValue":a[8]||(a[8]=e=>de.value=e),title:"删除连线",width:"30%"},{footer:u(()=>[n("div",J,[d(r(k),{onClick:a[7]||(a[7]=e=>de.value=!1)},{default:u(()=>[...a[17]||(a[17]=[i("取消",-1)])]),_:1}),d(r(k),{type:"danger",onClick:pe},{default:u(()=>[...a[18]||(a[18]=[i("确定",-1)])]),_:1})])]),default:u(()=>[a[19]||(a[19]=n("span",null,"是否要删除该连线?",-1))]),_:1},8,["modelValue"]),d(r(C),{modelValue:ue.value,"onUpdate:modelValue":a[10]||(a[10]=e=>ue.value=e),title:"删除点位",width:"30%"},{footer:u(()=>[n("div",K,[d(r(k),{onClick:a[9]||(a[9]=e=>ue.value=!1)},{default:u(()=>[...a[20]||(a[20]=[i("取消",-1)])]),_:1}),d(r(k),{type:"danger",onClick:fe},{default:u(()=>[...a[21]||(a[21]=[i("确定",-1)])]),_:1})])]),default:u(()=>[a[22]||(a[22]=n("span",null,"是否要删除该点位?",-1))]),_:1},8,["modelValue"])]))}});export{O as default};