You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
26 KiB

var Rt=Object.defineProperty;var ot=Object.getOwnPropertySymbols;var Vt=Object.prototype.hasOwnProperty,At=Object.prototype.propertyIsEnumerable;var it=(T,N,f)=>N in T?Rt(T,N,{enumerable:!0,configurable:!0,writable:!0,value:f}):T[N]=f,$=(T,N)=>{for(var f in N||(N={}))Vt.call(N,f)&&it(T,f,N[f]);if(ot)for(var f of ot(N))At.call(N,f)&&it(T,f,N[f]);return T};var S=(T,N,f)=>new Promise((_,P)=>{var M=C=>{try{E(f.next(C))}catch(k){P(k)}},F=C=>{try{E(f.throw(C))}catch(k){P(k)}},E=C=>C.done?_(C.value):Promise.resolve(C.value).then(M,F);E((f=f.apply(T,N)).next())});import{useDataLoader as Xt}from"./useDataLoader-e579300c.js";import{useX6Node as Kt}from"./useX6Node-3a9e83ab.js";import{d as Ut,I as rt,bu as et,B as U,bl as Ot,b9 as Wt,r as qt,q as G,f as Yt,P as Jt,a3 as zt,b as l,h as H,bo as $t,Y as I,u as O,bd as W,eb as pt,a8 as L,aT as Gt}from"./index-f4658ae7.js";/* empty css */import{NodeType as D,getNodeTemplateByType as mt}from"./x6Shapes-9ea647b1.js";import Ht from"./FlowToolbar-04dd02bc.js";import{useProvider as jt}from"./useProvider-af275020.js";import Qt from"./QuickEditPanel-256dcfff.js";import{_ as Zt}from"./X6NodeContextMenu.vue_vue_type_script_lang-6043ac32.js";import{useX6Edge as to}from"./useX6Edge-44c312d9.js";import oo from"./X6Stencil-8126b6a0.js";import io from"./Features-7e0704e1.js";import{useX6Graph as ro}from"./useX6Graph-fd52caf5.js";import at from"./Events-141c34ea.js";import{useX6Tag as eo}from"./useX6Tag-2d9b782d.js";import po from"./BSEntity-840a884b.js";import{Directions as mo}from"./Direction-43f7cd43.js";import{_ as ao}from"./X6GraphMenu.vue_vue_type_script_lang-026398d6.js";import{_ as no}from"./X6NodeSelectMenu.vue_vue_type_script_lang-dde53001.js";import{connectConfig as so}from"./x6Config-e7abb0b2.js";import{calcOffSet as lo,calcDrawSize as uo}from"./CalcUtils-5c6c75a9.js";import{R as co}from"./index-24b7f696.js";import{C as nt}from"./index-1d383df5.js";import"./BSEntities-1c882a21.js";import"./ParamsUtils-3cbc5822.js";import"./UAC-8e255d47.js";import"./Map-73575e6b.js";import"./Attrs-62391d6b.js";import"./EnumLab-3cbd0812.js";import"./DataType-33901a1c.js";import"./ParamUtils-cdc24dd6.js";import"./SystemConfig-b93c25b3.js";import"./bignumber-cf158d26.js";import"./Attr-d5feb8b8.js";import"./RefMethod-33a71db4.js";import"./SearchNormal-5c7fda42.js";import"./SearchFKEnum-31a3a609.js";import"./Glo-fda3f906.js";import"./EnMapExt-8e17025c.js";import"./EntityMyPK-e742fec8.js";import"./Entities-6a72b013.js";import"./Cond-7bb97535.js";import"./EntityNoName-d08126ae.js";import"./DBAccess-d3bef90d.js";import"./Node-6b42ba5e.js";import"./EntityNodeID-d5ae71b1.js";import"./html-a2da55a6.js";import"./_createCompounder-ed41a610.js";import"./merge-15067256.js";import"./_baseFor-37716d03.js";import"./_createAssigner-77c8874c.js";import"./difference-bddb49bc.js";import"./_createAggregator-c692fd07.js";import"./_baseEach-1e26df34.js";import"./_baseMap-457e4262.js";import"./isNumber-0bc0d001.js";import"./throttle-35369e52.js";import"./index-eb3034da.js";import"./Guide-f8678b6d.js";import"./En-ba7185f0.js";import"./index-84fbff43.js";import"./useRefs-2f4603d7.js";import"./PlusOutlined-7b96f081.js";import"./ClassFactory-66077970.js";import"./EnCfg-bcf75fc2.js";import"./PageBaseGroupEdit-202e8e85.js";import"./Group-ab70f402.js";import"./EnumLab-d43291c1.js";import"./Page-34b19d96.js";import"./Help-be517e8f.js";import"./GroupPageEdit-98259b62.js";import"./index-8604018f.js";import"./index-297faa0c.js";import"./Checkbox-abf1420e.js";import"./createForOfIteratorHelper-eb4541b9.js";import"./index-3590612f.js";import"./ClassFactoryOfGroupPageEdit-de7e4dfe.js";import"./useDataConvert-25e29c90.js";import"./assign-481cba08.js";import"./GPE_Entity-bae02daa.js";import"./windowOpen-b8703c39.js";import"./SysEnum-989b6639.js";import"./PopTreeEns-550d2c1c.js";import"./index-cd1f9903.js";import"./iconUtil-3b6c87ab.js";import"./useMaxLevel-0b248899.js";/* empty css */import"./useDBSourceLoader-8ab5ebe1.js";import"./lodash-a5534797.js";import"./emp-0252210e.js";import"./index-d51f1b4b.js";import"./FormItem-a040ce00.js";import"./Col-dfe054f2.js";import"./index-2c9d82ce.js";import"./useSize-90c5eaba.js";import"./PopTree-40faba9e.js";import"./PopList-9bc5cb18.js";import"./PopGroupList-de2292ad.js";import"./FuncToolbar-bd4350b3.js";import"./useCachedComponentLoader-721d24a5.js";import"./index-70ffad01.js";import"./index-8336ee2d.js";import"./index-134963ca.js";import"./BasicTable-90e6228c.js";import"./index-10ceae64.js";import"./eagerComputed-1ea78af6.js";import"./css-06fbc100.js";import"./scrollTo-faf03fe5.js";import"./BasicForm-4abe2426.js";import"./FormItem.vue_vue_type_script_lang-da01c38b.js";import"./index-0e56c5c3.js";import"./componentMap-d43b954d.js";import"./ApiCascader-761331ba.js";import"./useFormItem-7226971e.js";import"./index-efbe76fc.js";import"./ApiTreeSelect-6e204649.js";import"./index-6c09d321.js";import"./ApiRadioGroup-4ec6ca0e.js";import"./RadioButtonGroup-e34f3abd.js";import"./ApiSelect-7790a483.js";import"./index-ad7f1be2.js";import"./BasicUpload-47b5dea5.js";import"./UploadModal-b7c82e2b.js";import"./index-dc88db7c.js";import"./DeleteOutlined-872fe62f.js";import"./index-9eb90d49.js";import"./index-5a53dd49.js";import"./BasicModal-649ceacc.js";import"./props-7e339a09.js";import"./useModalDrag-cd2b369a.js";import"./ModalWrapper-3b9dd855.js";import"./useModalContext-bf554b39.js";import"./ModalClose-f74589aa.js";import"./FullscreenOutlined-71d2eabf.js";import"./ModalFooter-308afa08.js";import"./ModalHeader-8905dc99.js";import"./useModalFullScreen-941437b0.js";import"./useModal-fca6ba59.js";import"./useUpload-fd76742d.js";import"./typing-0f0a78e2.js";import"./props-9f05f6b5.js";import"./data-fe2d6249.js";import"./helper-3b79b112.js";import"./TableAction-8031dbc2.js";import"./useTableContext-e652508f.js";import"./const-0405ffdf.js";import"./ThumbUrl-5da03225.js";import"./index-a86b513c.js";import"./uuid-1d456649.js";import"./FileList.vue_vue_type_style_index_0_lang-f45ceff4.js";import"./UploadPreviewModal-0b27d3f4.js";import"./download-95cff35f.js";import"./base64Conver-f3be3d44.js";import"./index-2b22a167.js";import"./StrengthMeter-2dcda8ee.js";import"./index-1d081ab8.js";import"./CountButton-219c3a14.js";import"./useCountdown-be79a558.js";import"./CountdownInput-4fee9191.js";import"./helper-2176e41a.js";import"./useLabelWidth-e916bc94.js";import"./FormAction-57a3cf1e.js";import"./FormAction.vue_vue_type_script_lang-63aa1c08.js";import"./useFormContext-687e6399.js";import"./useFormValues-59b9baa1.js";import"./useAdvanced-c6108e3f.js";import"./useFormEvents-1d212091.js";import"./useAutoFocus-20555ad3.js";import"./props-d760f41f.js";/* empty css */import"./useForm-446459c6.js";import"./index-35ba6e1b.js";import"./PageFooter-fecd2617.js";import"./index-602602df.js";import"./ArrowLeftOutlined-f214e093.js";import"./ArrowRightOutlined-6abaa74a.js";import"./index-7b2b594b.js";import"./index-0ff95629.js";import"./transButton-e61c9322.js";import"./useContentHeight-e2c7193a.js";import"./onMountedOrActivated-fbe7044d.js";import"./HeaderCell-b8d3ddda.js";import"./EditTableHeaderIcon-8747c1c0.js";import"./FormOutlined-67a4498f.js";import"./useColumns-122a5981.js";import"./index-b0843728.js";import"./EditableCell.vue_vue_type_style_index_0_lang-5b3597de.js";import"./CellComponent-12da4819.js";import"./componentMap-727618eb.js";import"./helper-3ae17500.js";import"./useDataSource-3f383225.js";import"./useLoading-3104e326.js";import"./useRowSelection-e09cac44.js";import"./useTableScroll-2d085314.js";import"./useScrollTo-87b782ae.js";import"./useCustomRow-019f5e3a.js";import"./useTableStyle-a1f10d6f.js";import"./useTableHeader-8677be57.js";import"./TableHeader-e9145d93.js";import"./index-b006d45a.js";import"./ColumnSetting-e87d31b4.js";import"./sortable.esm-13e502da.js";import"./SettingOutlined-20e7662a.js";import"./SizeSetting-8dda6988.js";import"./RedoSetting-c42d8845.js";import"./RedoOutlined-3d2ca639.js";import"./FullScreenSetting-af3082e5.js";import"./TableTitle-c53d26d0.js";import"./useTableExpand-303f3d97.js";import"./useTableFooter-03c83f8e.js";import"./TableFooter-7ab9b1a2.js";import"./useTableForm-0d347147.js";import"./props-bb3031e1.js";import"./TableImg.vue_vue_type_style_index_0_lang-0c448231.js";import"./index-fdcf88d8.js";import"./useTable-9d73cb2d.js";import"./WF_Comm_Dtl-7da219a1.js";import"./useDDLDataLoader-5d08990e.js";import"./ThemeWrapper-10a23ac0.js";import"./useHeaderSetting-4c2cac7e.js";import"./PageBaseGroupNew-ee20c033.js";import"./EnOnly-9c74cb0c.js";import"./EnFields-4d1dce7a.js";import"./helper.vue_vue_type_script_setup_true_lang-50dfaad0.js";import"./useFieldType-5039d84c.js";import"./IconPicker-51ed7d96.js";import"./SimpleLineIcons-dabcdd07.js";import"./GlyphIcons-fb95b955.js";import"./FontAwesomeIcons-88ac90b4.js";import"./Tabs-ec1c48f8.js";import"./form-77f01638.js";import"./RadioGroup-a80e69a5.js";import"./FormTheme-70eb47bf.js";import"./use-config-816d55a6.js";import"./warn-77f3ea30.js";import"./Icon-e3cbad7d.js";import"./light-0dfdc1ad.js";import"./Add-4d1c6932.js";import"./render-ee8eb435.js";import"./Close-c51bd8a8.js";import"./replaceable-a957a029.js";import"./omit-b0e7e098.js";import"./use-compitable-1a225331.js";import"./flatten-2bdfb3d3.js";import"./use-merged-state-66be05d7.js";import"./on-fonts-ready-d897575d.js";import"./create-key-bf4384d6.js";import"./index-22809599.js";import"./use-css-vars-class-3ae3b4b3.js";import"./VResizeObserver-e3ad0bab.js";import"./cssr-e43ee704.js";import"./Pop-78b30ee2.js";import"./useFieldStatus-52f39a2f.js";import"./index-18645805.js";import"./Editor-d5f89d8b.js";import"./ImgUpload-411e6243.js";import"./tinymce-c752228f.js";import"./helper-28253641.js";import"./Dev2Interface-dbe2a82a.js";import"./UploadOutlined-87b27077.js";import"./GroupWrapper-ca430e7c.js";import"./useFileUpload-e2f82f1f.js";import"./SaveOutlined-da53e7db.js";import"./InboxOutlined-cee25a7d.js";import"./GroupPageNew-58abee1a.js";import"./index-456479d3.js";import"./index-c5f74576.js";import"./ClassFactoryOfGroupPageNew-a8e6e6ba.js";import"./SelectByTable.vue_vue_type_script_setup_true_lang-a8dee7c6.js";import"./GlobalThemeOverrides-52cd859d.js";import"./ConfigProvider-f8b8d4d5.js";import"./index-528cb859.js";import"./index-c569cc07.js";import"./use-memo-f04d43e5.js";import"./DataTable-eacfee09.js";import"./format-length-c9d165c6.js";import"./Button-53926a3b.js";import"./use-rtl-889b67fe.js";import"./browser-1654e206.js";import"./Loading-fead3a83.js";import"./use-is-mounted-a34b74be.js";import"./use-form-item-34ce685d.js";import"./color-to-class-b0332f36.js";import"./FadeInExpandTransition-fc975915.js";import"./Scrollbar-35d51129.js";import"./Checkbox-70815735.js";import"./index-cad90cf4.js";import"./RadioGroup-02ea8070.js";import"./Radio-afaa4b2b.js";import"./Popover-ab55c8ff.js";import"./Follower-3b5f0c65.js";import"./next-frame-once-7035a838.js";import"./use-false-until-truthy-72e72eb9.js";import"./Suffix-56e79b3b.js";import"./Dropdown-b8231906.js";import"./Icon-fc5d8913.js";import"./ChevronRight-3f42dbba.js";import"./happens-in-d88e25de.js";import"./fade-in-scale-up.cssr-0b26e361.js";import"./create-b75cc1a9.js";import"./use-keyboard-ebac156c.js";import"./Tooltip-02d89ff2.js";import"./VirtualList-ac9ae115.js";import"./Empty-fcccc007.js";import"./Input-52773133.js";import"./Eye-9d82dd1a.js";import"./Select-3c7a9b3d.js";import"./FocusDetector-05234541.js";import"./Forward-838673b3.js";import"./keysOf-5d5107c5.js";import"./SFDBSrc-e641ea16.js";import"./drag-b298d064.js";import"./ShowHelp.vue_vue_type_script_setup_true_lang-4644f19a.js";import"./NodeIndexOutlined-0e7f206c.js";import"./useThirdPartUrl-8ecf6c87.js";import"./PanelGroup-4b8417d6.js";import"./ClassFactoryOfPanelGroup-5de18bd5.js";import"./PG_Dept2Emp-5643f371.js";import"./PageBasePanelGroup-23235cc7.js";import"./Dept-342c50de.js";import"./EntityTree-333c163f.js";import"./Emp-e0a70077.js";import"./DeptEmp-745bc1a9.js";import"./DeptEmpStation-6b7abbad.js";import"./PG_FlowSort2Flow-03dd18a0.js";import"./Flow-6121039a.js";import"./FlowAdm-28590a36.js";import"./FlowSort-5d5ee62a.js";import"./Sort-3be7175a.js";import"./PG_FrmSort2Frm-0ac07642.js";import"./FrmSort-0f444555.js";import"./FrmAdm-54c9d6a8.js";import"./MapData-4fa397be.js";import"./EnumLab-4f91f91c.js";import"./GloComm-7cfbdfd9.js";import"./FrmTrack-10f0746d.js";import"./PG_Group2Method-e2fb1100.js";import"./GroupMethod-abd9efe3.js";import"./PCenter-7f795966.js";import"./PowerCenter-f8ebe7c0.js";import"./Method-27bff018.js";import"./PG_Module2Menu-8e09a09e.js";import"./Module-dc2f8ce5.js";import"./Menu-fac205b5.js";import"./CollapseGroup-b0521762.js";import"./PlusCircleOutlined-505768c9.js";import"./ListGroup-37b03688.js";import"./RefMethodFunc-8c8aaa3b.js";import"./index-01184d64.js";import"./Cropper-cba84681.js";import"./CropperAvatar-bfc3a9c7.js";import"./CopperModal-dc7066ab.js";import"./CheckFlow-11ea5ec2.js";import"./GenerList-3a350596.js";import"./ClassFactoryOfGenerList-7d3f5640.js";import"./index-a849f311.js";import"./PageBaseGenerList-b0d946a7.js";import"./usePostMessage-2ee9f33f.js";import"./messageTypeEnum-5cbcc471.js";import"./storage-4f23a60d.js";import"./GloFrm-2131e899.js";import"./keys-237299a3.js";import"./DtlBatch-bc44fe21.js";import"./useDtlQueryCondition-75d8912b.js";import"./DtlSearch-e6767c70.js";import"./HttpHandler-4a96ffeb.js";import"./NodeFD-ca35a965.js";import"./FlowSettings-880cb903.js";import"./SwitchTheme-011efd2a.js";import"./index-34ef7ecb.js";import"./InputTheme-b347a9b7.js";import"./SelectTheme-e90cac4d.js";import"./Divider-f6ae4ac7.js";import"./FormItem-104f9f94.js";import"./context-3585cc4b.js";import"./Switch-bd1f853a.js";import"./Modal-45bd3c03.js";import"./Success-7a2433de.js";import"./Warning-d0098cab.js";import"./Form-84f86d23.js";import"./NodeSettings-142e4f65.js";import"./typeDef-3c24b177.js";import"./InputNumber-704a9fe2.js";import"./DatePicker-0cf478b3.js";import"./utils-9c7d3746.js";import"./LockOutlined-2ad5b35f.js";import"./FrmNode-4376932d.js";import"./CopyOutlined-ae720459.js";import"./EditOutlined-19d9e427.js";import"./StencilUtils-972190aa.js";import"./position-82cfc837.js";import"./OrderedListOutlined-6126615f.js";import"./NodeExpandOutlined-3815fb19.js";import"./UserOutlined-726d3edc.js";const fo=Ut({name:"FlowChartBuilder",components:{Input:rt,Modal:et,Button:U},props:{params:{type:Object,default:()=>({})}},setup(T){const N=Ot(),f=Wt(),_=T.params.FlowNo||N.query.FlowNo,P=qt(!1),{nodeList:M,lineList:F,labelList:E,loadNodes:C,getDirections:k,getLabels:st}=Xt(_),{edgeInfo:x,resetModal:lt,setCondition:dt,insertDir:j,deleteDir:ut,deleteDirByIds:ct,modifyDirLabel:ft,modifyDirVertices:gt}=to(),{createNode:yt,changeNodePosition:vt,changeNodeAngle:ht,changeNodeSize:bt,deleteElement:wt}=Kt(M,P,C,_,F,ct),{changeTagPosition:Nt,modifyTagVal:xt,deleteTag:St,addTag:Tt}=eo(E,_),{flowEntity:R,selectNode:q,selectedNodeId:Dt}=jt(_,M,P,null);let X=!1;const h=G({x:0,y:0,visible:!1,id:null,name:null,type:null,uuid:"",fwStatus:-1}),b=G({x:0,y:0,visible:!1,id:null,name:null,type:null,uuid:""}),B=G({x:0,y:0,visible:!1}),Ct=m=>S(this,null,function*(){var u,g;const s=(u=i.value)==null?void 0:u.getNodes().find(y=>{var w;return((w=y.getData())==null?void 0:w.MyPK)===m});if(!s){I.error("\u8282\u70B9\u5DF2\u4E0D\u5B58\u5728\uFF0C\u8BF7\u5237\u65B0\u9875\u9762");return}const a=window.prompt("\u8BF7\u8F93\u5165\u6807\u7B7E\u5185\u5BB9",((g=s.getData())==null?void 0:g.Name)||"");a&&(yield xt(m,a),s.setData({Name:a}))}),It=(m,s)=>S(this,null,function*(){var a,u,g,y;try{if(s===D.Tag){yield St(m),(u=(a=i.value)==null?void 0:a.getNodes().find(w=>{var t;return((t=w.getData())==null?void 0:t.MyPK)===m}))==null||u.remove();return}yield wt(m),(y=(g=i.value)==null?void 0:g.getNodes().find(w=>{var t;return((t=w.attrs)==null?void 0:t.id)==m}))==null||y.remove()}catch(w){}}),_t=(m,s)=>S(this,null,function*(){var a,u;(u=(a=i.value)==null?void 0:a.getNodes().find(g=>{var y;return((y=g.getData())==null?void 0:y.NodeID)===m}))==null||u.setData({FWCSta:s})}),Pt=(m,s)=>S(this,null,function*(){var g;const a=(g=i.value)==null?void 0:g.getNodes().find(y=>y.id===m);if(!a){I.error("\u66F4\u65B0\u8282\u70B9\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762");return}const u=mt(a.data.NodeType,s);if(!u){I.error("\u66F4\u65B0\u8282\u70B9\u5931\u8D25\uFF0C\u8BF7\u5237\u65B0\u9875\u9762");return}a.data.RunModel=s;for(const y of M.value)if(y.NodeID==m){y.RunModel=s;break}a.points=u.points}),Mt=Yt(()=>({padding:"24px"})),{graph:i,initGraph:Ft,convertData:Et}=ro(),K=m=>{var a,u,g,y;const s=(a=i.value)==null?void 0:a.getNodes().find(w=>w.id===m);return s?{id:(u=s.attrs)==null?void 0:u.id,name:((g=s.attrs)==null?void 0:g.label)||"\u672A\u77E5\u5230\u8FBE\u8282\u70B9\u540D",type:(y=s.attrs)==null?void 0:y.typeInfo.nodeType}:null};let Y=0,J=0;const Bt=()=>{localStorage.getItem("showNewVersionTips")!=="0"&&pt.open({message:"\u6D41\u7A0B\u8BBE\u8BA1\u5668\u66F4\u65B0\u8BF4\u660E",description:()=>L("ul",{},[L("ol",{},"\u5355\u51FB\u8FDE\u63A5\u7EBF\u53EF\u9AD8\u4EAE\u663E\u793A"),L("ol",{},"\u8FDE\u63A5\u7EBF\u4EA4\u53C9\u6837\u5F0F\u4F18\u5316"),L("ol",{},"\u5355\u51FB\u8FDE\u63A5\u7EBF\u51FA\u73B0\u8FDE\u63A5\u7EBF\u8C03\u6574\u5DE5\u5177"),L("ol",{style:{color:"#ff5555"}},"\u82E5\u4F7F\u7528\u8FDE\u63A5\u7EBF\u5DE5\u5177\u6DFB\u52A0\u4E86\u592A\u591A\u8C03\u6574\u70B9\uFF0C\u5BFC\u81F4\u8FDE\u63A5\u7EBF\u6742\u4E71\uFF0C\u53EF\u53CC\u51FB\u8FDE\u63A5\u7EBF\u4E0A\u5C0F\u7403\u5220\u9664\u76F8\u5173\u8DEF\u5F84\u70B9"),L("ol",{},"\u7EBF\u6BB5\u8C03\u6574\u540E\u5237\u65B0\u53EF\u4FDD\u6301"),L("button",{style:{width:"100%",color:"#1296db"},onClick:()=>{localStorage.setItem("showNewVersionTips","0"),pt.destroy()}},"\u4E0D\u518D\u63D0\u793A")]),placement:"topRight",duration:0})},Lt=()=>S(this,null,function*(){try{P.value=!0,yield R.value.Init(),yield Promise.all([R.value.Retrieve(),st(),C(),k()]);const m=window.innerWidth,s=window.innerHeight;Ft(f.value,m,s);const a=Et(O(M),O(F),O(E));if(!i.value){I.error("\u521D\u59CB\u5316\u8BBE\u8BA1\u5668\u5931\u8D25");return}const u=lo(O(i));Y=u.x,J=u.y;for(const t of a.nodes){const{x:o,y:e}=i.value.clientToLocal(t.x,t.y);t.x=o,t.y=e,(t.id+"").endsWith("01")&&(t.attrs.body.fill="#979797",t.attrs.text.fill="white")}for(const t of a.edges)if(Array.isArray(t.vertices)){const o=[];for(const e of t.vertices){const d=i.value.pageToLocal(e.x,e.y);o.push({x:d.x,y:d.y})}t.vertices=o}i.value.fromJSON(a),i.value.centerContent();const{drawWidth:g,drawHeight:y}=uo(a);(g>m||y>s)&&i.value.zoomToFit();const w=(t,o)=>{for(let e=0,d=t.length;e<d;e+=1)t[e].style.visibility=o?"visible":"hidden"};i.value.on("node:mouseenter",({node:t})=>{if(t.shape==="graph-tag")return;const e=f.value.querySelectorAll(`g[data-cell-id='${t.id}'] .x6-port-body`);w(e,!0)}),i.value.on("node:mouseleave",()=>{const o=f.value.querySelectorAll(".x6-port-body");w(o,!1)}),i.value.on("node:port:mouseenter",()=>{const o=f.value.querySelectorAll(".x6-port-body");w(o,!0)}),i.value.on("node:added",o=>S(this,[o],function*({node:t}){var A,tt;const{x:e,y:d}=t.position();if(t.shape==="graph-tag"){const z=yield Tt(parseInt(e),parseInt(d));t.setData($({},z));return}const{nodeType:n,mode:p="0"}=(A=t.attrs)==null?void 0:A.typeInfo,r=mt(n,p);if(!r){I.error("\u5F53\u524D\u8282\u70B9\u7C7B\u578B\u4E0D\u5B58\u5728\uFF0C\u8BF7\u68C0\u67E5"),t.remove();return}const c=yield yt(e,d,r),{NodeID:v,Name:V}=c;t.getPorts().forEach(({id:z})=>t.removePort(z)),t.addPort({group:"top",id:v+"-top"}),t.addPort({group:"left",id:v+"-left"}),t.addPort({group:"bottom",id:v+"-bottom"}),t.addPort({group:"right",id:v+"-right"}),t.attr("text/text",V),t.attr("id",v),t.attr("label",V),t.addTools([{name:"node-editor"}]),t.setData(c),X&&((tt=i.value)==null||tt.addEdge($({source:b.uuid,target:t.id},so)),X=!1)})),i.value.on("node:moved",o=>S(this,[o],function*({node:t}){var r;const{x:e,y:d}=t.position(),n=Math.round(e-Y),p=Math.round(d-J);if(t.shape==="graph-tag"){yield Nt(n,p,t.getData().MyPK);return}yield vt((r=t.attrs)==null?void 0:r.id,n,p)})),i.value.on("node:contextmenu",e=>S(this,[e],function*({e:t,node:o}){var p,r,c;const{clientX:d,clientY:n}=t;h.x=d,h.y=n,h.id=o.getData().MyPK||o.getData().NodeID+"",h.name=(r=(p=o.attrs)==null?void 0:p.text)==null?void 0:r.text,h.type=(c=o.attrs)==null?void 0:c.typeInfo.nodeType,h.fwStatus=o.getData().FWCSta,h.uuid=o.id,h.mode=o.getData().RunModel,h.visible=!0})),i.value.on("node:click",({e:t,node:o})=>{var p,r,c,v;const e=(p=o.attrs)==null?void 0:p.typeInfo.nodeType;if(![D.Normal,D.Route].includes(e))return;const{clientX:d,clientY:n}=t;b.x=d,b.y=n,b.id=((r=o.attrs)==null?void 0:r.id)||((c=o.getData())==null?void 0:c.MyPK),b.name=(v=o.attrs)==null?void 0:v.label,b.type=e,b.uuid=o.id,b.visible=!0,q(b.id)}),i.value.on("node:dblclick",({node:t})=>{var o;q((o=t.attrs)==null?void 0:o.id),b.visible=!1}),i.value.on("node:change:size",W(({current:t,node:o})=>{var n;const{width:e,height:d}=t;bt((n=o.attrs)==null?void 0:n.id,e,d)},100)),i.value.on("node:change:angle",W(({current:t,node:o})=>{var e;ht((e=o.attrs)==null?void 0:e.id,t)},100)),i.value.on("edge:contextmenu",({edge:t})=>{var o;x.instance=t,x.title="\u7F16\u8F91\u6761\u4EF6",x.inputVal=((o=t.attrs)==null?void 0:o.dataSource.Des)||"",x.visible=!0}),i.value.on("edge:change:vertices",W(({edge:t})=>{var n,p;x.instance=t;const o=JSON.parse(JSON.stringify(t.vertices));for(let r=0;r<o.length;r++){const c=Math.round(o[r].x-Y),v=Math.round(o[r].y-J);o[r]={x:c,y:v}}gt(o);const e=(n=i.value)==null?void 0:n.getNodes().find(r=>{var c;return parseInt((c=r.attrs)==null?void 0:c.id)==t.source.cell}),d=(p=i.value)==null?void 0:p.getNodes().find(r=>{var c;return parseInt((c=r.attrs)==null?void 0:c.id)==t.target.cell})},100)),i.value.on("edge:click",({edge:t})=>{t.addTools([{name:"vertices",args:{attrs:{fill:"#1296db"}}}])}),i.value.on("edge:mouseleave",({edge:t})=>{t.removeTools()}),i.value.on("edge:added",o=>S(this,[o],function*({edge:t}){if(!X)return;const{source:e,target:d}=t,n=K(e.cell),p=K(d.cell);if(!(n!=null&&n.id)||!(p!=null&&p.id)){I.error("\u672A\u627E\u5230\u539F\u59CBid\uFF0C\u8FDE\u7EBF\u5931\u8D25");return}const r=yield j(_,n.id,p.id,p.type,p.name);t.attr("dataSource",r),yield k()})),i.value.on("node:change:ports",(...t)=>{}),i.value.on("edge:connected",e=>S(this,[e],function*({isNew:t,edge:o}){if(!t)return;const{source:d,target:n}=o,p=K(d.cell),r=K(n.cell);if(!(p!=null&&p.id)||!(r!=null&&r.id)){I.error("\u672A\u627E\u5230\u539F\u59CBid\uFF0C\u8FDE\u7EBF\u5931\u8D25");return}if(p.type===D.CC||r.type===D.CC){let v=!1;if(r.type===D.CC&&(v=p.type===D.Normal),!v){I.error("\u6284\u9001\u8282\u70B9\u53EA\u80FD\u88AB\u666E\u901A\u8282\u70B9\u8FDE\u63A5\uFF0C\u4E0D\u5141\u8BB8\u8FDE\u63A5\u5176\u4ED6\u8282\u70B9"),o.remove();return}}if(p.type===D.SubFlowNode||r.type===D.SubFlowNode){let v=!1;if(r.type===D.SubFlowNode&&(v=p.type===D.Normal),!v){I.error("\u5B50\u6D41\u7A0B\u53EA\u80FD\u88AB\u666E\u901A\u8282\u70B9\u8FDE\u63A5\uFF0C\u4E0D\u5141\u8BB8\u8FDE\u63A5\u5176\u4ED6\u8282\u70B9"),o.remove();return}}const c=yield j(_,p.id,r.id,r.type,r.name,d.port,n.port);o.attr("dataSource",c)})),i.value.on("cell:change:attrs",W(d=>S(this,[d],function*({current:t,previous:o,cell:e}){var V;if(!(t!=null&&t.text))return;const n=(V=e==null?void 0:e.attrs)==null?void 0:V.id;if(!n)return;const p=t==null?void 0:t.text.text,r=o==null?void 0:o.text.text;if(p===r)return;const c=new po("BP.WF.Node",n);yield c.Retrieve(),c.setVal("Name",p),yield c.Update();const v=new mo;if(yield v.Retrieve("ToNode",n),v.length>0){const Z=v.map(A=>(A.SetValByKey("ToNodeName",p),A.Update()));yield Promise.all(Z)}q(n)}),100)),i.value.on("blank:contextmenu",({e:t})=>{const{clientX:o,clientY:e}=t;B.x=o,B.y=e,B.visible=!0}),at.on("updateLabel",t=>{var e;const o=(e=i.value)==null?void 0:e.getNodes().find(d=>{var n;return parseInt((n=d.attrs)==null?void 0:n.id)===parseInt(Dt.value)});o&&(o.attr("text/text",t),o.attr("label",t))}),Bt()}catch(m){I.error("\u8BBE\u8BA1\u5668\u521D\u59CB\u5316\u5931\u8D25")}finally{P.value=!1}});Jt(()=>{Lt()});const Q=(m,s,a,u=!1)=>{var w;u&&(X=!0);const g=JSON.parse(JSON.stringify(m));delete g.id;const y=i.value.clientToLocal(s,a);g.x=y.x,g.y=y.y,(w=i.value)==null||w.addNode(g)},kt=()=>S(this,null,function*(){F.value=F.value.filter(m=>{var s,a,u;return m.MyPK!==((u=(a=(s=x.instance)==null?void 0:s.attrs)==null?void 0:a.dataSource)==null?void 0:u.MyPK)}),yield ut()});return zt(()=>{at.off("updateLabel")}),()=>l($t,{spinning:P.value},{default:()=>[l("div",{class:"flow-chart-builder"},[l("div",{class:"header"},[l(co,{style:"height: 100%"},{default:()=>[l(nt,{span:12},{default:()=>[l("div",{class:"flow-title"},[R.value.Icon?l("i",{style:"margin-right:12px",class:R.value.Icon},null):null,l("span",null,[R.value.Name])])]}),l(nt,{span:12},{default:()=>[l(Ht,{"node-list":M,"line-list":F,"label-list":E},null)]})]})]),l("div",{class:"builder-content"},[i.value?l(io,{graph:i.value},null):null,i.value?l(oo,{graph:i.value},null):null,l("div",{class:"flow-container",ref:f},null),l(Qt,null,null)]),l("div",{class:"mini-map",id:"mini-map-container"},null)]),l(et,{visible:x.visible,"onUpdate:visible":m=>x.visible=m,title:x.title,onClose:lt,bodyStyle:Mt.value},{default:()=>[l(rt,{value:x.inputVal,"onUpdate:value":m=>x.inputVal=m,placeholder:"\u63D0\u793A\uFF1A\u6B64\u5904\u53EF\u4EE5\u8F93\u5165\u8FDE\u7EBF\u6807\u7B7E"},null)],footer:()=>l("div",{class:"footer-buttons"},[l("div",{class:"align-left"},[l(U,{style:"background: #1890ff; color: white",onClick:dt},{default:()=>[H("\u65B9\u5411\u6761\u4EF6")]})]),l("div",{class:"align-right"},[l(U,{style:"background: #cc5555; color: white",onClick:kt,loading:x.delLoading},{default:()=>[H("\u5220\u9664")]}),l(U,{onClick:ft,type:"primary",loading:x.modifyLoading},{default:()=>[H("\u4FDD\u5B58")]})])])}),l(no,{x:b.x,y:b.y,visible:b.visible,onClose:()=>{b.visible=!1},onCreateNode:(m,s,a)=>Q(m,s,a,!0),id:b.id,name:b.name,type:b.type},null),l(Zt,{x:h.x,y:h.y,visible:h.visible,onClose:()=>{h.visible=!1},onDeleteNode:It,onUpdateTag:Ct,onUpdateFwcStatus:_t,onUpdateNodeMode:Pt,id:h.id,name:h.name,type:h.type,fwStatus:h.fwStatus,mode:h.mode},null),l(ao,{x:B.x,y:B.y,visible:B.visible,onClose:()=>{B.visible=!1},onCreateNode:(m,s,a)=>Q(m,s,a,!1)},null)]})}});const Bn=Gt(fo,[["__scopeId","data-v-f6193655"]]);export{Bn as default};