antd-management-fast-flow 1.0.32 → 1.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4,6 +4,8 @@ export namespace Flow {
|
|
|
4
4
|
namespace defaultProps {
|
|
5
5
|
const canEdit: boolean;
|
|
6
6
|
const nodeNameKey: string;
|
|
7
|
+
const listInLineKey: string;
|
|
8
|
+
const listOutLineKey: string;
|
|
7
9
|
const listApproverKey: string;
|
|
8
10
|
const personnelNameKey: string;
|
|
9
11
|
const personnelNameLabel: string;
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{PureComponent as t,useEffect as n}from"react";import r,{getSmoothStepPath as o,BaseEdge as a,EdgeLabelRenderer as l,Handle as i,Position as c,MarkerType as p,useNodesState as s,useEdgesState as d,Controls as u,MiniMap as f,Panel as m,Background as y}from"reactflow";import{getValueByKey as g,isFunction as b,convertCollection as E,checkStringIsNullOrWhiteSpace as x,buildRandomHexColor as h,isArray as v}from"easy-soft-utility";import{Typography as k,Space as C,Divider as P,Button as w,Card as S,Alert as R,Empty as N,Timeline as O}from"antd";import{iconBuilder as j,FlexBox as A,VerticalBox as z,ColorText as T,CenterBox as K,HelpBox as L,ScrollFacadeBox as D}from"antd-management-fast-component";import B from"classnames";function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function X(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a,l,i=[],c=!0,p=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){p=!0,o=e}finally{try{if(!c&&null!=n.return&&(l=n.return(),Object(l)!==l))return}finally{if(p)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function F(e){var t=function(e,t){if("object"!=_(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=_(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==_(t)?t:String(t)}function I(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?I(Object(n),!0).forEach((function(t){var r,o,a;r=e,o=t,a=n[t],(o=F(o))in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):I(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var H="antd-management-fast-flow",J="#4e44f2",M="#a98477",U="rgba(211, 220, 50, .6)",W="rgba(921, 120, 90, .6)",$="#e895d2",q="#f66902",G="#c2fa32",Q={backgroundColor:$},Z={backgroundColor:G},ee=k.Text,te=function(t){var n=t.id,r=t.data,i=t.sourceX,c=t.sourceY,p=t.targetX,s=t.targetY,d=t.sourcePosition,u=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,E=t.offset,x=t.style,h=void 0===x?{}:x,v=t.markerEnd,k=X(o({sourceX:i,sourceY:c,sourcePosition:d,targetX:p,targetY:s,targetPosition:u,borderRadius:f,centerX:m,centerY:y,offset:E}),3),P=k[0],w=k[1],S=k[2],R=V({canEdit:!1},r),N=R.data,O=R.canEdit,A=R.onChange,z=R.onRemove,T=g({data:N,key:"title"}),K=g({data:N,key:"description"});return e.createElement(e.Fragment,null,e.createElement(a,{id:n,path:P,markerEnd:v,style:h}),e.createElement(l,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(w,"px,").concat(S,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:K||""},e.createElement(C,null,e.createElement(ee,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(W),color:"#666"}},T||"回退"),O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(A)&&A(N)}},j.edit()):null,O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(z)&&z(N)}},j.delete()):null))))};te.defaultProps={};var ne=function(t){var n=t.size,r=t.data,o=t.onClick,a=V({canEdit:!1},r),l=a.data,p=a.canEdit,s=a.onRemove,d=g({data:l,key:"name"}),u=g({data:l,key:"description"});return e.createElement(e.Fragment,null,e.createElement("div",{className:"".concat(H+"-node"),onClick:o,title:u||""},e.createElement("div",{className:"".concat(H+"-node-header"),style:Z},e.createElement(A,{flexAuto:"left",left:e.createElement(z,null,e.createElement(T,{style:{color:"#ffe4c4"},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:d||"终止点"})),right:p?e.createElement(C,null,e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(s)&&s(l)}},j.delete())):null})),"small"!==n&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(T,{text:"此节点为终止节点,代表流程结束。"}))))),e.createElement(i,{type:"target",position:c.Top,id:"top",style:{background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"50%",background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"50%",background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Bottom,id:"bottom",style:{top:"100%",background:J},isConnectable:!0}))};function re(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,F(r.key),r)}}function ae(e,t,n){return t&&oe(e.prototype,t),n&&oe(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function le(e,t){return le=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},le(e,t)}function ie(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&le(e,t)}function ce(e,t){if(t&&("object"===_(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function pe(e){return pe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},pe(e)}function se(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pe(e);if(t){var o=pe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ce(this,n)}}ne.defaultProps={};var de=k.Text,ue=function(n){ie(i,t);var r=se(i);function i(){return re(this,i),r.apply(this,arguments)}return ae(i,[{key:"render",value:function(){var t=this.props,n=t.id,r=t.data,i=t.sourceX,c=t.sourceY,p=t.targetX,s=t.targetY,d=t.sourcePosition,u=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,E=t.offset,x=t.markerEnd,h=t.style,v=X(o({sourceX:i,sourceY:c,sourcePosition:d,targetX:p,targetY:s,targetPosition:u,borderRadius:f,centerX:m,centerY:y,offset:E}),3),k=v[0],P=v[1],w=v[2],S=V({canEdit:!1},r),R=S.data,N=S.canEdit,O=S.onChange,A=S.onRemove,z=g({data:R,key:"title"}),T=g({data:R,key:"description"});return e.createElement(e.Fragment,null,e.createElement(a,{id:n,path:k,markerEnd:x,style:h}),e.createElement(l,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(P,"px,").concat(w,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:T||""},e.createElement(C,null,e.createElement(de,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(U)}},z||"前进"),N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(O)&&O(R)}},j.edit()):null,N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(A)&&A(R)}},j.delete()):null))))}}]),i}();function fe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pe(e);if(t){var o=pe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ce(this,n)}}ue.defaultProps={};var me=function(n){ie(o,t);var r=fe(o);function o(){return re(this,o),r.apply(this,arguments)}return ae(o,[{key:"render",value:function(){var t=this.props,n=t.data,r=t.size,o=V({canEdit:!1,nodeNameKey:"nodeNameKey",listApproverKey:"listApprover",personnelNameKey:"personnelName",personnelNameLabel:""},n),a=o.data,l=o.isNext,p=o.canEdit,s=o.nodeNameKey,d=o.listApproverKey,u=o.personnelNameKey,f=o.personnelNameLabel,m=o.onAddApprover,y=o.onChange,h=o.onRemove,v=o.onRemoveApprover,k=g({data:a,key:s,defaultValue:"暂无"});console.log({dataSource:a,nodeNameKey:s});var S=g({data:a,key:d,convert:E.array}),R=S.length>0;return e.createElement(e.Fragment,null,e.createElement("div",{className:B("".concat(H+"-node"),l?"".concat(H+"-node-next"):null)},e.createElement("div",{className:"".concat(H+"-node-header")},e.createElement(A,{flexAuto:"left",left:e.createElement(z,null,e.createElement(T,{style:{},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:k||"流程项"})),right:p?e.createElement(C,null,e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击添加审批人",onClick:function(e){e.stopPropagation(),b(m)&&m(a)}},j.plusCircle()),e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击编辑节点",onClick:function(e){e.stopPropagation(),b(y)&&y(a)}},j.edit()),e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(h)&&h(a)}},j.delete())):null})),"small"!==r&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(C,{direction:"vertical",style:{width:"100%"},split:e.createElement(P,{style:{margin:"0"}})},R&&S.map((function(t,n){var r=g({data:t,key:u,defaultValue:""});return e.createElement(A,{key:"user_".concat(n),flexAuto:"left",left:e.createElement(T,{textPrefix:f,text:r||"未设置",separatorStyle:{paddingRight:"3px"},textPrefixStyle:{color:"#333"},color:x(r)?"#ccc":""}),right:p?e.createElement(C,{split:e.createElement(P,{type:"vertical",style:{marginLeft:"1px",marginRight:"1px"}})},e.createElement(w,{size:"small",style:{padding:"0.5px 5px",fontSize:"12px"},title:"移除审批人",onClick:function(e){e.stopPropagation(),b(v)&&v(t)}},j.delete())):null})})),R?null:e.createElement("div",null,"未设置审批人",p?",点击 ":"",p?j.plusCircle():"",p?" 按钮添加":"","。")))))),e.createElement(i,{type:"target",id:"top",position:c.Top,style:{left:"45%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",id:"top",position:c.Top,style:{left:"55%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"33%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Left,id:"left",style:{top:"66%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"66%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Right,id:"right",style:{top:"33%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",id:"bottom",position:c.Bottom,style:{left:"55%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Bottom,id:"bottom",style:{left:"45%",background:M},isConnectable:!0}))}}]),o}();me.defaultProps={color:"black"};var ye=function(t){var n=t.size,r=t.onClick;return e.createElement(e.Fragment,null,e.createElement("div",{className:"".concat(H+"-node"),onClick:r},e.createElement("div",{className:"".concat(H+"-node-header"),style:Q},e.createElement(A,{flexAuto:"left",left:e.createElement(z,null,e.createElement(T,{style:{color:"#ffe4c4"},color:"#333",separator:" ",text:"起始点"}))})),"small"!==n&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(T,{text:"此为流程发起唯一节点,无审批人。"}))))),e.createElement(i,{type:"target",id:"top",position:c.Top,style:{left:"45%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",id:"top",position:c.Top,style:{left:"55%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"33%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Left,id:"left",style:{top:"66%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"66%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Right,id:"right",style:{top:"33%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",id:"bottom",position:c.Bottom,style:{left:"55%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Bottom,id:"bottom",style:{left:"45%",background:M},isConnectable:!0}))};ye.defaultProps={};var ge={intermediate:me,start:ye,end:ne},be={forward:ue,backward:te};function Ee(){return e.createElement(S,{title:"图示说明:",size:"small"},e.createElement("div",{style:{width:"120px"}},e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:$,borderRadius:"3px"}})),right:"流程起始节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:q,borderRadius:"3px"}})),right:"流程中间节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:G,borderRadius:"3px"}})),right:"流程终止节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"10px",width:"16px",border:"2px solid",borderImage:"linear-gradient(45deg, gold, deeppink) 1",clipPath:"inset(0px round 5px)",filter:"hue-rotate(360deg)"}})),right:"等待流转节点"})),e.createElement(P,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),e.createElement("div",{style:{width:"120px"}},e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:M,borderRadius:"50%"}})),right:"节点流程出口"})),e.createElement("div",null,e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:J,borderRadius:"50%"}})),right:"节点流程入口"})),e.createElement(P,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),e.createElement("div",null,e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:U}})),right:"前进流程标签"})),e.createElement("div",null,e.createElement(A,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(K,null,e.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:W}})),right:"回退流程标签"})))}function xe(){return e.createElement(S,{title:"操作说明:",size:"small"},e.createElement("div",{style:{width:"180px"}},e.createElement(L,{showTitle:!1,showNumber:!0,labelWidth:18,list:[{text:"起始节点仅能存在一个。"},{text:"点击 ”编辑“ 可设置节点信息。"},{text:"点击 ”更改“ 可设置节点审核人信息。"},{text:"点击 ”变更“ 可设置连线信息。"},{text:"点击 刷新图标 可重新加载信息。"},{text:"点击 删除图标 可删除节点或连线。"}],useBackground:!1})))}function he(e){return V({position:{x:0,y:0},canEdit:!1},e)}function ve(e){var t=g({data:e,key:"index",convert:E.number}),n=g({data:e,key:"forward",convert:E.boolean}),r=t>0?h({seed:30*t+t+2}):"#b1b1b7",o=t>0?h({seed:30*t+t+2}):"#FF0072";return V(V({animated:!0,canEdit:!1,sourceHandle:n?"bottom":"right",targetHandle:n?"top":"right"},e),{},{type:n?"forward":"backward",markerEnd:{type:p.ArrowClosed,color:n?r:o},style:{stroke:n?r:o}})}var ke={};function Ce(t){var o=t.canEdit,a=t.nodeNameKey,l=t.listApproverKey,i=t.personnelNameKey,c=t.personnelNameLabel,p=t.nodes,g=t.edges,E=t.updateViewConfig,x=t.onEdgeCreate,h=v(p)?p:[],k=v(g)?g:[],C=X(s([]),3),P=C[0],w=C[1],S=C[2],R=X(d([]),3),N=R[0],O=R[1],j=R[2];n((function(){w(h),O(k)}),[h,k]);var A=P.map((function(e){return e.data.canEdit=o,e.data.nodeNameKey=a,e.data.listApproverKey=l,e.data.personnelNameKey=i,e.data.personnelNameLabel=c,e})),z=N.map((function(e){return e.data.canEdit=o,e}));return e.createElement(r,{fitView:!0,nodes:A,edges:z,onConnect:function(e){b(x)&&x(e)},onNodesChange:function(e){o&&S(e)},onEdgesChange:function(e){o&&j(e)},onNodeDragStart:function(e,t){if(o){var n=t.position;ke=n}},onNodeDragStop:function(e,t){if(o&&b(E)){var n=t.position,r=t.data.data,a=n.x,l=n.y,i=ke,c=i.x,p=i.y;a==c&&l==p||E({viewConfigData:JSON.stringify({position:n})},r)}},nodeTypes:ge,edgeTypes:be},e.createElement(u,null),e.createElement(f,{zoomable:!0,pannable:!0}),e.createElement(m,{position:"top-left"},e.createElement(Ee,null)),e.createElement(m,{position:"top-right"},o?e.createElement(xe,null):null),e.createElement(y,null))}Ce.defaultProps={canEdit:!0,nodeNameKey:"nodeNameKey",listApproverKey:"listApprover",personnelNameKey:"personnelNameKey",personnelNameLabel:"personnelNameLabel",onEdgeCreate:function(){}};var Pe=k.Paragraph;function we(t){var n=t.style,r=t.title,o=t.showTitle,a=t.showLeftDivider,l=t.list,i=t.listItemConvert,c=t.nextData,p=t.nextDataConvert,s=null==c?null:b(p)?p(c):c,d=(v(l)?l:[]).map((function(e){return b(i)?i(e):e}));null!=s&&d.push(s);var u=null;if(d.length<=0)u=e.createElement(N,null);else{var f=d.length,m=d.map((function(t,n){var r=V({titlePrefix:"审批节点",icon:null,color:null,notePrefix:"审批备注",resultPrefix:"审批结果",operatorNamePrefix:"审批人",timePrefix:"审批时间",compact:!1},t),o=r.titlePrefix,a=r.title,l=r.notePrefix,i=r.note,c=r.resultPrefix,p=r.result,d=r.operatorNamePrefix,u=r.operatorName,m=r.timePrefix,y=r.time,g=r.icon,b=r.color,E=r.compact;return{color:b||(null==s&&f===n+1?"blue":"gray"),dot:g,children:e.createElement(e.Fragment,null,x(a)?null:e.createElement(Pe,null,e.createElement(T,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:o,text:a})),E||x(p)?null:e.createElement(Pe,null,e.createElement(T,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:c,text:p})),E||x(u)?null:e.createElement(Pe,null,e.createElement(T,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:d,text:u})),E||x(i)?null:e.createElement(Pe,null,e.createElement(T,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:l,text:i||"无备注"})),E||x(y)?null:e.createElement(Pe,null,e.createElement(T,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:m,text:y})))}}));u=e.createElement(O,{reverse:!0,style:{marginTop:"10px"},items:m})}var y=e.createElement(A,{style:{height:"100%"},flexAuto:"bottom",topStyle:{paddingBottom:"6px"},top:o?e.createElement(R,{message:"".concat(r,":"),type:"info"}):null,bottom:o?e.createElement("div",{style:{height:"100%",position:"relative"}},e.createElement(D,{style:{position:"absolute",left:0,top:0,paddingLeft:"6px",paddingRight:"6px",height:"100%",width:"100%",overflowY:"auto"}},u)):u});return a?e.createElement(A,{style:V(V({},n),{},{height:"100%"}),flexAuto:"right",left:e.createElement(P,{type:"vertical",style:{height:"100%"}}),right:y}):y}we.defaultProps={style:{},title:"审批进度",showTitle:!1,showLeftDivider:!1,canEdit:!0,list:[],listItemConvert:null,nextData:null,nextDataConvert:null};export{Ce as Flow,we as FlowProcessHistory,ve as adjustEdge,he as adjustNode};
|
|
1
|
+
import e,{PureComponent as t,useEffect as n}from"react";import r,{getSmoothStepPath as o,BaseEdge as l,EdgeLabelRenderer as a,Handle as i,Position as c,MarkerType as s,useNodesState as p,useEdgesState as d,Controls as u,MiniMap as f,Panel as m,Background as y}from"reactflow";import{getValueByKey as g,isFunction as b,convertCollection as x,checkStringIsNullOrWhiteSpace as E,buildRandomHexColor as h,isArray as v}from"easy-soft-utility";import{Typography as k,Space as C,Divider as P,Button as w,Card as S,Alert as R,Empty as O,Timeline as N}from"antd";import{iconBuilder as j,FlexBox as L,VerticalBox as K,ColorText as z,CenterBox as A,HelpBox as T,ScrollFacadeBox as B}from"antd-management-fast-component";import D from"classnames";function Y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function I(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,a,i=[],c=!0,s=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,o=e}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(s)throw o}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return Y(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Y(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function X(e){return X="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},X(e)}function _(e){var t=function(e,t){if("object"!=X(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=X(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==X(t)?t:String(t)}function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){var r,o,l;r=e,o=t,l=n[t],(o=_(o))in r?Object.defineProperty(r,o,{value:l,enumerable:!0,configurable:!0,writable:!0}):r[o]=l})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var H="antd-management-fast-flow",J="#4e44f2",M="#a98477",U="rgba(211, 220, 50, .6)",W="rgba(921, 120, 90, .6)",$="#e895d2",q="#f66902",G="#c2fa32",Q={backgroundColor:$},Z={backgroundColor:G},ee=k.Text,te=function(t){var n=t.id,r=t.data,i=t.sourceX,c=t.sourceY,s=t.targetX,p=t.targetY,d=t.sourcePosition,u=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,x=t.offset,E=t.style,h=void 0===E?{}:E,v=t.markerEnd,k=I(o({sourceX:i,sourceY:c,sourcePosition:d,targetX:s,targetY:p,targetPosition:u,borderRadius:f,centerX:m,centerY:y,offset:x}),3),P=k[0],w=k[1],S=k[2],R=V({canEdit:!1},r),O=R.data,N=R.canEdit,L=R.onChange,K=R.onRemove,z=g({data:O,key:"title"}),A=g({data:O,key:"description"});return e.createElement(e.Fragment,null,e.createElement(l,{id:n,path:P,markerEnd:v,style:h}),e.createElement(a,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(w,"px,").concat(S,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:A||""},e.createElement(C,null,e.createElement(ee,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(W),color:"#666"}},z||"回退"),N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(L)&&L(O)}},j.edit()):null,N?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(K)&&K(O)}},j.delete()):null))))};te.defaultProps={};var ne=function(t){var n=t.size,r=t.data,o=t.onClick,l=V({canEdit:!1},r),a=l.data,s=l.canEdit,p=l.onRemove,d=g({data:a,key:"name"}),u=g({data:a,key:"description"});return e.createElement(e.Fragment,null,e.createElement("div",{className:"".concat(H+"-node"),onClick:o,title:u||""},e.createElement("div",{className:"".concat(H+"-node-header"),style:Z},e.createElement(L,{flexAuto:"left",left:e.createElement(K,null,e.createElement(z,{style:{color:"#ffe4c4"},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:d||"终止点"})),right:s?e.createElement(C,null,e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(p)&&p(a)}},j.delete())):null})),"small"!==n&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(z,{text:"此节点为终止节点,代表流程结束。"}))))),e.createElement(i,{type:"target",position:c.Top,id:"top",style:{background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"50%",background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"50%",background:J},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Bottom,id:"bottom",style:{top:"100%",background:J},isConnectable:!0}))};function re(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,_(r.key),r)}}function le(e,t,n){return t&&oe(e.prototype,t),n&&oe(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function ae(e,t){return ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ae(e,t)}function ie(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&ae(e,t)}function ce(e,t){if(t&&("object"===X(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function se(e){return se=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},se(e)}function pe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=se(e);if(t){var o=se(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ce(this,n)}}ne.defaultProps={};var de=k.Text,ue=function(n){ie(i,t);var r=pe(i);function i(){return re(this,i),r.apply(this,arguments)}return le(i,[{key:"render",value:function(){var t=this.props,n=t.id,r=t.data,i=t.sourceX,c=t.sourceY,s=t.targetX,p=t.targetY,d=t.sourcePosition,u=t.targetPosition,f=t.borderRadius,m=t.centerX,y=t.centerY,x=t.offset,E=t.markerEnd,h=t.style,v=I(o({sourceX:i,sourceY:c,sourcePosition:d,targetX:s,targetY:p,targetPosition:u,borderRadius:f,centerX:m,centerY:y,offset:x}),3),k=v[0],P=v[1],w=v[2],S=V({canEdit:!1},r),R=S.data,O=S.canEdit,N=S.onChange,L=S.onRemove,K=g({data:R,key:"title"}),z=g({data:R,key:"description"});return e.createElement(e.Fragment,null,e.createElement(l,{id:n,path:k,markerEnd:E,style:h}),e.createElement(a,null,e.createElement("div",{style:{position:"absolute",transform:"translate(-50%, -50%) translate(".concat(P,"px,").concat(w,"px)"),background:"#ffcc00",padding:6,borderRadius:5,fontSize:12,pointerEvents:"all"},title:z||""},e.createElement(C,null,e.createElement(de,{style:{fontSize:"12px",padding:"0.5px 2px",border:"1.2mm ridge ".concat(U)}},K||"前进"),O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击变更连线",onClick:function(e){e.stopPropagation(),b(N)&&N(R)}},j.edit()):null,O?e.createElement("button",{style:{padding:"0.5px 4px",fontSize:"12px"},title:"点击移除连线",onClick:function(e){e.stopPropagation(),b(L)&&L(R)}},j.delete()):null))))}}]),i}();function fe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=se(e);if(t){var o=se(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ce(this,n)}}ue.defaultProps={};var me=function(n){ie(o,t);var r=fe(o);function o(){return re(this,o),r.apply(this,arguments)}return le(o,[{key:"render",value:function(){var t=this.props,n=t.data,r=t.size,o=V({canEdit:!1,nodeNameKey:"nodeNameKey",listInLineKey:"listInLine",listOutLineKey:"listOutLine",listApproverKey:"listApprover",personnelNameKey:"personnelName",personnelNameLabel:""},n),l=o.data,a=o.isNext,s=o.canEdit,p=o.nodeNameKey,d=o.listOutLineKey,u=o.listApproverKey,f=o.personnelNameKey,m=o.personnelNameLabel,y=o.onAddApprover,h=o.onChange,v=o.onChangeBranchCondition,k=o.onRemove,S=o.onRemoveApprover,R=g({data:l,key:p,defaultValue:"暂无"}),O=g({data:l,key:u,convert:x.array}),N=O.length>0,A=g({data:l,key:d,convert:x.array}).length;return console.log({outLineCount:A}),e.createElement(e.Fragment,null,e.createElement("div",{className:D("".concat(H+"-node"),a?"".concat(H+"-node-next"):null)},e.createElement("div",{className:"".concat(H+"-node-header")},e.createElement(L,{flexAuto:"left",left:e.createElement(K,null,e.createElement(z,{style:{},color:"#333",separator:" ",textPrefixStyle:{marginRight:"6px"},text:R||"流程项"})),right:s?e.createElement(C,null,e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击添加审批人",onClick:function(e){e.stopPropagation(),b(y)&&y(l)}},j.plusCircle()),e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击编辑节点",onClick:function(e){e.stopPropagation(),b(h)&&h(l)}},j.edit()),A>1?e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击编辑分支条件",onClick:function(e){e.stopPropagation(),b(v)&&v(l)}},j.fork()):null,e.createElement("button",{style:{padding:"1px 4px",fontSize:"12px",backgroundColor:"transparent",borderRadius:"5px",borderColor:"#fff"},title:"点击移除节点",onClick:function(e){e.stopPropagation(),b(k)&&k(l)}},j.delete())):null})),"small"!==r&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(C,{direction:"vertical",style:{width:"100%"},split:e.createElement(P,{style:{margin:"0"}})},N&&O.map((function(t,n){var r=g({data:t,key:f,defaultValue:""});return e.createElement(L,{key:"user_".concat(n),flexAuto:"left",left:e.createElement(z,{textPrefix:m,text:r||"未设置",separatorStyle:{paddingRight:"3px"},textPrefixStyle:{color:"#333"},color:E(r)?"#ccc":""}),right:s?e.createElement(C,{split:e.createElement(P,{type:"vertical",style:{marginLeft:"1px",marginRight:"1px"}})},e.createElement(w,{size:"small",style:{padding:"0.5px 5px",fontSize:"12px"},title:"移除审批人",onClick:function(e){e.stopPropagation(),b(S)&&S(t)}},j.delete())):null})})),N?null:e.createElement("div",null,"未设置审批人",s?",点击 ":"",s?j.plusCircle():"",s?" 按钮添加":"","。")))))),e.createElement(i,{type:"target",id:"top",position:c.Top,style:{left:"45%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",id:"top",position:c.Top,style:{left:"55%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"33%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Left,id:"left",style:{top:"66%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"66%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Right,id:"right",style:{top:"33%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",id:"bottom",position:c.Bottom,style:{left:"55%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Bottom,id:"bottom",style:{left:"45%",background:M},isConnectable:!0}))}}]),o}();me.defaultProps={color:"black",data:{},size:""};var ye=function(t){var n=t.size,r=t.onClick;return e.createElement(e.Fragment,null,e.createElement("div",{className:"".concat(H+"-node"),onClick:r},e.createElement("div",{className:"".concat(H+"-node-header"),style:Q},e.createElement(L,{flexAuto:"left",left:e.createElement(K,null,e.createElement(z,{style:{color:"#ffe4c4"},color:"#333",separator:" ",text:"起始点"}))})),"small"!==n&&e.createElement("div",{className:"".concat(H+"-node-content")},e.createElement("div",{className:"".concat(H+"-node-content-inner")},e.createElement("div",{className:"".concat(H+"-node-content-info")},e.createElement(z,{text:"此为流程发起唯一节点,无审批人。"}))))),e.createElement(i,{type:"target",id:"top",position:c.Top,style:{left:"45%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",id:"top",position:c.Top,style:{left:"55%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Left,id:"left",style:{top:"33%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Left,id:"left",style:{top:"66%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",position:c.Right,id:"right",style:{top:"66%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Right,id:"right",style:{top:"33%",background:M},isConnectable:!0}),e.createElement(i,{type:"target",id:"bottom",position:c.Bottom,style:{left:"55%",background:J},isConnectable:!0}),e.createElement(i,{type:"source",position:c.Bottom,id:"bottom",style:{left:"45%",background:M},isConnectable:!0}))};ye.defaultProps={};var ge={intermediate:me,start:ye,end:ne},be={forward:ue,backward:te};function xe(){return e.createElement(S,{title:"图示说明:",size:"small"},e.createElement("div",{style:{width:"120px"}},e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:$,borderRadius:"3px"}})),right:"流程起始节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:q,borderRadius:"3px"}})),right:"流程中间节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"10px",width:"16px",backgroundColor:G,borderRadius:"3px"}})),right:"流程终止节点"})),e.createElement("div",{style:{width:"120px"}},e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"10px",width:"16px",border:"2px solid",borderImage:"linear-gradient(45deg, gold, deeppink) 1",clipPath:"inset(0px round 5px)",filter:"hue-rotate(360deg)"}})),right:"等待流转节点"})),e.createElement(P,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),e.createElement("div",{style:{width:"120px"}},e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:M,borderRadius:"50%"}})),right:"节点流程出口"})),e.createElement("div",null,e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"6px",width:"6px",backgroundColor:J,borderRadius:"50%"}})),right:"节点流程入口"})),e.createElement(P,{type:"horizontal",style:{marginTop:"6px",marginBottom:"6px"}}),e.createElement("div",null,e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:U}})),right:"前进流程标签"})),e.createElement("div",null,e.createElement(L,{flex:"left",leftStyle:{paddingRight:"10px"},left:e.createElement(A,null,e.createElement("div",{style:{height:"2px",width:"100%",backgroundColor:W}})),right:"回退流程标签"})))}function Ee(){return e.createElement(S,{title:"操作说明:",size:"small"},e.createElement("div",{style:{width:"180px"}},e.createElement(T,{showTitle:!1,showNumber:!0,labelWidth:18,list:[{text:"起始节点仅能存在一个。"},{text:"点击节点中的 ”编辑“ 可设置节点信息。"},{text:"点击节点中的 ”更改“ 可设置节点审核人信息。"},{text:"点击节点中的 ”条件“ 可设置节点的分支进入条件, 仅在存在多条驶出线条时可用。"},{text:"点击线条中的 ”变更“ 可设置连线信息。"},{text:"点击 刷新图标 可重新加载信息。"},{text:"点击节点或线条的 删除图标 可删除节点或连线。"}],useBackground:!1})))}function he(e){return V({position:{x:0,y:0},canEdit:!1},e)}function ve(e){var t=g({data:e,key:"index",convert:x.number}),n=g({data:e,key:"forward",convert:x.boolean}),r=t>0?h({seed:30*t+t+2}):"#b1b1b7",o=t>0?h({seed:30*t+t+2}):"#FF0072";return V(V({animated:!0,canEdit:!1,sourceHandle:n?"bottom":"right",targetHandle:n?"top":"right"},e),{},{type:n?"forward":"backward",markerEnd:{type:s.ArrowClosed,color:n?r:o},style:{stroke:n?r:o}})}var ke={};function Ce(t){var o=t.canEdit,l=t.nodeNameKey,a=t.listInLineKey,i=t.listOutLineKey,c=t.listApproverKey,s=t.personnelNameKey,g=t.personnelNameLabel,x=t.nodes,E=t.edges,h=t.updateViewConfig,k=t.onEdgeCreate,C=v(x)?x:[],P=v(E)?E:[],w=I(p([]),3),S=w[0],R=w[1],O=w[2],N=I(d([]),3),j=N[0],L=N[1],K=N[2];n((function(){R(C),L(P)}),[C,P]);var z=S.map((function(e){return e.data.canEdit=o,e.data.nodeNameKey=l,e.data.listInLineKey=a,e.data.listOutLineKey=i,e.data.listApproverKey=c,e.data.personnelNameKey=s,e.data.personnelNameLabel=g,e})),A=j.map((function(e){return e.data.canEdit=o,e}));return e.createElement(r,{fitView:!0,nodes:z,edges:A,onConnect:function(e){b(k)&&k(e)},onNodesChange:function(e){o&&O(e)},onEdgesChange:function(e){o&&K(e)},onNodeDragStart:function(e,t){if(o){var n=t.position;ke=n}},onNodeDragStop:function(e,t){if(o&&b(h)){var n=t.position,r=t.data.data,l=n.x,a=n.y,i=ke,c=i.x,s=i.y;l==c&&a==s||h({viewConfigData:JSON.stringify({position:n})},r)}},nodeTypes:ge,edgeTypes:be},e.createElement(u,null),e.createElement(f,{zoomable:!0,pannable:!0}),e.createElement(m,{position:"top-left"},e.createElement(xe,null)),e.createElement(m,{position:"top-right"},o?e.createElement(Ee,null):null),e.createElement(y,null))}Ce.defaultProps={canEdit:!0,nodeNameKey:"nodeNameKey",listInLineKey:"listInLine",listOutLineKey:"listOutLine",listApproverKey:"listApprover",personnelNameKey:"personnelNameKey",personnelNameLabel:"personnelNameLabel",onEdgeCreate:function(){}};var Pe=k.Paragraph;function we(t){var n=t.style,r=t.title,o=t.showTitle,l=t.showLeftDivider,a=t.list,i=t.listItemConvert,c=t.nextData,s=t.nextDataConvert,p=null==c?null:b(s)?s(c):c,d=(v(a)?a:[]).map((function(e){return b(i)?i(e):e}));null!=p&&d.push(p);var u=null;if(d.length<=0)u=e.createElement(O,null);else{var f=d.length,m=d.map((function(t,n){var r=V({titlePrefix:"审批节点",icon:null,color:null,notePrefix:"审批备注",resultPrefix:"审批结果",operatorNamePrefix:"审批人",timePrefix:"审批时间",compact:!1},t),o=r.titlePrefix,l=r.title,a=r.notePrefix,i=r.note,c=r.resultPrefix,s=r.result,d=r.operatorNamePrefix,u=r.operatorName,m=r.timePrefix,y=r.time,g=r.icon,b=r.color,x=r.compact;return{color:b||(null==p&&f===n+1?"blue":"gray"),dot:g,children:e.createElement(e.Fragment,null,E(l)?null:e.createElement(Pe,null,e.createElement(z,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:o,text:l})),x||E(s)?null:e.createElement(Pe,null,e.createElement(z,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:c,text:s})),x||E(u)?null:e.createElement(Pe,null,e.createElement(z,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:d,text:u})),x||E(i)?null:e.createElement(Pe,null,e.createElement(z,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:a,text:i||"无备注"})),x||E(y)?null:e.createElement(Pe,null,e.createElement(z,{separatorStyle:{padding:"0 4px 0 2px"},textPrefix:m,text:y})))}}));u=e.createElement(N,{reverse:!0,style:{marginTop:"10px"},items:m})}var y=e.createElement(L,{style:{height:"100%"},flexAuto:"bottom",topStyle:{paddingBottom:"6px"},top:o?e.createElement(R,{message:"".concat(r,":"),type:"info"}):null,bottom:o?e.createElement("div",{style:{height:"100%",position:"relative"}},e.createElement(B,{style:{position:"absolute",left:0,top:0,paddingLeft:"6px",paddingRight:"6px",height:"100%",width:"100%",overflowY:"auto"}},u)):u});return l?e.createElement(L,{style:V(V({},n),{},{height:"100%"}),flexAuto:"right",left:e.createElement(P,{type:"vertical",style:{height:"100%"}}),right:y}):y}we.defaultProps={style:{},title:"审批进度",showTitle:!1,showLeftDivider:!1,canEdit:!0,list:[],listItemConvert:null,nextData:null,nextDataConvert:null};export{Ce as Flow,we as FlowProcessHistory,ve as adjustEdge,he as adjustNode};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antd-management-fast-flow",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.34",
|
|
4
4
|
"keywords": [
|
|
5
5
|
"antd-management-fast-flow"
|
|
6
6
|
],
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"z:tsc:build": "echo show tsc version and create declaration file && tsc -v && tsc -p ./tsconfig.types.json && echo declaration file generate complete"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"antd": "^5.12.
|
|
61
|
-
"antd-management-fast-common": "^2.6.
|
|
62
|
-
"antd-management-fast-component": "^2.6.
|
|
60
|
+
"antd": "^5.12.5",
|
|
61
|
+
"antd-management-fast-common": "^2.6.71",
|
|
62
|
+
"antd-management-fast-component": "^2.6.110",
|
|
63
63
|
"classnames": "^2.3.2",
|
|
64
|
-
"easy-soft-utility": "^2.8.
|
|
64
|
+
"easy-soft-utility": "^2.8.2",
|
|
65
65
|
"react": "^18.2.0",
|
|
66
66
|
"react-dom": "^18.2.0",
|
|
67
67
|
"reactflow": "^11.10.1"
|
|
@@ -83,18 +83,18 @@
|
|
|
83
83
|
"@commitlint/cz-commitlint": "^18.4.3",
|
|
84
84
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
|
|
85
85
|
"@types/jest": "^29.5.11",
|
|
86
|
-
"@types/node": "^20.10.
|
|
86
|
+
"@types/node": "^20.10.5",
|
|
87
87
|
"@types/react": "^18.2.45",
|
|
88
|
-
"@types/react-dom": "^18.2.
|
|
89
|
-
"@typescript-eslint/parser": "^6.
|
|
90
|
-
"antd": "^5.12.
|
|
88
|
+
"@types/react-dom": "^18.2.18",
|
|
89
|
+
"@typescript-eslint/parser": "^6.15.0",
|
|
90
|
+
"antd": "^5.12.5",
|
|
91
91
|
"babel-jest": "^29.7.0",
|
|
92
92
|
"commitizen": "^4.3.0",
|
|
93
93
|
"conventional-changelog-conventionalcommits": "^7.0.2",
|
|
94
94
|
"cross-env": "^7.0.3",
|
|
95
95
|
"documentation": "^14.0.2",
|
|
96
|
-
"easy-soft-develop": "^2.1.
|
|
97
|
-
"eslint": "^8.
|
|
96
|
+
"easy-soft-develop": "^2.1.52",
|
|
97
|
+
"eslint": "^8.56.0",
|
|
98
98
|
"eslint-config-airbnb": "^19.0.4",
|
|
99
99
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
100
100
|
"eslint-config-prettier": "^9.1.0",
|
|
@@ -104,12 +104,12 @@
|
|
|
104
104
|
"eslint-plugin-import": "^2.29.1",
|
|
105
105
|
"eslint-plugin-jest": "^27.6.0",
|
|
106
106
|
"eslint-plugin-jsx-a11y": "^6.8.0",
|
|
107
|
-
"eslint-plugin-prettier": "^5.
|
|
107
|
+
"eslint-plugin-prettier": "^5.1.2",
|
|
108
108
|
"eslint-plugin-promise": "^6.1.1",
|
|
109
109
|
"eslint-plugin-react": "^7.33.2",
|
|
110
110
|
"eslint-plugin-react-hooks": "^4.6.0",
|
|
111
111
|
"eslint-plugin-simple-import-sort": "^10.0.0",
|
|
112
|
-
"eslint-plugin-unicorn": "^
|
|
112
|
+
"eslint-plugin-unicorn": "^50.0.1",
|
|
113
113
|
"husky": "^8.0.3",
|
|
114
114
|
"jest": "^29.7.0",
|
|
115
115
|
"lint-staged": "^15.2.0",
|